1<!DOCTYPE html><html lang="en-US" prefix="og: https://ogp.me/ns#"><head ><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><link rel="alternate" hreflang="en" href="https://clpvd.org/actions/donate-items/" /><link rel="alternate" hreflang="es" href="https://clpvd.org/es/actions/donate-items/" /><title>Donate Items - Community Libraries of Providence</title><meta name="description" content="Thank you for thinking of Community Libraries of Providence. Most of our libraries accept donations. You may find their opening hours here."/><meta name="robots" content="index, follow, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/><link rel="canonical" href="https://clpvd.org/actions/donate-items/" /><meta property="og:locale" content="en_US" /><meta property="og:type" content="article" /><meta property="og:title" content="Donate Items - Community Libraries of Providence" /><meta property="og:description" content="Thank you for thinking of Community Libraries of Providence. Most of our libraries accept donations. You may find their opening hours here." /><meta property="og:url" content="https://clpvd.org/actions/donate-items/" /><meta property="og:site_name" content="Community Libraries of Providence" /><meta property="og:updated_time" content="2024-10-25T16:08:58-04:00" /><meta property="article:published_time" content="2022-10-28T07:12:24-04:00" /><meta property="article:modified_time" content="2024-10-25T16:08:58-04:00" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="Donate Items - Community Libraries of Providence" />
1<meta name="twitter:description" content="Thank you for thinking of Community Libraries of Providence. Most of our libraries accept donations. You may find their opening hours here." /><meta name="twitter:label1" content="Time to read" /><meta name="twitter:data1" content="Less than a minute" />
1<script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":["Person","Organization"],"@id":"https://clpvd.org/#person","name":"Community Libraries of Providence"},{"@type":"WebSite","@id":"https://clpvd.org/#website","url":"https://clpvd.org","name":"Community Libraries of Providence","publisher":{"@id":"https://clpvd.org/#person"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://clpvd.org/actions/donate-items/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://clpvd.org","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://clpvd.org/actions/","name":"I’d Like To…"}},{"@type":"ListItem","position":"3","item":{"@id":"https://clpvd.org/actions/donate-items/","name":"Donate Items"}}]},{"@type":"WebPage","@id":"https://clpvd.org/actions/donate-items/#webpage","url":"https://clpvd.org/actions/donate-items/","name":"Donate Items - Community Libraries of Providence","datePublished":"2022-10-28T07:12:24-04:00","dateModified":"2024-10-25T16:08:58-04:00","isPartOf":{"@id":"https://clpvd.org/#website"},"inLanguage":"en-US","breadcrumb":{"@id":"https://clpvd.org/actions/donate-items/#breadcrumb"}},{"@type":"Person","@id":"https://clpvd.org/author/ejd-danni/","name":"Daniella Norwood","url":"https://clpvd.org/author/ejd-danni/","image":{"@type":"ImageObject","@id":"https://secure.gravatar.com/avatar/776c7bbd13c526e8a052958bf4318b3fdd6c16cf5d4aba47419012b9648d4d39?s=96&d=mm&r=g","url":"https://secure.gravatar.com/avatar/776c7bbd13c526e8a052958bf4318b3fdd6c16cf5d4aba47419012b9648d4d39?s=96&d=mm&r=g","caption":"Daniella Norwood","inLanguage":"en-US"}},{"@type":"Article","headline":"Donate Items - Community Libraries of Providence","datePublished":"2022-10-28T07:12:24-04:00","dateModified":"2024-10-25T16:08:58-04:00","author":{"@id":"https://clpvd.org/author/ejd-danni/","name":"Daniella Norwood"},"publisher":{"@id":"https://clpvd.org/#person"},"description":"Thank you for thinking of Community Libraries of Providence. Most of our libraries accept donations. You may find their opening hours here.","name":"Donate Items - Community Libraries of Providence","@id":"https://clpvd.org/actions/donate-items/#richSnippet","isPartOf":{"@id":"https://clpvd.org/actions/donate-items/#webpage"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://clpvd.org/actions/donate-items/#webpage"}}]}</script>
1 <link rel='dns-prefetch' href='//use.fontawesome.com' /><link rel='dns-prefetch' href='//cdnjs.cloudflare.com' /><link rel='dns-prefetch' href='//p.typekit.net' /><link rel='dns-prefetch' href='//use.typekit.net' /><link rel='dns-prefetch' href='//www.googletagmanager.com' /><link rel='dns-prefetch' href='//analytics.google.com' /><link rel="alternate" type="application/rss+xml" title="Community Libraries of Providence » Feed" href="https://clpvd.org/feed/" /><link rel="alternate" type="application/rss+xml" title="Community Libraries of Providence » Comments Feed" href="https://clpvd.org/comments/feed/" /><link rel="alternate" type="text/calendar" title="Community Libraries of Providence » iCal Feed" href="https://clpvd.org/events/?ical=1" /><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://clpvd.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fclpvd.org%2Factions%2Fdonate-items%2F" /><link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://clpvd.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fclpvd.org%2Factions%2Fdonate-items%2F&format=xml" /><style id="wp-img-auto-sizes-contain-inline-css">img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 2/*# sourceURL=wp-img-auto-sizes-contain-inline-css */</style><link data-optimized="1" rel='stylesheet' id='tribe-events-pro-mini-calendar-block-styles-css' href='https://clpvd.org/wp-content/litespeed/css/f4f4403d42687da093eb24958d84c381.css?ver=c7d4b' media='all' /><link data-optimized="1" rel='stylesheet' id='sbi-tokens-local-css' href='https://clpvd.org/wp-content/litespeed/css/310a00bd269e6e5822e8f6c5d1acacfe.css?ver=45c23' media='all' /><link data-optimized="1" rel='stylesheet' id='sbi_styles-css' href='https://clpvd.org/wp-content/litespeed/css/2d45b5f2a46e9077a774f921f6e26538.css?ver=150e9' media='all' /><link data-optimized="1" rel='stylesheet' id='focus-pro-css' href='https://clpvd.org/wp-content/litespeed/css/4c7a7a8fba75683145806f8ea3f06149.css?ver=4d712' media='all' /><style id="wp-block-library-inline-css">:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
2--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 3 4/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */</style><style id="classic-theme-styles-inline-css">/*! This file is auto-generated */ 5.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 6/*# sourceURL=/wp-includes/css/classic-themes.min.css */</style><style id="font-awesome-svg-styles-default-inline-css">.svg-inline--fa { 7 display: inline-block; 8 height: 1em; 9 overflow: visible; 10 vertical-align: -.125em; 11} 12/*# sourceURL=font-awesome-svg-styles-default-inline-css */</style><link data-optimized="1" rel='stylesheet' id='font-awesome-svg-styles-css' href='https://clpvd.org/wp-content/litespeed/css/a93591626e8268094cad917e885a7473.css?ver=a7473' media='all' /><style id="font-awesome-svg-styles-inline-css">.wp-block-font-awesome-icon svg::before, 13 .wp-rich-text-font-awesome-icon svg::before {content: unset;} 14/*# sourceURL=font-awesome-svg-styles-inline-css */</style><link rel='stylesheet' id='font-awesome-official-css' href='https://use.fontawesome.com/releases/v6.7.2/css/all.css' media='all' integrity="sha384-nRgPTkuX86pH8yjPJUAFuASXQSSl2/bBUiNV47vSYpKFxHJhbcrGnmlYpYJMeD7a" crossorigin="anonymous" /><link rel='stylesheet' id='font-awesome-official-v4shim-css' href='https://use.fontawesome.com/releases/v6.7.2/css/v4-shims.css' media='all' integrity="sha384-npPMK6zwqNmU3qyCCxEcWJkLBNYxEFM1nGgSoAWuCCXqVVz0cvwKEMfyTNkOxM2N" crossorigin="anonymous" /><style id="global-styles-inline-css">:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
140) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
14.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 15/*# sourceURL=global-styles-inline-css */</style><style id="fl-builder-layout-1846-inline-css">/** 16 * Base CSS used by the builder's layout, including rows 17 * and columns. Any module specific global CSS should be 18 * included in fl-builder-layout-modules.css. 19 */ 20 21/* Grid 22------------------------------------------------------ */ 23 24.fl-builder-content *, 25.fl-builder-content *:before, 26.fl-builder-content *:after { 27 -webkit-box-sizing: border-box; 28 -moz-box-sizing: border-box; 29 box-sizing: border-box; 30} 31.fl-row:before, 32.fl-row:after, 33.fl-row-content:before, 34.fl-row-content:after, 35.fl-col-group:before, 36.fl-col-group:after, 37.fl-col:before, 38.fl-col:after, 39.fl-module:not([data-accepts], .fl-ds-block):before, 40.fl-module:not([data-accepts], .fl-ds-block):after, 41.fl-module-content:before, 42.fl-module-content:after { 43 display: table; 44 content: " "; 45} 46.fl-row:after, 47.fl-row-content:after, 48.fl-col-group:after, 49.fl-col:after, 50.fl-module:not([data-accepts], .fl-ds-block):after, 51.fl-module-content:after { 52 clear: both; 53} 54.fl-clear { 55 clear: both; 56} 57 58/* Rows 59------------------------------------------------------ */ 60 61.fl-row, 62.fl-row-content { 63 margin-left: auto; 64 margin-right: auto; 65 min-width: 0; 66} 67.fl-row-content-wrap { 68 position: relative; 69} 70 71/* Photo Bg */ 72.fl-builder-mobile .fl-row-bg-photo .fl-row-content-wrap { 73 background-attachment: scroll; 74} 75 76/* Video and Embed Code Bg */ 77.fl-row-bg-video, 78.fl-row-bg-video .fl-row-content, 79.fl-row-bg-embed, 80.fl-row-bg-embed .fl-row-content { 81 position: relative; 82} 83 84.fl-row-bg-video .fl-bg-video, 85.fl-row-bg-embed .fl-bg-embed-code { 86 bottom: 0; 87 left: 0; 88 overflow: hidden; 89 position: absolute; 90 right: 0; 91 top: 0; 92} 93 94.fl-row-bg-video .fl-bg-video video, 95.fl-row-bg-embed .fl-bg-embed-code video { 96 bottom: 0; 97 left: 0px; 98 max-width: none; 99 position: absolute; 100 right: 0; 101 top: 0px; 102} 103.fl-row-bg-video .fl-bg-video video { 104 min-width: 100%; 105 min-height: 100%; 106 width: auto; 107 height: auto; 108} 109.fl-row-bg-video .fl-bg-video iframe, 110.fl-row-bg-embed .fl-bg-embed-code iframe { 111 pointer-events: none; 112 width: 100vw; 113 height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */ 114 max-width: none; 115 min-height: 100vh; 116 min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */ 117 position: absolute; 118 top: 50%; 119 left: 50%; 120 -ms-transform: translate(-50%, -50%); /* IE 9 */ 121 -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */ 122 transform: translate(-50%, -50%); 123} 124.fl-bg-video-fallback { 125 background-position: 50% 50%; 126 background-repeat: no-repeat; 127 background-size: cover; 128 bottom: 0px; 129 left: 0px; 130 position: absolute; 131 right: 0px; 132 top: 0px; 133} 134 135/* Slideshow Bg */ 136.fl-row-bg-slideshow, 137.fl-row-bg-slideshow .fl-row-content { 138 position: relative; 139} 140.fl-row .fl-bg-slideshow { 141 bottom: 0; 142 left: 0; 143 overflow: hidden; 144 position: absolute; 145 right: 0; 146 top: 0; 147 z-index: 0; 148}
149.fl-builder-edit .fl-row .fl-bg-slideshow * { 150 bottom: 0; 151 height: auto !important; 152 left: 0; 153 position: absolute !important; 154 right: 0; 155 top: 0; 156} 157 158/* Row Bg Overlay */ 159.fl-row-bg-overlay .fl-row-content-wrap:after { 160 border-radius: inherit; 161 content: ''; 162 display: block; 163 position: absolute; 164 top: 0; 165 right: 0; 166 bottom: 0; 167 left: 0; 168 z-index: 0; 169} 170.fl-row-bg-overlay .fl-row-content { 171 position: relative; 172 z-index: 1; 173} 174 175/* Full Height Rows */ 176.fl-row-default-height .fl-row-content-wrap, 177.fl-row-custom-height .fl-row-content-wrap { 178 display: -webkit-box; 179 display: -webkit-flex; 180 display: -ms-flexbox; 181 display: flex; 182 min-height: 100vh; 183} 184.fl-row-overlap-top .fl-row-content-wrap { 185 display: -webkit-inline-box; 186 display: -webkit-inline-flex; 187 display: -moz-inline-box; 188 display: -ms-inline-flexbox; 189 display: inline-flex; 190 width: 100%; 191} 192.fl-row-default-height .fl-row-content-wrap, 193.fl-row-custom-height .fl-row-content-wrap { 194 min-height: 0; 195} 196 197.fl-row-default-height .fl-row-content, 198.fl-row-full-height .fl-row-content, 199.fl-row-custom-height .fl-row-content { 200 -webkit-box-flex: 1 1 auto; 201 -moz-box-flex: 1 1 auto; 202 -webkit-flex: 1 1 auto; 203 -ms-flex: 1 1 auto; 204 flex: 1 1 auto; 205} 206.fl-row-default-height .fl-row-full-width.fl-row-content, 207.fl-row-full-height .fl-row-full-width.fl-row-content, 208.fl-row-custom-height .fl-row-full-width.fl-row-content { 209 max-width: 100%; 210 width: 100%; 211} 212 213/* Full height align center */ 214.fl-row-default-height.fl-row-align-center .fl-row-content-wrap, 215.fl-row-full-height.fl-row-align-center .fl-row-content-wrap, 216.fl-row-custom-height.fl-row-align-center .fl-row-content-wrap { 217 -webkit-align-items: center; 218 -webkit-box-align: center; 219 -webkit-box-pack: center; 220 -webkit-justify-content: center; 221 -ms-flex-align: center; 222 -ms-flex-pack: center; 223 justify-content: center; 224 align-items: center; 225} 226 227/* Full height align bottom */ 228.fl-row-default-height.fl-row-align-bottom .fl-row-content-wrap, 229.fl-row-full-height.fl-row-align-bottom .fl-row-content-wrap, 230.fl-row-custom-height.fl-row-align-bottom .fl-row-content-wrap { 231 -webkit-align-items: flex-end; 232 -webkit-justify-content: flex-end; 233 -webkit-box-align: end; 234 -webkit-box-pack: end; 235 -ms-flex-align: end; 236 -ms-flex-pack: end; 237 justify-content: flex-end; 238 align-items: flex-end; 239} 240 241/* Column Groups 242------------------------------------------------------ */ 243.fl-col-group-equal-height { 244 display: flex; 245 flex-wrap: wrap; 246 width: 100%; 247} 248.fl-col-group-equal-height.fl-col-group-has-child-loading { 249 flex-wrap: nowrap; 250} 251.fl-col-group-equal-height .fl-col, 252.fl-col-group-equal-height .fl-col-content { 253 display: flex; 254 flex: 1 1 auto; 255} 256.fl-col-group-equal-height .fl-col-content { 257 flex-direction: column; 258 flex-shrink: 1; 259 min-width: 1px; 260 max-width: 100%; 261 width: 100%; 262} 263.fl-col-group-equal-height:before, 264.fl-col-group-equal-height .fl-col:before, 265.fl-col-group-equal-height .fl-col-content:before, 266.fl-col-group-equal-height:after, 267.fl-col-group-equal-height .fl-col:after, 268.fl-col-group-equal-height .fl-col-content:after{ 269 content: none; 270} 271 272/* Equal height align top */ 273.fl-col-group-nested.fl-col-group-equal-height.fl-col-group-align-top .fl-col-content, 274.fl-col-group-equal-height.fl-col-group-align-top .fl-col-content { 275 justify-content: flex-start; 276} 277 278/* Equal height align center */ 279.fl-col-group-nested.fl-col-group-equal-height.fl-col-group-align-center .fl-col-content, 280.fl-col-group-equal-height.fl-col-group-align-center .fl-col-content { 281 justify-content: center; 282} 283 284/* Equal height align bottom */ 285.fl-col-group-nested.fl-col-group-equal-height.fl-col-group-align-bottom .fl-col-content, 286.fl-col-group-equal-height.fl-col-group-align-bottom .fl-col-content { 287 justify-content: flex-end; 288} 289 290.fl-col-group-equal-height.fl-col-group-align-center .fl-col-group { 291 width: 100%; 292} 293 294/* Columns 295------------------------------------------------------ */ 296 297.fl-col { 298 float: left; 299 min-height: 1px; 300} 301 302/* Column Bg Overlay */ 303.fl-col-bg-overlay .fl-col-content { 304 position: relative; 305} 306.fl-col-bg-overlay .fl-col-content:after { 307 border-radius: inherit; 308 content: ''; 309 display: block; 310 position: absolute; 311 top: 0; 312 right: 0; 313 bottom: 0; 314 left: 0; 315 z-index: 0; 316} 317.fl-col-bg-overlay .fl-module { 318 position: relative; 319 z-index: 2; 320} 321 322/* Templates 323------------------------------------------------------ */ 324
325.single:not(.woocommerce).single-fl-builder-template .fl-content { 326 width: 100%; 327} 328 329/* Shapes & Patterns 330------------------------------------------------------- */ 331.fl-builder-layer { 332 position: absolute; 333 top:0; 334 left:0; 335 right: 0; 336 bottom: 0; 337 z-index: 0; 338 pointer-events: none; 339 overflow: hidden; 340} 341.fl-builder-shape-layer { 342 z-index: 0; 343} 344.fl-builder-shape-layer.fl-builder-bottom-edge-layer { 345 z-index: 1; 346} 347.fl-row-bg-overlay .fl-builder-shape-layer { 348 z-index: 1; 349} 350.fl-row-bg-overlay .fl-builder-shape-layer.fl-builder-bottom-edge-layer { 351 z-index: 2; 352} 353.fl-row-has-layers .fl-row-content { 354 z-index: 1; 355} 356.fl-row-bg-overlay .fl-row-content { 357 z-index: 2; 358} 359 360.fl-builder-layer > * { 361 display: block; 362 position: absolute; 363 top:0; 364 left:0; 365 width: 100%; 366} 367.fl-builder-layer + .fl-row-content { 368 position: relative; 369} 370.fl-builder-layer .fl-shape { 371 fill: #aaa; 372 stroke: none; 373 stroke-width: 0; 374 width:100%; 375} 376/** 377Fix ipad parallax issue on safari 378https://core.trac.wordpress.org/ticket/48802 379https://core.trac.wordpress.org/ticket/49285 380https://github.com/WordPress/gutenberg/issues/17718 381*/ 382@supports (-webkit-touch-callout: inherit) { 383 .fl-row.fl-row-bg-parallax .fl-row-content-wrap, 384 .fl-row.fl-row-bg-fixed .fl-row-content-wrap { 385 background-position: center !important; 386 background-attachment: scroll !important; 387 } 388} 389 390@supports (-webkit-touch-callout: none) { 391 .fl-row.fl-row-bg-fixed .fl-row-content-wrap { 392 background-position: center !important; 393 background-attachment: scroll !important; 394 } 395} 396/** 397 * Base CSS used by all (or many) modules. This file should 398 * not contain any generic layout CSS that doesn't apply to 399 * modules. That belongs in fl-builder-layout.css. 400 */ 401 402/* Utilities 403------------------------------------------------------ */ 404 405.fl-clearfix:before, 406.fl-clearfix:after { 407 display: table; 408 content: " "; 409} 410.fl-clearfix:after { 411 clear: both; 412} 413.sr-only { 414 position: absolute; 415 width: 1px; 416 height: 1px; 417 padding: 0; 418 overflow: hidden; 419 clip: rect(0,0,0,0); 420 white-space: nowrap; 421 border: 0; 422} 423 424/* Buttons 425------------------------------------------------------ */ 426 427.fl-builder-content .fl-button:is(a, button), 428.fl-builder-content a.fl-button:visited { 429 border-radius: 4px; 430 display: inline-block; 431 font-size: 16px; 432 font-weight: normal; 433 line-height: 18px; 434 padding: 12px 24px; 435 text-decoration: none; 436 text-shadow: none; 437 cursor: pointer; 438} 439.fl-builder-content .fl-button:hover { 440 text-decoration: none; 441} 442.fl-builder-content .fl-button:active { 443 position: relative; 444 top: 1px; 445} 446.fl-builder-content .fl-button-width-full .fl-button { 447 width: 100%; 448 display: block; 449 text-align: center; 450} 451.fl-builder-content .fl-button-width-custom .fl-button { 452 display: inline-block; 453 text-align: center; 454 max-width: 100%; 455} 456.fl-builder-content .fl-button-left { 457 text-align: left; 458} 459.fl-builder-content .fl-button-center { 460 text-align: center; 461} 462.fl-builder-content .fl-button-right { 463 text-align: right; 464} 465.fl-builder-content .fl-button i { 466 font-size: 1.3em; 467 height: auto; 468 margin-right:8px; 469 vertical-align: middle; 470 width: auto; 471} 472.fl-builder-content .fl-button i.fl-button-icon-after { 473 margin-left: 8px; 474 margin-right: 0; 475} 476.fl-builder-content .fl-button-has-icon .fl-button-text { 477 vertical-align: middle; 478} 479 480/* Icons 481------------------------------------------------------ */ 482 483.fl-icon-wrap { 484 display: inline-block; 485} 486.fl-icon { 487 display: table-cell; 488 vertical-align: middle; 489} 490.fl-icon a { 491 text-decoration: none; 492} 493.fl-icon i { 494 float: right; 495 height: auto; 496 width: auto; 497} 498.fl-icon i:before { 499 border: none !important; 500 height: auto; 501 width: auto; 502} 503.fl-icon-text { 504 display: table-cell; 505 text-align: left; 506 padding-left: 15px; 507 vertical-align: middle; 508} 509.fl-icon-text-empty {
510 display: none; 511} 512.fl-icon-text *:last-child { 513 margin: 0 !important; 514 padding: 0 !important; 515} 516.fl-icon-text a { 517 text-decoration: none; 518} 519.fl-icon-text span { 520 display: block; 521} 522.fl-icon-text span.mce-edit-focus { 523 min-width: 1px; 524} 525 526/* Photos 527------------------------------------------------------ */ 528 529.fl-module img { 530 max-width: 100%; 531} 532.fl-photo { 533 line-height: 0; 534 position: relative; 535} 536.fl-photo-align-left { 537 text-align: left; 538} 539.fl-photo-align-center { 540 text-align: center; 541} 542.fl-photo-align-right { 543 text-align: right; 544} 545.fl-photo-content { 546 display: inline-block; 547 line-height: 0; 548 position: relative; 549 max-width: 100%; 550} 551.fl-photo-img-svg { 552 width: 100%; 553} 554.fl-photo-content img { 555 display: inline; 556 height: auto; 557 max-width: 100%; 558} 559.fl-photo-crop-circle img { 560 -webkit-border-radius: 100%; 561 -moz-border-radius: 100%; 562 border-radius: 100%; 563} 564.fl-photo-caption { 565 font-size: 13px; 566 line-height: 18px; 567 overflow: hidden; 568 text-overflow: ellipsis; 569} 570.fl-photo-caption-below { 571 padding-bottom: 20px; 572 padding-top: 10px; 573} 574.fl-photo-caption-hover { 575 background: rgba(0,0,0,0.7); 576 bottom: 0; 577 color: #fff; 578 left: 0; 579 opacity: 0; 580 filter: alpha(opacity = 0); 581 padding: 10px 15px; 582 position: absolute; 583 right: 0; 584 -webkit-transition:opacity 0.3s ease-in; 585 -moz-transition:opacity 0.3s ease-in; 586 transition:opacity 0.3s ease-in; 587} 588.fl-photo-content:hover .fl-photo-caption-hover { 589 opacity: 100; 590 filter: alpha(opacity = 100); 591} 592 593/* Pagination 594------------------------------------------------------ */ 595 596.fl-builder-pagination, 597.fl-builder-pagination-load-more { 598 padding: 40px 0; 599} 600.fl-builder-pagination ul.page-numbers { 601 list-style: none; 602 margin: 0; 603 padding: 0; 604 text-align: center; 605} 606.fl-builder-pagination li {
607 display: inline-block; 608 list-style: none; 609 margin: 0; 610 padding: 0; 611} 612.fl-builder-pagination li a.page-numbers, 613.fl-builder-pagination li span.page-numbers { 614 border: 1px solid #e6e6e6; 615 display: inline-block; 616 padding: 5px 10px; 617 margin: 0 0 5px; 618} 619.fl-builder-pagination li a.page-numbers:hover, 620.fl-builder-pagination li span.current { 621 background: #f5f5f5; 622 text-decoration: none; 623} 624 625/* Slideshows 626------------------------------------------------------ */ 627 628.fl-slideshow, 629.fl-slideshow * { 630 -webkit-box-sizing: content-box; 631 -moz-box-sizing: content-box; 632 box-sizing: content-box; 633 634} 635.fl-slideshow .fl-slideshow-image img { 636 max-width: none !important; 637} 638.fl-slideshow-social { 639 line-height: 0 !important; 640} 641.fl-slideshow-social * { 642 margin: 0 !important; 643} 644 645/* Sliders 646------------------------------------------------------ */ 647 648.fl-builder-content .bx-wrapper .bx-viewport { 649 background: transparent; 650 border: none; 651 box-shadow: none; 652 left: 0; 653} 654 655/* Lightbox 656------------------------------------------------------ */ 657 658.mfp-wrap button.mfp-arrow, 659.mfp-wrap button.mfp-arrow:active, 660.mfp-wrap button.mfp-arrow:hover, 661.mfp-wrap button.mfp-arrow:focus { 662 background: transparent !important; 663 border: none !important; 664 outline: none; 665 position: absolute; 666 top: 50%; 667 box-shadow: none !important; 668} 669.mfp-wrap .mfp-close, 670.mfp-wrap .mfp-close:active, 671.mfp-wrap .mfp-close:hover, 672.mfp-wrap .mfp-close:focus { 673 background: transparent !important; 674 border: none !important; 675 outline: none; 676 position: absolute; 677 top: 0; 678 box-shadow: none !important; 679} 680.admin-bar .mfp-wrap .mfp-close, 681.admin-bar .mfp-wrap .mfp-close:active, 682.admin-bar .mfp-wrap .mfp-close:hover, 683.admin-bar .mfp-wrap .mfp-close:focus { 684 top: 32px!important; 685} 686img.mfp-img { 687 padding: 0; 688} 689.mfp-counter { 690 display: none; 691} 692 693.mfp-wrap .mfp-preloader.fa { 694 font-size: 30px; 695} 696 697/* Form Fields 698------------------------------------------------------ */ 699 700.fl-form-field { 701 margin-bottom: 15px; 702} 703.fl-form-field input.fl-form-error { 704 border-color: #DD6420; 705} 706.fl-form-error-message { 707 clear: both; 708 color: #DD6420; 709 display: none; 710 padding-top: 8px; 711 font-size: 12px; 712 font-weight: lighter; 713} 714.fl-form-button-disabled { 715 opacity: 0.5; 716} 717 718/* Animations 719------------------------------------------------------ */ 720 721.fl-animation { 722 opacity: 0; 723} 724body.fl-no-js .fl-animation { 725 opacity: 1; 726} 727.fl-builder-preview .fl-animation, 728.fl-builder-edit .fl-animation, 729.fl-animated { 730 opacity: 1; 731} 732.fl-animated { 733 animation-fill-mode: both; 734} 735 736/* Button Icon Animation */ 737.fl-button.fl-button-icon-animation i { 738 width: 0 !important; 739 opacity: 0; 740 transition: all 0.2s ease-out; 741} 742.fl-button.fl-button-icon-animation:hover i { 743 opacity: 1 !important; 744} 745.fl-button.fl-button-icon-animation i.fl-button-icon-after { 746 margin-left: 0px !important; 747} 748.fl-button.fl-button-icon-animation:hover i.fl-button-icon-after { 749 margin-left: 10px !important; 750} 751.fl-button.fl-button-icon-animation i.fl-button-icon-before { 752 margin-right: 0 !important; 753} 754.fl-button.fl-button-icon-animation:hover i.fl-button-icon-before { 755 margin-right: 20px !important; 756 margin-left: -10px; 757} 758 759/* Default button colors for non Beaver Builder themes. 760------------------------------------------------------ */ 761 762.fl-builder-content .fl-button:is(a, button), 763.fl-builder-content a.fl-button:visited { 764 background: #fafafa; 765 border: 1px solid #ccc; 766 color: #333; 767} 768.fl-builder-content .fl-button:is(a, button) *, 769.fl-builder-content a.fl-button:visited * { 770 color: #333; 771}@media (max-width: 1200px) { /** 772 * Styles needed for the large breakpoint. 773 */ 774 }@media (max-width: 1023px) { /* Columns 775------------------------------------------------------ */ 776 777/* Reversed Responsive Stacking */ 778.fl-col-group.fl-col-group-medium-reversed { 779 display: -webkit-flex; 780 display: flex; 781 -webkit-flex-wrap: wrap-reverse; 782 flex-wrap: wrap-reverse; 783 flex-direction: row-reverse; 784} 785 }@media (max-width: 768px) { /* Rows 786------------------------------------------------------ */ 787 788.fl-row-content-wrap { 789 background-attachment: scroll !important; 790} 791.fl-row-bg-parallax .fl-row-content-wrap { 792 background-attachment: scroll !important; 793 background-position: center center !important; 794} 795 796/* Column Groups 797------------------------------------------------------ */ 798
799/* Equal Heights */ 800.fl-col-group.fl-col-group-equal-height { 801 display: block; 802} 803.fl-col-group.fl-col-group-equal-height.fl-col-group-custom-width { 804 display: -webkit-box; 805 display: -webkit-flex; 806 display: flex; 807} 808 809/* Reversed Responsive Stacking */ 810.fl-col-group.fl-col-group-responsive-reversed { 811 display: -webkit-flex; 812 display: flex; 813 -webkit-flex-wrap: wrap-reverse; 814 flex-wrap: wrap-reverse; 815 flex-direction: row-reverse; 816} 817.fl-col-group.fl-col-group-responsive-reversed .fl-col:not(.fl-col-small-custom-width) { 818 flex-basis: 100%; 819 width: 100% !important; 820} 821.fl-col-group.fl-col-group-medium-reversed:not(.fl-col-group-responsive-reversed) { 822 display: unset; 823 display: unset; 824 -webkit-flex-wrap: unset; 825 flex-wrap: unset; 826 flex-direction: unset; 827} 828 829/* Columns 830------------------------------------------------------ */ 831 832.fl-col { 833 clear: both; 834 float: none; 835 margin-left: auto; 836 margin-right: auto; 837 width: auto !important; 838} 839.fl-col-small:not(.fl-col-small-full-width) { 840 max-width: 400px; 841} 842.fl-block-col-resize { 843 display:none; 844} 845/* Rows 846------------------------------------------------------ */ 847 848.fl-row[data-node] .fl-row-content-wrap { 849 margin: 0; 850 padding-left: 0; 851 padding-right: 0; 852} 853.fl-row[data-node] .fl-bg-video, 854.fl-row[data-node] .fl-bg-slideshow { 855 left: 0; 856 right: 0; 857} 858 859/* Columns 860------------------------------------------------------ */ 861 862.fl-col[data-node] .fl-col-content { 863 margin: 0; 864 padding-left: 0; 865 padding-right: 0; 866} 867 }@media (min-width: 1201px) { 868 html .fl-visible-large:not(.fl-visible-desktop), 869 html .fl-visible-medium:not(.fl-visible-desktop), 870 html .fl-visible-mobile:not(.fl-visible-desktop) { 871 display: none; 872 } 873} 874 875@media (min-width: 1024px) and (max-width: 1200px) { 876 html .fl-visible-desktop:not(.fl-visible-large), 877 html .fl-visible-medium:not(.fl-visible-large), 878 html .fl-visible-mobile:not(.fl-visible-large) { 879 display: none; 880 } 881} 882 883@media (min-width: 769px) and (max-width: 1023px) { 884 html .fl-visible-desktop:not(.fl-visible-medium), 885 html .fl-visible-large:not(.fl-visible-medium), 886 html .fl-visible-mobile:not(.fl-visible-medium) { 887 display: none; 888 } 889} 890 891@media (max-width: 768px) { 892 html .fl-visible-desktop:not(.fl-visible-mobile), 893 html .fl-visible-large:not(.fl-visible-mobile), 894 html .fl-visible-medium:not(.fl-visible-mobile) { 895 display: none; 896 } 897} 898.fl-col-content { 899 display: flex; 900 flex-direction: column; 901 margin-top: 0px; 902 margin-right: 0px; 903 margin-bottom: 0px; 904 margin-left: 0px; 905 padding-top: 0px; 906 padding-right: 0px; 907 padding-bottom: 0px; 908 padding-left: 0px; 909} 910.fl-row-fixed-width { 911 max-width: 1280px; 912} 913.fl-builder-content > .fl-module-box { 914 margin: 0; 915} 916.fl-row-content-wrap { 917 margin-top: 0px; 918 margin-right: 0px; 919 margin-bottom: 0px; 920 margin-left: 0px; 921 padding-top: 0px; 922 padding-right: 0px; 923 padding-bottom: 0px; 924 padding-left: 0px; 925} 926.fl-module-content, .fl-module:where(.fl-module:not(:has(> .fl-module-content))) { 927 margin-top: 20px; 928 margin-right: 20px; 929 margin-bottom: 20px; 930 margin-left: 20px; 931} 932:where(.fl-builder-content, .fl-page) :is(a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus { 933 outline-width: px; 934 outline-offset: px; 935} 936.page .fl-post-header, .single-fl-builder-template .fl-post-header { display:none; } 937 938 939 940 941 942 /* Full Height Rows */ 943 .fl-node-umyih9krjelx.fl-row-full-height > .fl-row-content-wrap, 944 .fl-node-umyih9krjelx.fl-row-custom-height > .fl-row-content-wrap { 945 display: -webkit-box; 946 display: -webkit-flex; 947 display: -ms-flexbox; 948 display: flex; 949 } 950 .fl-node-umyih9krjelx.fl-row-full-height > .fl-row-content-wrap { 951 min-height: 100vh; 952 } 953 .fl-node-umyih9krjelx.fl-row-custom-height > .fl-row-content-wrap { 954 min-height: 0; 955 } 956 957 .fl-builder-edit .fl-node-umyih9krjelx.fl-row-full-height > .fl-row-content-wrap { 958 min-height: calc( 100vh - 48px ); 959 } 960 961 /* Full height iPad with portrait orientation. */ 962 @media all and (width: 768px) and (height: 1024px) and (orientation:portrait){ 963 .fl-node-umyih9krjelx.fl-row-full-height > .fl-row-content-wrap { 964 min-height: 1024px; 965 } 966 } 967 /* Full height iPad with landscape orientation. */ 968 @media all and (width: 1024px) and (height: 768px) and (orientation:landscape){ 969 .fl-node-umyih9krjelx.fl-row-full-height > .fl-row-content-wrap { 970 min-height: 768px; 971 } 972 } 973 /* Full height iPhone 5. You can also target devices with aspect ratio. */ 974 @media screen and (aspect-ratio: 40/71) { 975 .fl-node-umyih9krjelx.fl-row-full-height > .fl-row-content-wrap { 976 min-height: 500px; 977 } 978 } 979.fl-node-umyih9krjelx > .fl-row-content-wrap:after { 980 background-image: linear-gradient(0deg, rgba(0,0,0,0.85) 20%, rgba(255,255,255,0) 100%); 981} 982.fl-node-umyih9krjelx.fl-row-default-height > .fl-row-content-wrap, .fl-node-umyih9krjelx.fl-row-full-height > .fl-row-content-wrap, .fl-node-umyih9krjelx.fl-row-custom-height > .fl-row-content-wrap { 983 align-items: flex-end; 984 justify-content: flex-end; 985} 986.fl-node-umyih9krjelx > .fl-row-content-wrap { 987 background-image: url(https://clpvd.org/wp-content/uploads/2022/08/pexels-pixabay-159711-scaled.jpg); 988 background-repeat: no-repeat; 989 background-position: 0% 40%; 990 background-attachment: scroll; 991 background-size: cover; 992} 993.fl-node-umyih9krjelx.fl-row-custom-height > .fl-row-content-wrap { 994 min-height: 500px; 995} 996.fl-node-umyih9krjelx .fl-row-content { 997 max-width: 960px; 998} 999@media(max-width: 1200px) { 1000 .fl-node-umyih9krjelx > .fl-row-content-wrap { 1001 background-position: 0% 0%; 1002 } 1003 .fl-node-umyih9krjelx.fl-row-custom-height > .fl-row-content-wrap { 1004 min-height: 360px; 1005 } 1006} 1007@media(max-width: 1023px) { 1008 .fl-node-umyih9krjelx > .fl-row-content-wrap { 1009 background-position: 0% 0%; 1010 } 1011} 1012@media(max-width: 768px) { 1013 .fl-node-umyih9krjelx > .fl-row-content-wrap { 1014 background-position: 0% 0%; 1015 } 1016} 1017 .fl-node-umyih9krjelx > .fl-row-content-wrap { 1018 padding-top:90px; 1019 padding-bottom:30px; 1020} 1021 1022 1023
1024 .fl-builder-row-settings #fl-field-separator_position { 1025 display: none !important; 1026 } 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041.fl-node-f7wigu62x5bp.fl-row-default-height > .fl-row-content-wrap, .fl-node-f7wigu62x5bp.fl-row-full-height > .fl-row-content-wrap, .fl-node-f7wigu62x5bp.fl-row-custom-height > .fl-row-content-wrap { 1042 align-items: center; 1043 justify-content: center; 1044} 1045 .fl-node-f7wigu62x5bp > .fl-row-content-wrap { 1046 padding-top:20px; 1047} 1048 1049 1050 1051 .fl-builder-row-settings #fl-field-separator_position { 1052 display: none !important; 1053 } 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068.fl-node-z8c3dps2w75i.fl-row-default-height > .fl-row-content-wrap, .fl-node-z8c3dps2w75i.fl-row-full-height > .fl-row-content-wrap, .fl-node-z8c3dps2w75i.fl-row-custom-height > .fl-row-content-wrap { 1069 align-items: center; 1070 justify-content: center; 1071} 1072.fl-node-z8c3dps2w75i .fl-row-content { 1073 max-width: 1000px; 1074} 1075 .fl-node-z8c3dps2w75i > .fl-row-content-wrap { 1076 padding-top:60px; 1077 padding-bottom:60px; 1078} 1079 1080 1081 1082 .fl-builder-row-settings #fl-field-separator_position { 1083 display: none !important; 1084 } 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097.fl-node-avrzxhg03t8l { 1098 width: 100%; 1099} 1100@media(max-width: 768px) { 1101 .fl-builder-content .fl-node-avrzxhg03t8l { 1102 width: 100% !important; 1103 max-width: none; 1104 clear: none; 1105 float: left; 1106 } 1107} 1108 1109 1110 1111 1112.fl-node-m24rckzon38a { 1113 width: 100%; 1114} 1115 1116 1117 1118 1119.fl-node-tzk9emcbfl3v { 1120 width: 100%; 1121} 1122.fl-module-heading .fl-heading { 1123 padding: 0 !important; 1124 margin: 0 !important; 1125}.fl-node-mqfg0ls4i2du.fl-module-heading .fl-heading { 1126 line-height: 1; 1127 text-align: center; 1128} 1129 .fl-node-mqfg0ls4i2du > .fl-module-content { 1130 margin-top:0px; 1131 margin-bottom:45px; 1132} 1133@media (max-width: 768px) { .fl-node-mqfg0ls4i2du > .fl-module-content { margin-bottom:20px; } }.fl-builder-content .fl-rich-text strong { 1134 font-weight: bold; 1135} 1136 1137/** 1138 * Remove bottom margins from the last paragraph 1139 * in v2+ text editor modules. 1140 */ 1141.fl-module.fl-rich-text p:last-child { 1142 margin-bottom: 0; 1143} 1144/* Handle overlays in the builder */ 1145.fl-builder-edit .fl-module.fl-rich-text p:not(:has(~ *:not(.fl-block-overlay))) { 1146 margin-bottom: 0; 1147} 1148 .fl-node-ekruihavqt5w > .fl-module-content { 1149 margin-top:0px; 1150 margin-bottom:0px; 1151} 1152 .fl-node-cpkli6yesf8r > .fl-module-content { 1153 margin-top:0px; 1154 margin-bottom:0px; 1155} 1156 .fl-node-s4jre7l9u2wp > .fl-module-content { 1157 margin-top:30px; 1158 margin-bottom:0px; 1159} 1160@media (max-width: 768px) { .fl-node-s4jre7l9u2wp > .fl-module-content { margin-top:20px; } } 1161/* Start Global CSS */ 1162 1163/* End Global CSS */ 1164 1165 1166/* Start Global Nodes CSS */ 1167 1168/* End Global Nodes CSS */ 1169 1170 1171/* Start Layout CSS */ 1172 1173/* End Layout CSS */ 1174 1175 1176 .fl-node-umyih9krjelx .fl-row-content { 1177 min-width: 0px; 1178 } 1179 1180 .fl-node-f7wigu62x5bp .fl-row-content { 1181 min-width: 0px; 1182 } 1183 1184 .fl-node-z8c3dps2w75i .fl-row-content { 1185 min-width: 0px; 1186 } 1187 1188/*# sourceURL=fl-builder-layout-1846-inline-css */</style><link data-optimized="1" rel='stylesheet' id='wpa-css-css' href='https://clpvd.org/wp-content/litespeed/css/60830b1f2ab43405a3eeb56872c45304.css?ver=ac345' media='all' /><style id="fl-builder-layout-43931-inline-css">.fl-node-m9ovuw12tdig.fl-row-default-height > .fl-row-content-wrap, .fl-node-m9ovuw12tdig.fl-row-full-height > .fl-row-content-wrap, .fl-node-m9ovuw12tdig.fl-row-custom-height > .fl-row-content-wrap { 1189 align-items: center; 1190 justify-content: center; 1191} 1192 1193 1194 1195 .fl-builder-row-settings #fl-field-separator_position { 1196 display: none !important; 1197 } 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210.fl-node-u3hj07crfygx { 1211 width: 100%; 1212} 1213.fl-builder-edit .bb-bootstrap-alerts { 1214 display: block !important; 1215} 1216.bb-bootstrap-alerts a:hover { 1217 text-decoration:none; 1218} 1219.bb-bootstrap-alerts .alert { 1220 border: 1px solid transparent; 1221 border-radius: 4px; 1222} 1223.bb-bootstrap-alerts .fade { 1224 opacity: 0; 1225 -webkit-transition: opacity .15s linear; 1226 -o-transition: opacity .15s linear; 1227 transition: opacity .15s linear; 1228} 1229.bb-bootstrap-alerts .fade.in { 1230 opacity: 1; 1231} 1232.bb-bootstrap-alerts .alert-danger { 1233 color: #a94442; 1234 background-color: #f2dede; 1235 border-color: #ebccd1; 1236} 1237.bb-bootstrap-alerts .alert-warning { 1238 color: #8a6d3b; 1239 background-color: #fcf8e3; 1240 border-color: #faebcc; 1241} 1242.bb-bootstrap-alerts .alert-info { 1243 color: #31708f; 1244 background-color: #d9edf7; 1245 border-color: #bce8f1; 1246} 1247.bb-bootstrap-alerts .alert-success { 1248 color: #3c763d; 1249 background-color: #dff0d8; 1250 border-color: #d6e9c6; 1251} 1252.bb-bootstrap-alerts .close { 1253 float: right; 1254 margin: 10px; 1255 font-weight: 700; 1256 line-height: 1; 1257 color: #000; 1258 text-shadow: 0 1px 0 #fff; 1259 filter: alpha(opacity=20); 1260 opacity: .2; 1261} 1262.bb-bootstrap-alerts p { 1263 display: inline; 1264 margin: 0; 1265}/* typography */ 1266.fl-node-nm0ud8ypz5o6 { 1267 font-size: 20px; 1268 line-height: 28px; 1269 text-align:center; 1270} 1271 1272/* padding for the contents */ 1273.fl-node-nm0ud8ypz5o6 .alert-padding { 1274 padding-top: 20px; 1275 padding-bottom: 20px; 1276 padding-left: 20px; 1277 padding-right: 20px; 1278} 1279 1280/* custom notification type field css */ 1281.fl-node-nm0ud8ypz5o6 .alert-custom { 1282 color: ; 1283 background-color: ; 1284 border-color: ; 1285 border-width:1px; 1286 border-style:none; 1287 border-radius:4px; 1288} 1289 1290/* custom font color css */ 1291.fl-node-nm0ud8ypz5o6 .fi-background-color, 1292.fl-node-nm0ud8ypz5o6 .dashicons, 1293.fl-node-nm0ud8ypz5o6 .fa, 1294.fl-node-nm0ud8ypz5o6 .ua-icon 1295 { 1296 color: #c60027} 1297 1298/* link color css */ 1299.fl-node-nm0ud8ypz5o6 a * { 1300 color: #8a6d3b} 1301/* close button padding css */ 1302 1303.fl-node-nm0ud8ypz5o6 .close { 1304 font-size: 21px; 1305} 1306 1307/* for cookie base notification */ 1308.fl-node-nm0ud8ypz5o6 .bb-bootstrap-alerts { 1309 /*display:none;*/ 1310} 1311 .fl-node-nm0ud8ypz5o6 > .fl-module-content { 1312 margin-top:0px; 1313 margin-right:0px; 1314 margin-bottom:0px; 1315 margin-left:0px; 1316} 1317 1318/* Start Global Nodes CSS */ 1319
1320/* End Global Nodes CSS */ 1321 1322 1323/* Start Layout CSS */ 1324 1325/* End Layout CSS */ 1326 1327.fl-node-nm0ud8ypz5o6 .bb-bootstrap-alerts .alert { 1328 border-radius: 0; 1329} 1330 1331 1332/*# sourceURL=fl-builder-layout-43931-inline-css */</style><style id="fl-builder-layout-23-inline-css">.fl-node-08sxnbdr67yc > .fl-row-content-wrap { 1333 background-color: #1a1919; 1334 border-top-width: 1px; 1335 border-right-width: 0px; 1336 border-bottom-width: 1px; 1337 border-left-width: 0px; 1338} 1339.fl-node-08sxnbdr67yc.fl-row-default-height > .fl-row-content-wrap, .fl-node-08sxnbdr67yc.fl-row-full-height > .fl-row-content-wrap, .fl-node-08sxnbdr67yc.fl-row-custom-height > .fl-row-content-wrap { 1340 align-items: center; 1341 justify-content: center; 1342} 1343 .fl-node-08sxnbdr67yc > .fl-row-content-wrap { 1344 padding-top:30px; 1345 padding-right:30px; 1346 padding-bottom:30px; 1347 padding-left:30px; 1348} 1349@media ( max-width: 1023px ) { 1350 .fl-node-08sxnbdr67yc.fl-row > .fl-row-content-wrap { 1351 padding-right:20px; 1352 padding-left:20px; 1353} 1354} 1355@media ( max-width: 768px ) { 1356 .fl-node-08sxnbdr67yc.fl-row > .fl-row-content-wrap { 1357 padding-right:0px; 1358 padding-left:0px; 1359} 1360} 1361 1362 1363 1364 .fl-builder-row-settings #fl-field-separator_position { 1365 display: none !important; 1366 } 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379.fl-node-hdiut02lnkfj { 1380 width: 100%; 1381} 1382 1383 1384 1385 1386.fl-node-7apuc3jvtmo5 { 1387 width: 25%; 1388} 1389 1390 1391 1392 1393.fl-node-douanp87k6qr { 1394 width: 100%; 1395} 1396 1397 1398 1399 1400.fl-node-iek6lwzhgcd4 { 1401 width: 100%; 1402} 1403 1404 1405 1406 1407.fl-node-z8qm34fghe2s { 1408 width: 100%; 1409} 1410 1411 1412 1413 1414.fl-node-3xr6w2biylqk { 1415 width: 100%; 1416} 1417.fl-node-3xr6w2biylqk > .fl-col-content { 1418 border-top-width: 1px; 1419 border-right-width: 1px; 1420 border-bottom-width: 1px; 1421 border-left-width: 1px; 1422} 1423@media(max-width: 768px) { 1424 .fl-builder-content .fl-node-3xr6w2biylqk { 1425 width: 80% !important; 1426 max-width: none; 1427 clear: none; 1428 float: left; 1429 } 1430} 1431 1432 1433 1434 1435.fl-node-fl61s9xowkzm { 1436 width: 50%; 1437} 1438@media(max-width: 1023px) { 1439 .fl-builder-content .fl-node-fl61s9xowkzm { 1440 width: 100% !important; 1441 max-width: none; 1442 -webkit-box-flex: 0 1 auto; 1443 -moz-box-flex: 0 1 auto; 1444 -webkit-flex: 0 1 auto; 1445 -ms-flex: 0 1 auto; 1446 flex: 0 1 auto; 1447 } 1448} 1449 1450 1451 1452 1453.fl-node-xr9db36w1fpc { 1454 width: 25%; 1455} 1456.fl-builder-content .fl-node-6053b3557d528.fl-module-rich-text.fl-rich-text, .fl-builder-content .fl-node-6053b3557d528.fl-module-rich-text.fl-rich-text * { 1457 color: #ffffff; 1458} 1459.fl-builder-content .fl-node-6053b3557d528.fl-module-rich-text.fl-rich-text, .fl-builder-content .fl-node-6053b3557d528.fl-module-rich-text.fl-rich-text *:not(b, strong) { 1460 text-align: center; 1461} 1462 .fl-node-6053b3557d528.fl-module-rich-text { 1463 margin-top:30px; 1464} 1465@media ( max-width: 768px ) { 1466 .fl-node-6053b3557d528.fl-module-rich-text.fl-module { 1467 margin-top:45px; 1468} 1469} 1470.fl-icon-group .fl-icon { 1471 display: inline-block; 1472 margin-bottom: 10px; 1473 margin-top: 10px; 1474} 1475 1476 1477 1478.fl-node-nhcji7vm6exs .fl-icon i, .fl-node-nhcji7vm6exs .fl-icon i:before { 1479 font-size: 20px; 1480 color: #ffffff; 1481} 1482.fl-node-nhcji7vm6exs .fl-icon-wrap .fl-icon-text { 1483 height: 35px; 1484} 1485.fl-node-nhcji7vm6exs .fl-icon i { 1486 line-height: 35px; 1487 width: 35px; 1488 background: #af1c2e; 1489 border-radius: 100%; 1490 text-align: center; 1491} 1492.fl-node-nhcji7vm6exs .fl-icon i::before { 1493 line-height: 35px; 1494} 1495.fl-node-nhcji7vm6exs .fl-icon i:hover, .fl-node-nhcji7vm6exs .fl-icon i:hover:before, .fl-node-nhcji7vm6exs .fl-icon a:hover i, .fl-node-nhcji7vm6exs .fl-icon a:hover i:before { 1496 color: #000000; 1497} 1498.fl-node-nhcji7vm6exs .fl-icon i:hover, .fl-node-nhcji7vm6exs .fl-icon a:hover i { 1499 background: rgb(255, 255, 255); 1500 border-radius: 100%; 1501 text-align: center; 1502} 1503@media(max-width: 1200px) { 1504 .fl-node-nhcji7vm6exs .fl-icon-wrap .fl-icon-text { 1505 height: 35px; 1506 } 1507} 1508@media(max-width: 1023px) { 1509 .fl-node-nhcji7vm6exs .fl-icon-wrap .fl-icon-text { 1510 height: 35px; 1511 } 1512} 1513@media(max-width: 768px) { 1514 .fl-node-nhcji7vm6exs .fl-icon-wrap .fl-icon-text { 1515 height: 35px; 1516 } 1517} 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536.fl-node-nhcji7vm6exs .fl-icon-group { 1537 display: flex; 1538 flex-wrap: wrap; 1539 gap: 10px; 1540 justify-content: center; 1541} 1542.fl-node-nhcji7vm6exs .fl-icon-group .fl-icon { 1543 margin: 0; 1544} 1545 .fl-node-nhcji7vm6exs > .fl-module-content { 1546 margin-bottom:0px; 1547} 1548.fl-node-yt20j754gkow .fl-separator { 1549 border-top-width: 1px; 1550 max-width: 100%; 1551 width: 100%; 1552 margin: auto; 1553} 1554 1555 .fl-node-yt20j754gkow .fl-separator { 1556 border-top-color: rgba(255,255,255,0.2); 1557 border-top-style: solid; 1558} 1559@media (max-width: 768px) { .fl-module-icon { 1560 text-align: center; 1561} 1562 } 1563 1564 1565.fl-node-6053b3557d52f .fl-icon i, .fl-node-6053b3557d52f .fl-icon i:before { 1566 font-size: 16px; 1567 color: #9b9b9b; 1568} 1569.fl-node-6053b3557d52f .fl-icon-wrap .fl-icon-text { 1570 height: 28px; 1571} 1572.fl-node-6053b3557d52f.fl-module-icon { 1573 text-align: left; 1574} 1575.fl-node-6053b3557d52f .fl-icon i:hover, .fl-node-6053b3557d52f .fl-icon i:hover:before, .fl-node-6053b3557d52f .fl-icon a:hover i, .fl-node-6053b3557d52f .fl-icon a:hover i:before { 1576 color: #7f7f7f; 1577} 1578@media(max-width: 1200px) { 1579 .fl-node-6053b3557d52f .fl-icon-wrap .fl-icon-text { 1580 height: 28px; 1581 } 1582} 1583@media(max-width: 1023px) { 1584 .fl-node-6053b3557d52f .fl-icon-wrap .fl-icon-text { 1585 height: 28px; 1586 } 1587} 1588@media(max-width: 768px) { 1589 .fl-node-6053b3557d52f .fl-icon-wrap .fl-icon-text { 1590 height: 28px; 1591 } 1592} 1593 .fl-node-6053b3557d52f > .fl-module-content { 1594 margin-top:0px; 1595 margin-bottom:0px; 1596 margin-left:5px; 1597} 1598.fl-row .fl-col h2.fl-node-2vgme98tixa1, 1599 .fl-row .fl-col h2.fl-node-2vgme98tixa1 a, 1600 h2.fl-node-2vgme98tixa1, 1601 h2.fl-node-2vgme98tixa1 a { 1602 color: #ffffff; 1603} 1604.fl-node-2vgme98tixa1.fl-module-heading, .fl-node-2vgme98tixa1.fl-module-heading :where(a, q, p, span) { 1605 font-size: 24px; 1606 text-align: center; 1607} 1608@media(max-width: 768px) { 1609 .fl-node-2vgme98tixa1.fl-module-heading, .fl-node-2vgme98tixa1.fl-module-heading :where(a, q, p, span) { 1610 text-align: center; 1611 } 1612} 1613 .fl-node-2vgme98tixa1.fl-module-heading { 1614 margin-bottom:0px; 1615} 1616.fl-menu ul, 1617.fl-menu li{ 1618 list-style: none; 1619 margin: 0; 1620 padding: 0; 1621} 1622.fl-menu .menu:before, 1623.fl-menu .menu:after{ 1624 content: ''; 1625 display: table; 1626 clear: both; 1627} 1628 1629/* Horizontal menus */ 1630.fl-menu-horizontal { 1631 display: inline-flex; 1632 flex-wrap: wrap; 1633 align-items: center; 1634} 1635.fl-menu li{ 1636 position: relative; 1637} 1638.fl-menu a{ 1639 display: block; 1640 padding: 10px; 1641 text-decoration: none; 1642} 1643.fl-menu a:hover{ 1644 text-decoration: none; 1645} 1646.fl-menu .sub-menu{ 1647 min-width: 220px; 1648} 1649 1650/* Expanded menus */ 1651.fl-module[data-node] .fl-menu .fl-menu-expanded .sub-menu { 1652 background-color: transparent; 1653 -webkit-box-shadow: none;
1654 -ms-box-shadow: none; 1655 box-shadow: none; 1656} 1657 1658/* Submenus */ 1659.fl-menu .fl-has-submenu-container:has(span.fl-menu-toggle) { 1660 position: relative; 1661} 1662.fl-menu .fl-has-submenu-container:has(button.fl-menu-toggle) { 1663 display: grid; 1664 grid-template-columns: 1fr 40px; 1665} 1666 1667/* Submenu - accordion, expanded */ 1668.fl-menu .fl-menu-accordion .fl-has-submenu > .sub-menu{ 1669 display: none; 1670} 1671 1672/* Toggle - General */ 1673.fl-menu span.fl-menu-toggle{ 1674 position: absolute; 1675 top: 0; 1676 right: 0; 1677 bottom: 0; 1678 height: 100%; 1679 cursor: pointer; 1680} 1681.fl-menu button.fl-menu-toggle{ 1682 all: unset; 1683 position: relative; 1684 cursor: pointer; 1685} 1686.fl-menu .fl-toggle-arrows .fl-menu-toggle:before{ 1687 border-color: #333; 1688} 1689.fl-menu .fl-menu-expanded .fl-menu-toggle{ 1690 display: none; 1691} 1692 1693/* Mobile menu - hamburger icon */ 1694.fl-menu .fl-menu-mobile-toggle { 1695 position: relative; 1696 padding: 8px; 1697 background-color: transparent; 1698 border: none; 1699 color: #333; 1700 border-radius: 0; 1701 cursor: pointer; 1702} 1703.fl-menu .fl-menu-mobile-toggle.text{ 1704 width: 100%; 1705 text-align: center; 1706} 1707.fl-menu .fl-menu-mobile-toggle.hamburger .fl-menu-mobile-toggle-label, 1708.fl-menu .fl-menu-mobile-toggle.hamburger-label .fl-menu-mobile-toggle-label{ 1709 display: inline-block; 1710 margin-left: 10px; 1711 vertical-align: middle; 1712} 1713.fl-menu .fl-menu-mobile-toggle.hamburger .svg-container, 1714.fl-menu .fl-menu-mobile-toggle.hamburger-label .svg-container{ 1715 display: inline-block; 1716 position: relative; 1717 width: 1.4em; 1718 height: 1.4em; 1719 vertical-align: middle; 1720} 1721.fl-menu .fl-menu-mobile-toggle.hamburger .hamburger-menu, 1722.fl-menu .fl-menu-mobile-toggle.hamburger-label .hamburger-menu{ 1723 position: absolute; 1724 top: 0; 1725 left: 0; 1726 right: 0; 1727 bottom: 0; 1728} 1729.fl-menu .fl-menu-mobile-toggle.hamburger .hamburger-menu rect, 1730.fl-menu .fl-menu-mobile-toggle.hamburger-label .hamburger-menu rect{ 1731 fill: currentColor; 1732} 1733 1734/* Mega menu general */ 1735li.mega-menu .hide-heading > a, 1736li.mega-menu .hide-heading > .fl-has-submenu-container, 1737li.mega-menu-disabled .hide-heading > a, 1738li.mega-menu-disabled .hide-heading > .fl-has-submenu-container { 1739 display: none; 1740} 1741 1742/* Mega menu for horizontal menus */ 1743ul.fl-menu-horizontal li.mega-menu { 1744 position: static; 1745} 1746ul.fl-menu-horizontal li.mega-menu > ul.sub-menu { 1747 top: inherit !important; 1748 left: 0 !important; 1749 right: 0 !important; 1750 width: 100%; 1751} 1752ul.fl-menu-horizontal li.mega-menu.fl-has-submenu:hover > ul.sub-menu, 1753ul.fl-menu-horizontal li.mega-menu.fl-has-submenu.focus > ul.sub-menu { 1754 display: flex !important; 1755} 1756ul.fl-menu-horizontal li.mega-menu > ul.sub-menu li { 1757 border-color: transparent; 1758} 1759ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li { 1760 width: 100%; 1761} 1762ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li > .fl-has-submenu-container a { 1763 font-weight: bold; 1764} 1765ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li > .fl-has-submenu-container a:hover { 1766 background: transparent; 1767} 1768ul.fl-menu-horizontal li.mega-menu > ul.sub-menu .fl-menu-toggle { 1769 display: none; 1770} 1771ul.fl-menu-horizontal li.mega-menu > ul.sub-menu ul.sub-menu { 1772 background: transparent; 1773 -webkit-box-shadow: none; 1774 -ms-box-shadow: none; 1775 box-shadow: none; 1776 display: block; 1777 min-width: 0; 1778 opacity: 1; 1779 padding: 0; 1780 position: static; 1781 visibility: visible; 1782} 1783 1784/* Mobile menu - below row clone */ 1785:where(.fl-col-group-medium-reversed, .fl-col-group-responsive-reversed, .fl-col-group-equal-height.fl-col-group-custom-width) > .fl-menu-mobile-clone { 1786 flex: 1 1 100%; 1787} 1788.fl-menu-mobile-clone { 1789 clear: both; 1790} 1791.fl-menu-mobile-clone .fl-menu .menu { 1792 float: none !important; 1793} 1794 1795/* Mobile menu - Flyout */ 1796.fl-menu-mobile-flyout .fl-menu-mobile-close, 1797.fl-menu-mobile-flyout .fl-menu-mobile-close:hover, 1798.fl-menu-mobile-flyout .fl-menu-mobile-close:focus { 1799 background: none; 1800 border: 0 none; 1801 color: inherit; 1802 font-size: 18px; 1803 padding: 10px 15px; 1804 margin: 5px 0; 1805 cursor: pointer; 1806} 1807 1808.fl-node-7bwtoq16j89f .menu-item a { 1809 color: #ffffff; 1810 } 1811 1812 1813 .fl-node-7bwtoq16j89f .fl-menu .fl-toggle-arrows .fl-menu-toggle:before 1814 { 1815 border-color: #ffffff; 1816 } 1817 1818 .fl-node-7bwtoq16j89f .menu-item :is(*:focus, a:hover, .fl-has-submenu-container:hover > *), 1819.fl-node-7bwtoq16j89f .current-menu-item > a, 1820.fl-node-7bwtoq16j89f .current-menu-item > .fl-has-submenu-container > * { 1821 color: #eeeeee;} 1822 1823 .fl-node-7bwtoq16j89f .fl-toggle-arrows :is(.fl-menu-toggle:focus, .fl-has-submenu-container:hover > .fl-menu-toggle):before, 1824 .fl-node-7bwtoq16j89f .fl-toggle-arrows .current-menu-item > .fl-has-submenu-container > .fl-menu-toggle:before 1825 { 1826 border-color: #eeeeee; 1827 } 1828 .fl-node-7bwtoq16j89f .menu .fl-has-submenu .sub-menu{ 1829 display: none; 1830 } 1831 .fl-node-7bwtoq16j89f .fl-menu .sub-menu { 1832 background-color: #296BC9;-webkit-box-shadow: 0 1px 20px rgba(0,0,0,0.1);
1832-ms-box-shadow: 0 1px 20px rgba(0,0,0,0.1);box-shadow: 0 1px 20px rgba(0,0,0,0.1);} 1833 .fl-node-7bwtoq16j89f .fl-menu .fl-menu-toggle:before{ 1834 content: ''; 1835 position: absolute; 1836 right: 50%; 1837 top: 50%; 1838 z-index: 1; 1839 display: block; 1840 width: 9px; 1841 height: 9px; 1842 margin: -5px -5px 0 0; 1843 border-right: 2px solid; 1844 border-bottom: 2px solid; 1845 -webkit-transform-origin: right bottom; 1846 -ms-transform-origin: right bottom; 1847 transform-origin: right bottom; 1848 -webkit-transform: translateX( -5px ) rotate( 45deg ); 1849 -ms-transform: translateX( -5px ) rotate( 45deg ); 1850 transform: translateX( -5px ) rotate( 45deg ); 1851 } 1852 .fl-node-7bwtoq16j89f .fl-menu .fl-has-submenu.focus > .fl-has-submenu-container > .fl-menu-toggle, 1853 .fl-node-7bwtoq16j89f .fl-menu .fl-has-submenu.fl-active > .fl-has-submenu-container .fl-menu-toggle, 1854 .fl-node-7bwtoq16j89f .fl-menu:not(.no-hover) .fl-has-submenu:hover > .fl-has-submenu-container > .fl-menu-toggle{ 1855 -webkit-transform: rotate( -180deg ); 1856 -ms-transform: rotate( -180deg ); 1857 transform: rotate( -180deg ); 1858 } 1859 .fl-node-7bwtoq16j89f .fl-menu-horizontal.fl-toggle-arrows .fl-has-submenu-container a{ 1860 padding-right: 34px; 1861 } 1862 .fl-node-7bwtoq16j89f .fl-menu-horizontal.fl-toggle-arrows .fl-menu-toggle{ 1863 width: 36px; 1864 } 1865 .fl-node-7bwtoq16j89f .fl-menu-horizontal.fl-toggle-arrows .fl-menu-toggle, 1866 .fl-node-7bwtoq16j89f .fl-menu-vertical.fl-toggle-arrows .fl-menu-toggle{ 1867 width: 34px; 1868 } 1869 .fl-node-7bwtoq16j89f .fl-menu li{ 1870 border-top: 1px solid transparent; 1871} 1872.fl-node-7bwtoq16j89f .fl-menu li:first-child{ 1873 border-top: none; 1874} 1875 @media ( max-width: 768px ) { 1876 1877 1878 1879 1880 .fl-node-7bwtoq16j89f .fl-menu .sub-menu { 1881 -webkit-box-shadow: none; 1882 -ms-box-shadow: none; 1883 box-shadow: none; 1884 } 1885 1886 .fl-node-7bwtoq16j89f .fl-menu:not(.no-hover) .fl-has-submenu:hover > .sub-menu, 1887 .fl-node-7bwtoq16j89f .mega-menu.fl-active .hide-heading > .sub-menu, 1888 .fl-node-7bwtoq16j89f .mega-menu-disabled.fl-active .hide-heading > .sub-menu { 1889 display: block !important; 1890 } 1891 1892 .fl-node-7bwtoq16j89f .fl-menu-logo, 1893 .fl-node-7bwtoq16j89f .fl-menu-search-item { 1894 display: none; 1895 } 1896 1897 } 1898 1899@media ( min-width: 769px ) { 1900 1901 .fl-node-7bwtoq16j89f .fl-menu .menu > li{ display: inline-block; } 1902 1903 .fl-node-7bwtoq16j89f .menu li{ 1904 border-left: 1px solid transparent; 1905 border-top: none; 1906 } 1907 1908 .fl-node-7bwtoq16j89f .menu li:first-child{ 1909 border: none; 1910 } 1911 .fl-node-7bwtoq16j89f .menu li li{ 1912 border-top: 1px solid transparent; 1913 border-left: none; 1914 } 1915 1916 .fl-node-7bwtoq16j89f .menu .fl-has-submenu .sub-menu{ 1917 position: absolute; 1918 top: 100%; 1919 left: 0; 1920 z-index: 10; 1921 visibility: hidden; 1922 opacity: 0; 1923 text-align:left; 1924 } 1925 1926 .fl-node-7bwtoq16j89f .fl-has-submenu .fl-has-submenu .sub-menu{ 1927 top: 0; 1928 left: 100%; 1929 } 1930 1931 1932 1933 .fl-node-7bwtoq16j89f .fl-menu .fl-has-submenu:hover > .sub-menu, 1934 .fl-node-7bwtoq16j89f .fl-menu .fl-has-submenu.focus > .sub-menu{ 1935 display: block; 1936 visibility: visible; 1937 opacity: 1; 1938 } 1939 1940 .fl-node-7bwtoq16j89f .menu .fl-has-submenu.fl-menu-submenu-right .sub-menu{ 1941 left: inherit; 1942 right: 0; 1943 } 1944 1945 .fl-node-7bwtoq16j89f .menu .fl-has-submenu .fl-has-submenu.fl-menu-submenu-right .sub-menu{ 1946 top: 0; 1947 left: inherit; 1948 right: 100%; 1949 } 1950 1951 .fl-node-7bwtoq16j89f .fl-menu .fl-has-submenu.fl-active > .fl-has-submenu-container .fl-menu-toggle{ 1952 -webkit-transform: none; 1953 -ms-transform: none; 1954 transform: none; 1955 } 1956 1957 .fl-node-7bwtoq16j89f .fl-menu .fl-has-submenu .fl-has-submenu .fl-menu-toggle:before{ 1958 -webkit-transform: translateY( -5px ) rotate( -45deg ); 1959 -ms-transform: translateY( -5px ) rotate( -45deg ); 1960 transform: translateY( -5px ) rotate( -45deg ); 1961 } 1962 1963 1964 .fl-node-7bwtoq16j89f ul.sub-menu { 1965 padding-top: 0px; 1966 padding-right: 0px; 1967 padding-bottom: 0px; 1968 padding-left: 0px; 1969 } 1970 1971 .fl-node-7bwtoq16j89f ul.sub-menu a { 1972 } 1973 1974 1975 1976 } 1977 1978.fl-node-7bwtoq16j89f ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li > .fl-has-submenu-container a:hover { 1979 color: #ffffff; 1980} 1981.fl-node-7bwtoq16j89f .fl-menu .menu, .fl-node-7bwtoq16j89f .fl-menu .menu > li { 1982 font-size: 18px; 1983 line-height: 1; 1984 text-transform: none; 1985} 1986.fl-node-7bwtoq16j89f .fl-menu { 1987 text-align: center; 1988} 1989.fl-node-7bwtoq16j89f .fl-menu .menu { 1990 justify-content: center; 1991} 1992.fl-node-7bwtoq16j89f .menu a { 1993 padding-top: 15px; 1994 padding-right: 20px; 1995 padding-bottom: 15px; 1996 padding-left: 20px; 1997} 1998.fl-node-7bwtoq16j89f .fl-menu .menu .sub-menu > li { 1999 font-size: 16px; 2000 line-height: 1; 2001} 2002@media(max-width: 768px) { 2003 .fl-node-7bwtoq16j89f .menu li.fl-has-submenu ul.sub-menu { 2004 padding-left: 15px; 2005 } 2006 .fl-node-7bwtoq16j89f .fl-menu .sub-menu { 2007 background-color: transparent; 2008 } 2009} 2010img.mfp-img { 2011 padding-bottom: 40px !important; 2012} 2013 2014/* Support for object-fit */
2015.fl-builder-edit .fl-fill-container img { 2016 transition: object-position .5s; 2017} 2018 2019.fl-fill-container :is(.fl-module-content, .fl-photo, .fl-photo-content, img) { 2020 height: 100% !important; 2021 width: 100% !important; 2022} 2023 2024@media (max-width: 768px) { /* Mobile Photo */ 2025.fl-photo-content, 2026.fl-photo-img { 2027 max-width: 100%; 2028} }.fl-node-cnz3j2gykafh, .fl-node-cnz3j2gykafh .fl-photo { 2029 text-align: center; 2030} 2031.fl-node-cnz3j2gykafh .fl-photo-content, .fl-node-cnz3j2gykafh .fl-photo-img { 2032 width: 120px; 2033} 2034 2035 2036 2037.fl-node-6053b3557d537 .fl-icon i, .fl-node-6053b3557d537 .fl-icon i:before { 2038 font-size: 16px; 2039 color: #9b9b9b; 2040} 2041.fl-node-6053b3557d537 .fl-icon-wrap .fl-icon-text { 2042 height: 28px; 2043} 2044.fl-node-6053b3557d537.fl-module-icon { 2045 text-align: left; 2046} 2047@media(max-width: 1200px) { 2048 .fl-node-6053b3557d537 .fl-icon-wrap .fl-icon-text { 2049 height: 28px; 2050 } 2051} 2052@media(max-width: 1023px) { 2053 .fl-node-6053b3557d537 .fl-icon-wrap .fl-icon-text { 2054 height: 28px; 2055 } 2056} 2057@media(max-width: 768px) { 2058 .fl-node-6053b3557d537 .fl-icon-wrap .fl-icon-text { 2059 height: 28px; 2060 } 2061} 2062 .fl-node-6053b3557d537 > .fl-module-content { 2063 margin-top:0px; 2064 margin-right:0px; 2065 margin-bottom:0px; 2066 margin-left:3px; 2067} 2068 2069 2070 2071.fl-node-6053b3557d536 .fl-icon i, .fl-node-6053b3557d536 .fl-icon i:before { 2072 font-size: 16px; 2073 color: #9b9b9b; 2074} 2075.fl-node-6053b3557d536 .fl-icon-wrap .fl-icon-text { 2076 height: 28px; 2077} 2078.fl-node-6053b3557d536.fl-module-icon { 2079 text-align: left; 2080} 2081.fl-node-6053b3557d536 .fl-icon i:hover, .fl-node-6053b3557d536 .fl-icon i:hover:before, .fl-node-6053b3557d536 .fl-icon a:hover i, .fl-node-6053b3557d536 .fl-icon a:hover i:before { 2082 color: #7f7f7f; 2083} 2084@media(max-width: 1200px) { 2085 .fl-node-6053b3557d536 .fl-icon-wrap .fl-icon-text { 2086 height: 28px; 2087 } 2088} 2089@media(max-width: 1023px) { 2090 .fl-node-6053b3557d536 .fl-icon-wrap .fl-icon-text { 2091 height: 28px; 2092 } 2093} 2094@media(max-width: 768px) { 2095 .fl-node-6053b3557d536 .fl-icon-wrap .fl-icon-text { 2096 height: 28px; 2097 } 2098} 2099 .fl-node-6053b3557d536 > .fl-module-content { 2100 margin-top:0px; 2101 margin-bottom:0px; 2102 margin-left:5px; 2103} 2104 2105 2106 2107.fl-node-6053b3557d530 .fl-icon i, .fl-node-6053b3557d530 .fl-icon i:before { 2108 font-size: 16px; 2109 color: #9b9b9b; 2110} 2111.fl-node-6053b3557d530 .fl-icon-wrap .fl-icon-text { 2112 height: 28px; 2113} 2114.fl-node-6053b3557d530.fl-module-icon { 2115 text-align: left; 2116} 2117@media(max-width: 1200px) { 2118 .fl-node-6053b3557d530 .fl-icon-wrap .fl-icon-text { 2119 height: 28px; 2120 } 2121} 2122@media(max-width: 1023px) { 2123 .fl-node-6053b3557d530 .fl-icon-wrap .fl-icon-text { 2124 height: 28px; 2125 } 2126} 2127@media(max-width: 768px) { 2128 .fl-node-6053b3557d530 .fl-icon-wrap .fl-icon-text { 2129 height: 28px; 2130 } 2131} 2132 .fl-node-6053b3557d530 > .fl-module-content { 2133 margin-top:0px; 2134 margin-right:0px; 2135 margin-bottom:0px; 2136 margin-left:3px; 2137} 2138.fl-builder-content .fl-node-xivwejk6a5dq.fl-module-rich-text.fl-rich-text, .fl-builder-content .fl-node-xivwejk6a5dq.fl-module-rich-text.fl-rich-text * { 2139 color: #ffffff; 2140} 2141.fl-builder-content .fl-node-xivwejk6a5dq.fl-module-rich-text.fl-rich-text, .fl-builder-content .fl-node-xivwejk6a5dq.fl-module-rich-text.fl-rich-text *:not(b, strong) { 2142 text-align: center; 2143} 2144 .fl-node-xivwejk6a5dq.fl-module-rich-text { 2145 margin-top:30px; 2146} 2147@media ( max-width: 768px ) { 2148 .fl-node-xivwejk6a5dq.fl-module-rich-text.fl-module { 2149 margin-top:45px; 2150} 2151} 2152.fl-builder-content .fl-node-me5p34196j2z.fl-module-rich-text.fl-rich-text, .fl-builder-content .fl-node-me5p34196j2z.fl-module-rich-text.fl-rich-text * { 2153 color: #ffffff; 2154} 2155.fl-builder-content .fl-node-me5p34196j2z.fl-module-rich-text.fl-rich-text, .fl-builder-content .fl-node-me5p34196j2z.fl-module-rich-text.fl-rich-text *:not(b, strong) { 2156 text-align: center; 2157} 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167.fl-node-4692cqfmyi1k.fl-button-wrap, .fl-node-4692cqfmyi1k .fl-button-wrap { 2168 text-align: center; 2169} 2170.fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button), .fl-builder-content .fl-node-4692cqfmyi1k a.fl-button:visited, .fl-page .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button), .fl-page .fl-builder-content .fl-node-4692cqfmyi1k a.fl-button:visited { 2171 border: 1px solid #a31022; 2172 background-color: #af1c2e; 2173 background-image: none; 2174}
2175.fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover, .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):focus, .fl-page .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover, .fl-page .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):focus { 2176 border: 1px solid rgb(243,243,243); 2177} 2178.fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover, .fl-page .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover, .fl-page .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover, .fl-page .fl-page .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover { 2179 background-color: rgb(255, 255, 255); 2180 background-image: none; 2181} 2182.fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover, .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover span.fl-button-text, .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover *, .fl-page .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover, .fl-page .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover span.fl-button-text, .fl-page .fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button):hover * { 2183 color: #000000; 2184} 2185:where(.fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button)), :where(.fl-builder-content .fl-node-4692cqfmyi1k .fl-button:is(a, button) *) { 2186 transition: none; 2187 -moz-transition: none; 2188 -webkit-transition: none; 2189 -o-transition: none; 2190} 2191 .fl-node-4692cqfmyi1k.fl-module-button { 2192 margin-top:0px; 2193} 2194 2195/* Start Global Nodes CSS */ 2196 2197/* End Global Nodes CSS */ 2198 2199 2200/* Start Layout CSS */ 2201.clpvd-footer.make-footer-dark .fl-row-content-wrap { 2202 background-color: #1a1919 !important; 2203} 2204 2205 2206.focus-button.footer a.fl-button:hover *, 2207.focus-button.footer a.fl-button:focus * { 2208 color: #1a1919 !important; 2209} 2210/* End Layout CSS */ 2211 2212 2213 2214/*# sourceURL=fl-builder-layout-23-inline-css */</style><link data-optimized="1" rel='stylesheet' id='jquery-magnificpopup-css' href='https://clpvd.org/wp-content/litespeed/css/6ac003396b4ff652a22be856d3ff30af.css?ver=35416' media='all' /><style id="fl-builder-layout-75236-inline-css">.fl-node-65hu09k4exoy > .fl-row-content-wrap { 2215 background-color: #000000; 2216} 2217.fl-node-65hu09k4exoy.fl-row-default-height > .fl-row-content-wrap, .fl-node-65hu09k4exoy.fl-row-full-height > .fl-row-content-wrap, .fl-node-65hu09k4exoy.fl-row-custom-height > .fl-row-content-wrap { 2218 align-items: center; 2219 justify-content: center; 2220} 2221 .fl-node-65hu09k4exoy > .fl-row-content-wrap { 2222 padding-right:20px; 2223} 2224 2225 2226 2227 .fl-builder-row-settings #fl-field-separator_position { 2228 display: none !important; 2229 } 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244.fl-node-3bgc5hre0qs2 > .fl-row-content-wrap { 2245 background-color: #ffffff; 2246 border-top-width: 1px; 2247 border-right-width: 0px; 2248 border-bottom-width: 1px; 2249 border-left-width: 0px; 2250 box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.1); 2251} 2252.fl-node-3bgc5hre0qs2.fl-row-default-height > .fl-row-content-wrap, .fl-node-3bgc5hre0qs2.fl-row-full-height > .fl-row-content-wrap, .fl-node-3bgc5hre0qs2.fl-row-custom-height > .fl-row-content-wrap { 2253 align-items: center; 2254 justify-content: center; 2255} 2256 2257 2258 2259 .fl-builder-row-settings #fl-field-separator_position { 2260 display: none !important; 2261 } 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276.fl-node-wdsu5xt8yf1c > .fl-row-content-wrap { 2277 background-color: #ffffff; 2278 border-top-width: 1px; 2279 border-right-width: 0px; 2280 border-bottom-width: 1px; 2281 border-left-width: 0px; 2282} 2283.fl-node-wdsu5xt8yf1c.fl-row-default-height > .fl-row-content-wrap, .fl-node-wdsu5xt8yf1c.fl-row-full-height > .fl-row-content-wrap, .fl-node-wdsu5xt8yf1c.fl-row-custom-height > .fl-row-content-wrap { 2284 align-items: center; 2285 justify-content: center; 2286} 2287 2288 2289 2290 .fl-builder-row-settings #fl-field-separator_position { 2291 display: none !important; 2292 } 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307.fl-node-2viamzb694jp > .fl-row-content-wrap { 2308 background-color: #ffffff; 2309 border-top-width: 1px; 2310 border-right-width: 0px; 2311 border-bottom-width: 1px; 2312 border-left-width: 0px; 2313} 2314.fl-node-2viamzb694jp.fl-row-default-height > .fl-row-content-wrap, .fl-node-2viamzb694jp.fl-row-full-height > .fl-row-content-wrap, .fl-node-2viamzb694jp.fl-row-custom-height > .fl-row-content-wrap { 2315 align-items: center; 2316 justify-content: center; 2317} 2318 2319 2320
2321 .fl-builder-row-settings #fl-field-separator_position { 2322 display: none !important; 2323 } 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336.fl-node-x5jatesnovg8 { 2337 width: 67%; 2338} 2339.fl-node-x5jatesnovg8 > .fl-col-content { 2340 border-top-width: 1px; 2341 border-right-width: 1px; 2342 border-bottom-width: 1px; 2343 border-left-width: 1px; 2344} 2345@media(max-width: 1200px) { 2346 .fl-builder-content .fl-node-x5jatesnovg8 { 2347 width: 100% !important; 2348 max-width: none; 2349 -webkit-box-flex: 0 1 auto; 2350 -moz-box-flex: 0 1 auto; 2351 -webkit-flex: 0 1 auto; 2352 -ms-flex: 0 1 auto; 2353 flex: 0 1 auto; 2354 } 2355} 2356@media(max-width: 1023px) { 2357 .fl-builder-content .fl-node-x5jatesnovg8 { 2358 width: 100% !important; 2359 max-width: none; 2360 -webkit-box-flex: 0 1 auto; 2361 -moz-box-flex: 0 1 auto; 2362 -webkit-flex: 0 1 auto; 2363 -ms-flex: 0 1 auto; 2364 flex: 0 1 auto; 2365 } 2366} 2367@media(max-width: 768px) { 2368 .fl-builder-content .fl-node-x5jatesnovg8 { 2369 width: 100% !important; 2370 max-width: none; 2371 clear: none; 2372 float: left; 2373 } 2374 .fl-node-x5jatesnovg8 > .fl-col-content { 2375 border-style: solid; 2376 border-width: 0; 2377 background-clip: border-box; 2378 border-color: #eeeeee; 2379 border-bottom-width: 1px; 2380 } 2381} 2382 2383 2384 2385 2386.fl-node-ng12p9mkod5e { 2387 width: 25%; 2388} 2389.fl-node-ng12p9mkod5e > .fl-col-content { 2390 border-top-width: 1px; 2391 border-right-width: 1px; 2392 border-bottom-width: 1px; 2393 border-left-width: 1px; 2394} 2395@media(max-width: 1200px) { 2396 .fl-builder-content .fl-node-ng12p9mkod5e { 2397 width: 25% !important; 2398 max-width: none; 2399 -webkit-box-flex: 0 1 auto; 2400 -moz-box-flex: 0 1 auto; 2401 -webkit-flex: 0 1 auto; 2402 -ms-flex: 0 1 auto; 2403 flex: 0 1 auto; 2404 } 2405} 2406@media(max-width: 1023px) { 2407 .fl-builder-content .fl-node-ng12p9mkod5e { 2408 width: 25% !important; 2409 max-width: none; 2410 -webkit-box-flex: 0 1 auto; 2411 -moz-box-flex: 0 1 auto; 2412 -webkit-flex: 0 1 auto; 2413 -ms-flex: 0 1 auto; 2414 flex: 0 1 auto; 2415 } 2416} 2417@media(max-width: 768px) { 2418 .fl-builder-content .fl-node-ng12p9mkod5e { 2419 width: 25% !important; 2420 max-width: none; 2421 clear: none; 2422 float: left; 2423 } 2424} 2425 2426 2427 2428 2429.fl-node-lzycqhieum81 { 2430 width: 20%; 2431} 2432.fl-node-lzycqhieum81 > .fl-col-content { 2433 border-top-width: 1px; 2434 border-right-width: 1px; 2435 border-bottom-width: 1px; 2436 border-left-width: 1px; 2437} 2438@media(max-width: 768px) { 2439 .fl-builder-content .fl-node-lzycqhieum81 { 2440 width: 80% !important; 2441 max-width: none; 2442 clear: none; 2443 float: left; 2444 } 2445} 2446 2447 2448 2449 2450.fl-node-w8kudp9c2h6a { 2451 width: 13%; 2452} 2453 2454 2455 2456 2457.fl-node-3pal0gokvxy8 { 2458 width: 53%; 2459} 2460 2461 2462 2463 2464.fl-node-s8w6rgqlyo27 { 2465 width: 79%; 2466} 2467.fl-node-s8w6rgqlyo27 > .fl-col-content { 2468 border-top-width: 1px; 2469 border-right-width: 1px; 2470 border-bottom-width: 1px; 2471 border-left-width: 1px; 2472} 2473@media(max-width: 768px) { 2474 .fl-builder-content .fl-node-s8w6rgqlyo27 { 2475 width: 20% !important; 2476 max-width: none; 2477 clear: none; 2478 float: left; 2479 } 2480} 2481 2482 2483 2484 2485.fl-node-1vzbrdhw4oeg { 2486 width: 8%; 2487} 2488.fl-node-1vzbrdhw4oeg > .fl-col-content { 2489 border-top-width: 1px; 2490 border-right-width: 1px; 2491 border-bottom-width: 1px; 2492 border-left-width: 1px; 2493} 2494@media(max-width: 1200px) { 2495 .fl-builder-content .fl-node-1vzbrdhw4oeg { 2496 width: 25% !important; 2497 max-width: none; 2498 -webkit-box-flex: 0 1 auto; 2499 -moz-box-flex: 0 1 auto; 2500 -webkit-flex: 0 1 auto; 2501 -ms-flex: 0 1 auto; 2502 flex: 0 1 auto; 2503 } 2504} 2505@media(max-width: 1023px) { 2506 .fl-builder-content .fl-node-1vzbrdhw4oeg { 2507 width: 25% !important; 2508 max-width: none; 2509 -webkit-box-flex: 0 1 auto; 2510 -moz-box-flex: 0 1 auto; 2511 -webkit-flex: 0 1 auto; 2512 -ms-flex: 0 1 auto; 2513 flex: 0 1 auto; 2514 } 2515} 2516@media(max-width: 768px) { 2517 .fl-builder-content .fl-node-1vzbrdhw4oeg { 2518 width: 22.5% !important; 2519 max-width: none; 2520 clear: none; 2521 float: left; 2522 } 2523} 2524 2525 2526 2527 2528.fl-node-yv4dbp9tfkwl { 2529 width: 53.32%; 2530} 2531.fl-node-yv4dbp9tfkwl > .fl-col-content { 2532 border-top-width: 1px; 2533 border-right-width: 1px; 2534 border-bottom-width: 1px; 2535 border-left-width: 1px; 2536} 2537@media(max-width: 1200px) { 2538 .fl-builder-content .fl-node-yv4dbp9tfkwl { 2539 width: 50% !important; 2540 max-width: none; 2541 -webkit-box-flex: 0 1 auto; 2542 -moz-box-flex: 0 1 auto; 2543 -webkit-flex: 0 1 auto; 2544 -ms-flex: 0 1 auto; 2545 flex: 0 1 auto; 2546 } 2547} 2548@media(max-width: 1023px) { 2549 .fl-builder-content .fl-node-yv4dbp9tfkwl { 2550 width: 50% !important; 2551 max-width: none; 2552 -webkit-box-flex: 0 1 auto; 2553 -moz-box-flex: 0 1 auto; 2554 -webkit-flex: 0 1 auto; 2555 -ms-flex: 0 1 auto; 2556 flex: 0 1 auto; 2557 } 2558} 2559@media(max-width: 768px) {
2560 .fl-builder-content .fl-node-yv4dbp9tfkwl { 2561 width: 50% !important; 2562 max-width: none; 2563 clear: none; 2564 float: left; 2565 } 2566} 2567 2568 2569 2570 2571.fl-node-o0ep85k1nxfa { 2572 width: 25%; 2573} 2574.fl-node-o0ep85k1nxfa > .fl-col-content { 2575 border-top-width: 1px; 2576 border-right-width: 1px; 2577 border-bottom-width: 1px; 2578 border-left-width: 1px; 2579} 2580@media(max-width: 1200px) { 2581 .fl-builder-content .fl-node-o0ep85k1nxfa { 2582 width: 75% !important; 2583 max-width: none; 2584 -webkit-box-flex: 0 1 auto; 2585 -moz-box-flex: 0 1 auto; 2586 -webkit-flex: 0 1 auto; 2587 -ms-flex: 0 1 auto; 2588 flex: 0 1 auto; 2589 } 2590} 2591@media(max-width: 1023px) { 2592 .fl-builder-content .fl-node-o0ep85k1nxfa { 2593 width: 75% !important; 2594 max-width: none; 2595 -webkit-box-flex: 0 1 auto; 2596 -moz-box-flex: 0 1 auto; 2597 -webkit-flex: 0 1 auto; 2598 -ms-flex: 0 1 auto; 2599 flex: 0 1 auto; 2600 } 2601} 2602@media(max-width: 768px) { 2603 .fl-builder-content .fl-node-o0ep85k1nxfa { 2604 width: 77.5% !important; 2605 max-width: none; 2606 clear: none; 2607 float: left; 2608 } 2609} 2610 2611 2612 2613 2614.fl-node-nx82j5o6eqym { 2615 width: 33.333%; 2616} 2617.fl-node-nx82j5o6eqym > .fl-col-content { 2618 background-color: #a6192e; 2619 border-top-left-radius: 0px; 2620 border-top-right-radius: 0px; 2621 border-bottom-left-radius: 5px; 2622 border-bottom-right-radius: 5px; 2623} 2624 .fl-node-nx82j5o6eqym > .fl-col-content { 2625 margin-bottom:-42px; 2626} 2627 .fl-node-nx82j5o6eqym > .fl-col-content { 2628 padding-top:0px; 2629 padding-right:0px; 2630 padding-bottom:0px; 2631 padding-left:0px; 2632} 2633 2634 2635 2636 2637.fl-node-qr6v8zemo5n3 { 2638 width: 21.68%; 2639} 2640.fl-node-qr6v8zemo5n3 > .fl-col-content { 2641 border-top-width: 1px; 2642 border-right-width: 1px; 2643 border-bottom-width: 1px; 2644 border-left-width: 1px; 2645} 2646@media(max-width: 1200px) { 2647 .fl-builder-content .fl-node-qr6v8zemo5n3 { 2648 width: 25% !important; 2649 max-width: none; 2650 -webkit-box-flex: 0 1 auto; 2651 -moz-box-flex: 0 1 auto; 2652 -webkit-flex: 0 1 auto; 2653 -ms-flex: 0 1 auto; 2654 flex: 0 1 auto; 2655 } 2656} 2657@media(max-width: 1023px) { 2658 .fl-builder-content .fl-node-qr6v8zemo5n3 { 2659 width: 25% !important; 2660 max-width: none; 2661 -webkit-box-flex: 0 1 auto; 2662 -moz-box-flex: 0 1 auto; 2663 -webkit-flex: 0 1 auto; 2664 -ms-flex: 0 1 auto; 2665 flex: 0 1 auto; 2666 } 2667} 2668@media(max-width: 768px) { 2669 .fl-builder-content .fl-node-qr6v8zemo5n3 { 2670 width: 25% !important; 2671 max-width: none; 2672 clear: none; 2673 float: left; 2674 } 2675} 2676 2677 2678.fl-node-jhr3ylt8qiok .menu-item a { 2679 color: #ffffff; 2680 } 2681 2682 2683 .fl-node-jhr3ylt8qiok .fl-menu .fl-toggle-arrows .fl-menu-toggle:before 2684 { 2685 border-color: #ffffff; 2686 } 2687 2688 .fl-node-jhr3ylt8qiok .menu-item :is(*:focus, a:hover, .fl-has-submenu-container:hover > *), 2689.fl-node-jhr3ylt8qiok .current-menu-item > a, 2690.fl-node-jhr3ylt8qiok .current-menu-item > .fl-has-submenu-container > * { 2691 background-color: #a6192e;color: #ffffff;} 2692 2693 .fl-node-jhr3ylt8qiok .fl-toggle-arrows :is(.fl-menu-toggle:focus, .fl-has-submenu-container:hover > .fl-menu-toggle):before, 2694 .fl-node-jhr3ylt8qiok .fl-toggle-arrows .current-menu-item > .fl-has-submenu-container > .fl-menu-toggle:before 2695 { 2696 border-color: #ffffff; 2697 } 2698 .fl-node-jhr3ylt8qiok .menu .fl-has-submenu .sub-menu{ 2699 display: none; 2700 } 2701 .fl-node-jhr3ylt8qiok .fl-menu .sub-menu { 2702 background-color: #296BC9;-webkit-box-shadow: 0 1px 20px rgba(0,0,0,0.1);-ms-box-shadow: 0 1px 20px rgba(0,0,0,0.1);box-shadow: 0 1px 20px rgba(0,0,0,0.1);} 2703 .fl-node-jhr3ylt8qiok .fl-menu .fl-menu-toggle:before{ 2704 content: ''; 2705 position: absolute; 2706 right: 50%; 2707 top: 50%; 2708 z-index: 1; 2709 display: block; 2710 width: 9px; 2711 height: 9px; 2712 margin: -5px -5px 0 0; 2713 border-right: 2px solid; 2714 border-bottom: 2px solid; 2715 -webkit-transform-origin: right bottom; 2716 -ms-transform-origin: right bottom; 2717 transform-origin: right bottom; 2718 -webkit-transform: translateX( -5px ) rotate( 45deg ); 2719 -ms-transform: translateX( -5px ) rotate( 45deg ); 2720 transform: translateX( -5px ) rotate( 45deg ); 2721 } 2722 .fl-node-jhr3ylt8qiok .fl-menu .fl-has-submenu.focus > .fl-has-submenu-container > .fl-menu-toggle, 2723 .fl-node-jhr3ylt8qiok .fl-menu .fl-has-submenu.fl-active > .fl-has-submenu-container .fl-menu-toggle, 2724 .fl-node-jhr3ylt8qiok .fl-menu:not(.no-hover) .fl-has-submenu:hover > .fl-has-submenu-container > .fl-menu-toggle{ 2725 -webkit-transform: rotate( -180deg ); 2726 -ms-transform: rotate( -180deg ); 2727 transform: rotate( -180deg ); 2728 } 2729 .fl-node-jhr3ylt8qiok .fl-menu-horizontal.fl-toggle-arrows .fl-has-submenu-container a{ 2730 padding-right: 29px; 2731 } 2732 .fl-node-jhr3ylt8qiok .fl-menu-horizontal.fl-toggle-arrows .fl-menu-toggle{ 2733 width: 29px; 2734 } 2735 .fl-node-jhr3ylt8qiok .fl-menu-horizontal.fl-toggle-arrows .fl-menu-toggle, 2736 .fl-node-jhr3ylt8qiok .fl-menu-vertical.fl-toggle-arrows .fl-menu-toggle{ 2737 width: 29px; 2738 } 2739 .fl-node-jhr3ylt8qiok .fl-menu li{ 2740 border-top: 1px solid transparent; 2741} 2742.fl-node-jhr3ylt8qiok .fl-menu li:first-child{ 2743 border-top: none; 2744} 2745 @media ( max-width: 768px ) { 2746 2747 2748 2749 2750 .fl-node-jhr3ylt8qiok .fl-menu .sub-menu { 2751 -webkit-box-shadow: none;
2752 -ms-box-shadow: none; 2753 box-shadow: none; 2754 } 2755 2756 .fl-node-jhr3ylt8qiok .fl-menu:not(.no-hover) .fl-has-submenu:hover > .sub-menu, 2757 .fl-node-jhr3ylt8qiok .mega-menu.fl-active .hide-heading > .sub-menu, 2758 .fl-node-jhr3ylt8qiok .mega-menu-disabled.fl-active .hide-heading > .sub-menu { 2759 display: block !important; 2760 } 2761 2762 .fl-node-jhr3ylt8qiok .fl-menu-logo, 2763 .fl-node-jhr3ylt8qiok .fl-menu-search-item { 2764 display: none; 2765 } 2766 2767 } 2768 2769@media ( min-width: 769px ) { 2770 2771 .fl-node-jhr3ylt8qiok .fl-menu .menu > li{ display: inline-block; } 2772 2773 .fl-node-jhr3ylt8qiok .menu li{ 2774 border-left: 1px solid transparent; 2775 border-top: none; 2776 } 2777 2778 .fl-node-jhr3ylt8qiok .menu li:first-child{ 2779 border: none; 2780 } 2781 .fl-node-jhr3ylt8qiok .menu li li{ 2782 border-top: 1px solid transparent; 2783 border-left: none; 2784 } 2785 2786 .fl-node-jhr3ylt8qiok .menu .fl-has-submenu .sub-menu{ 2787 position: absolute; 2788 top: 100%; 2789 left: 0; 2790 z-index: 10; 2791 visibility: hidden; 2792 opacity: 0; 2793 text-align:left; 2794 } 2795 2796 .fl-node-jhr3ylt8qiok .fl-has-submenu .fl-has-submenu .sub-menu{ 2797 top: 0; 2798 left: 100%; 2799 } 2800 2801 2802 2803 .fl-node-jhr3ylt8qiok .fl-menu .fl-has-submenu:hover > .sub-menu, 2804 .fl-node-jhr3ylt8qiok .fl-menu .fl-has-submenu.focus > .sub-menu{ 2805 display: block; 2806 visibility: visible; 2807 opacity: 1; 2808 } 2809 2810 .fl-node-jhr3ylt8qiok .menu .fl-has-submenu.fl-menu-submenu-right .sub-menu{ 2811 left: inherit; 2812 right: 0; 2813 } 2814 2815 .fl-node-jhr3ylt8qiok .menu .fl-has-submenu .fl-has-submenu.fl-menu-submenu-right .sub-menu{ 2816 top: 0; 2817 left: inherit; 2818 right: 100%; 2819 } 2820 2821 .fl-node-jhr3ylt8qiok .fl-menu .fl-has-submenu.fl-active > .fl-has-submenu-container .fl-menu-toggle{ 2822 -webkit-transform: none; 2823 -ms-transform: none; 2824 transform: none; 2825 } 2826 2827 .fl-node-jhr3ylt8qiok .fl-menu .fl-has-submenu .fl-has-submenu .fl-menu-toggle:before{ 2828 -webkit-transform: translateY( -5px ) rotate( -45deg ); 2829 -ms-transform: translateY( -5px ) rotate( -45deg ); 2830 transform: translateY( -5px ) rotate( -45deg ); 2831 } 2832 2833 2834 .fl-node-jhr3ylt8qiok ul.sub-menu { 2835 padding-top: 0px; 2836 padding-right: 0px; 2837 padding-bottom: 0px; 2838 padding-left: 0px; 2839 } 2840 2841 .fl-node-jhr3ylt8qiok ul.sub-menu a { 2842 } 2843 2844 2845 2846 } 2847 2848.fl-node-jhr3ylt8qiok ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li > .fl-has-submenu-container a:hover { 2849 color: #ffffff; 2850} 2851.fl-node-jhr3ylt8qiok .fl-menu .menu, .fl-node-jhr3ylt8qiok .fl-menu .menu > li { 2852 line-height: 1; 2853 text-transform: none; 2854} 2855.fl-node-jhr3ylt8qiok .fl-menu { 2856 text-align: left; 2857} 2858.fl-node-jhr3ylt8qiok .fl-menu .menu { 2859 justify-content: left; 2860} 2861.fl-node-jhr3ylt8qiok .menu a { 2862 padding-top: 28px; 2863 padding-right: 15px; 2864 padding-bottom: 28px; 2865 padding-left: 15px; 2866} 2867.fl-node-jhr3ylt8qiok .fl-menu .menu .sub-menu > li { 2868 font-size: 16px; 2869 line-height: 1; 2870} 2871@media(max-width: 768px) { 2872 .fl-node-jhr3ylt8qiok .menu li.fl-has-submenu ul.sub-menu { 2873 padding-left: 15px; 2874 } 2875 .fl-node-jhr3ylt8qiok .fl-menu .sub-menu { 2876 background-color: transparent; 2877 } 2878} 2879 .fl-node-jhr3ylt8qiok > .fl-module-content { 2880 margin-top:0px; 2881 margin-right:30px; 2882 margin-bottom:0px; 2883 margin-left:10px; 2884} 2885@media (max-width: 768px) { .fl-node-jhr3ylt8qiok > .fl-module-content { margin-right:20px; } } 2886 2887.fl-node-odsp0lh7mkxj .menu-item a { 2888 color: #1a1919; 2889 } 2890 2891 2892 .fl-node-odsp0lh7mkxj .fl-menu .fl-toggle-plus .fl-menu-toggle:before 2893 , .fl-node-odsp0lh7mkxj .fl-menu .fl-toggle-plus .fl-menu-toggle:after 2894 { 2895 border-color: #1a1919; 2896 } 2897 2898 .fl-node-odsp0lh7mkxj .menu-item :is(*:focus, a:hover, .fl-has-submenu-container:hover > *), 2899.fl-node-odsp0lh7mkxj .current-menu-item > a, 2900.fl-node-odsp0lh7mkxj .current-menu-item > .fl-has-submenu-container > * { 2901 color: #b01c2e;} 2902 2903 .fl-node-odsp0lh7mkxj .fl-toggle-plus :is(.fl-menu-toggle:focus, .fl-has-submenu-container:hover > .fl-menu-toggle):before, 2904 .fl-node-odsp0lh7mkxj .fl-toggle-plus .current-menu-item > .fl-has-submenu-container > .fl-menu-toggle:before 2905 , .fl-node-odsp0lh7mkxj .fl-toggle-plus :is(.fl-menu-toggle:focus, .fl-has-submenu-container:hover > .fl-menu-toggle):after, 2906 .fl-node-odsp0lh7mkxj .fl-toggle-plus .current-menu-item > .fl-has-submenu-container > .fl-menu-toggle:after 2907 { 2908 border-color: #b01c2e; 2909 } 2910 .fl-node-odsp0lh7mkxj .menu .fl-has-submenu .sub-menu{ 2911 display: none; 2912 } 2913 .fl-node-odsp0lh7mkxj .fl-menu .sub-menu { 2914 background-color: #ffffff;-webkit-box-shadow: 0 1px 20px rgba(0,0,0,0.1);
2914-ms-box-shadow: 0 1px 20px rgba(0,0,0,0.1);box-shadow: 0 1px 20px rgba(0,0,0,0.1);} 2915 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-toggle:before, 2916 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-toggle:after{ 2917 content: ''; 2918 position: absolute; 2919 z-index: 1; 2920 display: block; 2921 border-color: #333; 2922 } 2923 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-toggle:before{ 2924 left: 50%; 2925 top: 50%; 2926 width: 12px; 2927 border-top: 3px solid; 2928 -webkit-transform: translate( -50%, -50% ); 2929 -ms-transform: translate( -50%, -50% ); 2930 transform: translate( -50%, -50% ); 2931 } 2932 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-toggle:after{ 2933 left: 50%; 2934 top: 50%; 2935 border-left: 3px solid; 2936 height: 12px; 2937 -webkit-transform: translate( -50%, -50% ); 2938 -ms-transform: translate( -50%, -50% ); 2939 transform: translate( -50%, -50% ); 2940 } 2941 .fl-node-odsp0lh7mkxj .fl-menu .fl-has-submenu.focus > .fl-has-submenu-container > .fl-menu-toggle:after, 2942 .fl-node-odsp0lh7mkxj .fl-menu .fl-has-submenu.fl-active > .fl-has-submenu-container .fl-menu-toggle:after, 2943 .fl-node-odsp0lh7mkxj .fl-menu:not(.no-hover) .fl-has-submenu:hover > .fl-has-submenu-container > .fl-menu-toggle:after{ 2944 display: none; 2945 } 2946 .fl-node-odsp0lh7mkxj .fl-menu-horizontal.fl-toggle-plus .fl-has-submenu-container a{ 2947 padding-right: 32px; 2948 } 2949 .fl-node-odsp0lh7mkxj .fl-menu-accordion.fl-toggle-plus .fl-menu-toggle{ 2950 width: 33px; 2951 } 2952 .fl-node-odsp0lh7mkxj .fl-menu-horizontal.fl-toggle-plus .fl-menu-toggle, 2953 .fl-node-odsp0lh7mkxj .fl-menu-vertical.fl-toggle-plus .fl-menu-toggle{ 2954 width: 32px; 2955 } 2956 .fl-node-odsp0lh7mkxj .fl-menu li{ 2957 border-top: 1px solid transparent; 2958} 2959.fl-node-odsp0lh7mkxj .fl-menu li:first-child{ 2960 border-top: none; 2961} 2962 .fl-node-odsp0lh7mkxj .menu.fl-menu-horizontal li, 2963 .fl-node-odsp0lh7mkxj .menu.fl-menu-horizontal li li{ 2964 border-color: #eeeeee; 2965 } 2966 2967 .fl-node-odsp0lh7mkxj .fl-menu-mobile-flyout { 2968 background-color: rgba(255,255,255,3.0418206565232E+21); 2969 2970 left: -267px; 2971 height: 0px; 2972 overflow-y: auto; 2973 padding: 0 5px; 2974 position: fixed; 2975 top: 0; 2976 transition-property: left, right; 2977 transition-duration: .2s; 2978 -moz-box-shadow: 0 0 4px #4e3c3c; 2979 -webkit-box-shadow: 0 0 4px #4e3c3c; 2980 box-shadow: 0 0 4px #4e3c3c; 2981 z-index: 999999; 2982 width: 250px; 2983 } 2984 .fl-node-odsp0lh7mkxj .fl-menu-mobile-flyout ul { 2985 margin: 0 auto; 2986 } 2987 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-flyout .menu { 2988 background-color: transparent; 2989 display: block !important; 2990 float: none; 2991 } 2992 .admin-bar .fl-node-odsp0lh7mkxj .fl-menu-mobile-flyout { 2993 top: 32px; 2994 } 2995 2996 2997 .fl-menu-mobile-close { 2998 display: block; 2999 } 3000 .fl-flyout-right .fl-menu-mobile-close { 3001 float: left; 3002 } 3003 .fl-flyout-left .fl-menu-mobile-close { 3004 float: right; 3005 } 3006 3007 3008 3009 3010 3011 3012 .fl-node-odsp0lh7mkxj .fl-menu ul.menu { 3013 display: none; 3014 3015 float: none; 3016 } 3017 3018 .fl-node-odsp0lh7mkxj .fl-menu .sub-menu { 3019 -webkit-box-shadow: none; 3020 -ms-box-shadow: none; 3021 box-shadow: none; 3022 } 3023 3024 .fl-node-odsp0lh7mkxj .fl-menu:not(.no-hover) .fl-has-submenu:hover > .sub-menu, 3025 .fl-node-odsp0lh7mkxj .mega-menu.fl-active .hide-heading > .sub-menu, 3026 .fl-node-odsp0lh7mkxj .mega-menu-disabled.fl-active .hide-heading > .sub-menu { 3027 display: block !important; 3028 } 3029 3030 .fl-node-odsp0lh7mkxj .fl-menu-logo, 3031 .fl-node-odsp0lh7mkxj .fl-menu-search-item { 3032 display: none; 3033 } 3034 3035 3036 3037 3038 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle { 3039 color: #000000; font-size: 18px; 3040 text-transform: none; 3041 padding-top: 15px; 3042 padding-right: 18px; 3043 padding-bottom: 15px; 3044 padding-left: 18px; 3045 border-color: rgba( 0,0,0,0.1 ); 3046 } 3047 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle rect, 3048 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle.hamburger .hamburger-menu rect { 3049 fill: #000000; } 3050 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle:hover, 3051 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle.fl-active { 3052 color: #b01c2e; } 3053 3054 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle:hover rect, 3055 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle.fl-active rect, 3056 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle.hamburger:hover .hamburger-menu rect, 3057 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle.fl-active .hamburger-menu rect { 3058 fill: #b01c2e; } 3059 .fl-node-odsp0lh7mkxj ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li > .fl-has-submenu-container a:hover { 3060 color: #1a1919; 3061} 3062.fl-node-odsp0lh7mkxj .fl-menu .menu, .fl-node-odsp0lh7mkxj .fl-menu .menu > li { 3063 line-height: 1; 3064 text-align: left; 3065 text-transform: none; 3066} 3067.fl-node-odsp0lh7mkxj .fl-menu { 3068 text-align: left; 3069} 3070.fl-node-odsp0lh7mkxj .fl-menu .menu { 3071 justify-content: left; 3072} 3073.fl-node-odsp0lh7mkxj .menu a { 3074 padding-top: 15px; 3075 padding-right: 18px; 3076 padding-bottom: 15px; 3077 padding-left: 18px; 3078} 3079.fl-node-odsp0lh7mkxj .fl-menu .menu .sub-menu > li { 3080 font-size: 16px; 3081 line-height: 1; 3082} 3083.fl-node-odsp0lh7mkxj .menu li.fl-has-submenu ul.sub-menu { 3084 padding-left: 15px; 3085} 3086.fl-node-odsp0lh7mkxj .fl-menu .sub-menu { 3087 background-color: transparent; 3088} 3089.fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle { 3090 float: left; 3091} 3092@media(max-width: 1200px) { 3093 .fl-node-odsp0lh7mkxj .fl-menu .menu, .fl-node-odsp0lh7mkxj .fl-menu .menu > li { 3094 text-align: left; 3095 } 3096 .fl-node-odsp0lh7mkxj .fl-menu { 3097 text-align: left; 3098 } 3099 .fl-node-odsp0lh7mkxj .fl-menu .menu { 3100 justify-content: left; 3101 } 3102 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle { 3103 float: left; 3104 } 3105} 3106@media(max-width: 1023px) { 3107 .fl-node-odsp0lh7mkxj .fl-menu .menu, .fl-node-odsp0lh7mkxj .fl-menu .menu > li { 3108 text-align: left; 3109 } 3110 .fl-node-odsp0lh7mkxj .fl-menu { 3111 text-align: left; 3112 } 3113 .fl-node-odsp0lh7mkxj .fl-menu .menu { 3114 justify-content: left; 3115 } 3116 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle { 3117 float: left; 3118 } 3119} 3120@media(max-width: 768px) { 3121 .fl-node-odsp0lh7mkxj .fl-menu .menu, .fl-node-odsp0lh7mkxj .fl-menu .menu > li { 3122 text-align: left; 3123 } 3124 .fl-node-odsp0lh7mkxj .fl-menu { 3125 text-align: left; 3126 } 3127 .fl-node-odsp0lh7mkxj .fl-menu .menu { 3128 justify-content: left; 3129 } 3130 .fl-node-odsp0lh7mkxj .fl-menu .fl-menu-mobile-toggle { 3131 float: left; 3132 } 3133} 3134@media ( max-width: 768px ) { 3135 .fl-node-odsp0lh7mkxj.fl-module > .fl-module-content { 3136 margin-top:5px; 3137 margin-bottom:5px; 3138 margin-left:0px; 3139} 3140} 3141/** 3142 * Horizontal Layout 3143 */ 3144.fl-button-group-layout-horizontal .fl-button-group-buttons, 3145.fl-button-group-layout-horizontal.fl-button-group-buttons { 3146 display: flex; 3147 flex-wrap: wrap; 3148} 3149 3150.fl-button-group-layout-horizontal .fl-button-wrap { 3151 display: inline-block; 3152} 3153 3154/** 3155 * Vertical Layout 3156 */ 3157.fl-button-group-layout-vertical .fl-button-group-buttons, 3158.fl-button-group-layout-vertical.fl-button-group-buttons { 3159 display: block; 3160} 3161 3162.fl-button-group-layout-vertical .fl-button-wrap { 3163 display: block; 3164} 3165 3166.fl-node-1pc7a4hrx3e6.fl-button-group-layout-horizontal.fl-button-group-buttons { 3167 justify-content: flex-end} 3168 3169 3170.fl-node-1pc7a4hrx3e6.fl-button-group-layout-vertical.fl-button-group-buttons .fl-button:is(a, button), .fl-node-1pc7a4hrx3e6.fl-button-group-layout-horizontal.fl-button-group-buttons .fl-button:is(a, button) { 3171 width: 100%; 3172} 3173.fl-node-1pc7a4hrx3e6.fl-button-group-layout-vertical.fl-button-group-buttons .fl-button-group-button .fl-button-wrap { 3174 text-align: right; 3175} 3176.fl-node-1pc7a4hrx3e6.fl-button-group-layout-horizontal.fl-button-group-buttons { 3177 justify-content: flex-end; 3178}
3179.fl-builder-content .fl-node-1pc7a4hrx3e6.fl-button-group.fl-button-group-buttons .fl-button-group-button { 3180 padding-top: 5px; 3181 padding-right: 5px; 3182 padding-bottom: 5px; 3183 padding-left: 5px; 3184} 3185.fl-builder-content .fl-node-1pc7a4hrx3e6.fl-button-group .fl-button:is(a, button), .fl-builder-content .fl-node-1pc7a4hrx3e6.fl-button-group a.fl-button:visited { 3186 font-size: 15px; 3187} 3188.fl-builder-content .fl-node-1pc7a4hrx3e6.fl-button-group.fl-button-group-buttons .fl-button-group-button .fl-button:is(a, button) { 3189 padding-top: 10px; 3190 padding-right: 12px; 3191 padding-bottom: 10px; 3192 padding-left: 12px; 3193} 3194.fl-builder-content .fl-node-1pc7a4hrx3e6 .fl-button, .fl-builder-content .fl-node-1pc7a4hrx3e6 .fl-button * { 3195 transition: none; 3196 -moz-transition: none; 3197 -webkit-transition: none; 3198 -o-transition: none; 3199} 3200@media(max-width: 1200px) { 3201 .fl-node-1pc7a4hrx3e6.fl-button-group-layout-vertical.fl-button-group-buttons .fl-button-group-button .fl-button-wrap { 3202 text-align: right; 3203 } 3204 .fl-node-1pc7a4hrx3e6.fl-button-group-layout-horizontal.fl-button-group-buttons { 3205 justify-content: flex-end; 3206 } 3207 .fl-builder-content .fl-node-1pc7a4hrx3e6 .fl-button, .fl-builder-content .fl-node-1pc7a4hrx3e6 .fl-button * { 3208 transition: none; 3209 -moz-transition: none; 3210 -webkit-transition: none; 3211 -o-transition: none; 3212 } 3213} 3214@media(max-width: 1023px) { 3215 .fl-node-1pc7a4hrx3e6.fl-button-group-layout-vertical.fl-button-group-buttons .fl-button-group-button .fl-button-wrap { 3216 text-align: right; 3217 } 3218 .fl-node-1pc7a4hrx3e6.fl-button-group-layout-horizontal.fl-button-group-buttons { 3219 justify-content: flex-end; 3220 } 3221 .fl-builder-content .fl-node-1pc7a4hrx3e6 .fl-button, .fl-builder-content .fl-node-1pc7a4hrx3e6 .fl-button * { 3222 transition: none; 3223 -moz-transition: none; 3224 -webkit-transition: none; 3225 -o-transition: none; 3226 } 3227} 3228@media(max-width: 768px) { 3229 .fl-node-1pc7a4hrx3e6.fl-button-group-layout-vertical.fl-button-group-buttons .fl-button-group-button .fl-button-wrap { 3230 text-align: right; 3231 } 3232 .fl-node-1pc7a4hrx3e6.fl-button-group-layout-horizontal.fl-button-group-buttons { 3233 justify-content: flex-end; 3234 } 3235 .fl-builder-content .fl-node-1pc7a4hrx3e6.fl-button-group.fl-button-group-buttons .fl-button-group-button { 3236 padding-right: 3px; 3237 padding-left: 3px; 3238 } 3239 .fl-builder-content .fl-node-1pc7a4hrx3e6.fl-button-group .fl-button:is(a, button), .fl-builder-content .fl-node-1pc7a4hrx3e6.fl-button-group a.fl-button:visited { 3240 font-size: 14px; 3241 } 3242 .fl-builder-content .fl-node-1pc7a4hrx3e6.fl-button-group.fl-button-group-buttons .fl-button-group-button .fl-button:is(a, button) { 3243 padding-top: 5px; 3244 padding-right: 8px; 3245 padding-bottom: 5px; 3246 padding-left: 8px; 3247 } 3248 .fl-builder-content .fl-node-1pc7a4hrx3e6 .fl-button, .fl-builder-content .fl-node-1pc7a4hrx3e6 .fl-button * { 3249 transition: none; 3250 -moz-transition: none; 3251 -webkit-transition: none; 3252 -o-transition: none; 3253 } 3254} 3255@media ( max-width: 768px ) { 3256 .fl-node-1pc7a4hrx3e6.fl-module-button-group.fl-module { 3257 margin-top:0px; 3258 margin-right:8px; 3259 margin-bottom:0px; 3260 margin-left:0px; 3261} 3262} 3263.fl-node-or7czkjebiv3, .fl-node-or7czkjebiv3 .fl-photo { 3264 text-align: center; 3265} 3266.fl-node-or7czkjebiv3 .fl-photo-content, .fl-node-or7czkjebiv3 .fl-photo-img { 3267 width: 200px; 3268} 3269@media(max-width: 1200px) { 3270 .fl-node-or7czkjebiv3, .fl-node-or7czkjebiv3 .fl-photo { 3271 text-align: center; 3272 } 3273} 3274@media(max-width: 1023px) { 3275 .fl-node-or7czkjebiv3, .fl-node-or7czkjebiv3 .fl-photo { 3276 text-align: center; 3277 } 3278} 3279@media(max-width: 768px) { 3280 .fl-node-or7czkjebiv3, .fl-node-or7czkjebiv3 .fl-photo { 3281 text-align: center; 3282 } 3283 .fl-node-or7czkjebiv3 .fl-photo-content, .fl-node-or7czkjebiv3 .fl-photo-img { 3284 width: 150px; 3285 } 3286} 3287 .fl-node-or7czkjebiv3.fl-module-photo { 3288 margin-top:7px; 3289 margin-bottom:7px; 3290} 3291@media ( max-width: 768px ) { 3292 .fl-node-or7czkjebiv3.fl-module-photo.fl-module { 3293 margin-top:10px; 3294 margin-bottom:10px; 3295} 3296} 3297 3298.fl-node-qb7f35v9kw8h.fl-button-group-layout-horizontal.fl-button-group-buttons { 3299 justify-content: flex-end} 3300 3301 3302.fl-node-qb7f35v9kw8h.fl-button-group-layout-vertical.fl-button-group-buttons .fl-button:is(a, button), .fl-node-qb7f35v9kw8h.fl-button-group-layout-horizontal.fl-button-group-buttons .fl-button:is(a, button) { 3303 width: 100%; 3304} 3305.fl-node-qb7f35v9kw8h.fl-button-group-layout-vertical.fl-button-group-buttons .fl-button-group-button .fl-button-wrap { 3306 text-align: right; 3307} 3308.fl-node-qb7f35v9kw8h.fl-button-group-layout-horizontal.fl-button-group-buttons { 3309 justify-content: flex-end; 3310}
3311.fl-builder-content .fl-node-qb7f35v9kw8h.fl-button-group.fl-button-group-buttons .fl-button-group-button { 3312 padding-top: 5px; 3313 padding-right: 5px; 3314 padding-bottom: 5px; 3315 padding-left: 5px; 3316} 3317.fl-builder-content .fl-node-qb7f35v9kw8h.fl-button-group .fl-button:is(a, button), .fl-builder-content .fl-node-qb7f35v9kw8h.fl-button-group a.fl-button:visited { 3318 font-size: 16px; 3319} 3320.fl-builder-content .fl-node-qb7f35v9kw8h.fl-button-group.fl-button-group-buttons .fl-button-group-button .fl-button:is(a, button) { 3321 padding-top: 10px; 3322 padding-right: 15px; 3323 padding-bottom: 10px; 3324 padding-left: 15px; 3325} 3326.fl-builder-content .fl-node-qb7f35v9kw8h .fl-button, .fl-builder-content .fl-node-qb7f35v9kw8h .fl-button * { 3327 transition: none; 3328 -moz-transition: none; 3329 -webkit-transition: none; 3330 -o-transition: none; 3331} 3332@media(max-width: 1200px) { 3333 .fl-builder-content .fl-node-qb7f35v9kw8h .fl-button, .fl-builder-content .fl-node-qb7f35v9kw8h .fl-button * { 3334 transition: none; 3335 -moz-transition: none; 3336 -webkit-transition: none; 3337 -o-transition: none; 3338 } 3339} 3340@media(max-width: 1023px) { 3341 .fl-node-qb7f35v9kw8h.fl-button-group-layout-vertical.fl-button-group-buttons .fl-button-group-button .fl-button-wrap { 3342 text-align: right; 3343 } 3344 .fl-node-qb7f35v9kw8h.fl-button-group-layout-horizontal.fl-button-group-buttons { 3345 justify-content: flex-end; 3346 } 3347 .fl-builder-content .fl-node-qb7f35v9kw8h.fl-button-group .fl-button:is(a, button), .fl-builder-content .fl-node-qb7f35v9kw8h.fl-button-group a.fl-button:visited { 3348 font-size: 15px; 3349 } 3350 .fl-builder-content .fl-node-qb7f35v9kw8h.fl-button-group.fl-button-group-buttons .fl-button-group-button .fl-button:is(a, button) { 3351 padding-top: 8px; 3352 padding-right: 10px; 3353 padding-bottom: 8px; 3354 padding-left: 10px; 3355 } 3356 .fl-builder-content .fl-node-qb7f35v9kw8h .fl-button, .fl-builder-content .fl-node-qb7f35v9kw8h .fl-button * { 3357 transition: none; 3358 -moz-transition: none; 3359 -webkit-transition: none; 3360 -o-transition: none; 3361 } 3362} 3363@media(max-width: 768px) { 3364 .fl-builder-content .fl-node-qb7f35v9kw8h .fl-button, .fl-builder-content .fl-node-qb7f35v9kw8h .fl-button * { 3365 transition: none; 3366 -moz-transition: none; 3367 -webkit-transition: none; 3368 -o-transition: none; 3369 } 3370} 3371@media ( max-width: 1023px ) { 3372 .fl-node-qb7f35v9kw8h.fl-module-button-group.fl-module { 3373 margin-right:0px; 3374 margin-left:0px; 3375} 3376} 3377 3378 3379.fl-node-k67mugaxebvp .menu-item a { 3380 color: #1a1919; 3381 } 3382 3383 3384 .fl-node-k67mugaxebvp .fl-menu .fl-toggle-plus .fl-menu-toggle:before 3385 , .fl-node-k67mugaxebvp .fl-menu .fl-toggle-plus .fl-menu-toggle:after 3386 { 3387 border-color: #1a1919; 3388 } 3389 3390 .fl-node-k67mugaxebvp .menu-item :is(*:focus, a:hover, .fl-has-submenu-container:hover > *), 3391.fl-node-k67mugaxebvp .current-menu-item > a, 3392.fl-node-k67mugaxebvp .current-menu-item > .fl-has-submenu-container > * { 3393 color: #b01c2e;} 3394 3395 .fl-node-k67mugaxebvp .fl-toggle-plus :is(.fl-menu-toggle:focus, .fl-has-submenu-container:hover > .fl-menu-toggle):before, 3396 .fl-node-k67mugaxebvp .fl-toggle-plus .current-menu-item > .fl-has-submenu-container > .fl-menu-toggle:before 3397 , .fl-node-k67mugaxebvp .fl-toggle-plus :is(.fl-menu-toggle:focus, .fl-has-submenu-container:hover > .fl-menu-toggle):after, 3398 .fl-node-k67mugaxebvp .fl-toggle-plus .current-menu-item > .fl-has-submenu-container > .fl-menu-toggle:after 3399 { 3400 border-color: #b01c2e; 3401 } 3402 .fl-node-k67mugaxebvp .menu .fl-has-submenu .sub-menu{ 3403 display: none; 3404 } 3405 .fl-node-k67mugaxebvp .fl-menu .sub-menu { 3406 background-color: #ffffff;-webkit-box-shadow: 0 1px 20px rgba(0,0,0,0.1);-ms-box-shadow: 0 1px 20px rgba(0,0,0,0.1);box-shadow: 0 1px 20px rgba(0,0,0,0.1);} 3407 .fl-node-k67mugaxebvp .fl-menu .fl-menu-toggle:before, 3408 .fl-node-k67mugaxebvp .fl-menu .fl-menu-toggle:after{ 3409 content: ''; 3410 position: absolute; 3411 z-index: 1; 3412 display: block; 3413 border-color: #333; 3414 } 3415 .fl-node-k67mugaxebvp .fl-menu .fl-menu-toggle:before{ 3416 left: 50%; 3417 top: 50%; 3418 width: 12px; 3419 border-top: 3px solid; 3420 -webkit-transform: translate( -50%, -50% ); 3421 -ms-transform: translate( -50%, -50% ); 3422 transform: translate( -50%, -50% ); 3423 } 3424 .fl-node-k67mugaxebvp .fl-menu .fl-menu-toggle:after{ 3425 left: 50%; 3426 top: 50%; 3427 border-left: 3px solid; 3428 height: 12px; 3429 -webkit-transform: translate( -50%, -50% ); 3430 -ms-transform: translate( -50%, -50% ); 3431 transform: translate( -50%, -50% ); 3432 } 3433 .fl-node-k67mugaxebvp .fl-menu .fl-has-submenu.focus > .fl-has-submenu-container > .fl-menu-toggle:after, 3434 .fl-node-k67mugaxebvp .fl-menu .fl-has-submenu.fl-active > .fl-has-submenu-container .fl-menu-toggle:after, 3435 .fl-node-k67mugaxebvp .fl-menu:not(.no-hover) .fl-has-submenu:hover > .fl-has-submenu-container > .fl-menu-toggle:after{ 3436 display: none; 3437 } 3438 .fl-node-k67mugaxebvp .fl-menu-horizontal.fl-toggle-plus .fl-has-submenu-container a{ 3439 padding-right: 32px; 3440 } 3441 .fl-node-k67mugaxebvp .fl-menu-accordion.fl-toggle-plus .fl-menu-toggle{ 3442 width: 33px; 3443 } 3444 .fl-node-k67mugaxebvp .fl-menu-horizontal.fl-toggle-plus .fl-menu-toggle, 3445 .fl-node-k67mugaxebvp .fl-menu-vertical.fl-toggle-plus .fl-menu-toggle{ 3446 width: 32px; 3447 } 3448 .fl-node-k67mugaxebvp .fl-menu li{ 3449 border-top: 1px solid transparent; 3450} 3451.fl-node-k67mugaxebvp .fl-menu li:first-child{ 3452 border-top: none; 3453} 3454 .fl-node-k67mugaxebvp .menu.fl-menu-horizontal li, 3455 .fl-node-k67mugaxebvp .menu.fl-menu-horizontal li li{ 3456 border-color: #eeeeee; 3457 } 3458 3459 .fl-node-k67mugaxebvp .fl-menu-mobile-flyout { 3460 background-color: rgba(255,255,255,3.0418206565232E+21); 3461 3462 right: -267px; 3463 height: 0px; 3464 overflow-y: auto; 3465 padding: 0 5px; 3466 position: fixed; 3467 top: 0; 3468 transition-property: left, right; 3469 transition-duration: .2s; 3470 -moz-box-shadow: 0 0 4px #4e3c3c; 3471 -webkit-box-shadow: 0 0 4px #4e3c3c; 3472 box-shadow: 0 0 4px #4e3c3c; 3473 z-index: 999999; 3474 width: 250px; 3475 } 3476 .fl-node-k67mugaxebvp .fl-menu-mobile-flyout ul { 3477 margin: 0 auto; 3478 } 3479 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-flyout .menu { 3480 background-color: transparent; 3481 display: block !important; 3482 float: none; 3483 } 3484 .admin-bar .fl-node-k67mugaxebvp .fl-menu-mobile-flyout { 3485 top: 32px; 3486 } 3487 3488 3489 .fl-menu-mobile-close { 3490 display: block; 3491 } 3492 .fl-flyout-right .fl-menu-mobile-close { 3493 float: left; 3494 } 3495 .fl-flyout-left .fl-menu-mobile-close { 3496 float: right; 3497 } 3498 3499 3500 3501 3502 3503 3504 .fl-node-k67mugaxebvp .fl-menu ul.menu { 3505 display: none; 3506 3507 float: none; 3508 } 3509 3510 .fl-node-k67mugaxebvp .fl-menu .sub-menu { 3511 -webkit-box-shadow: none;
3512 -ms-box-shadow: none; 3513 box-shadow: none; 3514 } 3515 3516 .fl-node-k67mugaxebvp .fl-menu:not(.no-hover) .fl-has-submenu:hover > .sub-menu, 3517 .fl-node-k67mugaxebvp .mega-menu.fl-active .hide-heading > .sub-menu, 3518 .fl-node-k67mugaxebvp .mega-menu-disabled.fl-active .hide-heading > .sub-menu { 3519 display: block !important; 3520 } 3521 3522 .fl-node-k67mugaxebvp .fl-menu-logo, 3523 .fl-node-k67mugaxebvp .fl-menu-search-item { 3524 display: none; 3525 } 3526 3527 3528 3529 3530 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle { 3531 color: #000000; font-size: 18px; 3532 text-transform: none; 3533 padding-top: 15px; 3534 padding-right: 18px; 3535 padding-bottom: 15px; 3536 padding-left: 18px; 3537 border-color: rgba( 0,0,0,0.1 ); 3538 } 3539 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle rect, 3540 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle.hamburger .hamburger-menu rect { 3541 fill: #000000; } 3542 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle:hover, 3543 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle.fl-active { 3544 color: #b01c2e; } 3545 3546 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle:hover rect, 3547 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle.fl-active rect, 3548 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle.hamburger:hover .hamburger-menu rect, 3549 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle.fl-active .hamburger-menu rect { 3550 fill: #b01c2e; } 3551 .fl-node-k67mugaxebvp ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li > .fl-has-submenu-container a:hover { 3552 color: #1a1919; 3553} 3554.fl-node-k67mugaxebvp .fl-menu .menu, .fl-node-k67mugaxebvp .fl-menu .menu > li { 3555 line-height: 1; 3556 text-align: left; 3557 text-transform: none; 3558} 3559.fl-node-k67mugaxebvp .fl-menu { 3560 text-align: right; 3561} 3562.fl-node-k67mugaxebvp .fl-menu .menu { 3563 justify-content: right; 3564} 3565.fl-node-k67mugaxebvp .menu a { 3566 padding-top: 15px; 3567 padding-right: 18px; 3568 padding-bottom: 15px; 3569 padding-left: 18px; 3570} 3571.fl-node-k67mugaxebvp .fl-menu .menu .sub-menu > li { 3572 font-size: 16px; 3573 line-height: 1; 3574} 3575.fl-node-k67mugaxebvp .menu li.fl-has-submenu ul.sub-menu { 3576 padding-left: 15px; 3577} 3578.fl-node-k67mugaxebvp .fl-menu .sub-menu { 3579 background-color: transparent; 3580} 3581.fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle { 3582 float: right; 3583} 3584@media(max-width: 1200px) { 3585 .fl-node-k67mugaxebvp .fl-menu { 3586 text-align: right; 3587 } 3588 .fl-node-k67mugaxebvp .fl-menu .menu { 3589 justify-content: right; 3590 } 3591 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle { 3592 float: right; 3593 } 3594} 3595@media(max-width: 1023px) { 3596 .fl-node-k67mugaxebvp .fl-menu { 3597 text-align: right; 3598 } 3599 .fl-node-k67mugaxebvp .fl-menu .menu { 3600 justify-content: right; 3601 } 3602 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle { 3603 float: right; 3604 } 3605} 3606@media(max-width: 768px) { 3607 .fl-node-k67mugaxebvp .fl-menu .fl-menu-mobile-toggle { 3608 float: none; 3609 } 3610} 3611@media ( max-width: 1023px ) { 3612 .fl-node-k67mugaxebvp.fl-module > .fl-module-content { 3613 margin-left:10px; 3614} 3615} 3616.fl-node-d5rb3shmfv80, .fl-node-d5rb3shmfv80 .fl-photo { 3617 text-align: left; 3618} 3619.fl-node-d5rb3shmfv80 .fl-photo-content, .fl-node-d5rb3shmfv80 .fl-photo-img { 3620 width: 250px; 3621} 3622 .fl-node-d5rb3shmfv80.fl-module-photo { 3623 margin-top:7px; 3624 margin-bottom:7px; 3625} 3626.fl-node-d1vo46nmhuqe, .fl-node-d1vo46nmhuqe .fl-photo { 3627 text-align: left; 3628} 3629.fl-node-d1vo46nmhuqe .fl-photo-content, .fl-node-d1vo46nmhuqe .fl-photo-img { 3630 width: 250px; 3631} 3632 .fl-node-d1vo46nmhuqe.fl-module-photo { 3633 margin-top:7px; 3634 margin-bottom:7px; 3635} 3636 3637 3638.fl-node-fkyuj1gt248v .menu-item a { 3639 color: #1a1919; 3640 } 3641 3642 3643 3644 .fl-node-fkyuj1gt248v .menu-item :is(*:focus, a:hover, .fl-has-submenu-container:hover > *), 3645.fl-node-fkyuj1gt248v .current-menu-item > a, 3646.fl-node-fkyuj1gt248v .current-menu-item > .fl-has-submenu-container > * { 3647 color: #b01c2e;} 3648 3649 .fl-node-fkyuj1gt248v .menu .fl-has-submenu .sub-menu{ 3650 display: none; 3651 } 3652 .fl-node-fkyuj1gt248v .fl-menu .sub-menu { 3653 background-color: #ffffff;-webkit-box-shadow: 0 1px 20px rgba(0,0,0,0.1);-ms-box-shadow: 0 1px 20px rgba(0,0,0,0.1);box-shadow: 0 1px 20px rgba(0,0,0,0.1);} 3654 .fl-node-fkyuj1gt248v .fl-menu-horizontal.fl-toggle-arrows .fl-has-submenu-container a{ 3655 padding-right: 32px; 3656 } 3657 .fl-node-fkyuj1gt248v .fl-menu-horizontal.fl-toggle-arrows .fl-menu-toggle{ 3658 width: 33px; 3659 } 3660 .fl-node-fkyuj1gt248v .fl-menu-horizontal.fl-toggle-arrows .fl-menu-toggle, 3661 .fl-node-fkyuj1gt248v .fl-menu-vertical.fl-toggle-arrows .fl-menu-toggle{ 3662 width: 32px; 3663 } 3664 .fl-node-fkyuj1gt248v .fl-menu li{ 3665 border-top: 1px solid transparent; 3666} 3667.fl-node-fkyuj1gt248v .fl-menu li:first-child{ 3668 border-top: none; 3669} 3670 @media ( max-width: 768px ) { 3671 3672 3673 3674 3675 .fl-node-fkyuj1gt248v .fl-menu .sub-menu { 3676 -webkit-box-shadow: none;
3677 -ms-box-shadow: none; 3678 box-shadow: none; 3679 } 3680 3681 .fl-node-fkyuj1gt248v .fl-menu:not(.no-hover) .fl-has-submenu:hover > .sub-menu, 3682 .fl-node-fkyuj1gt248v .mega-menu.fl-active .hide-heading > .sub-menu, 3683 .fl-node-fkyuj1gt248v .mega-menu-disabled.fl-active .hide-heading > .sub-menu { 3684 display: block !important; 3685 } 3686 3687 .fl-node-fkyuj1gt248v .fl-menu-logo, 3688 .fl-node-fkyuj1gt248v .fl-menu-search-item { 3689 display: none; 3690 } 3691 3692 } 3693 3694@media ( min-width: 769px ) { 3695 3696 .fl-node-fkyuj1gt248v .fl-menu .menu > li{ display: inline-block; } 3697 3698 .fl-node-fkyuj1gt248v .menu li{ 3699 border-left: 1px solid transparent; 3700 border-top: none; 3701 } 3702 3703 .fl-node-fkyuj1gt248v .menu li:first-child{ 3704 border: none; 3705 } 3706 .fl-node-fkyuj1gt248v .menu li li{ 3707 border-top: 1px solid transparent; 3708 border-left: none; 3709 } 3710 3711 .fl-node-fkyuj1gt248v .menu .fl-has-submenu .sub-menu{ 3712 position: absolute; 3713 top: 100%; 3714 left: 0; 3715 z-index: 10; 3716 visibility: hidden; 3717 opacity: 0; 3718 text-align:left; 3719 } 3720 3721 .fl-node-fkyuj1gt248v .fl-has-submenu .fl-has-submenu .sub-menu{ 3722 top: 0; 3723 left: 100%; 3724 } 3725 3726 3727 3728 .fl-node-fkyuj1gt248v .fl-menu .fl-has-submenu:hover > .sub-menu, 3729 .fl-node-fkyuj1gt248v .fl-menu .fl-has-submenu.focus > .sub-menu{ 3730 display: block; 3731 visibility: visible; 3732 opacity: 1; 3733 } 3734 3735 .fl-node-fkyuj1gt248v .menu .fl-has-submenu.fl-menu-submenu-right .sub-menu{ 3736 left: inherit; 3737 right: 0; 3738 } 3739 3740 .fl-node-fkyuj1gt248v .menu .fl-has-submenu .fl-has-submenu.fl-menu-submenu-right .sub-menu{ 3741 top: 0; 3742 left: inherit; 3743 right: 100%; 3744 } 3745 3746 .fl-node-fkyuj1gt248v .fl-menu .fl-has-submenu.fl-active > .fl-has-submenu-container .fl-menu-toggle{ 3747 -webkit-transform: none; 3748 -ms-transform: none; 3749 transform: none; 3750 } 3751 3752 3753 .fl-node-fkyuj1gt248v .fl-menu .fl-menu-toggle{ 3754 display: none; 3755 } 3756 3757 .fl-node-fkyuj1gt248v ul.sub-menu { 3758 padding-top: 8px; 3759 padding-right: 0px; 3760 padding-bottom: 8px; 3761 padding-left: 0px; 3762 } 3763 3764 .fl-node-fkyuj1gt248v ul.sub-menu a { 3765 padding-top: 10px; 3766 padding-right: 15px; 3767 padding-bottom: 10px; 3768 padding-left: 15px; 3769 } 3770 3771 3772 3773 } 3774 3775.fl-node-fkyuj1gt248v ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li > .fl-has-submenu-container a:hover { 3776 color: #1a1919; 3777} 3778.fl-node-fkyuj1gt248v .fl-menu .menu, .fl-node-fkyuj1gt248v .fl-menu .menu > li { 3779 line-height: 1; 3780 text-transform: none; 3781} 3782.fl-node-fkyuj1gt248v .fl-menu { 3783 text-align: right; 3784} 3785.fl-node-fkyuj1gt248v .fl-menu .menu { 3786 justify-content: right; 3787} 3788.fl-node-fkyuj1gt248v .menu a { 3789 padding-top: 15px; 3790 padding-right: 18px; 3791 padding-bottom: 15px; 3792 padding-left: 18px; 3793} 3794.fl-node-fkyuj1gt248v .fl-menu .menu .sub-menu > li { 3795 font-size: 16px; 3796 line-height: 1; 3797 text-align: left; 3798} 3799@media(max-width: 768px) { 3800 .fl-node-fkyuj1gt248v .menu li.fl-has-submenu ul.sub-menu { 3801 padding-left: 15px; 3802 } 3803 .fl-node-fkyuj1gt248v .fl-menu .sub-menu { 3804 background-color: transparent; 3805 } 3806} 3807 .fl-node-fkyuj1gt248v > .fl-module-content { 3808 margin-top:50px; 3809 margin-right:0px; 3810 margin-bottom:7px; 3811 margin-left:0px; 3812} 3813@media (max-width: 768px) { .fl-node-fkyuj1gt248v > .fl-module-content { margin-top:20px; } } .fl-node-o2tqnfbh1py5.fl-module-html { 3814 margin-top:5px; 3815 margin-right:15px; 3816 margin-bottom:15px; 3817 margin-left:15px; 3818} 3819 3820/* Start Global Nodes CSS */ 3821 3822/* End Global Nodes CSS */ 3823 3824 3825/* Start Layout CSS */ 3826 3827/* End Layout CSS */ 3828 3829/* Sticky */ 3830.fl-builder-content[data-type="header"].fl-theme-builder-header-sticky { 3831 position: fixed; 3832 width: 100%; 3833 z-index: 100; 3834} 3835 3836/* Sticky - fix flyout menu */ 3837.fl-theme-builder-flyout-menu-push-left .fl-builder-content[data-type="header"].fl-theme-builder-header-sticky { 3838 left: auto !important; 3839 transition: left 0.2s !important; 3840} 3841.fl-theme-builder-flyout-menu-push-right .fl-builder-content[data-type="header"].fl-theme-builder-header-sticky { 3842 right: auto !important; 3843 transition: right 0.2s !important; 3844} 3845.fl-builder-content[data-type="header"].fl-theme-builder-header-sticky .fl-menu .fl-menu-mobile-opacity { 3846 height: 100vh; 3847 width: 100vw; 3848} 3849.fl-builder-content[data-type="header"]:not([data-overlay="1"]).fl-theme-builder
3849-header-sticky .fl-menu-mobile-flyout { 3850 top: 0px; 3851} 3852.fl-theme-builder-flyout-menu-active body { 3853 margin-left: 0px !important; 3854 margin-right: 0px !important; 3855} 3856.fl-theme-builder-has-flyout-menu, .fl-theme-builder-has-flyout-menu body { 3857 overflow-x: hidden; 3858} 3859.fl-theme-builder-flyout-menu-push-right { 3860 right: 0px; 3861 transition: right 0.2s ease-in-out; 3862} 3863.fl-theme-builder-flyout-menu-push-left { 3864 left: 0px; 3865 transition: left 0.2s ease-in-out; 3866} 3867.fl-theme-builder-flyout-menu-active .fl-theme-builder-flyout-menu-push-right { 3868 position: relative; 3869 right: 250px; 3870} 3871.fl-theme-builder-flyout-menu-active .fl-theme-builder-flyout-menu-push-left { 3872 position: relative; 3873 left: 250px; 3874} 3875.fl-theme-builder-flyout-menu-active .fl-builder-content[data-type="header"] .fl-menu-disable-transition { 3876 transition: none; 3877} 3878 3879/* Shrink */ 3880.fl-builder-content[data-shrink="1"] .fl-row-content-wrap, 3881.fl-builder-content[data-shrink="1"] .fl-col-content, 3882.fl-builder-content[data-shrink="1"] .fl-module-content, 3883.fl-builder-content[data-shrink="1"] img { 3884 -webkit-transition: all 0.4s ease-in-out, background-position 1ms; 3885 -moz-transition: all 0.4s ease-in-out, background-position 1ms; 3886 transition: all 0.4s ease-in-out, background-position 1ms; 3887} 3888.fl-builder-content[data-shrink="1"] img { 3889 width: auto; 3890} 3891.fl-builder-content[data-shrink="1"] img.fl-photo-img { 3892 width: auto; 3893 height: auto; 3894} 3895.fl-builder-content[data-type="header"].fl-theme-builder-header-shrink .fl-row-content-wrap { 3896 margin-bottom: 0; 3897 margin-top: 0; 3898} 3899.fl-theme-builder-header-shrink-row-bottom.fl-row-content-wrap { 3900 padding-bottom: 5px; 3901} 3902.fl-theme-builder-header-shrink-row-top.fl-row-content-wrap { 3903 padding-top: 5px; 3904} 3905.fl-builder-content[data-type="header"].fl-theme-builder-header-shrink .fl-col-content { 3906 margin-bottom: 0; 3907 margin-top: 0; 3908 padding-bottom: 0; 3909 padding-top: 0; 3910} 3911.fl-theme-builder-header-shrink-module-bottom.fl-module-content, 3912.fl-theme-builder-header-shrink-module-bottom.fl-module:where(.fl-module:not(:has(> .fl-module-content))) { 3913 margin-bottom: 5px; 3914} 3915.fl-theme-builder-header-shrink-module-top.fl-module-content, 3916.fl-theme-builder-header-shrink-module-bottom.fl-module:where(.fl-module:not(:has(> .fl-module-content))) { 3917 margin-top: 5px; 3918} 3919.fl-builder-content[data-type="header"].fl-theme-builder-header-shrink img { 3920 -webkit-transition: all 0.4s ease-in-out, background-position 1ms; 3921 -moz-transition: all 0.4s ease-in-out, background-position 1ms; 3922 transition: all 0.4s ease-in-out, background-position 1ms; 3923} 3924 3925/* Overlay */ 3926.fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-sticky):not(.fl-builder-content-editing) { 3927 position: absolute; 3928 width: 100%; 3929 z-index: 100; 3930} 3931.fl-builder-content[data-type="header"][data-overlay="1"].fl-theme-builder-header-pinned:not(.fl-builder-content-editing) { 3932 position: fixed; 3933 width: 100%; 3934 z-index: 100; 3935} 3936.fl-builder-edit body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"] { 3937 display: none; 3938} 3939body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .fl-row-content-wrap, 3940body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .fl-col-content, 3941body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .fl-module-box { 3942 background: transparent; 3943} 3944 3945 3946 3947 3948 3949/*# sourceURL=fl-builder-layout-75236-inline-css */</style><link data-optimized="1" rel='stylesheet' id='search-filter-plugin-styles-css' href='https://clpvd.org/wp-content/litespeed/css/14e82b99cc84e4576e1b4bb587245b32.css?ver=241de' media='all' /><link data-optimized="1" rel='stylesheet' id='gd-full-width-css' href='https://clpvd.org/wp-content/litespeed/css/6dff49b71de6cf354eeb6f69daaf1793.css?ver=64a0b' media='all' /><link data-optimized="1" rel='stylesheet' id='pp-animate-css' href='https://clpvd.org/wp-content/litespeed/css/575add1ed84710352290d8f1b7b6b64d.css?ver=404e6' media='all' />
3949<script id="jquery-core-js" data-cfasync="false" src="https://clpvd.org/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
3949
3949<script data-optimized="1" id="jquery-migrate-js" src="https://clpvd.org/wp-content/litespeed/js/05e2f978094cd82abacd3a36bab85f3b.js?ver=4e9c5"></script>
3949
3949<script data-optimized="1" id="assabetinteractive-js" src="https://clpvd.org/wp-content/litespeed/js/7361618e5d03d9b2e83a63e8cfc7d505.js?ver=497f0"></script>
3949
3949<script id="search-filter-pro-bb-js-extra">var SFVC_DATA = {"ajax_url":"https://clpvd.org/wp-admin/admin-ajax.php","home_url":"https://clpvd.org/"}; 3950//# sourceURL=search-filter-pro-bb-js-extra</script>
3950
3950<script data-optimized="1" id="search-filter-pro-bb-js" src="https://clpvd.org/wp-content/litespeed/js/ede75feb3bfe34eb8edfe2c717b5fe76.js?ver=29ade"></script>
3950
3950<script id="search-filter-plugin-build-js-extra">var SF_LDATA = {"ajax_url":"https://clpvd.org/wp-admin/admin-ajax.php","home_url":"https://clpvd.org/","extensions":[]}; 3951//# sourceURL=search-filter-plugin-build-js-extra</script>
3951
3951<script data-optimized="1" id="search-filter-plugin-build-js" src="https://clpvd.org/wp-content/litespeed/js/b74f303290e7a0c1042f50cedad8a900.js?ver=ed938"></script>
3951
3951<script id="search-filter-plugin-chosen-js" src="https://clpvd.org/wp-content/plugins/search-filter-pro/public/assets/js/chosen.jquery.min.js?ver=2.5.13"></script>
3951 <link rel="https://api.w.org/" href="https://clpvd.org/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://clpvd.org/wp-json/wp/v2/pages/1846" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://clpvd.org/xmlrpc.php?rsd" /><meta name="generator" content="WordPress 7.1.2" /><link rel='shortlink' href='https://clpvd.org/?p=1846' />
3951<script>var bb_powerpack = { 3952 version: '2.42.3', 3953 getAjaxUrl: function() { return atob( 'aHR0cHM6Ly9jbHB2ZC5vcmcvd3AtYWRtaW4vYWRtaW4tYWpheC5waHA=' ); }, 3954 callback: function() {}, 3955 mapMarkerData: {}, 3956 post_id: '1846', 3957 search_term: '', 3958 current_page: 'https://clpvd.org/actions/donate-items/', 3959 conditionals: { 3960 is_front_page: false, 3961 is_home: false, 3962 is_archive: false, 3963 current_post_type: '', 3964 is_tax: false, 3965 is_author: false, 3966 current_author: false, 3967 is_search: false, 3968 } 3969 };</script>
3969 <meta name="et-api-version" content="v1"><meta name="et-api-origin" content="https://clpvd.org"><link rel="https://theeventscalendar.com/" href="https://clpvd.org/wp-json/tribe/tickets/v1/" /><meta name="tec-api-version" content="v1"><meta name="tec-api-origin" content="https://clpvd.org"><link rel="alternate" href="https://clpvd.org/wp-json/tribe/events/v1/" /><link rel="stylesheet" href="https://use.typekit.net/tgk1dyc.css"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css" integrity="sha512-xh6O/CkQoPOWDdYTDqeRdPCVd1SpvCA9XXcUnZS2FmJNp1coAFzvtCN9BmamE+4aHK8yyUHUSCcJHgXloTyT2A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
3969<script>(function() { var d = document, fr = d.createElement('script'); fr.type = 'text/javascript'; fr.async = true; fr.src = 'https://static.fundrazr.com/widgets/loader.js'; var s = d.getElementsByTagName('script')[0]; s.parentNode.insertBefore(fr, s);})();</script>
3969
3969<script>
vendor: 327 bytes, lines 3969-3973
3969(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 3970new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 3971j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 3972'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 3973})(window,document,'script','dataLayer','
3973GTM-W2CD3P9
vendor: 3 bytes, line 3973
3973');
3973</script>
3973 <link rel="icon" href="https://clpvd.org/wp-content/uploads/2022/09/cropped-clpvd-icon-32x32.png" sizes="32x32" /><link rel="icon" href="https://clpvd.org/wp-content/uploads/2022/09/cropped-clpvd-icon-192x192.png" sizes="192x192" /><link rel="apple-touch-icon" href="https://clpvd.org/wp-content/uploads/2022/09/cropped-clpvd-icon-180x180.png" /><meta name="msapplication-TileImage" content="https://clpvd.org/wp-content/uploads/2022/09/cropped-clpvd-icon-270x270.png" /><style id="wp-custom-css">.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar td, 3974.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar th span{ 3975 font-size: 15px !important; 3976} 3977.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header select { 3978 font-size: 18px !important; 3979}</style><link data-optimized="1" rel='stylesheet' id='fl-builder-wp-editor-css' href='https://clpvd.org/wp-content/litespeed/css/6becd1a5e73131c5d844cfb7f602699c.css?ver=d4137' media='all' /></head><body class="wp-singular page-template-default page page-id-1846 page-child parent-pageid-1851 wp-theme-genesis wp-child-theme-focus-pro fl-builder fl-builder-2-11-1 fl-themer-1-6-1 fl-no-js tribe-no-js tec-no-tickets-on-recurring tec-no-rsvp-on-recurring fl-theme-builder-part fl-theme-builder-part-announcement-bar fl-theme-builder-footer fl-theme-builder-footer-footer fl-theme-builder-header fl-theme-builder-header-header-copy header-full-width full-width-content genesis-breadcrumbs-hidden no-site-header gd-transparent-background gd-full-width tribe-theme-genesis" itemscope itemtype="https://schema.org/WebPage">
vendor: 68 bytes, lines 3979-3980
3979 3980<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
3980GTM-W2CD3P9
vendor: 82 bytes, lines 3980-3981
3980" 3981height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
3981<div class="site-container"><ul class="genesis-skip-link"><li><a href="#genesis-content" class="screen-reader-shortcut"> Skip to main content</a></li></ul><header class="fl-builder-content fl-builder-content-75236 fl-builder-global-templates-locked" data-post-id="75236" data-type="header" data-sticky="1" data-sticky-on="desktop" data-sticky-breakpoint="medium" data-shrink="0" data-overlay="0" data-overlay-bg="transparent" data-shrink-image-height="50px" role="banner" itemscope="itemscope" itemtype="http://schema.org/WPHeader"><div class="fl-row fl-row-full-width fl-row-bg-color fl-node-65hu09k4exoy fl-row-default-height fl-row-align-center fl-visible-desktop" data-node="65hu09k4exoy"><div class="fl-row-content-wrap"><div class="fl-row-content fl-row-full-width fl-node-content"><div class="fl-col-group fl-node-do05wxyels96 fl-col-group-equal-height fl-col-group-align-center" data-node="do05wxyels96"><div class="fl-col fl-node-w8kudp9c2h6a fl-col-bg-color fl-col-small" data-node="w8kudp9c2h6a"><div class="fl-col-content fl-node-content"></div></div><div class="fl-col fl-node-3pal0gokvxy8 fl-col-bg-color" data-node="3pal0gokvxy8"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-menu fl-node-jhr3ylt8qiok utility-menu" data-node="jhr3ylt8qiok" aria-label="Menu"><div class="fl-module-content fl-node-content"><div class="fl-menu"><div class="fl-clear"></div><nav aria-label="Navigation Menu" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement"><ul id="menu-large-screen-utility-menu" class="menu fl-menu-horizontal fl-toggle-arrows"><li id="menu-item-189" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/clpvd_library/"><i class="far fa-clock"></i> Hours & Locations</a></li><li id="menu-item-188" class="utility-alt2 menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.oslri.net/MyAccount/Home"><i class="fa fa-sign-in"></i> Login</a></li><li id="menu-item-306" class="english-news menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/subscribe/"><i class="far fa-envelope"></i> Subscribe</a></li><li id="menu-item-197" class="utility-alt menu-item menu-item-type-custom menu-item-object-custom"><a target="_blank" href="https://clpvd.networkforgood.com/projects/254340-clpvd-2025-2026"><i class="far fa-heart"></i> Support</a></li></ul></nav></div></div></div></div></div><div class="fl-col fl-node-nx82j5o6eqym fl-col-bg-color fl-col-small zbump" data-node="nx82j5o6eqym"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-html fl-html fl-node-o2tqnfbh1py5" data-node="o2tqnfbh1py5" aria-label="HTML">
3981<script>function checkSetting() { 3982 if (document.getElementById('option_encore').checked) { 3983 document.getElementById('clpvd_search_form').action = document.getElementById('option_encore').value; 3984 document.getElementById('clpvd_search_form_target').placeholder = "Find books, movies, music and more"; 3985 document.getElementById('clpvd_search_form_target').name = "lookfor"; 3986 console.log(document.getElementById('option_encore').value); 3987 } 3988 3989 if (document.getElementById('option_wordpress').checked) { 3990 document.getElementById('clpvd_search_form').action = document.getElementById('option_wordpress').value; 3991 document.getElementById('clpvd_search_form_target').placeholder = "Search this site"; 3992 document.getElementById('clpvd_search_form_target').name = "s"; 3993 console.log(document.getElementById('option_wordpress').value); 3994 } 3995 3996 }</script>
3996 <form id="clpvd_search_form" action="https://clpvd.oslri.net/Union/Search" target="_blank" method="get" name="clpvd_search_form"> 3997<input type="hidden" name="formids" value="target"> 3998<input type="hidden" name="lang" value="eng"> 3999<input type="hidden" name="suite" value="def"> 4000<input type="hidden" name="reservedids" value="lang,suite"> 4001<input type="hidden" name="submit mode" value=""> 4002<input type="hidden" name="submitname" value=""> 4003<input type="radio" value="https://clpvd.oslri.net/Union/Search" name="searchSwitch" id="option_encore" checked="selcheckedected" onChange="checkSetting()" /> 4004<label for="option_encore">Search Catalog</label> 4005<input type="radio" value="https://clpvd.org" name="searchSwitch" id="option_wordpress" onChange="checkSetting()" /> 4006<label for="option_wordpress">Search This Site</label> 4007<input id="clpvd_search_form_target" placeholder="Find books, movies, music and more" type="text" name="lookfor" value=""> 4008<input type="submit" class="form-submit" value="Search"></form>
4008<script>document.getElementById('option_encore').click();</script>
4008 </div></div></div></div></div></div></div><div class="fl-row fl-row-full-width fl-row-bg-color fl-node-3bgc5hre0qs2 fl-row-default-height fl-row-align-center fl-visible-desktop focus-header" data-node="3bgc5hre0qs2"><div class="fl-row-content-wrap"><div class="fl-row-content fl-row-full-width fl-node-content"><div class="fl-col-group fl-node-2whv5k30jygc fl-col-group-equal-height fl-col-group-align-center fl-col-group-custom-width" data-node="2whv5k30jygc"><div class="fl-col fl-node-lzycqhieum81 fl-col-bg-color fl-col-small fl-col-small-custom-width" data-node="lzycqhieum81"><div class="fl-col-content fl-node-content"><div role="figure" class="fl-module fl-module-photo fl-photo fl-photo-align-left fl-node-d1vo46nmhuqe" data-node="d1vo46nmhuqe" aria-label="Photo" itemscope itemtype="https://schema.org/ImageObject"><div class="fl-photo-content fl-photo-img-png"> 4009<a href="https://clpvd.org/" target="_self" itemprop="url"> 4010<img loading="lazy" decoding="async" class="fl-photo-img wp-image-136225 size-large" src="https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-1024x351.png" alt="CLPVD Logo" height="351" width="1024" title="clpvd-main-logo" data-no-lazy="1" itemprop="image" srcset="https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-1024x351.png 1024w, https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-300x103.png 300w, https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-768x263.png 768w, https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo.png 1500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /> 4011</a></div></div></div></div><div class="fl-col fl-node-s8w6rgqlyo27 fl-col-bg-color fl-col-small-custom-width" data-node="s8w6rgqlyo27"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-menu fl-node-fkyuj1gt248v focus-menu" data-node="fkyuj1gt248v" aria-label="Menu"><div class="fl-module-content fl-node-content"><div class="fl-menu"><div class="fl-clear"></div><nav aria-label="Navigation Menu" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement"><ul id="menu-large-screen-main-nav" class="menu fl-menu-horizontal fl-toggle-none"><li id="menu-item-1688" class="menu-item menu-item-type-post_type_archive menu-item-object-clpvd_library menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/clpvd_library/" aria-controls="sub-menu-1688" aria-expanded="false">Locations <i class="fas fa-angle-down"></i></a></div><ul id="sub-menu-1688" class="sub-menu"><li id="menu-item-1689" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/fox-point-library/">Fox Point Library</a></li><li id="menu-item-1690" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/knight-memorial-library/">Knight Memorial Library</a></li><li id="menu-item-1691" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/mt-pleasant-library/">Mt. Pleasant Library</a></li><li id="menu-item-1692" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/olneyville-library/">Olneyville Library</a></li><li id="menu-item-1693" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/rochambeau-library/">Rochambeau Library</a></li><li id="menu-item-1694" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/smith-hill-library/">Smith Hill Library</a></li><li id="menu-item-1695" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/south-providence-library/">South Providence Library</a></li><li id="menu-item-1696" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/wanskuck-library/">Wanskuck Library</a></li><li id="menu-item-1697" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/washington-park-library/">Washington Park Library</a></li></ul></li><li id="menu-item-2581" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container">
4011<a href="https://clpvd.org/learn/" aria-controls="sub-menu-2581" aria-expanded="false">Learn</a></div><ul id="sub-menu-2581" class="sub-menu"><li id="menu-item-120891" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/events/category/audience/" aria-controls="sub-menu-120891" aria-expanded="false">Audience</a></div><ul id="sub-menu-120891" class="sub-menu"><li id="menu-item-120883" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/preschool/">Preschool</a></li><li id="menu-item-120884" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/youth/">Youth</a></li><li id="menu-item-120885" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/teen/">Teen</a></li><li id="menu-item-120886" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/adult/">Adult</a></li><li id="menu-item-120887" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/seniors/">Seniors</a></li><li id="menu-item-120888" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/teachers/">Teachers</a></li><li id="menu-item-120889" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/family/">Family</a></li></ul></li><li id="menu-item-126170" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/learn/spotlight/adult-education/" aria-controls="sub-menu-126170" aria-expanded="false">Adult Education</a></div><ul id="sub-menu-126170" class="sub-menu"><li id="menu-item-126171" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/citizenship/">Citizenship</a></li><li id="menu-item-126172" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/esol/">ESOL</a></li><li id="menu-item-126173" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/ged-2/">GED</a></li><li id="menu-item-126174" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/learn-spanish/">Learn Spanish</a></li></ul></li><li id="menu-item-126175" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/art-in-the-neighborhood/">Art in the Neighborhood</a></li><li id="menu-item-132458" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/climate-resilience/">Climate Resilience</a></li><li id="menu-item-132457" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/freedom-to-read/">Freedom to Read</a></li><li id="menu-item-126177" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/gardening/">Gardening</a></li><li id="menu-item-126176" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/makerspace/">Makerspace</a></li><li id="menu-item-126178" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/model-building/">Model Building</a></li><li id="menu-item-126179" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/online-resources/">Online Resources</a></li></ul></li><li id="menu-item-181" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/events/">Events</a></li><li id="menu-item-2514" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container">
4011<a href="https://clpvd.org/services/" aria-controls="sub-menu-2514" aria-expanded="false">Services <i class="fas fa-angle-down"></i></a></div><ul id="sub-menu-2514" class="sub-menu"><li id="menu-item-3328" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/borrowing/">Borrowing</a></li><li id="menu-item-3330" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/getting-library-card/">Get a Library Card</a></li><li id="menu-item-3339" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/meeting-rooms/">Meeting Rooms</a></li><li id="menu-item-123793" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/museum-passes/">Museum Passes</a></li><li id="menu-item-3346" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/services/#general-services">Special Services</a></li></ul></li><li id="menu-item-183" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/stream/" aria-controls="sub-menu-183" aria-expanded="false">Stream <i class="fas fa-angle-down"></i></a></div><ul id="sub-menu-183" class="sub-menu"><li id="menu-item-1909" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/stream/">Overview</a></li><li id="menu-item-1903" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://riezone.overdrive.com/riezone-providencecommunity/content">eZone</a></li><li id="menu-item-1904" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://riezone.overdrive.com/riezone-providencecommunity/spanish">eZone Español</a></li><li id="menu-item-1906" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://www.hoopladigital.com/">Hoopla</a></li></ul></li><li id="menu-item-185" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/actions/" aria-controls="sub-menu-185" aria-expanded="false">I’d Like To… <i class="fas fa-angle-down"></i></a></div><ul id="sub-menu-185" class="sub-menu"><li id="menu-item-1845" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/job-postings/">Volunteer/Work for the Library</a></li><li id="menu-item-134599" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/books/">Discuss Books!</a></li><li id="menu-item-1849" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-1846 current_page_item"><a href="https://clpvd.org/actions/donate-items/" aria-current="page">Donate Items</a></li><li id="menu-item-1863" class="menu-item menu-item-type-custom menu-item-object-custom"><a target="_blank" href="https://clpvd.oslri.net/?browseCategory=osl_new_books">Find a Book, DVD…</a></li><li id="menu-item-1860" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/getting-library-card/">Get a Library Card</a></li><li id="menu-item-1861" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/languages/">Learn a Language</a></li><li id="menu-item-5899" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.oslri.net/MyAccount/Home">Log in to my library card account</a></li><li id="menu-item-132699" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/notary/">FREE Notary Service!</a></li><li id="menu-item-1862" class="menu-item menu-item-type-custom menu-item-object-custom"><a target="_blank" href="https://clpvd.oslri.net/MyAccount/Home">Renew Items</a></li><li id="menu-item-1850" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/actions/room-request-2-2/">Request a Meeting Room</a></li><li id="menu-item-123792" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/museum-passes/">Reserve Museum Passes</a></li><li id="menu-item-3365" class="menu-item menu-item-type-custom menu-item-object-custom"><a target="_blank" href="https://www.bonfire.com/store/community-libraries-of-providence/">Shop</a></li><li id="menu-item-5892" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/subscribe/">Subscribe</a></li><li id="menu-item-3340" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/suggest-an-item/">Suggest An Item</a></li><li id="menu-item-1870" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/support/">Support CLPVD</a></li></ul></li><li id="menu-item-1323" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container">
4011<a href="https://clpvd.org/about-us/" aria-controls="sub-menu-1323" aria-expanded="false">About Us <i class="fas fa-angle-down"></i></a></div><ul id="sub-menu-1323" class="sub-menu"><li id="menu-item-1329" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/administration/">Administration</a></li><li id="menu-item-1325" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/library-managers/">Library Managers</a></li><li id="menu-item-1331" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/annual-reports/">Annual Reports</a></li><li id="menu-item-1327" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/board-meeting-minutes-archive/">Board Meeting Minutes Archive</a></li><li id="menu-item-1332" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/board-of-directors/">Board of Directors</a></li><li id="menu-item-1328" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/friends-of-our-libraries/">Friends of our Libraries</a></li><li id="menu-item-6066" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/holiday-closings/">Holiday Closings</a></li><li id="menu-item-1324" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/job-postings/">Job Postings</a></li><li id="menu-item-6253" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://clpvd.org/category/news/">News</a></li><li id="menu-item-1326" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/public-policies/">Public Policies</a></li><li id="menu-item-7683" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/studio-10-segments/">Studio 10 Segments</a></li><li id="menu-item-129946" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/strat-plan/">Strategic Plan 2025-2029</a></li><li id="menu-item-5878" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/contact/">Contact</a></li></ul></li></ul></nav></div></div></div></div></div></div></div></div></div><div class="fl-row fl-row-full-width fl-row-bg-color fl-node-wdsu5xt8yf1c fl-row-default-height fl-row-align-center fl-visible-large fl-visible-medium focus-header" data-node="wdsu5xt8yf1c"><div class="fl-row-content-wrap"><div class="fl-row-content fl-row-full-width fl-node-content"><div class="fl-col-group fl-node-jn75m9ag26r4 fl-col-group-equal-height fl-col-group-align-center fl-col-group-custom-width" data-node="jn75m9ag26r4"><div class="fl-col fl-node-ng12p9mkod5e fl-col-bg-color fl-col-small fl-col-small-custom-width" data-node="ng12p9mkod5e"><div class="fl-col-content fl-node-content"><div role="figure" class="fl-module fl-module-photo fl-photo fl-photo-align-left fl-node-d5rb3shmfv80" data-node="d5rb3shmfv80" aria-label="Photo" itemscope itemtype="https://schema.org/ImageObject"><div class="fl-photo-content fl-photo-img-png"> 4012<a href="https://clpvd.org/" target="_self" itemprop="url"> 4013<img loading="lazy" decoding="async" class="fl-photo-img wp-image-136225 size-large" src="https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-1024x351.png" alt="CLPVD Logo" height="351" width="1024" title="clpvd-main-logo" data-no-lazy="1" itemprop="image" srcset="https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-1024x351.png 1024w, https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-300x103.png 300w, https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-768x263.png 768w, https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo.png 1500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /> 4014</a></div></div></div></div><div class="fl-col fl-node-yv4dbp9tfkwl fl-col-bg-color fl-col-small-custom-width" data-node="yv4dbp9tfkwl"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-button-group fl-button-group fl-button-group-buttons fl-button-group-layout-horizontal fl-button-group-width- fl-node-qb7f35v9kw8h focus-button" role="group" data-node="qb7f35v9kw8h" aria-roledescription="Button Group"><div id="fl-button-group-button-qb7f35v9kw8h-0" class="fl-button-group-button fl-button-group-button-qb7f35v9kw8h-0"><div id="fl-node-qb7f35v9kw8h-0" class="fl-button-wrap fl-button-width-full fl-button-right fl-button-has-icon"><a href="https://clpvd.networkforgood.com/projects/229702-support-community-libraries-of-providence-2025-2026" target="_blank" rel="noopener" class="fl-button"><i class="fl-button-icon fl-button-icon-before far fa-heart" aria-hidden="true"></i><span class="fl-button-text">Support</span></a></div></div><div id="fl-button-group-button-qb7f35v9kw8h-1" class="fl-button-group-button fl-button-group-button-qb7f35v9kw8h-1"><div id="fl-node-qb7f35v9kw8h-1" class="fl-button-wrap fl-button-width-full fl-button-right fl-button-has-icon"><a href="https://clpvd.org/clpvd_library/" target="_self" class="fl-button"><i class="fl-button-icon fl-button-icon-before fas fa-map-marker-alt" aria-hidden="true"></i><span class="fl-button-text">Locations</span></a></div></div><div id="fl-button-group-button-qb7f35v9kw8h-2" class="fl-button-group-button fl-button-group-button-qb7f35v9kw8h-2"><div id="fl-node-qb7f35v9kw8h-2" class="fl-button-wrap fl-button-width-full fl-button-right fl-button-has-icon"><a href="https://clpvd.org/search/" target="_blank" rel="noopener" class="fl-button"><i class="fl-button-icon fl-button-icon-before fas fa-search" aria-hidden="true"></i><span class="fl-button-text">Search</span></a></div></div></div></div></div><div class="fl-col fl-node-qr6v8zemo5n3 fl-col-bg-color fl-col-small fl-col-small-custom-width" data-node="qr6v8zemo5n3"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-menu fl-node-k67mugaxebvp focus-menu mobile" data-node="k67mugaxebvp" aria-label="Menu"><div class="fl-module-content fl-node-content"><div class="fl-menu fl-menu-responsive-toggle-always fl-menu-responsive-flyout-overlay fl-flyout-right"> 4015<button class="fl-menu-mobile-toggle hamburger-label fl-content-ui-button" aria-haspopup="menu" aria-label="Menu"><span class="fl-menu-icon svg-container"><svg version="1.1" class="hamburger-menu" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewB
4015ox="0 0 512 512"> 4016<rect class="fl-hamburger-menu-top" width="512" height="102"/> 4017<rect class="fl-hamburger-menu-middle" y="205" width="512" height="102"/> 4018<rect class="fl-hamburger-menu-bottom" y="410" width="512" height="102"/> 4019</svg> 4020</span><span class="fl-menu-mobile-toggle-label" aria-haspopup="menu" aria-label="Menu">Menu</span></button><div class="fl-clear"></div><nav aria-label="Navigation Menu" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement"><ul id="menu-mobile-hamburger-menu" class="menu fl-menu-horizontal fl-toggle-plus"><li id="menu-item-102033" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.networkforgood.com/projects/254340-clpvd-2025-2026">DONATE</a></li><li id="menu-item-5159" class="menu-item menu-item-type-post_type_archive menu-item-object-clpvd_library menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/clpvd_library/">Locations <i class="fas fa-angle-down"></i></a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Locations <i class="fas fa-angle-down"></i> submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-5159" aria-expanded="false"></span></div><ul id="sub-menu-5159" class="sub-menu"><li id="menu-item-5160" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/fox-point-library/">Fox Point Library</a></li><li id="menu-item-5161" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/knight-memorial-library/">Knight Memorial Library</a></li><li id="menu-item-5162" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/mt-pleasant-library/">Mt. Pleasant Library</a></li><li id="menu-item-5163" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/olneyville-library/">Olneyville Library</a></li><li id="menu-item-5164" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/rochambeau-library/">Rochambeau Library</a></li><li id="menu-item-5165" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/smith-hill-library/">Smith Hill Library</a></li><li id="menu-item-5166" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/south-providence-library/">South Providence Library</a></li><li id="menu-item-5167" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/wanskuck-library/">Wanskuck Library</a></li><li id="menu-item-5168" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/washington-park-library/">Washington Park Library</a></li></ul></li><li id="menu-item-5169" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/events/">Events</a></li><li id="menu-item-5170" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/learn/">Learn</a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Learn submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-5170" aria-expanded="false"></span></div><ul id="sub-menu-5170" class="sub-menu"><li id="menu-item-126184" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/events/category/audience/">Audience</a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Audience submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-126184" aria-expanded="false"></span></div>
4020<ul id="sub-menu-126184" class="sub-menu"><li id="menu-item-126181" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/adult/">Adult</a></li><li id="menu-item-126183" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/family/">Family</a></li><li id="menu-item-126187" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/pre-school/">Pre-School</a></li><li id="menu-item-126185" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/school-age/">School Age</a></li><li id="menu-item-126188" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/senior/">Senior</a></li><li id="menu-item-126189" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/teachers/">Teachers</a></li><li id="menu-item-126186" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/teens/">Teens</a></li></ul></li><li id="menu-item-126197" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/learn/spotlight/adult-education/">Adult Education</a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Adult Education submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-126197" aria-expanded="false"></span></div><ul id="sub-menu-126197" class="sub-menu"><li id="menu-item-126198" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/citizenship/">Citizenship</a></li><li id="menu-item-126199" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/esol/">ESOL</a></li><li id="menu-item-126200" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/ged-2/">GED</a></li><li id="menu-item-126201" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/learn-spanish/">Learn Spanish</a></li></ul></li><li id="menu-item-126202" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/art-in-the-neighborhood/">Art in the Neighborhood</a></li><li id="menu-item-132464" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/climate-resilience/">Climate Resilience</a></li><li id="menu-item-126203" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/entrepreneurship-center/">Entrepreneurship Center</a></li><li id="menu-item-132463" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/freedom-to-read/">Freedom to Read</a></li><li id="menu-item-126205" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/gardening/">Gardening</a></li><li id="menu-item-126204" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/makerspace/">Makerspace</a></li><li id="menu-item-126206" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/model-building/">Model Building</a></li><li id="menu-item-126207" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/online-resources/">Online Resources</a></li></ul></li><li id="menu-item-5171" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/services/">Services <i class="fas fa-angle-down"></i></a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Services <i class="fas fa-angle-down"></i> submenu toggle" role="button" tabindex="0" aria-controls="sub-menu
4020-5171" aria-expanded="false"></span></div><ul id="sub-menu-5171" class="sub-menu"><li id="menu-item-5172" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/borrowing/">Borrowing</a></li><li id="menu-item-5173" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/getting-library-card/">Get a Library Card</a></li><li id="menu-item-5174" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/meeting-rooms/">Meeting Rooms</a></li><li id="menu-item-123795" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/museum-passes/">Museum Passes</a></li><li id="menu-item-5176" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/services/#general-services">Special Services</a></li></ul></li><li id="menu-item-5178" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/stream/">Stream <i class="fas fa-angle-down"></i></a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Stream <i class="fas fa-angle-down"></i> submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-5178" aria-expanded="false"></span></div><ul id="sub-menu-5178" class="sub-menu"><li id="menu-item-5179" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/stream/">Overview</a></li><li id="menu-item-5180" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://riezone.overdrive.com/riezone-providencecommunity/content">eZone</a></li><li id="menu-item-5181" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://riezone.overdrive.com/riezone-providencecommunity/spanish">eZone Español</a></li><li id="menu-item-5183" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://www.hoopladigital.com/">Hoopla</a></li></ul></li><li id="menu-item-5184" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/actions/">I’d Like To… <i class="fas fa-angle-down"></i></a><span class="fl-menu-toggle fl-content-ui-button" aria-label="I'd Like To… <i class="fas fa-angle-down"></i> submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-5184" aria-expanded="false"></span></div><ul id="sub-menu-5184" class="sub-menu"><li id="menu-item-5186" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-1846 current_page_item"><a href="https://clpvd.org/actions/donate-items/" aria-current="page">Donate Items</a></li><li id="menu-item-5191" class="menu-item menu-item-type-custom menu-item-object-custom"><a target="_blank" href="https://clpvd.oslri.net/?browseCategory=osl_new_books">Find a Book, DVD…</a></li><li id="menu-item-5188" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/getting-library-card/">Get a Library Card</a></li><li id="menu-item-5189" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/languages/">Learn a Language</a></li><li id="menu-item-6245" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://catalog.oslri.net/patroninfo">Log in to my library card account</a></li><li id="menu-item-132700" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/notary/">FREE Notary Service!</a></li><li id="menu-item-5190" class="menu-item menu-item-type-custom menu-item-object-custom"><a target="_blank" href="https://clpvd.oslri.net/MyAccount/Home">Renew Items</a></li><li id="menu-item-5187" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/actions/room-request-2-2/">Request a Meeting Room</a></li><li id="menu-item-123794" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/museum-passes/">Reserve Museum Passes</a></li><li id="menu-item-5193" class="menu-item menu-item-type-custom menu-item-object-custom"><a target="_blank" href="https://www.bonfire.com/store/community-libraries-of-providence/">Shop</a></li><li id="menu-item-5872" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/subscribe/">Subscribe</a></li><li id="menu-item-5177" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/suggest-an-item/">Suggest An Item</a></li><li id="menu-item-5194" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/support/">Support CLPVD</a></li><li id="menu-item-5185" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/job-postings/">Volunteer/Work for the Library</a></li></ul></li><li id="menu-item-5195" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/about-us/">About Us <i class="fas fa-angle-down"></i></a><span class="fl-menu-toggle fl-content-ui-button" aria-label="About Us <i class="fas fa-angle-down"></i> submenu toggle" role="button" tabindex="0" aria-controls="sub-menu
4020-5195" aria-expanded="false"></span></div><ul id="sub-menu-5195" class="sub-menu"><li id="menu-item-5196" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/administration/">Administration</a></li><li id="menu-item-5197" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/library-managers/">Library Managers</a></li><li id="menu-item-5198" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/annual-reports/">Annual Reports</a></li><li id="menu-item-5199" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/board-meeting-minutes-archive/">Board Meeting Minutes Archive</a></li><li id="menu-item-5200" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/board-of-directors/">Board of Directors</a></li><li id="menu-item-5201" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/friends-of-our-libraries/">Friends of our Libraries</a></li><li id="menu-item-6067" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/holiday-closings/">Holiday Closings</a></li><li id="menu-item-5202" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/job-postings/">Job Postings</a></li><li id="menu-item-7677" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://clpvd.org/category/news/">News</a></li><li id="menu-item-5205" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/public-policies/">Public Policies</a></li><li id="menu-item-7684" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/studio-10-segments/">Studio 10 Segments</a></li><li id="menu-item-5879" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/contact/">Contact</a></li></ul></li></ul></nav></div></div></div></div></div></div></div></div></div><div class="fl-row fl-row-full-width fl-row-bg-color fl-node-2viamzb694jp fl-row-default-height fl-row-align-center fl-visible-mobile focus-header" data-node="2viamzb694jp"><div class="fl-row-content-wrap"><div class="fl-row-content fl-row-full-width fl-node-content"><div class="fl-col-group fl-node-nigo5xsdqbej fl-col-group-equal-height fl-col-group-align-center fl-col-group-custom-width" data-node="nigo5xsdqbej"><div class="fl-col fl-node-x5jatesnovg8 fl-col-bg-color fl-col-small-custom-width" data-node="x5jatesnovg8"><div class="fl-col-content fl-node-content"><div role="figure" class="fl-module fl-module-photo fl-photo fl-photo-align-center fl-node-or7czkjebiv3" data-node="or7czkjebiv3" aria-label="Photo" itemscope itemtype="https://schema.org/ImageObject"><div class="fl-photo-content fl-photo-img-png"> 4021<a href="https://clpvd.org/" target="_self" itemprop="url"> 4022<img loading="lazy" decoding="async" class="fl-photo-img wp-image-136225 size-medium" src="https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-300x103.png" alt="CLPVD Logo" height="103" width="300" title="clpvd-main-logo" data-no-lazy="1" itemprop="image" srcset="https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-300x103.png 300w, https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-1024x351.png 1024w, https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo-768x263.png 768w, https://clpvd.org/wp-content/uploads/2024/04/clpvd-main-logo.png 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /> 4023</a></div></div></div></div><div class="fl-col fl-node-1vzbrdhw4oeg fl-col-bg-color fl-col-small fl-col-small-custom-width" data-node="1vzbrdhw4oeg"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-menu fl-node-odsp0lh7mkxj focus-menu mobile" data-node="odsp0lh7mkxj" aria-label="Menu"><div class="fl-module-content fl-node-content"><div class="fl-menu fl-menu-responsive-toggle-always fl-menu-responsive-flyout-overlay fl-flyout-left"> 4024<button class="fl-menu-mobile-toggle hamburger fl-content-ui-button" aria-haspopup="menu" aria-label="Menu"><span class="fl-menu-icon svg-container"><svg version="1.1" class="hamburger-menu" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewB
4024ox="0 0 512 512"> 4025<rect class="fl-hamburger-menu-top" width="512" height="102"/> 4026<rect class="fl-hamburger-menu-middle" y="205" width="512" height="102"/> 4027<rect class="fl-hamburger-menu-bottom" y="410" width="512" height="102"/> 4028</svg> 4029</span></button><div class="fl-clear"></div><nav aria-label="Navigation Menu" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement"><ul id="menu-mobile-hamburger-menu-1" class="menu fl-menu-horizontal fl-toggle-plus"><li id="menu-item-102033" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.networkforgood.com/projects/254340-clpvd-2025-2026">DONATE</a></li><li id="menu-item-5159" class="menu-item menu-item-type-post_type_archive menu-item-object-clpvd_library menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/clpvd_library/">Locations <i class="fas fa-angle-down"></i></a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Locations <i class="fas fa-angle-down"></i> submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-5159" aria-expanded="false"></span></div><ul id="sub-menu-5159" class="sub-menu"><li id="menu-item-5160" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/fox-point-library/">Fox Point Library</a></li><li id="menu-item-5161" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/knight-memorial-library/">Knight Memorial Library</a></li><li id="menu-item-5162" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/mt-pleasant-library/">Mt. Pleasant Library</a></li><li id="menu-item-5163" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/olneyville-library/">Olneyville Library</a></li><li id="menu-item-5164" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/rochambeau-library/">Rochambeau Library</a></li><li id="menu-item-5165" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/smith-hill-library/">Smith Hill Library</a></li><li id="menu-item-5166" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/south-providence-library/">South Providence Library</a></li><li id="menu-item-5167" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/wanskuck-library/">Wanskuck Library</a></li><li id="menu-item-5168" class="notranslate menu-item menu-item-type-post_type menu-item-object-clpvd_library"><a href="https://clpvd.org/clpvd_library/washington-park-library/">Washington Park Library</a></li></ul></li><li id="menu-item-5169" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/events/">Events</a></li><li id="menu-item-5170" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/learn/">Learn</a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Learn submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-5170" aria-expanded="false"></span></div><ul id="sub-menu-5170" class="sub-menu"><li id="menu-item-126184" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/events/category/audience/">Audience</a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Audience submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-126184" aria-expanded="false"></span></div><ul id="sub-menu-126184" class="sub-menu"><li id="menu-item-126181" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/adult/">Adult</a></li><li id="menu-item-126183" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/family/">Family</a></li><li id="menu-item-126187" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/pre-school/">Pre-School</a></li><li id="menu-item-126185" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/school-age/">School Age</a></li><li id="menu-item-126188" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/senior/">Senior</a></li><li id="menu-item-126189" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/teachers/">Teachers</a></li><li id="menu-item-126186" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/audience/teens/">Teens</a></li></ul></li><li id="menu-item-126197" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/learn/spotlight/adult-education/">Adult Education</a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Adult Education submenu toggle" role="button" tabindex="0" aria-controls="sub-menu
4029-126197" aria-expanded="false"></span></div><ul id="sub-menu-126197" class="sub-menu"><li id="menu-item-126198" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/citizenship/">Citizenship</a></li><li id="menu-item-126199" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/esol/">ESOL</a></li><li id="menu-item-126200" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/ged-2/">GED</a></li><li id="menu-item-126201" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/adult-education/learn-spanish/">Learn Spanish</a></li></ul></li><li id="menu-item-126202" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/art-in-the-neighborhood/">Art in the Neighborhood</a></li><li id="menu-item-132464" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/climate-resilience/">Climate Resilience</a></li><li id="menu-item-126203" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/entrepreneurship-center/">Entrepreneurship Center</a></li><li id="menu-item-132463" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/freedom-to-read/">Freedom to Read</a></li><li id="menu-item-126205" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/gardening/">Gardening</a></li><li id="menu-item-126204" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/spotlight/makerspace/">Makerspace</a></li><li id="menu-item-126206" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/model-building/">Model Building</a></li><li id="menu-item-126207" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/learn/online-resources/">Online Resources</a></li></ul></li><li id="menu-item-5171" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/services/">Services <i class="fas fa-angle-down"></i></a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Services <i class="fas fa-angle-down"></i> submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-5171" aria-expanded="false"></span></div><ul id="sub-menu-5171" class="sub-menu"><li id="menu-item-5172" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/borrowing/">Borrowing</a></li><li id="menu-item-5173" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/getting-library-card/">Get a Library Card</a></li><li id="menu-item-5174" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/meeting-rooms/">Meeting Rooms</a></li><li id="menu-item-123795" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/museum-passes/">Museum Passes</a></li><li id="menu-item-5176" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/services/#general-services">Special Services</a></li></ul></li><li id="menu-item-5178" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/stream/">Stream <i class="fas fa-angle-down"></i></a><span class="fl-menu-toggle fl-content-ui-button" aria-label="Stream <i class="fas fa-angle-down"></i> submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-5178" aria-expanded="false"></span></div><ul id="sub-menu-5178" class="sub-menu"><li id="menu-item-5179" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/stream/">Overview</a></li><li id="menu-item-5180" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://riezone.overdrive.com/riezone-providencecommunity/content">eZone</a></li><li id="menu-item-5181" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://riezone.overdrive.com/riezone-providencecommunity/spanish">eZone Español</a></li><li id="menu-item-5183" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://www.hoopladigital.com/">Hoopla</a></li></ul></li><li id="menu-item-5184" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/actions/">I’d Like To… <i class="fas fa-angle-down"></i></a><span class="fl-menu-toggle fl-content-ui-button" aria-label="I'd Like To… <i class="fas fa-angle-down"></i> submenu toggle" role="button" tabindex="0" aria-controls="sub-menu
4029-5184" aria-expanded="false"></span></div><ul id="sub-menu-5184" class="sub-menu"><li id="menu-item-5186" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-1846 current_page_item"><a href="https://clpvd.org/actions/donate-items/" aria-current="page">Donate Items</a></li><li id="menu-item-5191" class="menu-item menu-item-type-custom menu-item-object-custom"><a target="_blank" href="https://clpvd.oslri.net/?browseCategory=osl_new_books">Find a Book, DVD…</a></li><li id="menu-item-5188" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/getting-library-card/">Get a Library Card</a></li><li id="menu-item-5189" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://clpvd.org/events/category/languages/">Learn a Language</a></li><li id="menu-item-6245" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://catalog.oslri.net/patroninfo">Log in to my library card account</a></li><li id="menu-item-132700" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/notary/">FREE Notary Service!</a></li><li id="menu-item-5190" class="menu-item menu-item-type-custom menu-item-object-custom"><a target="_blank" href="https://clpvd.oslri.net/MyAccount/Home">Renew Items</a></li><li id="menu-item-5187" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/actions/room-request-2-2/">Request a Meeting Room</a></li><li id="menu-item-123794" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/museum-passes/">Reserve Museum Passes</a></li><li id="menu-item-5193" class="menu-item menu-item-type-custom menu-item-object-custom"><a target="_blank" href="https://www.bonfire.com/store/community-libraries-of-providence/">Shop</a></li><li id="menu-item-5872" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/subscribe/">Subscribe</a></li><li id="menu-item-5177" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/services/suggest-an-item/">Suggest An Item</a></li><li id="menu-item-5194" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/support/">Support CLPVD</a></li><li id="menu-item-5185" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/job-postings/">Volunteer/Work for the Library</a></li></ul></li><li id="menu-item-5195" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children fl-has-submenu"><div class="fl-has-submenu-container"><a href="https://clpvd.org/about-us/">About Us <i class="fas fa-angle-down"></i></a><span class="fl-menu-toggle fl-content-ui-button" aria-label="About Us <i class="fas fa-angle-down"></i> submenu toggle" role="button" tabindex="0" aria-controls="sub-menu-5195" aria-expanded="false"></span></div><ul id="sub-menu-5195" class="sub-menu"><li id="menu-item-5196" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/administration/">Administration</a></li><li id="menu-item-5197" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/library-managers/">Library Managers</a></li><li id="menu-item-5198" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/annual-reports/">Annual Reports</a></li><li id="menu-item-5199" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/board-meeting-minutes-archive/">Board Meeting Minutes Archive</a></li><li id="menu-item-5200" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/board-of-directors/">Board of Directors</a></li><li id="menu-item-5201" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/friends-of-our-libraries/">Friends of our Libraries</a></li><li id="menu-item-6067" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/holiday-closings/">Holiday Closings</a></li><li id="menu-item-5202" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/job-postings/">Job Postings</a></li><li id="menu-item-7677" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://clpvd.org/category/news/">News</a></li><li id="menu-item-5205" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/about-us/public-policies/">Public Policies</a></li><li id="menu-item-7684" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/studio-10-segments/">Studio 10 Segments</a></li><li id="menu-item-5879" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/contact/">Contact</a></li></ul></li></ul></nav></div></div></div></div></div><div class="fl-col fl-node-o0ep85k1nxfa fl-col-bg-color fl-col-small fl-col-small-custom-width" data-node="o0ep85k1nxfa"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-button-group fl-button-group fl-button-group-buttons fl-button-group-layout-horizontal fl-button-group-width- fl-node-1pc7a4hrx3e6 focus-button" role="group" data-node="1pc7a4hrx3e6" aria-roledescription="Button Group"><div id="fl-button-group-button-1pc7a4hrx3e6-0" class="fl-button-group-button fl-button-group-button-1pc7a4hrx3e6-0"><div id="fl-node-1pc7a4hrx3e6-0" class="fl-button-wrap fl-button-width-full fl-button-right fl-button-has-icon"><a href="https://clpvd.networkforgood.com/projects/254340-clpvd-2025-2026" target="_blank" rel="noopener" class="fl-button"><i class="fl-button-icon fl-button-icon-before far fa-heart" aria-hidden="true"></i><span class="fl-button-text">Support</span></a></div></div><div id="fl-button-group-button-1pc7a4hrx3e6-1" class="fl-button-group-button fl-button-group-button-1pc7a4hrx3e6-1"><div id="fl-node-1pc7a4hrx3e6-1" class="fl-button-wrap fl-button-width-full fl-button-right fl-button-has-icon"><a href="https://clpvd.org/clpvd_library/" target="_self" class="fl-button"><i class="fl-button-icon fl-button-icon-before fas fa-map-marker-alt" aria-hidden="true"></i><span class="fl-button-text">Locations</span></a></div></div><div id="fl-button-group-button-1pc7a4hrx3e6-2" class="fl-button-group-button fl-button-group-button-1pc7a4hrx3e6-2"><div id="fl-node-1pc7a4hrx3e6-2" class="fl-button-wrap fl-button-width-full fl-button-right fl-button-has-icon"><a href="https://clpvd.org/search/" target="_blank" rel="noopener" class="fl-button"><i class="fl-button-icon fl-button-icon-before fas fa-search" aria-hidden="true"></i><span class="fl-button-text">Search</span></a></div></div></div></div></div></div></div></div></div></header>
4029<div class="fl-builder-content fl-builder-content-43931 fl-builder-global-templates-locked" data-post-id="43931" data-type="part"><div class="fl-row fl-row-full-width fl-row-bg-none fl-node-m9ovuw12tdig fl-row-default-height fl-row-align-center" data-node="m9ovuw12tdig"><div class="fl-row-content-wrap"><div class="fl-row-content fl-row-full-width fl-node-content"><div class="fl-col-group fl-node-o3a4eh87mk0g" data-node="o3a4eh87mk0g"><div class="fl-col fl-node-u3hj07crfygx fl-col-bg-color" data-node="u3hj07crfygx"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-bb-bootstrap-alerts-module fl-node-nm0ud8ypz5o6" data-node="nm0ud8ypz5o6" aria-label="Bootstrap Alerts for Beaver Builder"><div class="fl-module-content fl-node-content"><div class="bb-bootstrap-alerts"> 4030<a href="#" target="_blank" ><div class="alert alert-warning fade in" > 4031<span class="close" data-dismiss="alert" aria-label="close"><i class="fa fa-times" aria-hidden="true"></i></span> 4032<span class="bbn_information "><div class="alert-padding"> 4033<i class=""></i><h3 class="tribe-events-calendar-list__event-title tribe-common-h6 tribe-common-h4--min-medium"><a class="tribe-events-calendar-list__event-title-link tribe-common-anchor-thin" title="CLPVD Annual Meeting" href="https://clpvd.org/event/clpvd-annual-meeting/" rel="bookmark">CLPVD Annual Meeting</a></h3><div class="tribe-events-calendar-list__event-datetime-wrapper tribe-common-b2"><time class="tribe-events-calendar-list__event-datetime" datetime="2026-09-28"><span class="tribe-event-date-start">Monday, September 28 @ 6:00 pm</span><span class="tribe-event-time"> at </span></time><span class="tribe-events-calendar-list__event-venue-title tribe-common-b2--bold">Roger Williams Park Casino </span><span class="tribe-events-calendar-list__event-venue-address">1000 Elmwood Ave, Providence, RI, United States<br /><br /></span></div><h3><a href="https://clpvd.org/announcement-olneyville-library-is-moving/">Olneyville Library is closed as we await its new location!</a></h3><hr /><h3><span style="color: #000000;">IT'S BACK!</span><br /><span style="color: #ff9900;"><a style="color: #ff9900;" href="https://clpvd.org/spooky">Spooky Night at Knight at Knight Memorial Library, Thursday, October 29th from 6-9:30PM</a></span></h3><h3>Get your <span style="color: #ff9900;"><a style="color: #ff9900;" href="https://clpvd.org/spooky">tickets</a></span> today!</h3></div> 4034</span></div> 4035</a></div></div></div></div></div></div></div></div></div></div><div class="site-inner"><div class="content-sidebar-wrap"><main class="content" id="genesis-content"><article class="post-1846 page type-page status-publish entry" aria-label="Donate Items" itemscope itemtype="https://schema.org/CreativeWork"><div class="entry-content" itemprop="text"><div class="fl-builder-content fl-builder-content-1846 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="1846"><div class="fl-row fl-row-full-width fl-row-bg-photo fl-node-umyih9krjelx fl-row-custom-height fl-row-align-bottom fl-row-bg-overlay home-hero" data-node="umyih9krjelx"><div class="fl-row-content-wrap"><div class="fl-row-content fl-row-fixed-width fl-node-content"><div class="fl-col-group fl-node-0xgsqwalvtzn fl-col-group-custom-width" data-node="0xgsqwalvtzn"><div class="fl-col fl-node-avrzxhg03t8l fl-col-bg-color fl-col-small-custom-width" data-node="avrzxhg03t8l"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-heading fl-node-mqfg0ls4i2du" data-node="mqfg0ls4i2du" aria-label="Heading"><div class="fl-module-content fl-node-content"><h1 class="fl-heading"> 4036<span class="fl-heading-text">Donate Items</span></h1></div></div></div></div></div></div></div></div><div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-f7wigu62x5bp fl-row-default-height fl-row-align-center" data-node="f7wigu62x5bp"><div class="fl-row-content-wrap"><div class="fl-row-content fl-row-fixed-width fl-node-content"><div class="fl-col-group fl-node-zgra7c685be9" data-node="zgra7c685be9"><div class="fl-col fl-node-tzk9emcbfl3v fl-col-bg-color" data-node="tzk9emcbfl3v"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-html fl-node-cpkli6yesf8r breadcrumb-module" data-node="cpkli6yesf8r" aria-label="HTML"><div class="fl-module-content fl-node-content"><div class="fl-html"><nav aria-label="breadcrumbs" class="rank-math-breadcrumb"><p><a href="https://clpvd.org">Home</a><span class="separator"> » </span><a href="https://clpvd.org/actions/">I’d Like To…</a><span class="separator"> » </span><span class="last">Donate Items</span></p></nav>
4036<script>(function() { var d = document, fr = d.createElement('script'); fr.type = 'text/javascript'; fr.async = true; fr.src = 'https://static.fundrazr.com/widgets/loader.js'; var s = d.getElementsByTagName('script')[0]; s.parentNode.insertBefore(fr, s);})();</script>
4036</div></div></div></div></div></div></div></div></div><div class="fl-row fl-row-full-width fl-row-bg-none fl-node-z8c3dps2w75i fl-row-default-height fl-row-align-center" data-node="z8c3dps2w75i"><div class="fl-row-content-wrap"><div class="fl-row-content fl-row-fixed-width fl-node-content"><div class="fl-col-group fl-node-gj4mdxp28yl3 fl-col-group-equal-height fl-col-group-align-center" data-node="gj4mdxp28yl3"><div class="fl-col fl-node-m24rckzon38a fl-col-bg-color" data-node="m24rckzon38a"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-node-ekruihavqt5w content-text-block" data-node="ekruihavqt5w" aria-label="Text Editor"><div class="fl-module-content fl-node-content"><div class="fl-rich-text"><h2>Donations</h2></div></div></div><div id="more-friends" class="fl-module fl-module-rich-text fl-node-s4jre7l9u2wp content-text-block" data-node="s4jre7l9u2wp" aria-label="Text Editor"><div class="fl-module-content fl-node-content"><div class="fl-rich-text"><p><span style="font-weight: 400;">Thank you for thinking of Community Libraries of Providence. Most of our libraries accept donations. You may <a href="https://clpvd.org/clpvd_library/">
4036find their opening hours here</a>.</span></p><ul><li>NEW! <a href="https://clpvd.org/book-adoption/">Adopt a Book: a new program from Books on the Square</a> and the Community Libraries of Providence! Donate an old favorite, or a new friend, and you’ll get to purchase the book at a discount, and be the first to check it out. <a href="https://clpvd.org/book-adoption/">Find out more!</a></li></ul><p><span style="font-weight: 400;">The library accepts books and DVDs in good condition, which may be added to the collection or sold at the Friends of libraries' book sales. The library cannot add items in poor condition to the collection or book sale. The following list describes examples of poor condition:</span></p><ul><li><span style="font-weight: 400;">  Materials with torn pages, excessively worn covers</span></li><li><span style="font-weight: 400;">  Materials with yellowed, brittle pages or damaged bindings</span></li><li><span style="font-weight: 400;">  Dirty, dusty items</span></li><li> Items exposed to cigarette smoke</li><li><span style="font-weight: 400;">  Stained, water damaged, mildewed items</span></li><li><span style="font-weight: 400;">  Materials with excessive notes or highlighting</span></li><li><span style="font-weight: 400;">  Scratched or worn media</span></li></ul><p>In addition we generally do not accept encyclopedias, old National Geographics, outdated and/
4036or any textbooks.</p><p><span style="font-weight: 400;">Again, thank you for thinking of Community Libraries of Providence!</span></p></div></div></div></div></div></div></div></div></div></div></div></article></main></div></div><footer class="fl-builder-content fl-builder-content-23 fl-builder-global-templates-locked" data-post-id="23" data-type="footer" itemscope="itemscope" itemtype="http://schema.org/WPFooter"><div class="fl-row fl-row-full-width fl-row-bg-color fl-node-08sxnbdr67yc fl-row-default-height fl-row-align-center clpvd-footer make-footer-dark" data-node="08sxnbdr67yc"><div class="fl-row-content-wrap"><div class="fl-row-content fl-row-full-width fl-node-content"><div class="fl-col-group fl-node-fgn5pr1v6kue fl-col-group-equal-height fl-col-group-align-center fl-col-group-custom-width" data-node="fgn5pr1v6kue"><div class="fl-col fl-node-3xr6w2biylqk fl-col-bg-color fl-col-small-custom-width" data-node="3xr6w2biylqk"><div class="fl-col-content fl-node-content"><div role="figure" class="fl-module fl-module-photo fl-photo fl-photo-align-center fl-node-cnz3j2gykafh" data-node="cnz3j2gykafh" aria-label="Photo" itemscope itemtype="https://schema.org/ImageObject"><div class="fl-photo-content fl-photo-img-png"> 4037<a href="https://clpvd.org/" target="_self" itemprop="url"> 4038<img decoding="async" class="fl-photo-img wp-image-294 size-full" src="https://clpvd.org/wp-content/uploads/2021/03/whitelogo.png" alt="whitelogo" height="752" width="700" title="whitelogo" loading="lazy" itemprop="image" /> 4039</a></div></div></div></div></div><div class="fl-col-group fl-node-4eq7btwj10g6" data-node="4eq7btwj10g6"><div class="fl-col fl-node-7apuc3jvtmo5 fl-col-bg-color fl-col-small fl-visible-desktop fl-visible-large" data-node="7apuc3jvtmo5"><div class="fl-col-content fl-node-content"></div></div><div class="fl-col fl-node-fl61s9xowkzm fl-col-bg-color fl-col-small" data-node="fl61s9xowkzm"><div class="fl-col-content fl-node-content"><h2 class="fl-module fl-module-heading fl-heading fl-heading-text fl-node-2vgme98tixa1" id="subscribe" data-node="2vgme98tixa1" aria-label="Heading"> 4040Stay Up To Date!</h2><div class="fl-module fl-module-rich-text fl-rich-text fl-node-me5p34196j2z" data-node="me5p34196j2z" aria-label="Text Editor"><p>Stay up to date with all of the latest news and updates we have to offer</p></div><div class="fl-module fl-module-button fl-node-4692cqfmyi1k focus-button footer fl-button-wrap fl-button-width-auto fl-button-center" data-node="4692cqfmyi1k" aria-label="Button"><a href="https://clpvd.org/subscribe/" target="_self" class="fl-button"><span class="fl-button-text">Sign Up To Receive Our News!</span></a></div></div></div><div class="fl-col fl-node-xr9db36w1fpc fl-col-bg-color fl-col-small fl-visible-desktop fl-visible-large" data-node="xr9db36w1fpc"><div class="fl-col-content fl-node-content"></div></div></div><div class="fl-col-group fl-node-z9wmtx736nic" data-node="z9wmtx736nic"><div class="fl-col fl-node-iek6lwzhgcd4 fl-col-bg-color" data-node="iek6lwzhgcd4"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-separator fl-node-yt20j754gkow" data-node="yt20j754gkow" aria-label="Separator"><div class="fl-separator"></div></div></div></div></div><div class="fl-col-group fl-node-9d1jmyx7sfab" data-node="9d1jmyx7sfab"><div class="fl-col fl-node-z8qm34fghe2s fl-col-bg-color" data-node="z8qm34fghe2s"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-menu fl-node-7bwtoq16j89f focus-menu" data-node="7bwtoq16j89f" aria-label="Menu"><div class="fl-module-content fl-node-content"><div class="fl-menu"><div class="fl-clear"></div><nav aria-label="Navigation Menu" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement"><ul id="menu-all-screens-footer-menu" class="menu fl-menu-horizontal fl-toggle-arrows"><li id="menu-item-291" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/clpvd_library/">Hours & Locations</a></li><li id="menu-item-287" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/events/">Events</a></li><li id="menu-item-288" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/learn/">Learn</a></li><li id="menu-item-290" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/services/">Services</a></li><li id="menu-item-289" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/stream/">Stream</a></li><li id="menu-item-286" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/actions/">I’d Like To…</a></li><li id="menu-item-283" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/about-us/">About Us</a></li><li id="menu-item-285" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://clpvd.org/category/news/">News</a></li><li id="menu-item-5880" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://clpvd.org/contact/">Contact</a></li></ul></nav></div></div></div></div></div></div><div class="fl-col-group fl-node-kzq0y4gbnpwl" data-node="kzq0y4gbnpwl"><div class="fl-col fl-node-douanp87k6qr fl-col-bg-color" data-node="douanp87k6qr"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-icon-group fl-node-nhcji7vm6exs" data-node="nhcji7vm6exs" aria-label="Icon Group"><div class="fl-module-content fl-node-content"><div class="fl-icon-group"> 4041<span class="fl-icon"> 4042<a href="https://www.youtube.com/CommunityLibrariesPVD" target="_blank" rel="noopener"> 4043<i class="fab fa-youtube" aria-hidden="true"></i> 4044<span class="sr-only">CLPVD Youtube</span> 4045</a> 4046</span> 4047<span class="fl-icon"> 4048<a href="https://www.facebook.com/9librariespvd" target="_blank" rel="noopener"> 4049<i class="fab fa-facebook-f" aria-hidden="true"></i> 4050<span class="sr-only">CLPVD Facebook</span> 4051</a> 4052</span> 4053<span class="fl-icon"> 4054<a href="https://x.com/9librariespvd" target="_blank" rel="noopener"> 4055<i class="fa-brands fab fa-x-twitter" aria-hidden="true"></i> 4056<span class="sr-only">CLPVD X / Twitter</span> 4057</a> 4058</span> 4059<span class="fl-icon"> 4060<a href="https://www.instagram.com/9librariespvd/" target="_blank" rel="noopener"> 4061<i class="fab fa-instagram" aria-hidden="true"></i> 4062<span class="sr-only">CLPVD Instagram</span> 4063</a> 4064</span> 4065<span class="fl-icon"> 4066<a href="https://www.linkedin.com/company/communitylibrariespvd" target="_blank" rel="noopener"> 4067<i class="fab fa-linkedin-in" aria-hidden="true"></i> 4068<span class="sr-only">CLPVD LinkedIn</span> 4069</a> 4070</span> 4071<span class="fl-icon"> 4072<a href="https://bsky.app/profile/9librariespvd.bsky.social" target="_blank" rel="noopener"> 4073<i class="fa-brands fab fa-bluesky" aria-hidden="true"></i> 4074<span class="sr-only">Bluesky</span> 4075</a> 4076</span></div></div></div></div></div></div><div class="fl-col-group fl-node-tp0f5xquds23" data-node="tp0f5xquds23"><div class="fl-col fl-node-hdiut02lnkfj fl-col-bg-color" data-node="hdiut02lnkfj"><div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-6053b3557d528" data-node="6053b3557d528" aria-label="Text Editor"><p>© 2026 Community Libraries of Providence. <a href="https://clpvd.org/privacy-policy/">Privacy Policy</a> | <a href="https://clpvd.org/accessibility/">Accessibility</a><br /> 4077PO Box 9267, Providence, RI 02940</p><p><em>This website was funded and made possible by The American Rescue Plan Act of 2021.</em></p></div><div class="fl-module fl-module-rich-text fl-rich-text fl-node-xivwejk6a5dq" data-node="xivwejk6a5dq" aria-label="Text Editor"><p style="text-align: right;"><span style="font-size: 14px;"><a href="http://www.clpvd.org/staff" target="_blank" rel="noopener">Staff Site</a> | <a href="https://pclhelpdesk.org/" target="_blank" rel="noopener">Staff Helpdesk</a></span></p></div></div></div></div></div></div></div></footer></div>
4077<script type="speculationrules">{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/focus-pro/*","/wp-content/themes/genesis/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script>
4077 <div class="gtranslate_wrapper" id="gt-wrapper-14345165"></div>
4077<script>( function ( body ) { 4078 'use strict'; 4079 body.className = body.className.replace( /\btribe-no-js\b/, 'tribe-js' ); 4080 } )( document.body );</script>
4080
4080<script type="text/javascript">var sbiajaxurl = "https://clpvd.org/wp-admin/admin-ajax.php";</script>
4080
4080<script>/* */var tribe_l10n_datatables = {"aria":{"sort_ascending":": activate to sort column ascending","sort_descending":": activate to sort column descending"},"length_menu":"Show _MENU_ entries","empty_table":"No data available in table","info":"Showing _START_ to _END_ of _TOTAL_ entries","info_empty":"Showing 0 to 0 of 0 entries","info_filtered":"(filtered from _MAX_ total entries)","zero_records":"No matching records found","search":"Search:","all_selected_text":"All items on this page were selected. ","select_all_link":"Select all pages","clear_selection":"Clear Selection.","pagination":{"all":"All","next":"Next","previous":"Previous"},"select":{"rows":{"0":"","_":": Selected %d rows","1":": Selected 1 row"}},"datepicker":{"dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesMin":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Prev","currentText":"Today","closeText":"Done","today":"Today","clear":"Clear"},"registration_prompt":"There is unsaved attendee information. Are you sure you want to continue?"};/* */</script>
4080<script data-optimized="1" id="tec-user-agent-js" src="https://clpvd.org/wp-content/litespeed/js/c578bc60e8c832bf0664f888e23b03fb.js?ver=3ae99"></script>
4080
4080<script data-optimized="1" id="wpascript-js" src="https://clpvd.org/wp-content/litespeed/js/979a431c658af872bf8633de99376935.js?ver=a8951"></script>
4080
4080<script id="wpascript-js-after">wpa_field_info = JSON.parse(atob("eyJ3cGFfZmllbGRfbmFtZSI6ImFxZ2p5djgwMzAiLCJ3cGFfZmllbGRfdmFsdWUiOjYwMTQ5Nywid3BhX2FkZF90ZXN0Ijoibm8ifQ==")); 4081//# sourceURL=wpascript-js-after</script>
4081
4081<script data-optimized="1" id="imagesloaded-js" src="https://clpvd.org/wp-content/litespeed/js/f358c13c50a33bb4b8993a0943bdd627.js?ver=f9d5e"></script>
4081
4081<script data-optimized="1" id="jquery-throttle-js" src="https://clpvd.org/wp-content/litespeed/js/7eda739a17543ad8a544624ccfdf1908.js?ver=e58bd"></script>
4081
4081<script data-optimized="1" id="bbn_boot-js" src="https://clpvd.org/wp-content/litespeed/js/e5bb829061309a7b88bcffcfaab4b45f.js?ver=e5a91"></script>
4081
4081<script data-optimized="1" id="bbn_cookie-js" src="https://clpvd.org/wp-content/litespeed/js/6b4216033519fd796108991ccb64739f.js?ver=7c090"></script>
4081
4081<script data-optimized="1" id="jquery-magnificpopup-js" src="https://clpvd.org/wp-content/litespeed/js/ad0a45afc132f9ded556112a89db0f06.js?ver=353a3"></script>
4081
4081<script id="jquery-ui-core-js-before">jQuery.uiBackCompat = true; 4082//# sourceURL=jquery-ui-core-js-before</script>
4082
4082<script data-optimized="1" id="jquery-ui-core-js" src="https://clpvd.org/wp-content/litespeed/js/b67bdfb1a8dcc26064feab9236ab9b11.js?ver=c7540"></script>
4082
4082<script data-optimized="1" id="jquery-ui-datepicker-js" src="https://clpvd.org/wp-content/litespeed/js/cd28740a44ac64aff45e59fff185f0dc.js?ver=8ec82"></script>
4082
4082<script id="jquery-ui-datepicker-js-after">jQuery(function(jQuery){jQuery.datepicker.setDefaults({"closeText":"Close","currentText":"Today","monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Previous","dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"dateFormat":"MM d, yy","firstDay":0,"isRTL":false});}); 4083//# sourceURL=jquery-ui-datepicker-js-after</script>
4083
4083<script data-optimized="1" id="skip-links-js" src="https://clpvd.org/wp-content/litespeed/js/048b8264b352694e436e10c2ecf62acc.js?ver=875dd"></script>
4083
4083<script data-optimized="1" id="page-links-to-js" src="https://clpvd.org/wp-content/litespeed/js/f765f64809ef19d3bcbfbd9d374bdd78.js?ver=84217"></script>
4083
4083<script id="gt_widget_script_14345165-js-before">window.gtranslateSettings = /* document.write */ window.gtranslateSettings || {};window.gtranslateSettings['14345165'] = {"default_language":"en","languages":["en","es"],"url_structure":"sub_directory","detect_browser_language":1,"flag_style":"3d","wrapper_selector":"#gt-wrapper-14345165","alt_flags":{"en":"usa","es":"mexico"},"float_switcher_open_direction":"top","switcher_horizontal_position":"left","switcher_vertical_position":"top","flags_location":"\/wp-content\/plugins\/gtranslate\/flags\/"}; 4084//# sourceURL=gt_widget_script_14345165-js-before</script>
4084<script src="https://clpvd.org/wp-content/plugins/gtranslate/js/float.js?ver=5.0.1" data-no-optimize="1" data-no-minify="1" data-gt-orig-url="/actions/donate-items/" data-gt-orig-domain="clpvd.org" data-gt-widget-id="14345165" defer></script>
4084<script>var wpAjaxUrl = 'https://clpvd.org/wp-admin/admin-ajax.php';var flBuilderUrl = 'https://clpvd.org/wp-content/plugins/bb-plugin/';var FLBuilderLayoutConfig = { 4085 anchorLinkAnimations : { 4086 duration : 1000, 4087 easing : 'swing', 4088 offset : 100 4089 }, 4090 paths : { 4091 pluginUrl : 'https://clpvd.org/wp-content/plugins/bb-plugin/', 4092 wpAjaxUrl : 'https://clpvd.org/wp-admin/admin-ajax.php' 4093 }, 4094 breakpoints : { 4095 small : 768, 4096 medium : 1023, 4097 large : 1200 }, 4098 waypoint: { 4099 offset: 80 4100 }, 4101 emptyColWidth: '0%', 4102 i18n : { 4103 opensInNewTab : '(opens in new tab)' 4104 } 4105}; 4106(function($){ 4107 4108 if(typeof FLBuilderLayout != 'undefined') { 4109 return; 4110 } 4111 4112 /** 4113 * Helper class with generic logic for a builder layout. 4114 * 4115 * @class FLBuilderLayout 4116 * @since 1.0 4117 */ 4118 FLBuilderLayout = { 4119 4120 /** 4121 * Initializes a builder layout. 4122 * 4123 * @since 1.0 4124 * @method init 4125 */ 4126 init: function() 4127 { 4128 // Destroy existing layout events. 4129 FLBuilderLayout._destroy(); 4130 4131 // Init CSS classes. 4132 FLBuilderLayout._initClasses(); 4133 4134 // Init backgrounds.
4135 FLBuilderLayout._initBackgrounds(); 4136 4137 // Init buttons. 4138 FLBuilderLayout._initButtons(); 4139 4140 // Init row shape layer height. 4141 FLBuilderLayout._initRowShapeLayerHeight(); 4142 4143 // Init the new tab notice on links opening in a new tab. 4144 FLBuilderLayout._initLinkNotices(); 4145 4146 // Only init if the builder isn't active. 4147 if ( 0 === $('.fl-builder-edit').length ) { 4148 4149 // Init anchor links. 4150 FLBuilderLayout._initAnchorLinks(); 4151 4152 // Init the browser hash. 4153 FLBuilderLayout._initHash(); 4154 4155 // Init forms. 4156 FLBuilderLayout._initForms(); 4157 4158 FLBuilderLayout._reorderMenu(); 4159 } 4160 else { 4161 FLBuilderLayout._initNestedColsWidth(); 4162 } 4163 $('body').removeClass( 'fl-no-js' ); 4164 }, 4165 4166 /** 4167 * Public method for refreshing Wookmark or MosaicFlow galleries 4168 * within an element. 4169 * 4170 * @since 1.7.4 4171 * @method refreshGalleries 4172 */ 4173 refreshGalleries: function( element ) 4174 { 4175 var $element = 'undefined' == typeof element ? $( 'body' ) : $( element ), 4176 mfContent = $element.find( '.fl-mosaicflow-content' ), 4177 wmContent = $element.find( '.fl-gallery' ), 4178 mfObject = null; 4179 4180 if ( mfContent ) { 4181 4182 mfObject = mfContent.data( 'mosaicflow' ); 4183 4184 if ( mfObject ) { 4185 mfObject.columns = $( [] ); 4186 mfObject.columnsHeights = []; 4187 mfContent.data( 'mosaicflow', mfObject ); 4188 mfContent.mosaicflow( 'refill' ); 4189 } 4190 } 4191 if ( wmContent ) { 4192 wmContent.trigger( 'refreshWookmark' ); 4193 } 4194 }, 4195 4196 /** 4197 * Public method for refreshing Masonry within an element 4198 * 4199 * @since 1.8.1 4200 * @method refreshGridLayout 4201 */ 4202 refreshGridLayout: function( element ) 4203 { 4204 var $element = 'undefined' == typeof element ? $( 'body' ) : $( element ), 4205 msnryContent = $element.find('.masonry'); 4206 4207 if ( msnryContent.length ) { 4208 msnryContent.masonry('layout'); 4209 } 4210 }, 4211 4212 /** 4213 * Public method for reloading BxSlider within an element 4214 * 4215 * @since 1.8.1 4216 * @method reloadSlider 4217 */ 4218 reloadSlider: function( content ) 4219 { 4220 var $content = 'undefined' == typeof content ? $('body') : $(content); 4221 4222 // reload sliders. 4223 if ($content.find('.bx-viewport > div').length > 0) { 4224 $.each($content.find('.bx-viewport > div'), function (key, slider) { 4225 setTimeout(function () { 4226 $(slider).data('bxSlider').reloadSlider(); 4227 }, 100); 4228 }); 4229 } 4230 }, 4231 4232 /** 4233 * Public method for resizing WP audio player 4234 * 4235 * @since 1.8.2 4236 * @method resizeAudio 4237 */ 4238 resizeAudio: function( element ) 4239 { 4240 var $element = 'undefined' == typeof element ? $( 'body' ) : $( element ), 4241 audioPlayers = $element.find('.wp-audio-shortcode.mejs-audio'), 4242 player = null, 4243 mejsPlayer = null, 4244 rail = null, 4245 railWidth = 400; 4246 4247 if ( audioPlayers.length && typeof mejs !== 'undefined' ) { 4248 audioPlayers.each(function(){ 4249 player = $(this); 4250 mejsPlayer = mejs.players[player.attr('id')]; 4251 rail = player.find('.mejs-controls .mejs-time-rail'); 4252 var innerMejs = player.find('.mejs-inner'), 4253 total = player.find('.mejs-controls .mejs-time-total'); 4254 4255 if ( typeof mejsPlayer !== 'undefined' ) { 4256 railWidth = Math.ceil(player.width() * 0.8); 4257 4258 if ( innerMejs.length ) { 4259 4260 rail.css('width', railWidth +'px!important'); 4261 //total.width(rail.width() - 10); 4262 4263 mejsPlayer.options.autosizeProgress = true; 4264 4265 // webkit has trouble doing this without a delay 4266 setTimeout(function () { 4267 mejsPlayer.setControlsSize(); 4268 }, 50); 4269 4270 player.find('.mejs-inner').css({ 4271 visibility: 'visible', 4272 height: 'inherit' 4273 }); 4274 } 4275 } 4276 }); 4277 } 4278 }, 4279 4280 /** 4281 * Public method for preloading WP audio player when it's inside the hidden element 4282 * 4283 * @since 1.8.2 4284 * @method preloadAudio 4285 */ 4286 preloadAudio: function(element) 4287 { 4288 var $element = 'undefined' == typeof element ? $( 'body' ) : $( element ), 4289 contentWrap = $element.closest('.fl-accordion-item'), 4290 audioPlayers = $element.find('.wp-audio-shortcode.mejs-audio'); 4291 4292 if ( ! contentWrap.hasClass('fl-accordion-item-active') && audioPlayers.find('.mejs-inner').length ) { 4293 audioPlayers.find('.mejs-inner').css({ 4294 visibility : 'hidden', 4295 height: 0 4296 }); 4297 } 4298 }, 4299 4300 /** 4301 * Public method for resizing slideshow momdule within the tab 4302 * 4303 * @since 1.10.5 4304 * @method resizeSlideshow 4305 */ 4306 resizeSlideshow: function(){ 4307 if(typeof YUI !== 'undefined') { 4308 YUI().use('node-event-simulate', function(Y) { 4309 Y.one(window).simulate("resize"); 4310 }); 4311 } 4312 }, 4313 4314 /** 4315 * Public method for reloading an embedded Google Map within the tabs or hidden element. 4316 * 4317 * @since 2.2 4318 * @method reloadGoogleMap 4319 */ 4320 reloadGoogleMap: function(element){ 4321 var $element = 'undefined' == typeof element ? $( 'body' ) : $( element ),
4322 googleMap = $element.find( 'iframe[src*="google.com/maps"]' ); 4323 4324 if ( googleMap.length ) { 4325 googleMap.attr( 'src', function(i, val) { 4326 return val; 4327 }); 4328 } 4329 }, 4330 4331 /** 4332 * Unbinds builder layout events. 4333 * 4334 * @since 1.0 4335 * @access private 4336 * @method _destroy 4337 */ 4338 _destroy: function() 4339 { 4340 var win = $(window); 4341 4342 win.off('scroll.fl-bg-parallax'); 4343 win.off('resize.fl-bg-video'); 4344 }, 4345 4346 /** 4347 * Checks to see if the current device has touch enabled. 4348 * 4349 * @since 1.0 4350 * @access private 4351 * @method _isTouch 4352 * @return {Boolean} 4353 */ 4354 _isTouch: function() 4355 { 4356 if(('ontouchstart' in window) || (window.DocumentTouch && document instanceof DocumentTouch)) { 4357 return true; 4358 } 4359 4360 return false; 4361 }, 4362 4363 /** 4364 * Checks to see if the current device is mobile. 4365 * 4366 * @since 1.7 4367 * @access private 4368 * @method _isMobile 4369 * @return {Boolean} 4370 */ 4371 _isMobile: function() 4372 { 4373 return /Mobile|Android|Silk\/|Kindle|BlackBerry|Opera Mini|Opera Mobi|webOS/i.test( navigator.userAgent ); 4374 }, 4375 4376 /** 4377 * Initializes builder body classes. 4378 * 4379 * @since 1.0 4380 * @access private 4381 * @method _initClasses 4382 */ 4383 _initClasses: function() 4384 { 4385 var body = $( 'body' ), 4386 ua = navigator.userAgent; 4387 4388 // Add the builder body class (skip on block-only frontend to avoid layout break). 4389 if ( ! body.hasClass( 'fl-builder-blocks-only' ) && ! body.hasClass( 'archive' ) && $( '.fl-builder-content-primary' ).length > 0 ) { 4390 body.addClass('fl-builder'); 4391 } 4392 4393 // Add the builder touch body class. 4394 if(FLBuilderLayout._isTouch()) { 4395 body.addClass('fl-builder-touch'); 4396 } 4397 4398 // Add the builder mobile body class. 4399 if(FLBuilderLayout._isMobile()) { 4400 body.addClass('fl-builder-mobile'); 4401 } 4402 4403 if ( $(window).width() < FLBuilderLayoutConfig.breakpoints.small ) { 4404 body.addClass( 'fl-builder-breakpoint-small' ); 4405 } 4406 4407 if ( $(window).width() > FLBuilderLayoutConfig.breakpoints.small && $(window).width() < FLBuilderLayoutConfig.breakpoints.medium ) { 4408 body.addClass( 'fl-builder-breakpoint-medium' ); 4409 } 4410 4411 if ( $(window).width() > FLBuilderLayoutConfig.breakpoints.medium && $(window).width() < FLBuilderLayoutConfig.breakpoints.large ) { 4412 body.addClass( 'fl-builder-breakpoint-large' ); 4413 } 4414 4415 if ( $(window).width() > FLBuilderLayoutConfig.breakpoints.large ) { 4416 body.addClass( 'fl-builder-breakpoint-default' ); 4417 } 4418 4419 // IE11 body class. 4420 if ( ua.indexOf( 'Trident/7.0' ) > -1 && ua.indexOf( 'rv:11.0' ) > -1 ) { 4421 body.addClass( 'fl-builder-ie-11' ); 4422 } 4423 }, 4424 4425 /** 4426 * Initializes builder node backgrounds that require 4427 * additional JavaScript logic such as parallax. 4428 * 4429 * @since 1.1.4 4430 * @access private
4431 * @method _initBackgrounds 4432 */ 4433 _initBackgrounds: function() 4434 { 4435 var win = $(window); 4436 4437 // Init parallax backgrounds. 4438 if($('.fl-row-bg-parallax').length > 0 && !FLBuilderLayout._isMobile()) { 4439 FLBuilderLayout._scrollParallaxBackgrounds(); 4440 FLBuilderLayout._initParallaxBackgrounds(); 4441 win.on('resize.fl-bg-parallax', FLBuilderLayout._initParallaxBackgrounds); 4442 win.on('scroll.fl-bg-parallax', FLBuilderLayout._scrollParallaxBackgrounds); 4443 } 4444 4445 // Init video backgrounds. 4446 if($('.fl-bg-video').length > 0) { 4447 FLBuilderLayout._initBgVideos(); 4448 FLBuilderLayout._resizeBgVideos(); 4449 4450 // Ensure FLBuilderLayout._resizeBgVideos() is only called once on window resize. 4451 var resizeBGTimer = null; 4452 win.on('resize.fl-bg-video', function(e){ 4453 clearTimeout( resizeBGTimer ); 4454 resizeBGTimer = setTimeout(function() { 4455 FLBuilderLayout._resizeBgVideos(e); 4456 }, 100 ); 4457 }); 4458 } 4459 }, 4460 4461 /** 4462 * Initializes all buttons in a layout. 4463 * 4464 * @since 2.10 4465 * @access private 4466 * @method _initButtons 4467 */ 4468 _initButtons: function() 4469 { 4470 // Trigger click event on Enter or Space key press for deprecated button markup. 4471 $('a.fl-button[role="button"]').on('keydown', function(event) { 4472 if (event.key === 'Enter' || event.key === ' ') { 4473 // Necessary to prevent the default behavior of the space key from scrolling the page 4474 event.preventDefault(); 4475 $(this).trigger('click'); 4476 } 4477 }); 4478 }, 4479 4480 /** 4481 * Initializes all parallax backgrounds in a layout. 4482 * 4483 * @since 1.1.4 4484 * @access private 4485 * @method _initParallaxBackgrounds 4486 */ 4487 _initParallaxBackgrounds: function() 4488 { 4489 $('.fl-row-bg-parallax').each(FLBuilderLayout._initParallaxBackground); 4490 }, 4491 4492 /** 4493 * Initializes a single parallax background. 4494 * 4495 * @since 1.1.4 4496 * @access private 4497 * @method _initParallaxBackgrounds 4498 */ 4499 _initParallaxBackground: function() 4500 { 4501 var row = $(this), 4502 content = row.find('> .fl-row-content-wrap'), 4503 winWidth = $(window).width(), 4504 screenSize = '', 4505 imageSrc = { 4506 default: '', 4507 medium: '', 4508 responsive: '', 4509 }; 4510 4511 imageSrc.default = row.data('parallax-image') || ''; 4512 imageSrc.medium = row.data('parallax-image-medium') || imageSrc.default; 4513 imageSrc.responsive = row.data('parallax-image-responsive') || imageSrc.medium; 4514 4515 if (winWidth > FLBuilderLayoutConfig.breakpoints.medium) { 4516 screenSize = 'default'; 4517 } else if (winWidth > FLBuilderLayoutConfig.breakpoints.small && winWidth <= FLBuilderLayoutConfig.breakpoints.medium ) { 4518 screenSize = 'medium'; 4519 } else if (winWidth <= FLBuilderLayoutConfig.breakpoints.small) { 4520 screenSize = 'responsive'; 4521 } 4522 4523 content.css('background-image', 'url(' + imageSrc[screenSize] + ')'); 4524 row.data('current-image-loaded', screenSize ); 4525 4526 }, 4527 4528 /** 4529 * Fires when the window is scrolled to adjust 4530 * parallax backgrounds. 4531 * 4532 * @since 1.1.4 4533 * @access private 4534 * @method _scrollParallaxBackgrounds 4535 */ 4536 _scrollParallaxBackgrounds: function() 4537 { 4538 $('.fl-row-bg-parallax').each(FLBuilderLayout._scrollParallaxBackground); 4539 }, 4540 4541 /** 4542 * Fires when the window is scrolled to adjust 4543 * a single parallax background. 4544 * 4545 * @since 1.1.4 4546 * @access private 4547 * @method _scrollParallaxBackground 4548 */ 4549 _scrollParallaxBackground: function() 4550 { 4551 var win = $(window), 4552 row = $(this), 4553 content = row.find('> .fl-row-content-wrap'), 4554 speed = row.data('parallax-speed'), 4555 offset = content.offset(), 4556 yPos = -((win.scrollTop() - offset.top) / speed), 4557 initialOffset = ( row.data('parallax-offset') != null ) ? row.data('parallax-offset') : 0, 4558 totalOffset = yPos - initialOffset; 4559 4560 content.css('background-position', 'center ' + totalOffset + 'px'); 4561 }, 4562 4563 /** 4564 * Initializes all video backgrounds. 4565 * 4566 * @since 1.6.3.3 4567 * @access private 4568 * @method _initBgVideos 4569 */ 4570 _initBgVideos: function() 4571 { 4572 $('.fl-bg-video').each(FLBuilderLayout._initBgVideo); 4573 }, 4574 4575 /** 4576 * Initializes a video background. 4577 * 4578 * @since 1.6.3.3 4579 * @access private 4580 * @method _initBgVideo 4581 */ 4582 _initBgVideo: function() 4583 { 4584 var wrap = $( this ), 4585 width = wrap.data( 'width' ), 4586 height = wrap.data( 'height' ), 4587 mp4 = wrap.data( 'mp4' ), 4588 youtube = wrap.data( 'youtube'), 4589 vimeo = wrap.data( 'vimeo'), 4590 mp4Type = wrap.data( 'mp4-type' ), 4591 webm = wrap.data( 'webm' ), 4592 webmType = wrap.data( 'webm-type' ), 4593 fallback = wrap.data( 'fallback' ), 4594 loaded = wrap.data( 'loaded' ), 4595 videoMobile = wrap.data( 'video-mobile' ), 4596 playPauseButton = wrap.find('.fl-bg-video-play-pause-control'), 4597 fallbackTag = '', 4598 videoTag = null, 4599 mp4Tag = null, 4600 webmTag = null; 4601 4602 // Return if the video has been loaded for this row. 4603 if ( loaded ) { 4604 return; 4605 } 4606
4607 videoTag = $( '<video autoplay loop muted playsinline></video>' ); 4608 4609 /** 4610 * Add poster image (fallback image) 4611 */ 4612 if( 'undefined' != typeof fallback && '' != fallback ) { 4613 videoTag.attr( 'poster', 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' ) 4614 videoTag.css({ 4615 backgroundImage: 'url("' + fallback + '")', 4616 backgroundColor: 'transparent', 4617 backgroundRepeat: 'no-repeat', 4618 backgroundSize: 'cover', 4619 backgroundPosition: 'center center', 4620 }) 4621 } 4622 4623 // MP4 Source Tag 4624 if ( 'undefined' != typeof mp4 && '' != mp4 ) { 4625 4626 mp4Tag = $( '<source />' ); 4627 mp4Tag.attr( 'src', mp4 ); 4628 mp4Tag.attr( 'type', mp4Type ); 4629 4630 videoTag.append( mp4Tag ); 4631 } 4632 // WebM Source Tag 4633 if ( 'undefined' != typeof webm && '' != webm ) { 4634 4635 webmTag = $( '<source />' ); 4636 webmTag.attr( 'src', webm ); 4637 webmTag.attr( 'type', webmType ); 4638 4639 videoTag.append( webmTag ); 4640 } 4641 4642 // This is either desktop, or mobile is enabled. 4643 if ( ! FLBuilderLayout._isMobile() || ( FLBuilderLayout._isMobile() && "yes" == videoMobile ) ) { 4644 if ( 'undefined' != typeof youtube ) { 4645 FLBuilderLayout._initYoutubeBgVideo.apply( this ); 4646 } 4647 else if ( 'undefined' != typeof vimeo ) { 4648 FLBuilderLayout._initVimeoBgVideo.apply( this ); 4649 } 4650 else { 4651 wrap.append( videoTag ); 4652 4653 if ( playPauseButton.length > 0 ) { 4654 var video = videoTag[0]; 4655 4656 playPauseButton.on( 'click', { video: video }, function(e) { 4657 var video = e.data.video; 4658 4659 if ( video.paused ) { 4660 video.play(); 4661 } else { 4662 video.pause(); 4663 } 4664 } ); 4665 4666 $( video ).on( 'play playing', function () { 4667 playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' ); 4668 } ); 4669 4670 $( video ).on( 'pause ended waiting', function () { 4671 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4672 } ); 4673 } 4674 } 4675 } 4676 else { 4677 // if we are here, it means we are on mobile and NO is set so remove video src and use fallback 4678 videoTag.attr('src', '') 4679 wrap.append( videoTag ); 4680 } 4681 4682 // Mark this video as loaded. 4683 wrap.data('loaded', true); 4684 }, 4685 4686 /** 4687 * Initializes Youtube video background 4688 * 4689 * @since 1.9 4690 * @access private 4691 * @method _initYoutubeBgVideo 4692 */ 4693 _initYoutubeBgVideo: function() 4694 { 4695 var playerWrap = $(this), 4696 videoId = playerWrap.data('video-id'), 4697 videoPlayer = playerWrap.find('.fl-bg-video-player'), 4698 enableAudio = playerWrap.data('enable-audio'), 4699 audioButton = playerWrap.find('.fl-bg-video-audio'), 4700 playPauseButton = playerWrap.find('.fl-bg-video-play-pause-control'), 4701 startTime = 'undefined' !== typeof playerWrap.data('start') ? playerWrap.data('start') : 0, 4702 startTime = 'undefined' !== typeof playerWrap.data('t') && startTime === 0 ? playerWrap.data('t') : startTime, 4703 endTime = 'undefined' !== typeof playerWrap.data('end') ? playerWrap.data('end') : 0, 4704 loop = 'undefined' !== typeof playerWrap.data('loop') ? playerWrap.data('loop') : 1, 4705 stateCount = 0, 4706 player,fallback_showing; 4707 4708 if ( videoId ) { 4709 fallback = playerWrap.data('fallback') || false 4710 if( fallback ) { 4711 playerWrap.find('iframe').remove() 4712 fallbackTag = $( '<div></div>' ); 4713 fallbackTag.addClass( 'fl-bg-video-fallback' ); 4714 fallbackTag.css( 'background-image', 'url(' + playerWrap.data('fallback') + ')' ); 4715 fallbackTag.css( 'background-size', 'cover' ); 4716 fallbackTag.css( 'transition', 'background-image 1s') 4717 playerWrap.append( fallbackTag ); 4718 fallback_showing = true; 4719 } 4720 FLBuilderLayout._onYoutubeApiReady( function( YT ) { 4721 setTimeout( function() { 4722 4723 player = new YT.Player( videoPlayer[0], { 4724 videoId: videoId, 4725 events: { 4726 onReady: function(event) { 4727 if ( "no" === enableAudio || FLBuilderLayout._isMobile() ) { 4728 event.target.mute(); 4729 } 4730 else if ( "yes" === enableAudio && event.target.isMuted ) { 4731 event.target.unMute(); 4732 } 4733 4734 // Store an instance to a parent 4735 playerWrap.data('YTPlayer', player); 4736 FLBuilderLayout._resizeYoutubeBgVideo.apply(playerWrap); 4737 4738 // Queue the video. 4739 event.target.playVideo(); 4740 4741 if ( audioButton.length > 0 && ! FLBuilderLayout._isMobile() ) {
4742 audioButton.on( 'click', {button: audioButton, player: player}, FLBuilderLayout._toggleBgVideoAudio ); 4743 } 4744 4745 if ( playPauseButton.length > 0 ) { 4746 playPauseButton.on( 'click', {player: player}, function(e) { 4747 var player = e.data.player; 4748 4749 if ( 1 === player.getPlayerState() ) { 4750 player.pauseVideo(); 4751 } else { 4752 player.playVideo(); 4753 } 4754 }); 4755 } 4756 }, 4757 onStateChange: function( event ) { 4758 4759 if ( event.data === 1 ) { 4760 if ( fallback_showing ) { 4761 $( '.fl-bg-video-fallback' ).css( 'background-image', 'url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)' ) 4762 } 4763 } 4764 // Manual check if video is not playable in some browsers. 4765 // StateChange order: [-1, 3, -1] 4766 if ( stateCount < 4 ) { 4767 stateCount++; 4768 } 4769 4770 // Comply with the audio policy in some browsers like Chrome and Safari. 4771 if ( stateCount > 1 && -1 === event.data && "yes" === enableAudio ) { 4772 player.mute(); 4773 player.playVideo(); 4774 audioButton.show(); 4775 } 4776 4777 if ( event.data === YT.PlayerState.ENDED && 1 === loop ) { 4778 if ( startTime > 0 ) { 4779 player.seekTo( startTime ); 4780 } 4781 else { 4782 player.playVideo(); 4783 } 4784 } 4785 4786 if ( event.data === YT.PlayerState.PLAYING ) { 4787 playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' ); 4788 } else if ( event.data === YT.PlayerState.PAUSED ) { 4789 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4790 } else if ( event.data === YT.PlayerState.BUFFERING ) { 4791 playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' ); 4792 } else if ( event.data === YT.PlayerState.CUED ) { 4793 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4794 } else if ( event.data === YT.PlayerState.ENDED ) { 4795 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4796 } 4797 }, 4798 onError: function(event) { 4799 console.info('YT Error: ' + event.data) 4800 FLBuilderLayout._onErrorYoutubeVimeo(playerWrap) 4801 } 4802 }, 4803 playerVars: { 4804 playsinline: FLBuilderLayout._isMobile() ? 1 : 0, 4805 controls: 0, 4806 showinfo: 0, 4807 rel : 0, 4808 start: startTime, 4809 end: endTime, 4810 } 4811 } ); 4812 }, 1 ); 4813 } ); 4814 } 4815 }, 4816 4817 /** 4818 * On youtube or vimeo error show the fallback image if available. 4819 * @since 2.0.7 4820 */ 4821 _onErrorYoutubeVimeo: function(playerWrap) { 4822 4823 fallback = playerWrap.data('fallback') || false 4824 if( ! fallback ) { 4825 return false; 4826 } 4827 playerWrap.find('iframe').remove() 4828 fallbackTag = $( '<div></div>' ); 4829 fallbackTag.addClass( 'fl-bg-video-fallback' ); 4830 fallbackTag.css( 'background-image', 'url(' + playerWrap.data('fallback') + ')' ); 4831 playerWrap.append( fallbackTag ); 4832 }, 4833 4834 /** 4835 * Check if Youtube API has been downloaded 4836 * 4837 * @since 1.9 4838 * @access private 4839 * @method _onYoutubeApiReady 4840 * @param {Function} callback Method to call when YT API has been loaded 4841 */ 4842 _onYoutubeApiReady: function( callback ) { 4843 if ( window.YT && YT.loaded ) { 4844 callback( YT ); 4845 } else { 4846 // If not ready check again by timeout.. 4847 setTimeout( function() { 4848 FLBuilderLayout._onYoutubeApiReady( callback ); 4849 }, 350 ); 4850 } 4851 }, 4852 4853 /** 4854 * Initializes Vimeo video background 4855 * 4856 * @since 1.9 4857 * @access private 4858 * @method _initVimeoBgVideo 4859 */ 4860 _initVimeoBgVideo: function() 4861 { 4862 var playerWrap = $(this), 4863 videoId = playerWrap.data('video-id'), 4864 videoHash = playerWrap.data('video-hash'), 4865 videoPlayer = playerWrap.find('.fl-bg-video-player'), 4866 enableAudio = playerWrap.data('enable-audio'), 4867 audioButton = playerWrap.find('.fl-bg-video-audio'), 4868 playPauseButton = playerWrap.find('.fl-bg-video-play-pause-control'), 4869 playerState = '', 4870 player, 4871 width = playerWrap.outerWidth(), 4872 ua = navigator.userAgent; 4873 4874 if ( typeof Vimeo !== 'undefined' && videoId ) { 4875 4876 const vimOptions = { 4877 loop : true, 4878 title : false, 4879 portrait : false, 4880 background : true, 4881 autopause : false, 4882 muted : true, 4883 }; 4884 4885 if ( videoHash.length ) { 4886 vimOptions.url = `https://player.vimeo.com/video/${ videoId }?h=${ videoHash }`; 4887 } else { 4888 vimOptions.id = videoId; 4889 } 4890 4891 player = new Vimeo.Player(videoPlayer[0], vimOptions ); 4892 playerWrap.data('VMPlayer', player); 4893 if ( "no" === enableAudio ) { 4894 player.setVolume(0); 4895 } 4896 else if ("yes" === enableAudio ) { 4897 // Chrome, Safari, Firefox have audio policy restrictions for autoplay videos. 4898 if ( ua.indexOf("Safari") > -1 || ua.indexOf("Chrome") > -1 || ua.indexOf("Firefox") > -1 ) { 4899 player.setVolume(0); 4900 audioButton.show(); 4901 } 4902 else { 4903 player.setVolume(1); 4904 } 4905 } 4906 4907 player.play().catch(function(error) { 4908 FLBuilderLayout._onErrorYoutubeVimeo(playerWrap) 4909 }); 4910 4911 if ( audioButton.length > 0 ) {
4912 audioButton.on( 'click', {button: audioButton, player: player}, FLBuilderLayout._toggleBgVideoAudio ); 4913 } 4914 4915 player.on( 'play', function() { 4916 playerState = 'play'; 4917 playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' ); 4918 } ); 4919 player.on( 'pause', function() { 4920 playerState = 'pause'; 4921 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4922 } ); 4923 player.on( 'ended', function() { 4924 playerState = 'ended'; 4925 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4926 } ); 4927 player.on( 'bufferstart', function() { 4928 playerState = 'bufferstart'; 4929 playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' ); 4930 } ); 4931 4932 if ( playPauseButton.length > 0 ) { 4933 playPauseButton.on( 'click', { player: player }, function( e ) { 4934 var player = e.data.player; 4935 4936 if ( playerState === 'play' ) { 4937 player.pause(); 4938 } else { 4939 player.play(); 4940 } 4941 } ); 4942 } 4943 } 4944 }, 4945 4946 /** 4947 * Mute / unmute audio on row's video background. 4948 * It works for both Youtube and Vimeo. 4949 * 4950 * @since 2.1.3 4951 * @access private 4952 * @method _toggleBgVideoAudio 4953 * @param {Object} e Method arguments 4954 */ 4955 _toggleBgVideoAudio: function( e ) { 4956 var player = e.data.player, 4957 control = e.data.button.find('.fl-audio-control'); 4958 4959 if ( control.hasClass( 'fa-volume-off' ) ) { 4960 // Unmute 4961 control 4962 .removeClass( 'fa-volume-off' ) 4963 .addClass( 'fa-volume-up' ); 4964 e.data.button.find( '.fa-times' ).hide(); 4965 4966 if ( 'function' === typeof player.unMute ) { 4967 player.unMute(); 4968 } 4969 else { 4970 player.setVolume( 1 ); 4971 } 4972 } 4973 else { 4974 // Mute 4975 control 4976 .removeClass( 'fa-volume-up' ) 4977 .addClass( 'fa-volume-off' ); 4978 e.data.button.find( '.fa-times' ).show(); 4979 4980 if ( 'function' === typeof player.unMute ) { 4981 player.mute(); 4982 } 4983 else { 4984 player.setVolume( 0 ); 4985 } 4986 } 4987 }, 4988 4989 /** 4990 * Fires when there is an error loading a video 4991 * background source and shows the fallback. 4992 * 4993 * @since 1.6.3.3 4994 * @access private 4995 * @method _videoBgSourceError 4996 * @param {Object} e An event object 4997 * @deprecated 2.0.3 4998 */ 4999 _videoBgSourceError: function( e ) 5000 { 5001 var source = $( e.target ), 5002 wrap = source.closest( '.fl-bg-video' ), 5003 vid = wrap.find( 'video' ), 5004 fallback = wrap.data( 'fallback' ), 5005 fallbackTag = ''; 5006 source.remove(); 5007 5008 if ( vid.find( 'source' ).length ) { 5009 // Don't show the fallback if we still have other sources to check. 5010 return; 5011 } else if ( '' !== fallback ) { 5012 fallbackTag = $( '<div></div>' ); 5013 fallbackTag.addClass( 'fl-bg-video-fallback' ); 5014 fallbackTag.css( 'background-image', 'url(' + fallback + ')' ); 5015 wrap.append( fallbackTag ); 5016 vid.remove(); 5017 } 5018 }, 5019 5020 /** 5021 * Fires when the window is resized to resize 5022 * all video backgrounds. 5023 * 5024 * @since 1.1.4 5025 * @access private 5026 * @method _resizeBgVideos 5027 */ 5028 _resizeBgVideos: function() 5029 { 5030 $('.fl-bg-video').each( function() { 5031 5032 FLBuilderLayout._resizeBgVideo.apply( this ); 5033 5034 if ( $( this ).parent().find( 'img' ).length > 0 ) { 5035 $( this ).parent().imagesLoaded( $.proxy( FLBuilderLayout._resizeBgVideo, this ) ); 5036 } 5037 } ); 5038 }, 5039 5040 /** 5041 * Fires when the window is resized to resize 5042 * a single video background. 5043 * 5044 * @since 1.1.4 5045 * @access private 5046 * @method _resizeBgVideo 5047 */ 5048 _resizeBgVideo: function() 5049 { 5050 if ( 0 === $( this ).find( 'video' ).length && 0 === $( this ).find( 'iframe' ).length ) { 5051 return; 5052 } 5053 5054 var wrap = $(this), 5055 wrapHeight = wrap.outerHeight(), 5056 wrapWidth = wrap.outerWidth(), 5057 vid = wrap.find('video'), 5058 vidHeight = wrap.data('height'), 5059 vidWidth = wrap.data('width'), 5060 newWidth = wrapWidth, 5061 newHeight = Math.round(vidHeight * wrapWidth/vidWidth), 5062 newLeft = 0, 5063 newTop = 0, 5064 iframe = wrap.find('iframe'), 5065 isRowFullHeight = $(this).closest('.fl-row-bg-video').hasClass('fl-row-full-height'), 5066 vidCSS = { 5067 top: '50%', 5068 left: '50%', 5069 transform: 'translate(-50%,-50%)', 5070 }; 5071 5072 if ( vid.length ) { 5073 if(vidHeight === '' || typeof vidHeight === 'undefined' || vidWidth === '' || typeof vidWidth === 'undefined') { 5074 vid.css({ 5075 'left' : '0px', 5076 'top' : '0px', 5077 'width' : newWidth + 'px' 5078 }); 5079 5080 // Try to set the actual video dimension on 'loadedmetadata' when using URL as video source 5081 vid.on('loadedmetadata', FLBuilderLayout._resizeOnLoadedMeta); 5082 5083 return; 5084 } 5085 5086 if ( ! isRowFullHeight ) { 5087 if ( newHeight < wrapHeight ) { 5088 newHeight = wrapHeight; 5089 newWidth = vidHeight ? Math.round(vidWidth * wrapHeight/vidHeight) : newWidth; 5090 newLeft = -((newWidth - wrapWidth) / 2); 5091 } 5092 else { 5093 newTop = -((newHeight - wrapHeight)/2); 5094 } 5095 vidCSS = { 5096 left : newLeft + 'px', 5097 top : newTop + 'px', 5098 height : newHeight + 'px', 5099 width : newWidth + 'px', 5100 } 5101 } 5102 5103 vid.css( vidCSS ); 5104 5105 } 5106 else if ( iframe.length ) { 5107 5108 // Resize Youtube video player within iframe tag 5109 if ( typeof wrap.data('youtube') !== 'undefined' ) { 5110 FLBuilderLayout._resizeYoutubeBgVideo.apply(this); 5111 } 5112 } 5113 }, 5114 5115 /** 5116 * Fires when video meta has been loaded. 5117 * This will be Triggered when width/height attributes were not specified during video background resizing. 5118 * 5119 * @since 1.8.5 5120 * @access private 5121 * @method _resizeOnLoadedMeta 5122 */ 5123 _resizeOnLoadedMeta: function(){ 5124 var video = $(this), 5125 wrapHeight = video.parent().outerHeight(), 5126 wrapWidth = video.parent().outerWidth(), 5127 vidWidth = video[0].videoWidth, 5128 vidHeight = video[0].videoHeight, 5129 newHeight = Math.round(vidHeight * wrapWidth/vidWidth), 5130 newWidth = wrapWidth, 5131 newLeft = 0, 5132 newTop = 0; 5133 5134 if(newHeight < wrapHeight) { 5135 newHeight = wrapHeight; 5136 newWidth = Math.round(vidWidth * wrapHeight/vidHeight); 5137 newLeft = -((newWidth - wrapWidth)/2); 5138 } 5139 else { 5140 newTop = -((newHeight - wrapHeight)/2); 5141 } 5142 5143 video.parent().data('width', vidWidth); 5144 video.parent().data('height', vidHeight); 5145 5146 video.css({ 5147 'left' : newLeft + 'px', 5148 'top' : newTop + 'px', 5149 'width' : newWidth + 'px', 5150 'height' : newHeight + 'px' 5151 }); 5152 }, 5153 5154 /** 5155 * Fires when the window is resized to resize 5156 * a single Youtube video background. 5157 * 5158 * @since 1.9 5159 * @access private 5160 * @method _resizeYoutubeBgVideo 5161 */ 5162 _resizeYoutubeBgVideo: function() 5163 { 5164 var wrap = $(this), 5165 wrapWidth = wrap.outerWidth(), 5166 wrapHeight = wrap.outerHeight(), 5167 player = wrap.data('YTPlayer'), 5168 video = player ? player.getIframe() : null, 5169 aspectRatioSetting = '16:9', // Medium 5170 aspectRatioArray = aspectRatioSetting.split( ':' ),
5171 aspectRatio = aspectRatioArray[0] / aspectRatioArray[1], 5172 ratioWidth = wrapWidth / aspectRatio, 5173 ratioHeight = wrapHeight * aspectRatio, 5174 isWidthFixed = wrapWidth / wrapHeight > aspectRatio, 5175 width = isWidthFixed ? wrapWidth : ratioHeight, 5176 height = isWidthFixed ? ratioWidth : wrapHeight; 5177 5178 if ( video ) { 5179 $(video).width( width ).height( height ); 5180 } 5181 }, 5182 5183 /** 5184 * Opens a tab or accordion item if the browser hash is set 5185 * to the ID of one on the page. 5186 * 5187 * @since 1.6.0 5188 * @access private 5189 * @method _initHash 5190 */ 5191 _initHash: function() 5192 { 5193 var hash = window.location.hash.replace( '#', '' ).split( '/' ).shift(), 5194 element = null, 5195 tabs = null, 5196 responsiveLabel = null, 5197 tabIndex = null, 5198 label = null; 5199 5200 if ( '' !== hash ) { 5201 5202 try { 5203 5204 element = $( '#' + hash ); 5205 5206 if ( element.length > 0 ) { 5207 5208 if ( element.hasClass( 'fl-accordion-item' ) ) { 5209 setTimeout( function() { 5210 element.find( '.fl-accordion-button' ).trigger( 'click' ); 5211 }, 100 ); 5212 } 5213 if ( element.hasClass( 'fl-tabs-panel' ) ) { 5214 setTimeout( function() { 5215 tabs = element.closest( '.fl-tabs' ); 5216 responsiveLabel = element.find( '.fl-tabs-panel-label' ); 5217 tabIndex = responsiveLabel.data( 'index' ); 5218 label = tabs.find( '.fl-tabs-labels .fl-tabs-label[data-index=' + tabIndex + ']' ); 5219 5220 label[0].click(); 5221 FLBuilderLayout._scrollToElement(element); 5222 }, 100 ); 5223 } 5224 } 5225 } 5226 catch( e ) {} 5227 } 5228 }, 5229 5230 /** 5231 * Adds a visually-hidden "(opens in new tab)" notice to links 5232 * inside a builder layout that target a new tab, and removes it 5233 * from ones that don't. Runs on the live DOM only, across every 5234 * module, so the notice is never part of any saved content. Covers 5235 * both real anchors (`target` attribute) and non-anchor elements 5236 * like the Box module's `role="link"` div, which carries the same 5237 * intent via a `data-link-target` attribute instead. 5238 * 5239 * @since 2.12 5240 * @access private 5241 * @method _initLinkNotices 5242 */ 5243 _initLinkNotices: function() 5244 { 5245 $( '.fl-builder-content a[target], .fl-builder-content [role="link"][data-link-target]' ).each( function() { 5246 var link = $( this ), 5247 notice = link.children( 'span.fl-new-tab-notice' ), 5248 target = link.attr( 'target' ) || link.attr( 'data-link-target' ); 5249 5250 if ( '_blank' === target ) { 5251 if ( 0 === notice.length ) { 5252 link.append( '<span class="fl-new-tab-notice sr-only">' + FLBuilderLayoutConfig.i18n.opensInNewTab + '</span>' ); 5253 } 5254 } else if ( notice.length > 0 ) { 5255 notice.remove(); 5256 } 5257 }); 5258 }, 5259 5260 /** 5261 * Initializes all anchor links on the page for smooth scrolling. 5262 * 5263 * @since 1.4.9 5264 * @access private 5265 * @method _initAnchorLinks 5266 */ 5267 _initAnchorLinks: function() 5268 { 5269 $( 'a, [role="link"]' ).each( FLBuilderLayout._initAnchorLink ); 5270 }, 5271 5272 /** 5273 * Initializes a single anchor link for smooth scrolling. 5274 * 5275 * @since 1.4.9 5276 * @access private 5277 * @method _initAnchorLink 5278 */ 5279 _initAnchorLink: function() 5280 { 5281 var link = $( this ), 5282 href = link.data( 'url' ) ? link.data( 'url' ) : link.attr( 'href' ), 5283 target = link.data( 'url' ) ? new URL( href, window.location.href ) : this, 5284 loc = window.location, 5285 id = null, 5286 element = null, 5287 flNode = false; 5288 5289 if ( 'undefined' != typeof href && href.indexOf( '#' ) > -1 && link.closest('svg').length < 1 ) { 5290 5291 if ( loc.pathname.replace( /^\//, '' ) == target.pathname.replace( /^\//, '' ) && loc.hostname == target.hostname ) { 5292 5293 try { 5294 5295 id = href.split( '#' ).pop(); 5296 // If there is no ID then we have nowhere to look 5297 // Fixes a quirk in jQuery and FireFox 5298 if( ! id ) { 5299 return; 5300 } 5301 element = $( '#' + id ); 5302 5303 if ( element.length > 0 ) { 5304 flNode = element.hasClass( 'fl-row' ) || element.hasClass( 'fl-col' ) || element.hasClass( 'fl-module' ); 5305 if ( !element.hasClass( 'fl-no-scroll' ) && ( link.hasClass( 'fl-scroll-link' ) || flNode ) ) { 5306 $( link ).on( 'click', FLBuilderLayout._scrollToElementOnLinkClick ); 5307 } 5308 if ( element.hasClass( 'fl-accordion-item' ) ) { 5309 $( link ).on( 'click', FLBuilderLayout._scrollToAccordionOnLinkClick ); 5310 } 5311 if ( element.hasClass( 'fl-tabs-panel' ) ) { 5312 $( link ).on( 'click', FLBuilderLayout._scrollToTabOnLinkClick ); 5313 } 5314 } 5315 } 5316 catch( e ) {} 5317 } 5318 } 5319 }, 5320 5321 /** 5322 * Scrolls to an element when an anchor link is clicked. 5323 * 5324 * @since 1.4.9 5325 * @access private 5326 * @method _scrollToElementOnLinkClick 5327 * @param {Object} e An event object. 5328 * @param {Function} callback A function to call when the scroll is complete. 5329 */ 5330 _scrollToElementOnLinkClick: function( e, callback ) 5331 { 5332 var attribute = $( this ).data( 'url' ) ? $( this ).data( 'url' ) : $( this ).attr( 'href' ); 5333 var element = $( '#' + attribute.split( '#' ).pop() ); 5334 5335 FLBuilderLayout._scrollToElement( element, callback ); 5336 5337 e.preventDefault(); 5338 }, 5339 5340 /** 5341 * Scrolls to an element. 5342 * 5343 * @since 1.6.4.5 5344 * @access private 5345 * @method _scrollToElement 5346 * @param {Object} element The element to scroll to. 5347 * @param {Function} callback A function to call when the scroll is complete. 5348 */ 5349 _scrollToElement: function( element, callback ) 5350 { 5351 var config = FLBuilderLayoutConfig.anchorLinkAnimations, 5352 dest = 0, 5353 win = $( window ), 5354 doc = $( document ); 5355 5356 if ( element.length > 0 ) { 5357 5358 if ( 'fixed' === element.css('position') || 'fixed' === element.parent().css('position') ) { 5359 dest = element.position().top; 5360 } 5361 else if ( element.offset().top > doc.height() - win.height() ) { 5362 dest = doc.height() - win.height(); 5363 } 5364 else { 5365 dest = element.offset().top - config.offset; 5366 } 5367 5368 $( 'html, body' ).stop( true ).animate( { scrollTop: dest }, config.duration, config.easing, function() { 5369 5370 if ( 'undefined' != typeof callback ) { 5371 callback(); 5372 } 5373 5374 if ( undefined != element.attr( 'id' ) && window.location.hash !== '#' + element.attr( 'id' ) ) { 5375 5376 var firefox_version = window.navigator.userAgent.match( /Firefox\/(\d+)\./ ), 5377 firefox_version = firefox_version ? parseInt( firefox_version[1], 10 ) : null; 5378 5379 if ( firefox_version !== null && firefox_version < 135 ) { 5380 window.location.hash = element.attr( 'id' ); 5381 } else { 5382 if ( history.pushState ) { 5383 history.pushState( null, null, '#' + element.attr( 'id' ) ); 5384 } else { 5385 window.location.hash = element.attr( 'id' ); 5386 } 5387 } 5388 } 5389 } ); 5390 } 5391 }, 5392 5393 /** 5394 * Scrolls to an accordion item when a link is clicked. 5395 * 5396 * @since 1.5.9 5397 * @access private 5398 * @method _scrollToAccordionOnLinkClick 5399 * @param {Object} e An event object. 5400 */ 5401 _scrollToAccordionOnLinkClick: function( e ) 5402 { 5403 var element = $( '#' + $( this ).attr( 'href' ).split( '#' ).pop() ); 5404 5405 if ( element.length > 0 ) { 5406 5407 var callback = function() { 5408 if ( element ) { 5409 element.find( '.fl-accordion-button' ).trigger( 'click' ); 5410 element = false;
5411 } 5412 }; 5413 5414 FLBuilderLayout._scrollToElementOnLinkClick.call( this, e, callback ); 5415 } 5416 }, 5417 5418 /** 5419 * Scrolls to a tab panel when a link is clicked. 5420 * 5421 * @since 1.5.9 5422 * @access private 5423 * @method _scrollToTabOnLinkClick 5424 * @param {Object} e An event object. 5425 */ 5426 _scrollToTabOnLinkClick: function( e ) 5427 { 5428 var element = $( '#' + $( this ).attr( 'href' ).split( '#' ).pop() ), 5429 tabs = null, 5430 label = null, 5431 responsiveLabel = null; 5432 5433 if ( element.length > 0 ) { 5434 5435 tabs = element.closest( '.fl-tabs' ); 5436 responsiveLabel = element.find( '.fl-tabs-panel-label' ); 5437 tabIndex = responsiveLabel.data( 'index' ); 5438 label = tabs.find( '.fl-tabs-labels .fl-tabs-label[data-index=' + tabIndex + ']' ); 5439 5440 if ( responsiveLabel.is( ':visible' ) ) { 5441 5442 var callback = function() { 5443 if ( element ) { 5444 responsiveLabel.trigger( $.Event( 'click', { which: 1 } ) ); 5445 } 5446 }; 5447 5448 FLBuilderLayout._scrollToElementOnLinkClick.call( this, e, callback ); 5449 } 5450 else { 5451 label[0].click(); 5452 FLBuilderLayout._scrollToElement( element ); 5453 } 5454 5455 e.preventDefault(); 5456 } 5457 }, 5458 5459 /** 5460 * Initializes all builder forms on a page. 5461 * 5462 * @since 1.5.4 5463 * @access private 5464 * @method _initForms 5465 */ 5466 _initForms: function() 5467 { 5468 if ( ! FLBuilderLayout._hasPlaceholderSupport ) { 5469 $( '.fl-form-field input' ).each( FLBuilderLayout._initFormFieldPlaceholderFallback ); 5470 } 5471 5472 $( '.fl-form-field input' ).on( 'focus', FLBuilderLayout._clearFormFieldError ); 5473 }, 5474 5475 /** 5476 * Checks to see if the current device has HTML5 5477 * placeholder support. 5478 * 5479 * @since 1.5.4 5480 * @access private 5481 * @method _hasPlaceholderSupport 5482 * @return {Boolean} 5483 */ 5484 _hasPlaceholderSupport: function() 5485 { 5486 var input = document.createElement( 'input' ); 5487 5488 return 'undefined' != input.placeholder; 5489 }, 5490 5491 /** 5492 * Initializes the fallback for when placeholders aren't supported. 5493 * 5494 * @since 1.5.4 5495 * @access private 5496 * @method _initFormFieldPlaceholderFallback 5497 */ 5498 _initFormFieldPlaceholderFallback: function() 5499 { 5500 var field = $( this ), 5501 val = field.val(), 5502 placeholder = field.attr( 'placeholder' ); 5503 5504 if ( 'undefined' != placeholder && '' === val ) { 5505 field.val( placeholder ); 5506 field.on( 'focus', FLBuilderLayout._hideFormFieldPlaceholderFallback ); 5507 field.on( 'blur', FLBuilderLayout._showFormFieldPlaceholderFallback ); 5508 } 5509 }, 5510 5511 /** 5512 * Hides a fallback placeholder on focus. 5513 * 5514 * @since 1.5.4 5515 * @access private 5516 * @method _hideFormFieldPlaceholderFallback 5517 */ 5518 _hideFormFieldPlaceholderFallback: function() 5519 { 5520 var field = $( this ), 5521 val = field.val(), 5522 placeholder = field.attr( 'placeholder' ); 5523 5524 if ( val == placeholder ) { 5525 field.val( '' ); 5526 } 5527 }, 5528 5529 /** 5530 * Shows a fallback placeholder on blur. 5531 * 5532 * @since 1.5.4 5533 * @access private 5534 * @method _showFormFieldPlaceholderFallback 5535 */ 5536 _showFormFieldPlaceholderFallback: function() 5537 { 5538 var field = $( this ), 5539 val = field.val(), 5540 placeholder = field.attr( 'placeholder' ); 5541 5542 if ( '' === val ) { 5543 field.val( placeholder ); 5544 } 5545 }, 5546 5547 /** 5548 * Clears a form field error message. 5549 * 5550 * @since 1.5.4 5551 * @access private 5552 * @method _clearFormFieldError 5553 */ 5554 _clearFormFieldError: function() 5555 { 5556 var field = $( this ); 5557 5558 field.removeAttr( 'aria-invalid' ); 5559 field.removeClass( 'fl-form-error' ); 5560 const message = field.attr('aria-describedby'); 5561 message ? $( '#' + message ).hide() : field.siblings( '.fl-form-error-message' ).hide(); 5562 }, 5563 5564 /** 5565 * Init Row Shape Layer's height. 5566 * 5567 * @since 2.5.3 5568 * @access private 5569 * @method _initRowShapeLayerHeight 5570 */ 5571 _initRowShapeLayerHeight: function () { 5572 FLBuilderLayout._adjustRowShapeLayerHeight(); 5573 $( window ).on( 'resize', FLBuilderLayout._adjustRowShapeLayerHeight ); 5574 }, 5575 5576 /** 5577 * Set parent column width of nested columns when it's zero or blank. 5578 * 5579 * @since 2.7.4 5580 * @access private 5581 * @method _initNestedColsWidth 5582 */ 5583 _initNestedColsWidth: function() 5584 { 5585 var nestedCols = $( '.fl-col-has-cols' ); 5586 5587 if ( nestedCols.length <= 0 ) { 5588 return; 5589 } 5590 5591 $( nestedCols ).each( function(index, col ){ 5592 if ( $( col ).width() <= 0 ) { 5593 $( col ).css( 'width', FLBuilderLayoutConfig.emptyColWidth ); 5594 } 5595 }); 5596 }, 5597 5598 /** 5599 * Adjust Row Shape Layer's height to fix to remove the fine line that appears on certain screen sizes. 5600 * 5601 * @since 2.5.3 5602 * @access private 5603 * @method _adjustRowShapeLayerHeight 5604 */
5605 _adjustRowShapeLayerHeight: function() { 5606 var rowShapeLayers = $('.fl-builder-shape-layer'); 5607 5608 $( rowShapeLayers ).each(function (index) { 5609 var rowShapeLayer = $(this), 5610 shape = $(rowShapeLayer).find('svg'), 5611 height = shape.height(), 5612 excludeShapes = '.fl-builder-shape-circle, .fl-builder-shape-dot-cluster, .fl-builder-shape-topography, .fl-builder-shape-rect'; 5613 5614 if ( ! rowShapeLayer.is( excludeShapes ) ) { 5615 $(shape).css('height', Math.ceil( height ) ); 5616 } 5617 }); 5618 }, 5619 _string_to_slug: function( str ) { 5620 str = str.replace(/^\s+|\s+$/g, ''); // trim 5621 if ( 'undefined' == typeof window._fl_string_to_slug_regex ) { 5622 regex = new RegExp('[^a-zA-Z0-9\'":() !.,-_|]', 'g'); 5623 } else { 5624 regex = new RegExp('[^' + window._fl_string_to_slug_regex + '\'":\(\) !.,-_|\\\p{Letter}]', 'ug'); 5625 } 5626 str = str.replace(regex, '') // remove invalid chars 5627 .replace(/\s+/g, ' '); // collapse whitespace and replace by a space 5628 return str; 5629 }, 5630 _reorderMenu: function() { 5631 if ( $('#wp-admin-bar-fl-builder-frontend-edit-link-default li').length > 1 ) { 5632 $( '#wp-admin-bar-fl-builder-frontend-duplicate-link' ) 5633 .appendTo('#wp-admin-bar-fl-builder-frontend-edit-link-default') 5634 .css( 'padding-top', '5px' ) 5635 .css( 'border-top', '2px solid #1D2125' ) 5636 .css( 'margin-top', '5px' ) 5637 } 5638 } 5639 }; 5640 5641 /* Initializes the builder layout. */ 5642 $(function(){ 5643 FLBuilderLayout.init(); 5644 }); 5645 5646})(jQuery); 5647(function($){ 5648 5649 if(typeof FLBuilderLayoutModules !== 'undefined') { 5650 return; 5651 } 5652 5653 /** 5654 * Helper class with generic logic for builder modules. 5655 * If generic module code needs to work in both the block 5656 * editor and builder, it should go here. Otherwise, it 5657 * should go on FLBuilderLayout. 5658 * 5659 * @since 2.9 5660 */ 5661 FLBuilderLayoutModules = { 5662 5663 /** 5664 * Initializes builder module logic. 5665 * 5666 * @since 2.9 5667 * @method init 5668 */ 5669 init: function() 5670 { 5671 // Only init if the builder isn't active. 5672 if ( 0 === $('.fl-builder-edit').length ) { 5673 5674 // Init module animations. 5675 FLBuilderLayoutModules._initModuleAnimations(); 5676 } 5677 }, 5678 5679 /** 5680 * Initializes module animations. 5681 * 5682 * @since 1.1.9 5683 * @access private 5684 * @method _initModuleAnimations 5685 */ 5686 _initModuleAnimations: function() 5687 { 5688 if(typeof jQuery.fn.waypoint !== 'undefined') { 5689 $('.fl-animation').each( function() { 5690 var node = $( this ), 5691 nodeTop = node.offset().top, 5692 winHeight = $( window ).height(), 5693 bodyHeight = $( 'body' ).height(), 5694 waypoint = FLBuilderLayoutConfig.waypoint, 5695 offset = '80%'; 5696 5697 if ( typeof waypoint.offset !== undefined ) { 5698 offset = FLBuilderLayoutConfig.waypoint.offset + '%'; 5699 } 5700 5701 if ( bodyHeight - nodeTop < winHeight * 0.2 ) { 5702 offset = '100%'; 5703 } 5704 5705 node.waypoint({ 5706 offset: offset, 5707 handler: FLBuilderLayoutModules._doModuleAnimation 5708 }); 5709 } ); 5710 } 5711 }, 5712 5713 /** 5714 * Runs a module animation. 5715 * 5716 * @since 1.1.9 5717 * @access private 5718 * @method _doModuleAnimation 5719 */ 5720 _doModuleAnimation: function() 5721 { 5722 var module = 'undefined' == typeof this.element ? $(this) : $(this.element), 5723 delay = parseFloat(module.data('animation-delay')), 5724 duration = parseFloat(module.data('animation-duration')); 5725 5726 if ( ! isNaN( duration ) ) { 5727 module.css( 'animation-duration', duration + 's' ); 5728 } 5729 5730 if(!isNaN(delay) && delay > 0) { 5731 setTimeout(function(){ 5732 module.addClass('fl-animated'); 5733 }, delay * 1000); 5734 } else { 5735 setTimeout(function(){ 5736 module.addClass('fl-animated'); 5737 }, 1); 5738 } 5739 } 5740 }; 5741 5742 /* Initializes builder module logic. */ 5743 $(function(){ 5744 FLBuilderLayoutModules.init(); 5745 }); 5746 5747})(jQuery); 5748 5749/* Start Global JS */ 5750 5751/* End Global JS */ 5752 5753 5754/* Start Global Node Custom JS */ 5755 5756/* End Global Node Custom JS */ 5757 5758 5759/* Start Layout Custom JS */ 5760 5761/* End Layout Custom JS */ 5762 5763 5764; 5765(function($){ 5766 BBAlert = function (settings) { 5767 5768 this.settings = settings; 5769 this.node = settings.id; 5770 this.duration = settings.duration; 5771 5772 var cookie_name = 'bbba-'+this.node; 5773 5774 5775 if ( Cookies.get(cookie_name)== '1') 5776 { 5777 var element = '.fl-node-'+this.node+' .bb-bootstrap-alerts'; 5778 jQuery(element).hide(); 5779 } 5780 var alert= this; 5781 var selector='.fl-node-'+this.node+' .close'; 5782 jQuery(selector).click(function(){ 5783 alert._setCookie(); 5784 }); 5785 }; 5786 5787 BBAlert.prototype = { 5788 settings : {}, 5789 node : '', 5790 duration : '', 5791 5792 _setCookie: function() { 5793 $this = this; 5794 var $cookie_duration = Math.round($this.duration); 5795 var $cookie_name = 'bbba-'+$this.node; 5796 Cookies.set($cookie_name,'1',{ expires: $cookie_duration }); 5797 } 5798 }; 5799 5800})(jQuery);(function($) { 5801jQuery(document).ready(function(){ 5802 5803 5804 5805 new BBAlert({ 5806 id:'nm0ud8ypz5o6', 5807 duration: 0, 5808 }); 5809 5810 }); 5811})(jQuery); 5812/* Start Layout Custom JS */ 5813 5814/* End Layout Custom JS */ 5815 5816 5817;/* eslint-disable no-undef */ 5818(function($) { 5819 5820 /** 5821 * Class for Menu Module 5822 * 5823 * @since 1.6.1 5824 */ 5825 FLBuilderMenu = function( settings ){ 5826 5827 // set params 5828 this.nodeId = settings.id; 5829 this.nodeClass = '.fl-node-' + settings.id; 5830 this.wrapperClass = this.nodeClass + ' .fl-menu'; 5831 this.type = settings.type; 5832 this.mobileToggle = settings.mobile; 5833 this.mobileBelowRow = settings.mobileBelowRow; 5834 this.mobileFlyout = settings.mobileFlyout; 5835 this.breakPoints = settings.breakPoints; 5836 this.mobileBreakpoint = settings.mobileBreakpoint; 5837 this.currentBrowserWidth = $( window ).width(); 5838 this.postId = settings.postId; 5839 this.mobileStacked = settings.mobileStacked; 5840 this.submenuIcon = settings.submenuIcon; 5841 this.flyoutWidth = settings.flyoutWidth; 5842 5843 // initialize the menu 5844 this._initMenu(); 5845 5846 // check if viewport is resizing 5847 $( window ).on( 'resize', $.proxy( function() { 5848 5849 var width = $( window ).width(); 5850 5851 // if screen width is resized, reload the menu 5852 if( width != this.currentBrowserWidth ){ 5853 5854 this.currentBrowserWidth = width; 5855 this._initMenu( true ); 5856 this._clickOrHover( true ); 5857 } 5858 5859 this._resizeFlyoutMenuPanel(); 5860 }, this ) ); 5861 5862 $( window ).on( 'scroll', $.proxy( function() { 5863 this._resizeFlyoutMenuPanel(); 5864 }, this ) ); 5865 5866 // Move focus to the first menu item if the layout is set to BelowRow 5867 $( this.wrapperClass ).on( 'keydown', '.fl-menu-mobile-toggle, .menu-item:first a:first', $.proxy( function ( event ) { 5868 // Make sure it is a tab key with both the menu toggle enabled & below row layout set 5869 if ( event.key !== 'Tab' || ! this._isMenuToggle() || ! this._isMobileBelowRowEnabled() ) { 5870 return; 5871 } 5872 // Trigger focus on the mobile toggle button if the user is shift tabbing from the first menu item 5873 if ( event.shiftKey && $( event.currentTarget ).is( 'a' ) ) { 5874 event.preventDefault(); 5875 $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ).trigger( 'focus' ); 5876 } 5877 // Trigger focus on the first menu item if the user is tabbing from the mobile toggle button 5878 else if ( ! event.shiftKey && $( event.currentTarget ).hasClass( 'fl-menu-mobile-toggle' ) && $( event.currentTarget ).hasClass( 'fl-active' ) ) { 5879 event.preventDefault(); 5880 $( this.wrapperClass ).find( '.menu-item' ).first().find( 'a' ).first().trigger( 'focus' ); 5881 } 5882 }, this ) ); 5883 5884 // Close mobile menu or accordion when tabbing out from the first or last menu item 5885 $( this.wrapperClass ).on( 'focusout', $.proxy( function ( event ) { 5886 if ( $( this.wrapperClass + ' nav' ).has( $( event.relatedTarget ) ).length === 0 ) { 5887 if ( this.type === 'accordion' ) { 5888 this._toggleSubmenu( $( event.target ).parents( '.fl-has-submenu' ).last(), false ); 5889 } 5890 else { 5891 this._clickOrHover( true ); 5892 } 5893 const mobileToggle = $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ); 5894 if ( this._isMenuToggle() && mobileToggle.hasClass( 'fl-active' ) && ! $( event.relatedTarget ).is( mobileToggle ) && 'expanded' !== this.mobileToggle ) { 5895 mobileToggle.trigger( 'click' ); 5896 } 5897 } 5898 }, this ) ); 5899 5900 }; 5901 5902 FLBuilderMenu.prototype = { 5903 nodeClass : '', 5904 wrapperClass: '', 5905 type : '', 5906 breakPoints : {}, 5907 $submenus : null, 5908 5909 /** 5910 * Check if the screen size fits a mobile viewport. 5911 * 5912 * @since 1.6.1 5913 * @return bool 5914 */ 5915 _isMobile: function(){ 5916 return this.currentBrowserWidth <= this.breakPoints.small ? true : false;
5917 }, 5918 5919 /** 5920 * Check if the device is connected to a mouse. 5921 * 5922 * @since 2.9.0 5923 * @return bool 5924 */ 5925 _isMouseAvailable: function(){ 5926 return window.matchMedia("(pointer: fine) and (hover: hover)").matches; 5927 }, 5928 5929 /** 5930 * Check if the screen size fits a medium viewport. 5931 * 5932 * @since 1.10.5 5933 * @return bool 5934 */ 5935 _isMedium: function(){ 5936 return this.currentBrowserWidth <= this.breakPoints.medium ? true : false; 5937 }, 5938 5939 /** 5940 * Check if the screen size fits a large viewport. 5941 * 5942 * @since 1.10.5 5943 * @return bool 5944 */ 5945 _isLarge: function(){ 5946 return this.currentBrowserWidth <= this.breakPoints.large ? true : false; 5947 }, 5948 5949 /** 5950 * Check if the menu should toggle for the current viewport base on the selected breakpoint. 5951 * 5952 * @see this._isMobile() 5953 * @see this._isMedium() 5954 * @since 1.10.5 5955 * @return bool 5956 */ 5957 _isMenuToggle: function(){ 5958 if ( ( 'always' == this.mobileBreakpoint 5959 || ( this._isMobile() && 'mobile' == this.mobileBreakpoint ) 5960 || ( this._isMedium() && 'medium-mobile' == this.mobileBreakpoint ) 5961 || ( this._isLarge() && 'large-mobile' == this.mobileBreakpoint ) 5962 ) && ( $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ).is(':visible') || 'expanded' == this.mobileToggle ) ) { 5963 return true; 5964 } 5965 5966 return false; 5967 }, 5968 5969 /** 5970 * Initialize the toggle logic for the menu. 5971 * 5972 * @see this._isMenuToggle() 5973 * @see this._menuOnCLick() 5974 * @see this._clickOrHover() 5975 * @see this._submenuOnRight() 5976 * @see this._submenuRowZindexFix() 5977 * @see this._toggleForMobile() 5978 * @since 1.6.1 5979 * @return void 5980 */ 5981 _initMenu: function( resized = false ){ 5982 this._setupSubmenu(); 5983 if ( ! resized ) { 5984 this._menuOnFocus(); 5985 this._menuOnClick(); 5986 this._menuOnEscape(); 5987 } 5988 if ( $( this.nodeClass ).length && this.type == 'horizontal' ) { 5989 this._initMegaMenus(); 5990 } 5991 5992 if( this._isMenuToggle() || this.type == 'accordion' ){ 5993 5994 $( this.wrapperClass ).off( 'mouseenter mouseleave' ); 5995 this._clickOrHover(); 5996 5997 } else { 5998 this._submenuOnRight(); 5999 this._submenuRowZindexFix(); 6000 } 6001 6002 if( this.mobileToggle != 'expanded' ){ 6003 this._toggleForMobile(); 6004 } 6005 6006 if( $( this.wrapperClass ).find( '.fl-menu-search-item' ).length ){ 6007 this._toggleMenuSearch(); 6008 } 6009 6010 if( $( this.wrapperClass ).find( '.fl-menu-cart-item').length ){ 6011 this._wooUpdateParams(); 6012 } 6013 }, 6014 6015 /** 6016 * Whether the toggle behavior for submenus is through hovering or not. 6017 * 6018 * @since 2.5 6019 * @return void 6020 */ 6021 _setupSubmenu: function() { 6022 if ( ! this._isMouseAvailable() || this._isMenuToggle() || this.type === 'accordion' ) { 6023 $( this.wrapperClass ).addClass( 'no-hover' ); 6024 } 6025 else { 6026 $( this.wrapperClass ).removeClass( 'no-hover' ); 6027 } 6028 }, 6029 6030 /** 6031 * Logic for menu items when focused. 6032 * 6033 * @since 1.9.0 6034 * @return void 6035 */ 6036 _menuOnFocus: function(){ 6037 $( this.wrapperClass ).on( 'focus', 'a:not(.fl-button), .fl-menu-toggle', $.proxy( function( event ) { 6038 const focusedMenuItem = $( event.currentTarget ).closest( '.menu-item' ); 6039 const blurredMenuItem = $( event.relatedTarget ).closest( '.menu-item' ); 6040 // In case the blurred & focused items are siblings 6041 if ( focusedMenuItem.closest( 'ul' ).is( blurredMenuItem.closest( 'ul' ) ) ) { 6042 // Check if the focus event is not between the link & submenu icon of the same menu item 6043 if ( ! focusedMenuItem.is( blurredMenuItem ) ) { 6044 this._toggleSubmenu( blurredMenuItem, false ); 6045 } 6046 } 6047 // In case neither items are child & parent nor vice versa 6048 else if ( focusedMenuItem.has( blurredMenuItem ).length === blurredMenuItem.has( focusedMenuItem ).length ) { 6049 // Get the blurred item parent & is the sibling of the focused item 6050 blurredMenuItem.parents( '.fl-has-submenu' ).each( ( _, parent ) => { 6051 if ( focusedMenuItem.closest( 'ul' ).is( $( parent ).closest( 'ul' ) ) ) { 6052 this._toggleSubmenu( $( parent ), false ); 6053 return false; 6054 } 6055 } ); 6056 } 6057 // In case the blurred item is a child of the focused item
6058 else if ( focusedMenuItem.has( blurredMenuItem ).length ) { 6059 if ( this.type !== 'accordion' && this.submenuIcon === 'none' ) { 6060 this._toggleSubmenu( blurredMenuItem, false ); 6061 } 6062 } 6063 }, this ) ); 6064 }, 6065 6066 /** 6067 * Logic for menu items when Escape key is pressed. 6068 * 6069 * @since 2.7.1 6070 * @return void 6071 */ 6072 _menuOnEscape: function(){ 6073 $( this.wrapperClass ).on( 'keydown', $.proxy( function( event ){ 6074 if ( event.key !== 'Escape' ) return; 6075 const menuItem = $( event.target ).closest( '.menu-item' ); 6076 const mobileToggle = $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ); 6077 // In case there is a focused menu item 6078 if ( menuItem.length || $( event.target ).hasClass( 'fl-menu-mobile-close' ) ) { 6079 // Close the search form if it is open 6080 if ( menuItem.hasClass( 'fl-menu-search-item' ) && $( this.wrapperClass ).find('.fl-search-form-input-wrap').is( ':visible' ) ) { 6081 $( this.wrapperClass ).find('.fl-menu-search-item .fl-button:is(a, button:not([type="submit"]))').trigger( 'focus' ); 6082 } 6083 // Close all the submenus of the focused menu item 6084 else if ( menuItem.hasClass( 'fl-has-submenu' ) && menuItem.find( '.sub-menu' ).first().is( ':visible' ) ) { 6085 this._toggleSubmenu( menuItem, false ); 6086 } 6087 else { 6088 // Shift focus to the parent while closing all its submenus 6089 const parentMenuItem = menuItem.parents( '.fl-has-submenu' ).not( '.mega-menu.hide-heading, .mega-menu-disabled.hide-heading' ).first(); 6090 // Close the mobile menu if there is no parent menu item and the mobile toggle is active 6091 if ( parentMenuItem.length === 0 && this._isMenuToggle() && mobileToggle.hasClass( 'fl-active' ) ) { 6092 // Blur to trigger the focus-out event for closing the menu 6093 mobileToggle.trigger( 'blur' ).trigger( 'focus' ); 6094 } 6095 // Close the parent submenu and shift focus to its link 6096 else if ( parentMenuItem.length !== 0 ) { 6097 this._toggleSubmenu( parentMenuItem, false ); 6098 parentMenuItem.find( 'a' ).first().trigger( 'focus' ); 6099 } 6100 } 6101 } 6102 // Close the mobile menu if the mobile toggle is active 6103 else if ( $( event.target ).hasClass( 'fl-menu-mobile-toggle' ) && mobileToggle.hasClass( 'fl-active' ) ) { 6104 // Blur to trigger the focus-out event for closing the menu 6105 mobileToggle.trigger( 'blur' ).trigger( 'focus' ); 6106 } 6107 }, this ) ); 6108 }, 6109 6110 /** 6111 * Logic for menu items when clicked. 6112 * 6113 * @since 1.6.1 6114 * @return void 6115 */ 6116 _menuOnClick: function(){ 6117 // Fallback for span elements and fake links to interact with the keyboard 6118 $( this.wrapperClass ).on( 'keydown', 'a:not(.fl-button, [href]), span.fl-menu-toggle', $.proxy( function( event ) { 6119 if ( event.key === 'Enter' || event.key === ' ' ) { 6120 event.preventDefault(); 6121 $( event.currentTarget ).trigger( 'click' ); 6122 } 6123 }, this ) ); 6124 $( this.wrapperClass ).on( 'click', 'a, .fl-menu-toggle', $.proxy( function( event ) { 6125 // Only allow mouse clicks with accordion & mobile menus 6126 if ( this._isMouseAvailable() && ! this._isMenuToggle() && event.detail && this.type !== 'accordion' ) return; 6127 // Links only open & do not toggle submenus if there is either a submenu icon or an accordion layout 6128 if ( $( event.currentTarget ).is( 'a' ) && ( this.submenuIcon !== 'none' || this.type === 'accordion' ) ) return; 6129 const menuItem = $( event.currentTarget ).closest( '.menu-item, .fl-menu-logo' ); 6130 const menuLink = menuItem.find( 'a' ).first().attr( 'href' ); 6131 const submenuHidden = menuItem.find( '.sub-menu' ).first().is( ':hidden' ); 6132 if ( typeof menuLink === 'undefined' || menuLink === '#' || submenuHidden ) { 6133 event.preventDefault(); 6134 } 6135 if ( $( event.currentTarget ).hasClass( 'fl-menu-toggle' ) || submenuHidden ) { 6136 this._toggleSubmenu( menuItem, submenuHidden ); 6137 } 6138 }, this ) ); 6139 }, 6140 6141 /** 6142 * Controls toggling the visibility of all submenu items for desktop & mobile. 6143 * 6144 * @since 2.10 6145 * @return void 6146 */ 6147 _toggleSubmenu: function ( menuItem, opened ) { 6148 const togglingClass = this._isMenuToggle() || this.type === 'accordion' ? 'fl-active' : 'focus'; 6149 const toggleElement = this.submenuIcon === 'none' ? 'a' : '.fl-menu-toggle'; 6150 const hiddenMenu = '.mega-menu.hide-heading, .mega-menu-disabled.hide-heading'; 6151 if ( opened && menuItem.hasClass( 'fl-has-submenu' ) && ! menuItem.is( hiddenMenu ) ) { 6152 menuItem.addClass( togglingClass ); 6153 menuItem.find( toggleElement ).first().attr( 'aria-expanded', true ); 6154 if ( this._isMenuToggle() || this.type === 'accordion' ) { 6155 menuItem.find( '.sub-menu' ).first().filter( ':hidden' ).slideDown(); 6156 } 6157 } 6158 else { 6159 menuItem.parent().find( '.menu-item' ).removeClass( togglingClass ); 6160 menuItem.parent().find( '.fl-has-submenu' ).not( hiddenMenu ).find( toggleElement ).attr( 'aria-expanded', false ); 6161 if ( this._isMenuToggle() || this.type === 'accordion' ) {
6162 menuItem.find( '.sub-menu' ).filter( ':visible' ).slideUp(); 6163 } 6164 } 6165 }, 6166 6167 /** 6168 * Changes general styling and behavior of menus based on mobile / desktop viewport. 6169 * 6170 * @see this._isMenuToggle() 6171 * @since 1.6.1 6172 * @return void 6173 */ 6174 _clickOrHover: function( clear = false ){ 6175 const selector = this._isMobileBelowRowEnabled() ? this.nodeClass + '-clone' : this.nodeClass; 6176 this.$submenus = this.$submenus || $( selector ).find( '.sub-menu' ); 6177 6178 const className = this._isMenuToggle() || this.type === 'accordion' ? 'fl-active' : 'focus'; 6179 const toggleElement = this.submenuIcon === 'none' ? 'a' : '.fl-menu-toggle'; 6180 const hiddenMenu = '.mega-menu.hide-heading, .mega-menu-disabled.hide-heading'; 6181 $( selector ).find( '.fl-has-submenu' ).not( hiddenMenu ).each( function() { 6182 if( clear || ! $ ( this ).hasClass( className ) ){ 6183 if ( clear ) $( this ).removeClass( className ); 6184 $( this ).find( toggleElement ).first().attr( 'aria-expanded', false ); 6185 if ( className === 'fl-active' ) { 6186 $( this ).find( '.sub-menu' ).fadeOut(); 6187 } else if ( className === 'focus' ) { 6188 $( this ).find( '.sub-menu' ).css( { 6189 'display' : '', 6190 'opacity' : '' 6191 } ); 6192 } 6193 } 6194 } ); 6195 }, 6196 6197 /** 6198 * Logic to prevent submenus to go outside viewport boundaries. 6199 * 6200 * @since 1.6.1 6201 * @return void 6202 */ 6203 _submenuOnRight: function(){ 6204 6205 $( this.wrapperClass ) 6206 .on( 'mouseenter focus', '.fl-has-submenu', $.proxy( function( e ){ 6207 6208 if( $ ( e.currentTarget ).find('.sub-menu').length === 0 ) { 6209 return; 6210 } 6211 6212 var $link = $( e.currentTarget ), 6213 $parent = $link.parent(), 6214 $subMenu = $link.find( '.sub-menu' ), 6215 subMenuWidth = $subMenu.width(), 6216 subMenuPos = 0, 6217 bodyWidth = $( 'body' ).width(); 6218 6219 if( $link.closest( '.fl-menu-submenu-right' ).length !== 0) { 6220 6221 $link.addClass( 'fl-menu-submenu-right' ); 6222 6223 } else if( $( 'body' ).hasClass( 'rtl' ) ) { 6224 6225 subMenuPos = $parent.is( '.sub-menu' ) ? 6226 $parent.offset().left - subMenuWidth: 6227 $link.offset().left - $link.width() - subMenuWidth; 6228 6229 if( subMenuPos <= 0 ) { 6230 $link.addClass( 'fl-menu-submenu-right' ); 6231 } 6232 6233 } else { 6234 6235 subMenuPos = $parent.is( '.sub-menu' ) ? 6236 $parent.offset().left + $parent.width() + subMenuWidth : 6237 $link.offset().left + $link.width() + subMenuWidth; 6238 6239 if( subMenuPos > bodyWidth ) { 6240 $link.addClass('fl-menu-submenu-right'); 6241 } 6242 } 6243 }, this ) ) 6244 .on( 'mouseleave', '.fl-has-submenu', $.proxy( function( e ){ 6245 $( e.currentTarget ).removeClass( 'fl-menu-submenu-right' ); 6246 }, this ) ); 6247 6248 }, 6249 6250 /** 6251 * Logic to prevent submenus to go behind the next overlay row. 6252 * 6253 * @since 1.10.9 6254 * @return void 6255 */ 6256 _submenuRowZindexFix: function(){ 6257 6258 $( this.wrapperClass ) 6259 .on( 'mouseenter', 'ul.menu > .fl-has-submenu', $.proxy( function( e ){ 6260 6261 if( $ ( e.currentTarget ).find('.sub-menu').length === 0 ) { 6262 return; 6263 } 6264 6265 $( this.nodeClass ) 6266 .closest( '.fl-row' ) 6267 .find( '.fl-row-content' ) 6268 .css( 'z-index', '10' ); 6269 6270 }, this ) ) 6271 .on( 'mouseleave', 'ul.menu > .fl-has-submenu', $.proxy( function(){ 6272 6273 $( this.nodeClass ) 6274 .closest( '.fl-row' ) 6275 .find( '.fl-row-content' ) 6276 .css( 'z-index', '' ); 6277 6278 }, this ) ); 6279 }, 6280 6281 /** 6282 * Logic for the mobile menu button. 6283 * 6284 * @since 1.6.1 6285 * @return void 6286 */ 6287 _toggleForMobile: function(){ 6288 6289 var $wrapper = null, 6290 $menu = null, 6291 self = this; 6292 6293 $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ).attr('aria-controls', $( this.wrapperClass ).find( 'ul.menu' ).attr('id')); 6294 6295 if( this._isMenuToggle() ){ 6296 6297 if ( this._isMobileBelowRowEnabled() ) { 6298 this._placeMobileMenuBelowRow(); 6299 $wrapper = $( this.wrapperClass ); 6300 $menu = $( this.nodeClass + '-clone' ); 6301 $menu.find( 'ul.menu' ).show(); 6302 } 6303 else { 6304 $wrapper = $( this.wrapperClass ); 6305 $menu = $wrapper.find( '.menu' ); 6306 } 6307 6308 if( !$wrapper.find( '.fl-menu-mobile-toggle' ).hasClass( 'fl-active' ) && ! self.mobileFlyout ){ 6309 $menu.css({ display: 'none' }); 6310 } 6311 6312 // Flayout Menu 6313 if ( self.mobileFlyout ) { 6314 this._initFlyoutMenu(); 6315 } 6316 6317 $wrapper.on( 'click', '.fl-menu-mobile-toggle', function( e ){ 6318 e.stopImmediatePropagation(); 6319 6320 $( this ).toggleClass( 'fl-active' ); 6321 6322 if ( self.mobileFlyout ) { 6323 self._toggleFlyoutMenu(); 6324 const flyoutWrapper = $( '.fl-menu-mobile-flyout' ); 6325 if ( $( this ).hasClass( 'fl-active' ) ) { 6326 flyoutWrapper.attr( 'aria-hidden', false ); 6327 flyoutWrapper.find( 'a[href], button, input, select, textarea, span.fl-menu-toggle, [tabindex="-1"]' ).attr( 'tabindex', 0 ); 6328 } 6329 else { 6330 flyoutWrapper.attr( 'aria-hidden', true ); 6331 flyoutWrapper.find( 'a[href], button, input, select, textarea, span.fl-menu-toggle, [tabindex]:not
6331([tabindex="-1"])' ).attr( 'tabindex', -1 ); 6332 } 6333 } 6334 else { 6335 var targetMenu = null; 6336 6337 if ( self.mobileBelowRow ) { 6338 var $closestCol = $( this ).parents( '.fl-col, .fl-module-box' ), 6339 $closestColGroup = $closestCol.length ? $closestCol.parent( '.fl-col-group' ) : null; 6340 targetMenu = $closestCol.length ? $closestCol.last().next( '.fl-menu-mobile-clone' ) : null; 6341 6342 if ( $closestColGroup.length ) { 6343 if ( $closestColGroup.hasClass( 'fl-col-group-responsive-reversed' ) ) { 6344 $closestColGroup.find( '.fl-menu-mobile-clone' ).css( 'order', -1 ); 6345 } else if ( $closestColGroup ) { 6346 $closestColGroup.find( '.fl-menu-mobile-clone' ).css( 'order', 2 ); 6347 } 6348 } 6349 } else { 6350 targetMenu = $( this ).closest( '.fl-menu' ).find( 'ul.menu' ); 6351 } 6352 6353 if ( targetMenu.length ) { 6354 $menu = $( targetMenu ); 6355 } 6356 6357 $menu.slideToggle(); 6358 } 6359 6360 e.stopPropagation(); 6361 } ); 6362 6363 // Hide active menu when click on anchor link ID that exists on a page 6364 $menu.off().on( 'click', '.menu-item > a[href*="#"]:not([href="#"])', function(){ 6365 var $href = $(this).attr('href'), 6366 $targetID = $href.split('#')[1], 6367 element = $('#' + $targetID); 6368 if ( $('body').find(element).length > 0 ) { 6369 $( this ).toggleClass( 'fl-active' ); 6370 FLBuilderLayout._scrollToElement( element ); 6371 if ( ! self._isMenuToggle() ) { 6372 $menu.slideToggle(); 6373 } 6374 } 6375 }); 6376 } 6377 else { 6378 6379 if ( this._isMobileBelowRowEnabled() ) { 6380 this._removeMenuFromBelowRow(); 6381 } 6382 6383 $wrapper = $( this.wrapperClass ), 6384 $menu = $wrapper.find( 'ul.menu' ); 6385 $wrapper.find( '.fl-menu-mobile-toggle' ).removeClass( 'fl-active' ); 6386 $menu.css({ display: '' }); 6387 6388 if ( ! this._isMobileBelowRowEnabled() ) { 6389 $menu.off( 'click', '.menu-item > a[href*="#"]:not([href="#"])' ); 6390 } 6391 6392 if ( this.mobileFlyout && $wrapper.find( '.fl-menu-mobile-flyout' ).length > 0 ) { 6393 $( 'body' ).css( 'margin', '' ); 6394 $( '.fl-builder-ui-pinned-content-transform' ).css( 'transform', '' ); 6395 $menu.unwrap(); 6396 $wrapper.find( '.fl-menu-mobile-close' ).remove(); 6397 $wrapper.find( '.fl-menu-mobile-opacity' ).remove(); 6398 } 6399 } 6400 }, 6401 6402 /** 6403 * Init any mega menus that exist. 6404 * 6405 * @see this._isMenuToggle() 6406 * @since 1.10.4 6407 * @return void 6408 */ 6409 _initMegaMenus: function(){ 6410 6411 var module = $( this.nodeClass ), 6412 rowContent = module.closest( '.fl-row-content' ), 6413 rowWidth = rowContent.width(), 6414 megas = module.find( '.mega-menu' ), 6415 disabled = module.find( '.mega-menu-disabled' ), 6416 isToggle = this._isMenuToggle(); 6417 6418 if ( isToggle ) { 6419 megas.removeClass( 'mega-menu' ).addClass( 'mega-menu-disabled' ); 6420 module.find( 'li.mega-menu-disabled > ul.sub-menu' ).css( 'width', '' ); 6421 rowContent.css( 'position', '' ); 6422 } else { 6423 disabled.removeClass( 'mega-menu-disabled' ).addClass( 'mega-menu' ); 6424 module.find( 'li.mega-menu > ul.sub-menu' ).css( 'width', rowWidth + 'px' ); 6425 rowContent.css( 'position', 'relative' ); 6426 } 6427 }, 6428 6429 /** 6430 * Check to see if Below Row should be enabled. 6431 * 6432 * @since 1.11 6433 * @return boolean 6434 */ 6435 _isMobileBelowRowEnabled: function() { 6436 return this.mobileBelowRow && ( $( this.nodeClass ).parents( '.fl-col, .fl-module-box' ).length ); 6437 }, 6438 6439 /** 6440 * Logic for putting the mobile menu below the menu's 6441 * column so it spans the full width of the page. 6442 * 6443 * @since 1.10 6444 * @return void 6445 */ 6446 _placeMobileMenuBelowRow: function(){ 6447 6448 if ( $( this.nodeClass + '-clone' ).length ) { 6449 return; 6450 } 6451 6452 var module = $( this.nodeClass ), 6453 clone = null, 6454 col = module.parents( '.fl-col, .fl-module-box' ).last(); 6455 6456 if ( module.length < 1 ) { 6457 return; 6458 } 6459 6460 clone = ( module.length > 1 ) ? $( module[0] ).clone() : module.clone(); 6461 module.find( 'ul.menu' ).remove(); 6462 clone.addClass( ( this.nodeClass + '-clone' ).replace( '.', '' ) ); 6463 clone.addClass( 'fl-menu-mobile-clone' ); 6464 clone.find( '.fl-menu-mobile-toggle' ).remove(); 6465 col.after( clone ); 6466 6467 // Removes animation when enabled 6468 if ( module.hasClass( 'fl-animation' ) ) { 6469 clone.removeClass( 'fl-animation' ); 6470 } 6471 6472 this._menuOnFocus(); 6473 this._menuOnClick(); 6474 this._menuOnEscape(); 6475 }, 6476 6477 /** 6478 * Logic for removing the mobile menu from below the menu's 6479 * column and putting it back in the main wrapper. 6480 * 6481 * @since 1.10 6482 * @return void 6483 */ 6484 _removeMenuFromBelowRow: function(){ 6485 6486 if ( ! $( this.nodeClass + '-clone' ).length ) { 6487 return; 6488 } 6489 6490 var module = $( this.nodeClass ), 6491 clone = $( this.nodeClass + '-clone' ), 6492 menu = clone.find( 'ul.menu' ), 6493 nav = module.find( 'nav' ); 6494
6495 if ( nav.length ) { 6496 nav.append( menu ); 6497 } else { 6498 module.find( '.fl-menu-mobile-toggle' ).after( menu ); 6499 } 6500 clone.remove(); 6501 menu.find( 'a' ).each( FLBuilderLayout._initAnchorLink ); 6502 }, 6503 6504 /** 6505 * Logic for Flyout responsive menu. 6506 * 6507 * @since 2.2 6508 * @return void 6509 */ 6510 _initFlyoutMenu: function(){ 6511 var wrapper = $( this.wrapperClass ), 6512 menu = wrapper.find( 'ul.menu' ), 6513 button = wrapper.find( '.fl-menu-mobile-toggle' ); 6514 6515 if ( 0 === wrapper.find( '.fl-menu-mobile-flyout' ).length ) { 6516 menu.wrap( '<div class="fl-menu-mobile-flyout" aria-hidden="true"></div>' ); 6517 } 6518 6519 if ( 0 === wrapper.find( '.fl-menu-mobile-close' ).length ) { 6520 var close = window.fl_responsive_close || 'Close' 6521 wrapper.find( '.fl-menu-mobile-flyout' ).prepend( '<button class="fl-menu-mobile-close fl-content-ui-button" aria-label="' + close + '"><i class="fas fa-times"></i></button>' ); 6522 } 6523 6524 // Push with opacity 6525 if ( wrapper.hasClass( 'fl-menu-responsive-flyout-push-opacity' ) && 0 === wrapper.find( '.fl-menu-mobile-opacity' ).length ) { 6526 wrapper.append( '<div class="fl-menu-mobile-opacity"></div>' ); 6527 } 6528 6529 wrapper.off( 'click', '.fl-menu-mobile-opacity, .fl-menu-mobile-close' ).on( 'click', '.fl-menu-mobile-opacity, .fl-menu-mobile-close', function(e){ 6530 button.trigger('focus').trigger( 'click' ); 6531 e.stopPropagation(); 6532 }); 6533 6534 if ( 'undefined' !== typeof FLBuilder ) { 6535 FLBuilder.addHook('restartEditingSession', function(){ 6536 $( '.fl-builder-ui-pinned-content-transform' ).css( 'transform', '' ); 6537 6538 // Toggle active menu 6539 if ( button.hasClass( 'fl-active' ) ) { 6540 button.trigger( 'click' ); 6541 } 6542 }); 6543 } 6544 $( '.fl-menu-mobile-flyout' ).find( 'a[href], button, input, select, textarea, span.fl-menu-toggle, [tabindex]:not([tabindex="-1"])' ).attr( 'tabindex', -1 ); 6545 }, 6546 6547 /** 6548 * Logic to enable/disable the Flyout menu on button click. 6549 * 6550 * @since 2.2 6551 * @return void 6552 */ 6553 _toggleFlyoutMenu: function(){ 6554 var wrapper = $( this.wrapperClass ), 6555 button = wrapper.find( '.fl-menu-mobile-toggle' ), 6556 position = wrapper.hasClass( 'fl-flyout-right' ) ? 'right' : 'left', 6557 pushMenu = wrapper.hasClass( 'fl-menu-responsive-flyout-push' ) || wrapper.hasClass( 'fl-menu-responsive-flyout-push-opacity' ), 6558 opacity = wrapper.find( '.fl-menu-mobile-opacity' ), 6559 marginPos = {}, 6560 fixedPos = {}, 6561 fixedHeader = $('header, header > div'); 6562 6563 this._resizeFlyoutMenuPanel(); 6564 6565 // Fix the push menu when builder ui panel is pinned 6566 if ( $( '.fl-builder-ui-pinned-content-transform' ).length > 0 && ! $( 'body' ).hasClass( 'fl-builder-edit' ) ) { 6567 $( '.fl-builder-ui-pinned-content-transform' ).css( 'transform', 'none' ); 6568 } 6569 6570 if ( pushMenu ) { 6571 marginPos[ 'margin-' + position ] = button.hasClass( 'fl-active' ) ? this.flyoutWidth + 'px' : '0px'; 6572 $( 'body' ).animate( marginPos, 200); 6573 6574 // Fixed header 6575 if ( fixedHeader.length > 0 ) { 6576 fixedPos[ position] = button.hasClass( 'fl-active' ) ? this.flyoutWidth + 'px' : '0px'; 6577 fixedHeader.each(function(){ 6578 if ( 'fixed' == $( this ).css( 'position' ) ) { 6579 $( this ).css({ 'transition' : 'none' }); 6580 $( this ).animate( fixedPos, 200 ); 6581 } 6582 }); 6583 } 6584 } 6585 6586 if ( opacity.length > 0 && button.hasClass( 'fl-active' ) ) { 6587 opacity.show(); 6588 } 6589 else { 6590 opacity.hide(); 6591 } 6592 }, 6593 6594 /** 6595 * Resize or reposition the Flyout Menu Panel. 6596 * 6597 * @since 2.8.1 6598 * @return void 6599 */ 6600 _resizeFlyoutMenuPanel: function(){ 6601 const wrapper = $( this.wrapperClass ); 6602 const wrapFlyout = wrapper.find( '.fl-menu-mobile-flyout' ); 6603 6604 if ( wrapFlyout.length > 0 ) { 6605 wrapFlyout.css( this._getFlyoutMenuPanelPosition() ); 6606 } 6607 }, 6608 6609 /** 6610 * Compute the Flyout Menu Panel's position on the screen. 6611 * 6612 * @since 2.8.1 6613 * @return object 6614 */ 6615 _getFlyoutMenuPanelPosition: function() { 6616 var wrapper = $( this.wrapperClass ), 6617 button = wrapper.find( '.fl-menu-mobile-toggle' ), 6618 side = wrapper.hasClass( 'fl-flyout-right' ) ? 'right' : 'left', 6619 winHeight = $(window).outerHeight(), 6620 winTop = $(window).scrollTop(), 6621 adminBarHeight = $( '#wpadminbar' ).length ? $( '#wpadminbar' ).height() : 0, 6622 flyoutPosition = {}; 6623 6624 flyoutPosition[ side ] = '-' + ( parseInt( this.flyoutWidth ) + 15 ) + 'px'; 6625 if ( ! button.hasClass( 'fl-active' ) ) { 6626 return flyoutPosition; 6627 } 6628 6629 flyoutPosition[ side ] = '0px'; 6630 flyoutPosition[ 'height' ] = winHeight + 'px'; 6631 flyoutPosition[ 'top' ] = '0px'; 6632 6633 if ( adminBarHeight > 0 ) { 6634 const diff = adminBarHeight - winTop; 6635 flyoutPosition[ 'top' ] = diff <= 0 ? '0px' : (diff) + 'px'; 6636 } 6637 6638 return flyoutPosition; 6639 }, 6640 6641 /** 6642 * Shows or hides the nav search form. 6643 * 6644 * @since 2.5 6645 * @method _toggleMenuSearch 6646 */ 6647 _toggleMenuSearch: function(){ 6648 const form = $( this.wrapperClass ).find('.fl-menu-search-item .fl-search-form-input-wrap');
6649 const button = $( this.wrapperClass ).find('.fl-menu-search-item .fl-button:is(a, button:not([type="submit"]))'); 6650 form.on('submit', () => form.stop().fadeToggle('fast')); 6651 // Close the search form when focus is lost 6652 form.on('focusout', (event) => { 6653 if (form.is(':visible') && form.has($(event.relatedTarget)).length === 0) { 6654 button.trigger('click'); 6655 } 6656 }); 6657 button.attr('aria-expanded', false); 6658 // Close other open submenus when focusing on the search button 6659 button.on('focus', (event) => { 6660 const parentMenus = $(event.relatedTarget).parents('.menu-item.fl-has-submenu'); 6661 if (event.relatedTarget && parentMenus.length) { 6662 this._toggleSubmenu(parentMenus, false); 6663 } 6664 }); 6665 button.on('click', (event) => { 6666 // Prevent toggling when clicking with mouse while the form is already open 6667 if (event.detail && event.type === 'click' && form.is(':visible')) return; 6668 form.stop().fadeToggle('fast', () => { 6669 button.attr('aria-expanded', form.is(':visible')); 6670 if(form.is(':visible')) { 6671 form.find('.fl-search-text').focus(); 6672 } 6673 }); 6674 }); 6675 }, 6676 6677 /** 6678 * Adds menu node and post ID to WooCommerce ajax URL requests. 6679 * 6680 * @since 2.5 6681 * @return void 6682 */ 6683 _wooUpdateParams: function() { 6684 if ( 'undefined' !== typeof wc_cart_fragments_params ) { 6685 wc_cart_fragments_params.wc_ajax_url += '&fl-menu-node='+ this.nodeId +'&post-id='+ this.postId; 6686 } 6687 if ( 'undefined' !== typeof wc_add_to_cart_params ) { 6688 wc_add_to_cart_params.wc_ajax_url += '&fl-menu-node='+ this.nodeId +'&post-id='+ this.postId; 6689 } 6690 }, 6691 }; 6692 6693})(jQuery); 6694 6695(function($) { 6696 6697 $(function() { 6698 6699 new FLBuilderMenu({ 6700 id: '7bwtoq16j89f', 6701 type: 'horizontal', 6702 mobile: 'expanded', 6703 mobileBelowRow: true, 6704 mobileFlyout: false, 6705 breakPoints: { 6706 large: 1200, 6707 medium: 1023, 6708 small: 768 }, 6709 mobileBreakpoint: 'mobile', 6710 postId : '23', 6711 mobileStacked: true, 6712 submenuIcon: 'arrows', 6713 flyoutWidth: '250', 6714 }); 6715 6716 }); 6717 6718})(jQuery); 6719jQuery(function($) { 6720 6721 $(function() { 6722 $( '.fl-node-cnz3j2gykafh .fl-photo-img' ) 6723 .on( 'mouseenter', function( e ) { 6724 $( this ).data( 'title', $( this ).attr( 'title' ) ).removeAttr( 'title' ); 6725 } ) 6726 .on( 'mouseleave', function( e ){ 6727 $( this ).attr( 'title', $( this ).data( 'title' ) ).data( 'title', null ); 6728 } ); 6729 }); 6730 window._fl_string_to_slug_regex = 'a-zA-Z0-9'; 6731}); 6732(function($){ 6733 })(jQuery); 6734 6735/* Start Layout Custom JS */ 6736 6737/* End Layout Custom JS */ 6738 6739 6740(function($) { 6741 6742 $(function() { 6743 6744 new FLBuilderMenu({ 6745 id: 'jhr3ylt8qiok', 6746 type: 'horizontal', 6747 mobile: 'expanded', 6748 mobileBelowRow: true, 6749 mobileFlyout: false, 6750 breakPoints: { 6751 large: 1200, 6752 medium: 1023, 6753 small: 768 }, 6754 mobileBreakpoint: 'mobile', 6755 postId : '75236', 6756 mobileStacked: true, 6757 submenuIcon: 'arrows', 6758 flyoutWidth: '250', 6759 }); 6760 6761 }); 6762 6763})(jQuery); 6764 6765(function($) { 6766 6767 $(function() { 6768 6769 new FLBuilderMenu({ 6770 id: 'odsp0lh7mkxj', 6771 type: 'horizontal', 6772 mobile: 'hamburger', 6773 mobileBelowRow: false, 6774 mobileFlyout: true, 6775 breakPoints: { 6776 large: 1200, 6777 medium: 1023, 6778 small: 768 }, 6779 mobileBreakpoint: 'always', 6780 postId : '75236', 6781 mobileStacked: true, 6782 submenuIcon: 'plus', 6783 flyoutWidth: '250', 6784 }); 6785 6786 }); 6787 6788})(jQuery); 6789jQuery(function($) { 6790 6791 $(function() { 6792 $( '.fl-node-or7czkjebiv3 .fl-photo-img' ) 6793 .on( 'mouseenter', function( e ) { 6794 $( this ).data( 'title', $( this ).attr( 'title' ) ).removeAttr( 'title' ); 6795 } ) 6796 .on( 'mouseleave', function( e ){ 6797 $( this ).attr( 'title', $( this ).data( 'title' ) ).data( 'title', null ); 6798 } ); 6799 }); 6800 window._fl_string_to_slug_regex = 'a-zA-Z0-9'; 6801}); 6802 6803(function($) { 6804 6805 $(function() { 6806 6807 new FLBuilderMenu({ 6808 id: 'k67mugaxebvp', 6809 type: 'horizontal', 6810 mobile: 'hamburger-label', 6811 mobileBelowRow: false, 6812 mobileFlyout: true, 6813 breakPoints: { 6814 large: 1200, 6815 medium: 1023, 6816 small: 768 }, 6817 mobileBreakpoint: 'always', 6818 postId : '75236', 6819 mobileStacked: true, 6820 submenuIcon: 'plus', 6821 flyoutWidth: '250', 6822 }); 6823 6824 }); 6825 6826})(jQuery); 6827jQuery(function($) { 6828 6829 $(function() { 6830 $( '.fl-node-d5rb3shmfv80 .fl-photo-img' ) 6831 .on( 'mouseenter', function( e ) { 6832 $( this ).data( 'title', $( this ).attr( 'title' ) ).removeAttr( 'title' ); 6833 } ) 6834 .on( 'mouseleave', function( e ){ 6835 $( this ).attr( 'title', $( this ).data( 'title' ) ).data( 'title', null ); 6836 } ); 6837 }); 6838 window._fl_string_to_slug_regex = 'a-zA-Z0-9'; 6839}); 6840jQuery(function($) { 6841 6842 $(function() { 6843 $( '.fl-node-d1vo46nmhuqe .fl-photo-img' ) 6844 .on( 'mouseenter', function( e ) { 6845 $( this ).data( 'title', $( this ).attr( 'title' ) ).removeAttr( 'title' ); 6846 } ) 6847 .on( 'mouseleave', function( e ){ 6848 $( this ).attr( 'title', $( this ).data( 'title' ) ).data( 'title', null ); 6849 } ); 6850 }); 6851 window._fl_string_to_slug_regex = 'a-zA-Z0-9'; 6852}); 6853 6854(function($) { 6855 6856 $(function() { 6857 6858 new FLBuilderMenu({ 6859 id: 'fkyuj1gt248v', 6860 type: 'horizontal', 6861 mobile: 'expanded', 6862 mobileBelowRow: true, 6863 mobileFlyout: false, 6864 breakPoints: { 6865 large: 1200, 6866 medium: 1023, 6867 small: 768 }, 6868 mobileBreakpoint: 'mobile', 6869 postId : '75236', 6870 mobileStacked: true, 6871 submenuIcon: 'none', 6872 flyoutWidth: '250', 6873 }); 6874 6875 }); 6876 6877})(jQuery); 6878 6879/* Start Layout Custom JS */ 6880 6881/* End Layout Custom JS */ 6882 6883(function($){ 6884 6885 /** 6886 * Helper class for header layout logic. 6887 * 6888 * @since 1.0 6889 * @class FLThemeBuilderHeaderLayout 6890 */ 6891 FLThemeBuilderHeaderLayout = { 6892 6893 /** 6894 * A reference to the window object for this page. 6895 * 6896 * @since 1.0 6897 * @property {Object} win 6898 */ 6899 win : null, 6900 6901 /** 6902 * A reference to the body object for this page. 6903 * 6904 * @since 1.0 6905 * @property {Object} body 6906 */ 6907 body : null, 6908 6909 /** 6910 * A reference to the header object for this page. 6911 * 6912 * @since 1.0 6913 * @property {Object} header 6914 */ 6915 header : null, 6916 6917 /** 6918 * Whether this header overlays the content or not. 6919 * 6920 * @since 1.0 6921 * @property {Boolean} overlay 6922 */ 6923 overlay : false, 6924 6925 /** 6926 * Whether the page has the WP admin bar or not. 6927 * 6928 * @since 1.0 6929 * @property {Boolean} hasAdminBar 6930 */ 6931 hasAdminBar : false, 6932 6933 /** 6934 * Breakpoint for when the sticky header should apply. 6935 * 6936 * @since 1.4 6937 * @property {String} stickyOn 6938 */ 6939 stickyOn: '', 6940 6941 /** 6942 * A reference of the sticky and shrink header breakpoint. 6943 * 6944 * @since 1.2.5 6945 * @property {Number} breakpointWidth 6946 */ 6947 breakpointWidth: 0, 6948 6949 /** 6950 * Whether this header can be pinned from page load. 6951 * 6952 * @since 1.6.1 6953 * @property {Boolean} pinnable 6954 */ 6955 pinnable : false, 6956 6957 /** 6958 * Initializes header layout logic. 6959 * 6960 * @since 1.0 6961 * @method init 6962 */ 6963 init: function() 6964 {
6965 var editing = $( 'html.fl-builder-edit' ).length, 6966 header = $( '.fl-builder-content[data-type=header]' ), 6967 menuModule = header.find( '.fl-module-menu' ), 6968 breakpoint = null, 6969 adminBarHeight = 0; 6970 6971 if ( ! editing && header.length ) { 6972 6973 header.imagesLoaded( $.proxy( function() { 6974 6975 this.win = $( window ); 6976 this.body = $( 'body' ); 6977 this.header = header.eq( 0 ); 6978 this.overlay = !! Number( header.attr( 'data-overlay' ) ); 6979 this.hasAdminBar = !! $( 'body.admin-bar' ).length; 6980 this.stickyOn = this.header.data( 'sticky-on' ); 6981 breakpoint = this.header.data( 'sticky-breakpoint' ); 6982 6983 if ( '' == this.stickyOn ) { 6984 if ( typeof FLBuilderLayoutConfig.breakpoints[ breakpoint ] !== undefined ) { 6985 this.breakpointWidth = FLBuilderLayoutConfig.breakpoints[ breakpoint ]; 6986 } 6987 else { 6988 this.breakpointWidth = FLBuilderLayoutConfig.breakpoints.medium; 6989 } 6990 } 6991 6992 if ( Number( header.attr( 'data-sticky' ) ) ) { 6993 6994 this.header.data( 'original-top', this.header.offset().top ); 6995 6996 // The pin decision is made once here, while the header offset and the admin bar height are read from the same layout. 6997 adminBarHeight = $( '#wpadminbar' ).length ? $( '#wpadminbar' ).outerHeight() : 0; 6998 this.pinnable = this.overlay && this.header.data( 'original-top' ) <= adminBarHeight; 6999 7000 this.win.on( 'resize', $.throttle( 500, $.proxy( this._initSticky, this ) ) ); 7001 this._initSticky(); 7002 7003 } 7004 7005 }, this ) ); 7006 } 7007 }, 7008 7009 /** 7010 * Initializes sticky logic for a header. 7011 * 7012 * @since 1.0 7013 * @access private 7014 * @method _initSticky 7015 */ 7016 _initSticky: function( e ) 7017 { 7018 var header = $('.fl-builder-content[data-type=header]'), 7019 windowSize = this.win.width(), 7020 makeSticky = false; 7021 7022 makeSticky = this._makeWindowSticky( windowSize ); 7023 if ( makeSticky || ( this.breakpointWidth > 0 && windowSize >= this.breakpointWidth ) ) { 7024 this.win.on( 'scroll.fl-theme-builder-header-sticky', $.proxy( this._doSticky, this ) ); 7025 this._initPin(); 7026
7027 // Apply the sticky state on initial load when the page is 7028 // already scrolled past the header — e.g. when the browser 7029 // restores the scroll position on refresh. Overlay headers are 7030 // out of scope here; this mirrors the shrink-on-load behavior 7031 // in _initShrink(). 7032 if ( ! e && ! this.overlay && ! this.header.hasClass( 'fl-theme-builder-header-sticky' ) ) { 7033 var loadWinTop = this.win.scrollTop(), 7034 loadHeaderTop = Math.floor( this.header.data( 'original-top' ) ); 7035 7036 if ( this.hasAdminBar && windowSize > 600 ) { 7037 loadWinTop += Math.floor( $( '#wpadminbar' ).outerHeight() ); 7038 } 7039 7040 if ( loadWinTop > loadHeaderTop ) { 7041 this.header.addClass( 'fl-theme-builder-header-sticky' ); 7042 this.header.addClass( 'fl-theme-builder-header-scrolled' ); 7043 this._adjustHeaderHeight(); 7044 this._adjustStickyHeaderWidth(); 7045 } 7046 } 7047 7048 // 7049 // Check if Event Type is 'resize' then invoke this._doSticky() 7050 // only if the 'fl-theme-builder-header-sticky' class is already present. 7051 // 7052 if ( e && 'resize' === e.type ) { 7053 if ( this.header.hasClass( 'fl-theme-builder-header-sticky' ) ) { 7054 this._doSticky( e ); 7055 } 7056 this._adjustStickyHeaderWidth(); 7057 } 7058 7059 if ( Number( header.attr( 'data-shrink' ) ) ) { 7060 this.header.data( 'original-height', this.header.outerHeight() ); 7061 this.win.on( 'resize', $.throttle( 500, $.proxy( this._initShrink, this ) ) ); 7062 this._initShrink(); 7063 } 7064 7065 this._initFlyoutMenuFix( e ); 7066 } else { 7067 this.win.off( 'scroll.fl-theme-builder-header-sticky' ); 7068 this.win.off( 'resize.fl-theme-builder-header-sticky' ); 7069 7070 this.header.removeClass( 'fl-theme-builder-header-sticky' ); 7071 this.header.removeClass( 'fl-theme-builder-header-pinned' ); 7072 this.header.removeAttr( 'style' ); 7073 this.header.parent().css( 'padding-top', '0' ); 7074 } 7075 }, 7076 7077 /** 7078 * Pins an overlay header with fixed positioning from page load, avoiding a position change that a scroll handler cannot apply before the compositor paints. 7079 * 7080 * @since 1.6.1 7081 * @access private 7082 * @method _initPin 7083 */ 7084 _initPin: function() 7085 { 7086 this.header.toggleClass( 'fl-theme-builder-header-pinned', this.pinnable ); 7087 7088 if ( ! this.pinnable ) { 7089 return; 7090 } 7091 7092 // Fixed positioning resolves the width against the viewport, so boxed layouts require their maximum width immediately. 7093 this._adjustStickyHeaderWidth(); 7094 7095 // The header is visible from the first paint, so the scrolled state must reflect any restored scroll position. 7096 if ( this.win.scrollTop() > Math.floor( this.header.data( 'original-top' ) ) ) { 7097 this.header.addClass( 'fl-theme-builder-header-scrolled' ); 7098 } 7099 }, 7100 7101 /** 7102 * Check if Header should be sticky at a particular Window size. 7103 * 7104 * @since 1.4 7105 * @access private 7106 * @param widowSize 7107 * @method _makeWindowSticky 7108 */ 7109 _makeWindowSticky: function ( windowSize ) 7110 { 7111 var makeSticky = false; 7112 7113 switch (this.stickyOn) { 7114 case 'xl': 7115 makeSticky = windowSize > FLBuilderLayoutConfig.breakpoints['large']; 7116 break; 7117 case '': // Default 7118 case 'desktop': 7119 makeSticky = windowSize >= FLBuilderLayoutConfig.breakpoints['medium']; 7120 break; 7121 case 'desktop-medium': 7122 makeSticky = windowSize > FLBuilderLayoutConfig.breakpoints['small']; 7123 break; 7124 case 'large': 7125 makeSticky = windowSize > FLBuilderLayoutConfig.breakpoints['medium'] && windowSize <= FLBuilderLayoutConfig.breakpoints['large']; 7126 break; 7127 case 'large-medium': 7128 makeSticky = windowSize > FLBuilderLayoutConfig.breakpoints['small'] && windowSize <= FLBuilderLayoutConfig.breakpoints['large']; 7129 break; 7130 case 'medium': 7131 makeSticky = ( windowSize <= FLBuilderLayoutConfig.breakpoints['medium'] && windowSize > FLBuilderLayoutConfig.breakpoints['small'] ); 7132 break; 7133 case 'medium-mobile': 7134 makeSticky = (windowSize <= FLBuilderLayoutConfig.breakpoints['medium']); 7135 break; 7136 case 'mobile': 7137 makeSticky = (windowSize <= FLBuilderLayoutConfig.breakpoints['small']); 7138 break; 7139 case 'all':
7140 makeSticky = true; 7141 break; 7142 } 7143 7144 return makeSticky; 7145 }, 7146 7147 /** 7148 * Sticks the header when the page is scrolled. 7149 * 7150 * @since 1.0 7151 * @access private 7152 * @method _doSticky 7153 */ 7154 _doSticky: function( e ) 7155 { 7156 var winTop = Math.floor( this.win.scrollTop() ), 7157 headerTop = Math.floor( this.header.data( 'original-top' ) ), 7158 hasStickyClass = this.header.hasClass( 'fl-theme-builder-header-sticky' ), 7159 hasScrolledClass = this.header.hasClass( 'fl-theme-builder-header-scrolled' ), 7160 beforeHeader = this.header.prevAll( '.fl-builder-content' ), 7161 bodyTopPadding = parseInt( jQuery('body').css('padding-top') ), 7162 winBarHeight = $('#wpadminbar').length ? $('#wpadminbar').outerHeight() : 0, 7163 headerHeight = 0; 7164 7165 if ( isNaN( bodyTopPadding ) ) { 7166 bodyTopPadding = 0; 7167 } 7168 7169 if ( this.hasAdminBar && this.win.width() > 600 ) { 7170 winTop += Math.floor( winBarHeight ); 7171 } 7172 7173 if ( winTop > headerTop ) { 7174 if ( ! hasStickyClass ) { 7175 if ( e && ( 'scroll' === e.type || 'smartscroll' === e.type ) ) { 7176 this.header.addClass( 'fl-theme-builder-header-sticky' ); 7177 if ( this.overlay && beforeHeader.length ) { 7178 this.header.css( 'top', winBarHeight); 7179 } 7180 } 7181 7182 if ( ! this.overlay ) { 7183 this._adjustHeaderHeight(); 7184 } 7185 } 7186 } 7187 else if ( hasStickyClass ) { 7188 this.header.removeClass( 'fl-theme-builder-header-sticky' ); 7189 this.header.removeAttr( 'style' ); 7190 this.header.parent().css( 'padding-top', '0' ); 7191 } 7192 7193 this._adjustStickyHeaderWidth(); 7194 7195 if ( winTop > headerTop ) { 7196 if ( ! hasScrolledClass ) { 7197 this.header.addClass( 'fl-theme-builder-header-scrolled' ); 7198 } 7199 } else if ( hasScrolledClass ) { 7200 this.header.removeClass( 'fl-theme-builder-header-scrolled' ); 7201 } 7202 7203 this._flyoutMenuFix( e ); 7204 }, 7205 7206 /** 7207 * Initializes flyout menu fixes on sticky header. 7208 * 7209 * @since 1.4.1 7210 * @method _initFlyoutMenuFix 7211 */ 7212 _initFlyoutMenuFix: function( e ) { 7213 var header = this.header, 7214 menuModule = header.closest( '.fl-menu' ), 7215 flyoutMenu = menuModule.find( '.fl-menu-mobile-flyout' ), 7216 isPushMenu = menuModule.hasClass( 'fl-menu-responsive-flyout-push' ) || menuModule.hasClass( 'fl-menu-responsive-flyout-push-opacity' ), 7217 isOverlay = menuModule.hasClass( 'fl-menu-responsive-flyout-overlay' ), 7218 flyoutPos = menuModule.hasClass( 'fl-flyout-right' ) ? 'right' : 'left', 7219 flyoutParent = header.parent().is( 'header' ) ? header.parent().parent() : header.parent(); 7220 isFullWidth = this.win.width() === header.width(), 7221 flyoutLayout = '', 7222 activePos = 250, 7223 headerPos = 0; 7224 7225 if ( ! flyoutMenu.length ) { 7226 return; 7227 } 7228 7229 if ( this.win.width() > header.parent().width() ) { 7230 headerPos = ( this.win.width() - header.width() ) / 2; 7231 } 7232 7233 if ( isOverlay ) { 7234 activePos = headerPos; 7235 } 7236 else if ( isPushMenu ) { 7237 activePos = activePos + headerPos; 7238 } 7239 flyoutMenu.data( 'activePos', activePos ); 7240 7241 if ( isPushMenu ) { 7242 flyoutLayout = 'push-' + flyoutPos; 7243 } 7244 else if ( isOverlay ) { 7245 flyoutLayout = 'overlay-' + flyoutPos; 7246 } 7247 7248 if ( isPushMenu && ! $( 'html' ).hasClass( 'fl-theme-builder-has-flyout-menu' ) ) { 7249 $( 'html' ).addClass( 'fl-theme-builder-has-flyout-menu' ); 7250 } 7251 7252 if ( ! flyoutParent.hasClass( 'fl-theme-builder-flyout-menu-' + flyoutLayout ) ) { 7253 flyoutParent.addClass( 'fl-theme-builder-flyout-menu-' + flyoutLayout ); 7254 } 7255 7256 if ( ! header.hasClass( 'fl-theme-builder-flyout-menu-overlay' ) && isOverlay ) { 7257 header.addClass( 'fl-theme-builder-flyout-menu-overlay' ); 7258 } 7259 7260 if ( ! header.hasClass( 'fl-theme-builder-header-full-width' ) && isFullWidth ) { 7261 header.addClass( 'fl-theme-builder-header-full-width' ); 7262 } 7263 else if ( ! isFullWidth ) { 7264 header.removeClass( 'fl-theme-builder-header-full-width' ); 7265 } 7266 7267 menuModule.on( 'click', '.fl-menu-mobile-toggle', $.proxy( function( event ){ 7268 if ( menuModule.find( '.fl-menu-mobile-toggle.fl-active' ).length ) {
7269 $( 'html' ).addClass( 'fl-theme-builder-flyout-menu-active' ); 7270 event.stopImmediatePropagation(); 7271 } 7272 else { 7273 $( 'html' ).removeClass( 'fl-theme-builder-flyout-menu-active' ); 7274 } 7275 7276 this._flyoutMenuFix( event ); 7277 }, this ) ); 7278 }, 7279 7280 /** 7281 * Fix flyout menu inside the sticky header. 7282 * 7283 * @since 1.4.1 7284 * @method _flyoutMenuFix 7285 */ 7286 _flyoutMenuFix: function( e ){ 7287 var header = this.header, 7288 menuModule = $( e.target ).closest( '.fl-menu' ), 7289 flyoutMenu = menuModule.find( '.fl-menu-mobile-flyout' ), 7290 flyoutPos = menuModule.hasClass( 'fl-flyout-right' ) ? 'right' : 'left', 7291 menuOpacity = menuModule.find( '.fl-menu-mobile-opacity' ), 7292 isScroll = 'undefined' !== typeof e && 'scroll' === e.handleObj.type, 7293 activePos = 'undefined' !== typeof flyoutMenu.data( 'activePos' ) ? flyoutMenu.data( 'activePos' ) : 0, 7294 headerPos = ( this.win.width() - header.width() ) / 2, 7295 inactivePos = headerPos > 0 ? activePos + 4 : 254; 7296 7297 if ( ! flyoutMenu.length ) { 7298 return; 7299 } 7300 7301 if ( this.overlay ) { 7302 return; 7303 } 7304 7305 if( $( '.fl-theme-builder-flyout-menu-active' ).length ) { 7306 7307 if ( isScroll && ! flyoutMenu.hasClass( 'fl-menu-disable-transition' ) ) { 7308 flyoutMenu.addClass( 'fl-menu-disable-transition' ); 7309 } 7310 7311 if ( header.hasClass( 'fl-theme-builder-header-sticky' ) ) { 7312 if ( ! isScroll ) { 7313 setTimeout( $.proxy( function(){ 7314 flyoutMenu.css( flyoutPos, '-' + activePos + 'px' ); 7315 }, this ), 1 ); 7316 } 7317 else { 7318 flyoutMenu.css( flyoutPos, '-' + activePos + 'px' ); 7319 } 7320 } 7321 else { 7322 flyoutMenu.css( flyoutPos, '0px' ); 7323 } 7324 } 7325 else { 7326 if ( flyoutMenu.hasClass( 'fl-menu-disable-transition' ) ) { 7327 flyoutMenu.removeClass( 'fl-menu-disable-transition' ); 7328 } 7329 7330 if ( header.hasClass( 'fl-theme-builder-flyout-menu-overlay' ) && headerPos > 0 && headerPos < 250 ) { 7331 if ( header.hasClass( 'fl-theme-builder-header-sticky' ) ) { 7332 inactivePos = headerPos + 254; 7333 } 7334 else { 7335 inactivePos = 254; 7336 } 7337 } 7338 7339 if ( e && e.type === 'resize' ) { 7340 inactivePos = headerPos + 254; 7341 } 7342 7343 flyoutMenu.css( flyoutPos, '-' + inactivePos + 'px' ); 7344 } 7345 7346 if ( e && menuModule.is('.fl-menu-responsive-flyout-overlay') && $.infinitescroll ) { 7347 e.stopImmediatePropagation(); 7348 } 7349 7350 if( menuOpacity.length ) { 7351 if ( header.hasClass( 'fl-theme-builder-header-sticky' ) ) { 7352 if ( '0px' === menuOpacity.css( 'left' ) ) { 7353 menuOpacity.css( 'left', '-' + headerPos + 'px' ); 7354 } 7355 } 7356 else { 7357 menuOpacity.css( 'left', '' ); 7358 } 7359 } 7360 }, 7361 7362 /** 7363 * Adjust sticky header width if BB Theme Boxed Layout is used. 7364 * 7365 * @since 1.4 7366 * @access private 7367 * @method _adjustStickyHeaderWidth 7368 */ 7369 _adjustStickyHeaderWidth: function () { 7370 if ( $('body').hasClass( 'fl-fixed-width' ) ) { 7371 var parentWidth = this.header.parent().width(); 7372 7373 // Better if this is set in the stylesheet file. 7374 if ( this.win.width() >= 992 ) { 7375 this.header.css({ 7376 'margin': '0 auto', 7377 'max-width': parentWidth, 7378 }); 7379 } 7380 else { 7381 this.header.css({ 7382 'margin': '', 7383 'max-width': '', 7384 }); 7385 } 7386 } 7387 }, 7388 7389 /** 7390 * Adjust Sticky Header Height 7391 * 7392 * @since 1.4 7393 * @access private 7394 * @method _adjustHeaderHeight 7395 */ 7396 _adjustHeaderHeight: function () { 7397 var beforeHeader = this.header.prevAll('.fl-builder-content'), 7398 beforeHeaderHeight = 0, 7399 beforeHeaderFix = 0, 7400 headerHeight = Math.floor( this.header.outerHeight() ), 7401 bodyTopPadding = parseInt( $( 'body' ).css( 'padding-top' ) ), 7402 wpAdminBarHeight = 0, 7403 totalHeaderHeight = 0; 7404 7405 if ( isNaN( bodyTopPadding ) ) { 7406 bodyTopPadding = 0; 7407 } 7408 7409 if ( beforeHeader.length ) { 7410 $.each( beforeHeader, function() { 7411 beforeHeaderHeight += Math.floor( $(this).outerHeight() ); 7412 }); 7413 // Subtract this value from the header parent's top padding. 7414 beforeHeaderFix = 2; 7415 } 7416 7417 if ( this.hasAdminBar && this.win.width() <= 600 ) { 7418 wpAdminBarHeight = Math.floor( $('#wpadminbar').outerHeight() ); 7419 } 7420 7421 totalHeaderHeight = Math.floor( beforeHeaderHeight + headerHeight); 7422 7423 if ( headerHeight > 0 ) { 7424 var headerParent = this.header.parent(), 7425 headerParentTopPadding = 0; 7426 7427 // If the header's parent container is the BODY tag ignore its top padding. 7428 if ( $( headerParent ).is('body') ) { 7429 headerParentTopPadding = Math.floor( headerHeight - wpAdminBarHeight ); 7430 } else { 7431 headerParentTopPadding = Math.floor( headerHeight - bodyTopPadding - wpAdminBarHeight ); 7432 } 7433 7434 $( headerParent ).css( 'padding-top', ( headerParentTopPadding - beforeHeaderFix ) + 'px' ); 7435 7436 this.header.css({ 7437 '-webkit-transform': 'translate(0px, -' + totalHeaderHeight + 'px)', 7438 '-ms-transform': 'translate(0px, -' + totalHeaderHeight + 'px)', 7439 'transform': 'translate(0px, -' + totalHeaderHeight + 'px)' 7440 }); 7441 7442 } 7443 7444 }, 7445 7446 /** 7447 * Initializes shrink logic for a header. 7448 * 7449 * @since 1.0 7450 * @access private 7451 * @method _initShrink 7452 */ 7453 _initShrink: function( e ) 7454 { 7455 if ( this.win.width() >= this.breakpointWidth ) {
7456 this.win.on( 'scroll.fl-theme-builder-header-shrink', $.proxy( this._doShrink, this ) ); 7457 this._setImageMaxHeight(); 7458 7459 if ( this.win.scrollTop() > 0 ){ 7460 this._doShrink(); 7461 } 7462 7463 } else { 7464 this.header.parent().css( 'padding-top', '0' ); 7465 this.win.off( 'scroll.fl-theme-builder-header-shrink' ); 7466 this._removeShrink(); 7467 this._removeImageMaxHeight(); 7468 } 7469 }, 7470 7471 /** 7472 * Shrinks the header when the page is scrolled. 7473 * 7474 * @since 1.0 7475 * @access private 7476 * @method _doShrink 7477 */ 7478 _doShrink: function( e ) 7479 { 7480 var winTop = this.win.scrollTop(), 7481 headerTop = this.header.data('original-top'), 7482 headerHeight = this.header.data('original-height'), 7483 shrinkImageHeight = this.header.data('shrink-image-height'), 7484 windowSize = this.win.width(), 7485 makeSticky = this._makeWindowSticky( windowSize ), 7486 hasClass = this.header.hasClass( 'fl-theme-builder-header-shrink' ); 7487 7488 7489 if ( this.hasAdminBar ) { 7490 winTop += 32; 7491 } 7492 7493 if ( makeSticky && ( winTop > headerTop + headerHeight ) ) { 7494 if ( ! hasClass ) { 7495 7496 this.header.addClass( 'fl-theme-builder-header-shrink' ); 7497 7498 // Shrink images but don't include lightbox and menu images. 7499 this.header.find('img').each( function( i ) { 7500 var image = $( this ), 7501 maxMegaMenu = image.closest( '.max-mega-menu' ).length, 7502 imageInLightbox = image.closest( '.fl-button-lightbox-content' ).length, 7503 imageInNavMenu = image.closest( 'li.menu-item' ).length; 7504 7505 if ( ! ( imageInLightbox || imageInNavMenu || maxMegaMenu ) ) { 7506 image.css( 'max-height', shrinkImageHeight ); 7507 } 7508 7509 }); 7510 7511 this.header.find( '.fl-row-content-wrap' ).each( function() { 7512 7513 var row = $( this ); 7514 7515 if ( parseInt( row.css( 'padding-bottom' ) ) > 5 ) { 7516 row.addClass( 'fl-theme-builder-header-shrink-row-bottom' ); 7517 } 7518 7519 if ( parseInt( row.css( 'padding-top' ) ) > 5 ) { 7520 row.addClass( 'fl-theme-builder-header-shrink-row-top' ); 7521 } 7522 } ); 7523 7524 this.header.find( '.fl-module' ).each( function() { 7525 7526 var module = $( this ).find( '.fl-module-content' ).length ? $( this ).find( '.fl-module-content' ) : $( this ); 7527 7528 if ( parseInt( module.css( 'margin-bottom' ) ) > 5 ) { 7529 module.addClass( 'fl-theme-builder-header-shrink-module-bottom' ); 7530 } 7531 7532 if ( parseInt( module.css( 'margin-top' ) ) > 5 ) { 7533 module.addClass( 'fl-theme-builder-header-shrink-module-top' ); 7534 } 7535 } ); 7536 } 7537 } else if (hasClass) { 7538 this.header.find( 'img' ).css( 'max-height', '' ); 7539 this._removeShrink(); 7540 } 7541 7542 // Fixes Shrink header issue with BB Theme when window is scrolled then resized and back. 7543 if ( 'undefined' === typeof( e ) && $('body').hasClass( 'fl-fixed-width' ) ) { 7544 if ( ! this.overlay ) { 7545 this._adjustHeaderHeight(); 7546 } 7547 } 7548 7549 }, 7550 7551 /** 7552 * Removes the header shrink effect. 7553 * 7554 * @since 1.0 7555 * @access private 7556 * @method _removeShrink 7557 */ 7558 _removeShrink: function() 7559 { 7560 var rows = this.header.find( '.fl-row-content-wrap' ), 7561 modules = this.header.find('.fl-module, .fl-module-content'); 7562 7563 rows.removeClass( 'fl-theme-builder-header-shrink-row-bottom' ); 7564 rows.removeClass( 'fl-theme-builder-header-shrink-row-top' ); 7565 modules.removeClass( 'fl-theme-builder-header-shrink-module-bottom' ); 7566 modules.removeClass( 'fl-theme-builder-header-shrink-module-top' ); 7567 this.header.removeClass( 'fl-theme-builder-header-shrink' ); 7568 }, 7569 7570 /** 7571 * Adds max height to images in modules for smooth scrolling. 7572 * 7573 * @since 1.1.1 7574 * @access private 7575 * @method _setImageMaxHeight 7576 */ 7577 _setImageMaxHeight: function() 7578 { 7579 var head = $( 'head' ), 7580 stylesId = 'fl-header-styles-' + this.header.data( 'post-id' ), 7581 styles = '', 7582 images = this.header.find( '.fl-module img' ); 7583 7584 if ( $( '#' + stylesId ).length ) { 7585 return; 7586 } 7587 7588 images.each( function( i ) { 7589 var image = $( this ), 7590 height = image.height(), 7591 node = image.closest( '.fl-module' ).data( 'node' ), 7592 className = 'fl-node-' + node + '-img-' + i, 7593 maxMegaMenu = image.closest( '.max-mega-menu' ).length, 7594 imageInLightbox = image.closest( '.fl-button-lightbox-content' ).length, 7595 imageInNavMenu = image.closest( 'li.menu-item' ).length; 7596 7597 if ( ! ( imageInLightbox || imageInNavMenu || maxMegaMenu ) ) { 7598 image.addClass( className ); 7599 styles += '.' + className + ' { max-height: ' + ( height ? height : image[0].height ) + 'px }'; 7600 } 7601 7602 } ); 7603
7604 if ( '' !== styles ) { 7605 head.append( '<style id="' + stylesId + '">' + styles + '</style>' ); 7606 } 7607 }, 7608 7609 /** 7610 * Removes max height on images in modules for smooth scrolling. 7611 * 7612 * @since 1.1.1 7613 * @access private 7614 * @method _removeImageMaxHeight 7615 */ 7616 _removeImageMaxHeight: function() 7617 { 7618 $( '#fl-header-styles-' + this.header.data( 'post-id' ) ).remove(); 7619 }, 7620 }; 7621 7622 $( function() { FLThemeBuilderHeaderLayout.init(); } ); 7623 7624})(jQuery);</script>
7624<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"8f022cdec0074a99b6b50252dd705755","r":1,"spa":2}' crossorigin="anonymous"></script>
7624 7625</body></html> 7626<!-- Page optimized by LiteSpeed Cache @2026-10-01 03:38:08 --> 7627 7628<!-- Page cached by LiteSpeed Cache 7.9.1 on 2026-10-01 03:38:08 -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.