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=df111' media='all' /><link data-optimized="1" rel='stylesheet' id='sbi_styles-css' href='https://clpvd.org/wp-content/litespeed/css/2d45b5f2a46e9077a774f921f6e26538.css?ver=69017' 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-edit body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"] { 3932 display: none; 3933} 3934body: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, 3935body: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, 3936body: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 { 3937 background: transparent; 3938} 3939 3940 3941 3942 3943 3944/*# 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' />
3944<script id="jquery-core-js" data-cfasync="false" src="https://clpvd.org/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
3944
3944<script data-optimized="1" id="jquery-migrate-js" src="https://clpvd.org/wp-content/litespeed/js/05e2f978094cd82abacd3a36bab85f3b.js?ver=4e9c5"></script>
3944
3944<script data-optimized="1" id="assabetinteractive-js" src="https://clpvd.org/wp-content/litespeed/js/7361618e5d03d9b2e83a63e8cfc7d505.js?ver=49630"></script>
3944
3944<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/"}; 3945//# sourceURL=search-filter-pro-bb-js-extra</script>
3945
3945<script data-optimized="1" id="search-filter-pro-bb-js" src="https://clpvd.org/wp-content/litespeed/js/ede75feb3bfe34eb8edfe2c717b5fe76.js?ver=29ade"></script>
3945
3945<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":[]}; 3946//# sourceURL=search-filter-plugin-build-js-extra</script>
3946
3946<script data-optimized="1" id="search-filter-plugin-build-js" src="https://clpvd.org/wp-content/litespeed/js/b74f303290e7a0c1042f50cedad8a900.js?ver=ed938"></script>
3946
3946<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>
3946 <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.1" /><link rel='shortlink' href='https://clpvd.org/?p=1846' />
3946<script>var bb_powerpack = { 3947 version: '2.42.3', 3948 getAjaxUrl: function() { return atob( 'aHR0cHM6Ly9jbHB2ZC5vcmcvd3AtYWRtaW4vYWRtaW4tYWpheC5waHA=' ); }, 3949 callback: function() {}, 3950 mapMarkerData: {}, 3951 post_id: '1846', 3952 search_term: '', 3953 current_page: 'https://clpvd.org/actions/donate-items/', 3954 conditionals: { 3955 is_front_page: false, 3956 is_home: false, 3957 is_archive: false, 3958 current_post_type: '', 3959 is_tax: false, 3960 is_author: false, 3961 current_author: false, 3962 is_search: false, 3963 } 3964 };</script>
3964 <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" />
3964<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>
3964
3964<script>
vendor: 327 bytes, lines 3964-3968
3964(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 3965new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 3966j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 3967'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 3968})(window,document,'script','dataLayer','
3968GTM-W2CD3P9
vendor: 3 bytes, line 3968
3968');
3968</script>
3968 <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, 3969.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-calendar th span{ 3970 font-size: 15px !important; 3971} 3972.gform-theme-datepicker:not(.gform-legacy-datepicker) .ui-datepicker-header select { 3973 font-size: 18px !important; 3974}</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 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 3974-3975
3974 3975<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
3975GTM-W2CD3P9
vendor: 82 bytes, lines 3975-3976
3975" 3976height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
3976<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">
3976<script>function checkSetting() { 3977 if (document.getElementById('option_encore').checked) { 3978 document.getElementById('clpvd_search_form').action = document.getElementById('option_encore').value; 3979 document.getElementById('clpvd_search_form_target').placeholder = "Find books, movies, music and more"; 3980 document.getElementById('clpvd_search_form_target').name = "lookfor"; 3981 console.log(document.getElementById('option_encore').value); 3982 } 3983 3984 if (document.getElementById('option_wordpress').checked) { 3985 document.getElementById('clpvd_search_form').action = document.getElementById('option_wordpress').value; 3986 document.getElementById('clpvd_search_form_target').placeholder = "Search this site"; 3987 document.getElementById('clpvd_search_form_target').name = "s"; 3988 console.log(document.getElementById('option_wordpress').value); 3989 } 3990 3991 }</script>
3991 <form id="clpvd_search_form" action="https://clpvd.oslri.net/Union/Search" target="_blank" method="get" name="clpvd_search_form"> 3992<input type="hidden" name="formids" value="target"> 3993<input type="hidden" name="lang" value="eng"> 3994<input type="hidden" name="suite" value="def"> 3995<input type="hidden" name="reservedids" value="lang,suite"> 3996<input type="hidden" name="submit mode" value=""> 3997<input type="hidden" name="submitname" value=""> 3998<input type="radio" value="https://clpvd.oslri.net/Union/Search" name="searchSwitch" id="option_encore" checked="selcheckedected" onChange="checkSetting()" /> 3999<label for="option_encore">Search Catalog</label> 4000<input type="radio" value="https://clpvd.org" name="searchSwitch" id="option_wordpress" onChange="checkSetting()" /> 4001<label for="option_wordpress">Search This Site</label> 4002<input id="clpvd_search_form_target" placeholder="Find books, movies, music and more" type="text" name="lookfor" value=""> 4003<input type="submit" class="form-submit" value="Search"></form>
4003<script>document.getElementById('option_encore').click();</script>
4003 </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"> 4004<a href="https://clpvd.org/" target="_self" itemprop="url"> 4005<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" /> 4006</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">
4006<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">
4006<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">
4006<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"> 4007<a href="https://clpvd.org/" target="_self" itemprop="url"> 4008<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" /> 4009</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"> 4010<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
4010ox="0 0 512 512"> 4011<rect class="fl-hamburger-menu-top" width="512" height="102"/> 4012<rect class="fl-hamburger-menu-middle" y="205" width="512" height="102"/> 4013<rect class="fl-hamburger-menu-bottom" y="410" width="512" height="102"/> 4014</svg> 4015</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>
4015<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
4015-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
4015-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"> 4016<a href="https://clpvd.org/" target="_self" itemprop="url"> 4017<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" /> 4018</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"> 4019<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
4019ox="0 0 512 512"> 4020<rect class="fl-hamburger-menu-top" width="512" height="102"/> 4021<rect class="fl-hamburger-menu-middle" y="205" width="512" height="102"/> 4022<rect class="fl-hamburger-menu-bottom" y="410" width="512" height="102"/> 4023</svg> 4024</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
4024-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
4024-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>
4024<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"> 4025<a href="#" target="_blank" ><div class="alert alert-warning fade in" > 4026<span class="close" data-dismiss="alert" aria-label="close"><i class="fa fa-times" aria-hidden="true"></i></span> 4027<span class="bbn_information "><div class="alert-padding"> 4028<i class=""></i><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> 4029</span></div> 4030</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"> 4031<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>
4031<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>
4031</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/">
4031find 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/
4031or 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"> 4032<a href="https://clpvd.org/" target="_self" itemprop="url"> 4033<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" /> 4034</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"> 4035Stay 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"> 4036<span class="fl-icon"> 4037<a href="https://www.youtube.com/CommunityLibrariesPVD" target="_blank" rel="noopener"> 4038<i class="fab fa-youtube" aria-hidden="true"></i> 4039<span class="sr-only">CLPVD Youtube</span> 4040</a> 4041</span> 4042<span class="fl-icon"> 4043<a href="https://www.facebook.com/9librariespvd" target="_blank" rel="noopener"> 4044<i class="fab fa-facebook-f" aria-hidden="true"></i> 4045<span class="sr-only">CLPVD Facebook</span> 4046</a> 4047</span> 4048<span class="fl-icon"> 4049<a href="https://x.com/9librariespvd" target="_blank" rel="noopener"> 4050<i class="fa-brands fab fa-x-twitter" aria-hidden="true"></i> 4051<span class="sr-only">CLPVD X / Twitter</span> 4052</a> 4053</span> 4054<span class="fl-icon"> 4055<a href="https://www.instagram.com/9librariespvd/" target="_blank" rel="noopener"> 4056<i class="fab fa-instagram" aria-hidden="true"></i> 4057<span class="sr-only">CLPVD Instagram</span> 4058</a> 4059</span> 4060<span class="fl-icon"> 4061<a href="https://www.linkedin.com/company/communitylibrariespvd" target="_blank" rel="noopener"> 4062<i class="fab fa-linkedin-in" aria-hidden="true"></i> 4063<span class="sr-only">CLPVD LinkedIn</span> 4064</a> 4065</span> 4066<span class="fl-icon"> 4067<a href="https://bsky.app/profile/9librariespvd.bsky.social" target="_blank" rel="noopener"> 4068<i class="fa-brands fab fa-bluesky" aria-hidden="true"></i> 4069<span class="sr-only">Bluesky</span> 4070</a> 4071</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 /> 4072PO 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>
4072<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>
4072 <div class="gtranslate_wrapper" id="gt-wrapper-72118807"></div>
4072<script>( function ( body ) { 4073 'use strict'; 4074 body.className = body.className.replace( /\btribe-no-js\b/, 'tribe-js' ); 4075 } )( document.body );</script>
4075
4075<script type="text/javascript">var sbiajaxurl = "https://clpvd.org/wp-admin/admin-ajax.php";</script>
4075
4075<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>
4075<script data-optimized="1" id="tec-user-agent-js" src="https://clpvd.org/wp-content/litespeed/js/c578bc60e8c832bf0664f888e23b03fb.js?ver=3ae99"></script>
4075
4075<script data-optimized="1" id="wpascript-js" src="https://clpvd.org/wp-content/litespeed/js/979a431c658af872bf8633de99376935.js?ver=a8951"></script>
4075
4075<script id="wpascript-js-after">wpa_field_info = JSON.parse(atob("eyJ3cGFfZmllbGRfbmFtZSI6ImFxZ2p5djgwMzAiLCJ3cGFfZmllbGRfdmFsdWUiOjU2MDM5Nywid3BhX2FkZF90ZXN0Ijoibm8ifQ==")); 4076//# sourceURL=wpascript-js-after</script>
4076
4076<script data-optimized="1" id="imagesloaded-js" src="https://clpvd.org/wp-content/litespeed/js/f358c13c50a33bb4b8993a0943bdd627.js?ver=f9d5e"></script>
4076
4076<script data-optimized="1" id="jquery-throttle-js" src="https://clpvd.org/wp-content/litespeed/js/7eda739a17543ad8a544624ccfdf1908.js?ver=e58bd"></script>
4076
4076<script data-optimized="1" id="bbn_boot-js" src="https://clpvd.org/wp-content/litespeed/js/e5bb829061309a7b88bcffcfaab4b45f.js?ver=6ee40"></script>
4076
4076<script data-optimized="1" id="bbn_cookie-js" src="https://clpvd.org/wp-content/litespeed/js/6b4216033519fd796108991ccb64739f.js?ver=b24cc"></script>
4076
4076<script data-optimized="1" id="jquery-magnificpopup-js" src="https://clpvd.org/wp-content/litespeed/js/ad0a45afc132f9ded556112a89db0f06.js?ver=353a3"></script>
4076
4076<script id="jquery-ui-core-js-before">jQuery.uiBackCompat = true; 4077//# sourceURL=jquery-ui-core-js-before</script>
4077
4077<script data-optimized="1" id="jquery-ui-core-js" src="https://clpvd.org/wp-content/litespeed/js/b67bdfb1a8dcc26064feab9236ab9b11.js?ver=c7540"></script>
4077
4077<script data-optimized="1" id="jquery-ui-datepicker-js" src="https://clpvd.org/wp-content/litespeed/js/cd28740a44ac64aff45e59fff185f0dc.js?ver=8ec82"></script>
4077
4077<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});}); 4078//# sourceURL=jquery-ui-datepicker-js-after</script>
4078
4078<script data-optimized="1" id="skip-links-js" src="https://clpvd.org/wp-content/litespeed/js/048b8264b352694e436e10c2ecf62acc.js?ver=875dd"></script>
4078
4078<script data-optimized="1" id="page-links-to-js" src="https://clpvd.org/wp-content/litespeed/js/f765f64809ef19d3bcbfbd9d374bdd78.js?ver=84217"></script>
4078
4078<script id="gt_widget_script_72118807-js-before">window.gtranslateSettings = /* document.write */ window.gtranslateSettings || {};window.gtranslateSettings['72118807'] = {"default_language":"en","languages":["en","es"],"url_structure":"sub_directory","detect_browser_language":1,"flag_style":"3d","wrapper_selector":"#gt-wrapper-72118807","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\/"}; 4079//# sourceURL=gt_widget_script_72118807-js-before</script>
4079<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="72118807" defer></script>
4079<script>var wpAjaxUrl = 'https://clpvd.org/wp-admin/admin-ajax.php';var flBuilderUrl = 'https://clpvd.org/wp-content/plugins/bb-plugin/';var FLBuilderLayoutConfig = { 4080 anchorLinkAnimations : { 4081 duration : 1000, 4082 easing : 'swing', 4083 offset : 100 4084 }, 4085 paths : { 4086 pluginUrl : 'https://clpvd.org/wp-content/plugins/bb-plugin/', 4087 wpAjaxUrl : 'https://clpvd.org/wp-admin/admin-ajax.php' 4088 }, 4089 breakpoints : { 4090 small : 768, 4091 medium : 1023, 4092 large : 1200 }, 4093 waypoint: { 4094 offset: 80 4095 }, 4096 emptyColWidth: '0%', 4097 i18n : { 4098 opensInNewTab : '(opens in new tab)' 4099 } 4100}; 4101(function($){ 4102 4103 if(typeof FLBuilderLayout != 'undefined') { 4104 return; 4105 } 4106 4107 /** 4108 * Helper class with generic logic for a builder layout. 4109 * 4110 * @class FLBuilderLayout 4111 * @since 1.0 4112 */ 4113 FLBuilderLayout = { 4114 4115 /** 4116 * Initializes a builder layout. 4117 * 4118 * @since 1.0 4119 * @method init 4120 */ 4121 init: function() 4122 { 4123 // Destroy existing layout events. 4124 FLBuilderLayout._destroy(); 4125 4126 // Init CSS classes. 4127 FLBuilderLayout._initClasses(); 4128 4129 // Init backgrounds.
4130 FLBuilderLayout._initBackgrounds(); 4131 4132 // Init buttons. 4133 FLBuilderLayout._initButtons(); 4134 4135 // Init row shape layer height. 4136 FLBuilderLayout._initRowShapeLayerHeight(); 4137 4138 // Init the new tab notice on links opening in a new tab. 4139 FLBuilderLayout._initLinkNotices(); 4140 4141 // Only init if the builder isn't active. 4142 if ( 0 === $('.fl-builder-edit').length ) { 4143 4144 // Init anchor links. 4145 FLBuilderLayout._initAnchorLinks(); 4146 4147 // Init the browser hash. 4148 FLBuilderLayout._initHash(); 4149 4150 // Init forms. 4151 FLBuilderLayout._initForms(); 4152 4153 FLBuilderLayout._reorderMenu(); 4154 } 4155 else { 4156 FLBuilderLayout._initNestedColsWidth(); 4157 } 4158 $('body').removeClass( 'fl-no-js' ); 4159 }, 4160 4161 /** 4162 * Public method for refreshing Wookmark or MosaicFlow galleries 4163 * within an element. 4164 * 4165 * @since 1.7.4 4166 * @method refreshGalleries 4167 */ 4168 refreshGalleries: function( element ) 4169 { 4170 var $element = 'undefined' == typeof element ? $( 'body' ) : $( element ), 4171 mfContent = $element.find( '.fl-mosaicflow-content' ), 4172 wmContent = $element.find( '.fl-gallery' ), 4173 mfObject = null; 4174 4175 if ( mfContent ) { 4176 4177 mfObject = mfContent.data( 'mosaicflow' ); 4178 4179 if ( mfObject ) { 4180 mfObject.columns = $( [] ); 4181 mfObject.columnsHeights = []; 4182 mfContent.data( 'mosaicflow', mfObject ); 4183 mfContent.mosaicflow( 'refill' ); 4184 } 4185 } 4186 if ( wmContent ) { 4187 wmContent.trigger( 'refreshWookmark' ); 4188 } 4189 }, 4190 4191 /** 4192 * Public method for refreshing Masonry within an element 4193 * 4194 * @since 1.8.1 4195 * @method refreshGridLayout 4196 */ 4197 refreshGridLayout: function( element ) 4198 { 4199 var $element = 'undefined' == typeof element ? $( 'body' ) : $( element ), 4200 msnryContent = $element.find('.masonry'); 4201 4202 if ( msnryContent.length ) { 4203 msnryContent.masonry('layout'); 4204 } 4205 }, 4206 4207 /** 4208 * Public method for reloading BxSlider within an element 4209 * 4210 * @since 1.8.1 4211 * @method reloadSlider 4212 */ 4213 reloadSlider: function( content ) 4214 { 4215 var $content = 'undefined' == typeof content ? $('body') : $(content); 4216 4217 // reload sliders. 4218 if ($content.find('.bx-viewport > div').length > 0) { 4219 $.each($content.find('.bx-viewport > div'), function (key, slider) { 4220 setTimeout(function () { 4221 $(slider).data('bxSlider').reloadSlider(); 4222 }, 100); 4223 }); 4224 } 4225 }, 4226 4227 /** 4228 * Public method for resizing WP audio player 4229 * 4230 * @since 1.8.2 4231 * @method resizeAudio 4232 */ 4233 resizeAudio: function( element ) 4234 { 4235 var $element = 'undefined' == typeof element ? $( 'body' ) : $( element ), 4236 audioPlayers = $element.find('.wp-audio-shortcode.mejs-audio'), 4237 player = null, 4238 mejsPlayer = null, 4239 rail = null, 4240 railWidth = 400; 4241 4242 if ( audioPlayers.length && typeof mejs !== 'undefined' ) { 4243 audioPlayers.each(function(){ 4244 player = $(this); 4245 mejsPlayer = mejs.players[player.attr('id')]; 4246 rail = player.find('.mejs-controls .mejs-time-rail'); 4247 var innerMejs = player.find('.mejs-inner'), 4248 total = player.find('.mejs-controls .mejs-time-total'); 4249 4250 if ( typeof mejsPlayer !== 'undefined' ) { 4251 railWidth = Math.ceil(player.width() * 0.8); 4252 4253 if ( innerMejs.length ) { 4254 4255 rail.css('width', railWidth +'px!important'); 4256 //total.width(rail.width() - 10); 4257 4258 mejsPlayer.options.autosizeProgress = true; 4259 4260 // webkit has trouble doing this without a delay 4261 setTimeout(function () { 4262 mejsPlayer.setControlsSize(); 4263 }, 50); 4264 4265 player.find('.mejs-inner').css({ 4266 visibility: 'visible', 4267 height: 'inherit' 4268 }); 4269 } 4270 } 4271 }); 4272 } 4273 }, 4274 4275 /** 4276 * Public method for preloading WP audio player when it's inside the hidden element 4277 * 4278 * @since 1.8.2 4279 * @method preloadAudio 4280 */ 4281 preloadAudio: function(element) 4282 { 4283 var $element = 'undefined' == typeof element ? $( 'body' ) : $( element ), 4284 contentWrap = $element.closest('.fl-accordion-item'), 4285 audioPlayers = $element.find('.wp-audio-shortcode.mejs-audio'); 4286 4287 if ( ! contentWrap.hasClass('fl-accordion-item-active') && audioPlayers.find('.mejs-inner').length ) { 4288 audioPlayers.find('.mejs-inner').css({ 4289 visibility : 'hidden', 4290 height: 0 4291 }); 4292 } 4293 }, 4294 4295 /** 4296 * Public method for resizing slideshow momdule within the tab 4297 * 4298 * @since 1.10.5 4299 * @method resizeSlideshow 4300 */ 4301 resizeSlideshow: function(){ 4302 if(typeof YUI !== 'undefined') { 4303 YUI().use('node-event-simulate', function(Y) { 4304 Y.one(window).simulate("resize"); 4305 }); 4306 } 4307 }, 4308 4309 /** 4310 * Public method for reloading an embedded Google Map within the tabs or hidden element. 4311 * 4312 * @since 2.2 4313 * @method reloadGoogleMap 4314 */ 4315 reloadGoogleMap: function(element){ 4316 var $element = 'undefined' == typeof element ? $( 'body' ) : $( element ),
4317 googleMap = $element.find( 'iframe[src*="google.com/maps"]' ); 4318 4319 if ( googleMap.length ) { 4320 googleMap.attr( 'src', function(i, val) { 4321 return val; 4322 }); 4323 } 4324 }, 4325 4326 /** 4327 * Unbinds builder layout events. 4328 * 4329 * @since 1.0 4330 * @access private 4331 * @method _destroy 4332 */ 4333 _destroy: function() 4334 { 4335 var win = $(window); 4336 4337 win.off('scroll.fl-bg-parallax'); 4338 win.off('resize.fl-bg-video'); 4339 }, 4340 4341 /** 4342 * Checks to see if the current device has touch enabled. 4343 * 4344 * @since 1.0 4345 * @access private 4346 * @method _isTouch 4347 * @return {Boolean} 4348 */ 4349 _isTouch: function() 4350 { 4351 if(('ontouchstart' in window) || (window.DocumentTouch && document instanceof DocumentTouch)) { 4352 return true; 4353 } 4354 4355 return false; 4356 }, 4357 4358 /** 4359 * Checks to see if the current device is mobile. 4360 * 4361 * @since 1.7 4362 * @access private 4363 * @method _isMobile 4364 * @return {Boolean} 4365 */ 4366 _isMobile: function() 4367 { 4368 return /Mobile|Android|Silk\/|Kindle|BlackBerry|Opera Mini|Opera Mobi|webOS/i.test( navigator.userAgent ); 4369 }, 4370 4371 /** 4372 * Initializes builder body classes. 4373 * 4374 * @since 1.0 4375 * @access private 4376 * @method _initClasses 4377 */ 4378 _initClasses: function() 4379 { 4380 var body = $( 'body' ), 4381 ua = navigator.userAgent; 4382 4383 // Add the builder body class (skip on block-only frontend to avoid layout break). 4384 if ( ! body.hasClass( 'fl-builder-blocks-only' ) && ! body.hasClass( 'archive' ) && $( '.fl-builder-content-primary' ).length > 0 ) { 4385 body.addClass('fl-builder'); 4386 } 4387 4388 // Add the builder touch body class. 4389 if(FLBuilderLayout._isTouch()) { 4390 body.addClass('fl-builder-touch'); 4391 } 4392 4393 // Add the builder mobile body class. 4394 if(FLBuilderLayout._isMobile()) { 4395 body.addClass('fl-builder-mobile'); 4396 } 4397 4398 if ( $(window).width() < FLBuilderLayoutConfig.breakpoints.small ) { 4399 body.addClass( 'fl-builder-breakpoint-small' ); 4400 } 4401 4402 if ( $(window).width() > FLBuilderLayoutConfig.breakpoints.small && $(window).width() < FLBuilderLayoutConfig.breakpoints.medium ) { 4403 body.addClass( 'fl-builder-breakpoint-medium' ); 4404 } 4405 4406 if ( $(window).width() > FLBuilderLayoutConfig.breakpoints.medium && $(window).width() < FLBuilderLayoutConfig.breakpoints.large ) { 4407 body.addClass( 'fl-builder-breakpoint-large' ); 4408 } 4409 4410 if ( $(window).width() > FLBuilderLayoutConfig.breakpoints.large ) { 4411 body.addClass( 'fl-builder-breakpoint-default' ); 4412 } 4413 4414 // IE11 body class. 4415 if ( ua.indexOf( 'Trident/7.0' ) > -1 && ua.indexOf( 'rv:11.0' ) > -1 ) { 4416 body.addClass( 'fl-builder-ie-11' ); 4417 } 4418 }, 4419 4420 /** 4421 * Initializes builder node backgrounds that require 4422 * additional JavaScript logic such as parallax. 4423 * 4424 * @since 1.1.4 4425 * @access private
4426 * @method _initBackgrounds 4427 */ 4428 _initBackgrounds: function() 4429 { 4430 var win = $(window); 4431 4432 // Init parallax backgrounds. 4433 if($('.fl-row-bg-parallax').length > 0 && !FLBuilderLayout._isMobile()) { 4434 FLBuilderLayout._scrollParallaxBackgrounds(); 4435 FLBuilderLayout._initParallaxBackgrounds(); 4436 win.on('resize.fl-bg-parallax', FLBuilderLayout._initParallaxBackgrounds); 4437 win.on('scroll.fl-bg-parallax', FLBuilderLayout._scrollParallaxBackgrounds); 4438 } 4439 4440 // Init video backgrounds. 4441 if($('.fl-bg-video').length > 0) { 4442 FLBuilderLayout._initBgVideos(); 4443 FLBuilderLayout._resizeBgVideos(); 4444 4445 // Ensure FLBuilderLayout._resizeBgVideos() is only called once on window resize. 4446 var resizeBGTimer = null; 4447 win.on('resize.fl-bg-video', function(e){ 4448 clearTimeout( resizeBGTimer ); 4449 resizeBGTimer = setTimeout(function() { 4450 FLBuilderLayout._resizeBgVideos(e); 4451 }, 100 ); 4452 }); 4453 } 4454 }, 4455 4456 /** 4457 * Initializes all buttons in a layout. 4458 * 4459 * @since 2.10 4460 * @access private 4461 * @method _initButtons 4462 */ 4463 _initButtons: function() 4464 { 4465 // Trigger click event on Enter or Space key press for deprecated button markup. 4466 $('a.fl-button[role="button"]').on('keydown', function(event) { 4467 if (event.key === 'Enter' || event.key === ' ') { 4468 // Necessary to prevent the default behavior of the space key from scrolling the page 4469 event.preventDefault(); 4470 $(this).trigger('click'); 4471 } 4472 }); 4473 }, 4474 4475 /** 4476 * Initializes all parallax backgrounds in a layout. 4477 * 4478 * @since 1.1.4 4479 * @access private 4480 * @method _initParallaxBackgrounds 4481 */ 4482 _initParallaxBackgrounds: function() 4483 { 4484 $('.fl-row-bg-parallax').each(FLBuilderLayout._initParallaxBackground); 4485 }, 4486 4487 /** 4488 * Initializes a single parallax background. 4489 * 4490 * @since 1.1.4 4491 * @access private 4492 * @method _initParallaxBackgrounds 4493 */ 4494 _initParallaxBackground: function() 4495 { 4496 var row = $(this), 4497 content = row.find('> .fl-row-content-wrap'), 4498 winWidth = $(window).width(), 4499 screenSize = '', 4500 imageSrc = { 4501 default: '', 4502 medium: '', 4503 responsive: '', 4504 }; 4505 4506 imageSrc.default = row.data('parallax-image') || ''; 4507 imageSrc.medium = row.data('parallax-image-medium') || imageSrc.default; 4508 imageSrc.responsive = row.data('parallax-image-responsive') || imageSrc.medium; 4509 4510 if (winWidth > FLBuilderLayoutConfig.breakpoints.medium) { 4511 screenSize = 'default'; 4512 } else if (winWidth > FLBuilderLayoutConfig.breakpoints.small && winWidth <= FLBuilderLayoutConfig.breakpoints.medium ) { 4513 screenSize = 'medium'; 4514 } else if (winWidth <= FLBuilderLayoutConfig.breakpoints.small) { 4515 screenSize = 'responsive'; 4516 } 4517 4518 content.css('background-image', 'url(' + imageSrc[screenSize] + ')'); 4519 row.data('current-image-loaded', screenSize ); 4520 4521 }, 4522 4523 /** 4524 * Fires when the window is scrolled to adjust 4525 * parallax backgrounds. 4526 * 4527 * @since 1.1.4 4528 * @access private 4529 * @method _scrollParallaxBackgrounds 4530 */ 4531 _scrollParallaxBackgrounds: function() 4532 { 4533 $('.fl-row-bg-parallax').each(FLBuilderLayout._scrollParallaxBackground); 4534 }, 4535 4536 /** 4537 * Fires when the window is scrolled to adjust 4538 * a single parallax background. 4539 * 4540 * @since 1.1.4 4541 * @access private 4542 * @method _scrollParallaxBackground 4543 */ 4544 _scrollParallaxBackground: function() 4545 { 4546 var win = $(window), 4547 row = $(this), 4548 content = row.find('> .fl-row-content-wrap'), 4549 speed = row.data('parallax-speed'), 4550 offset = content.offset(), 4551 yPos = -((win.scrollTop() - offset.top) / speed), 4552 initialOffset = ( row.data('parallax-offset') != null ) ? row.data('parallax-offset') : 0, 4553 totalOffset = yPos - initialOffset; 4554 4555 content.css('background-position', 'center ' + totalOffset + 'px'); 4556 }, 4557 4558 /** 4559 * Initializes all video backgrounds. 4560 * 4561 * @since 1.6.3.3 4562 * @access private 4563 * @method _initBgVideos 4564 */ 4565 _initBgVideos: function() 4566 { 4567 $('.fl-bg-video').each(FLBuilderLayout._initBgVideo); 4568 }, 4569 4570 /** 4571 * Initializes a video background. 4572 * 4573 * @since 1.6.3.3 4574 * @access private 4575 * @method _initBgVideo 4576 */ 4577 _initBgVideo: function() 4578 { 4579 var wrap = $( this ), 4580 width = wrap.data( 'width' ), 4581 height = wrap.data( 'height' ), 4582 mp4 = wrap.data( 'mp4' ), 4583 youtube = wrap.data( 'youtube'), 4584 vimeo = wrap.data( 'vimeo'), 4585 mp4Type = wrap.data( 'mp4-type' ), 4586 webm = wrap.data( 'webm' ), 4587 webmType = wrap.data( 'webm-type' ), 4588 fallback = wrap.data( 'fallback' ), 4589 loaded = wrap.data( 'loaded' ), 4590 videoMobile = wrap.data( 'video-mobile' ), 4591 playPauseButton = wrap.find('.fl-bg-video-play-pause-control'), 4592 fallbackTag = '', 4593 videoTag = null, 4594 mp4Tag = null, 4595 webmTag = null; 4596 4597 // Return if the video has been loaded for this row. 4598 if ( loaded ) { 4599 return; 4600 } 4601
4602 videoTag = $( '<video autoplay loop muted playsinline></video>' ); 4603 4604 /** 4605 * Add poster image (fallback image) 4606 */ 4607 if( 'undefined' != typeof fallback && '' != fallback ) { 4608 videoTag.attr( 'poster', 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' ) 4609 videoTag.css({ 4610 backgroundImage: 'url("' + fallback + '")', 4611 backgroundColor: 'transparent', 4612 backgroundRepeat: 'no-repeat', 4613 backgroundSize: 'cover', 4614 backgroundPosition: 'center center', 4615 }) 4616 } 4617 4618 // MP4 Source Tag 4619 if ( 'undefined' != typeof mp4 && '' != mp4 ) { 4620 4621 mp4Tag = $( '<source />' ); 4622 mp4Tag.attr( 'src', mp4 ); 4623 mp4Tag.attr( 'type', mp4Type ); 4624 4625 videoTag.append( mp4Tag ); 4626 } 4627 // WebM Source Tag 4628 if ( 'undefined' != typeof webm && '' != webm ) { 4629 4630 webmTag = $( '<source />' ); 4631 webmTag.attr( 'src', webm ); 4632 webmTag.attr( 'type', webmType ); 4633 4634 videoTag.append( webmTag ); 4635 } 4636 4637 // This is either desktop, or mobile is enabled. 4638 if ( ! FLBuilderLayout._isMobile() || ( FLBuilderLayout._isMobile() && "yes" == videoMobile ) ) { 4639 if ( 'undefined' != typeof youtube ) { 4640 FLBuilderLayout._initYoutubeBgVideo.apply( this ); 4641 } 4642 else if ( 'undefined' != typeof vimeo ) { 4643 FLBuilderLayout._initVimeoBgVideo.apply( this ); 4644 } 4645 else { 4646 wrap.append( videoTag ); 4647 4648 if ( playPauseButton.length > 0 ) { 4649 var video = videoTag[0]; 4650 4651 playPauseButton.on( 'click', { video: video }, function(e) { 4652 var video = e.data.video; 4653 4654 if ( video.paused ) { 4655 video.play(); 4656 } else { 4657 video.pause(); 4658 } 4659 } ); 4660 4661 $( video ).on( 'play playing', function () { 4662 playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' ); 4663 } ); 4664 4665 $( video ).on( 'pause ended waiting', function () { 4666 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4667 } ); 4668 } 4669 } 4670 } 4671 else { 4672 // if we are here, it means we are on mobile and NO is set so remove video src and use fallback 4673 videoTag.attr('src', '') 4674 wrap.append( videoTag ); 4675 } 4676 4677 // Mark this video as loaded. 4678 wrap.data('loaded', true); 4679 }, 4680 4681 /** 4682 * Initializes Youtube video background 4683 * 4684 * @since 1.9 4685 * @access private 4686 * @method _initYoutubeBgVideo 4687 */ 4688 _initYoutubeBgVideo: function() 4689 { 4690 var playerWrap = $(this), 4691 videoId = playerWrap.data('video-id'), 4692 videoPlayer = playerWrap.find('.fl-bg-video-player'), 4693 enableAudio = playerWrap.data('enable-audio'), 4694 audioButton = playerWrap.find('.fl-bg-video-audio'), 4695 playPauseButton = playerWrap.find('.fl-bg-video-play-pause-control'), 4696 startTime = 'undefined' !== typeof playerWrap.data('start') ? playerWrap.data('start') : 0, 4697 startTime = 'undefined' !== typeof playerWrap.data('t') && startTime === 0 ? playerWrap.data('t') : startTime, 4698 endTime = 'undefined' !== typeof playerWrap.data('end') ? playerWrap.data('end') : 0, 4699 loop = 'undefined' !== typeof playerWrap.data('loop') ? playerWrap.data('loop') : 1, 4700 stateCount = 0, 4701 player,fallback_showing; 4702 4703 if ( videoId ) { 4704 fallback = playerWrap.data('fallback') || false 4705 if( fallback ) { 4706 playerWrap.find('iframe').remove() 4707 fallbackTag = $( '<div></div>' ); 4708 fallbackTag.addClass( 'fl-bg-video-fallback' ); 4709 fallbackTag.css( 'background-image', 'url(' + playerWrap.data('fallback') + ')' ); 4710 fallbackTag.css( 'background-size', 'cover' ); 4711 fallbackTag.css( 'transition', 'background-image 1s') 4712 playerWrap.append( fallbackTag ); 4713 fallback_showing = true; 4714 } 4715 FLBuilderLayout._onYoutubeApiReady( function( YT ) { 4716 setTimeout( function() { 4717 4718 player = new YT.Player( videoPlayer[0], { 4719 videoId: videoId, 4720 events: { 4721 onReady: function(event) { 4722 if ( "no" === enableAudio || FLBuilderLayout._isMobile() ) { 4723 event.target.mute(); 4724 } 4725 else if ( "yes" === enableAudio && event.target.isMuted ) { 4726 event.target.unMute(); 4727 } 4728 4729 // Store an instance to a parent 4730 playerWrap.data('YTPlayer', player); 4731 FLBuilderLayout._resizeYoutubeBgVideo.apply(playerWrap); 4732 4733 // Queue the video. 4734 event.target.playVideo(); 4735 4736 if ( audioButton.length > 0 && ! FLBuilderLayout._isMobile() ) {
4737 audioButton.on( 'click', {button: audioButton, player: player}, FLBuilderLayout._toggleBgVideoAudio ); 4738 } 4739 4740 if ( playPauseButton.length > 0 ) { 4741 playPauseButton.on( 'click', {player: player}, function(e) { 4742 var player = e.data.player; 4743 4744 if ( 1 === player.getPlayerState() ) { 4745 player.pauseVideo(); 4746 } else { 4747 player.playVideo(); 4748 } 4749 }); 4750 } 4751 }, 4752 onStateChange: function( event ) { 4753 4754 if ( event.data === 1 ) { 4755 if ( fallback_showing ) { 4756 $( '.fl-bg-video-fallback' ).css( 'background-image', 'url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)' ) 4757 } 4758 } 4759 // Manual check if video is not playable in some browsers. 4760 // StateChange order: [-1, 3, -1] 4761 if ( stateCount < 4 ) { 4762 stateCount++; 4763 } 4764 4765 // Comply with the audio policy in some browsers like Chrome and Safari. 4766 if ( stateCount > 1 && -1 === event.data && "yes" === enableAudio ) { 4767 player.mute(); 4768 player.playVideo(); 4769 audioButton.show(); 4770 } 4771 4772 if ( event.data === YT.PlayerState.ENDED && 1 === loop ) { 4773 if ( startTime > 0 ) { 4774 player.seekTo( startTime ); 4775 } 4776 else { 4777 player.playVideo(); 4778 } 4779 } 4780 4781 if ( event.data === YT.PlayerState.PLAYING ) { 4782 playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' ); 4783 } else if ( event.data === YT.PlayerState.PAUSED ) { 4784 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4785 } else if ( event.data === YT.PlayerState.BUFFERING ) { 4786 playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' ); 4787 } else if ( event.data === YT.PlayerState.CUED ) { 4788 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4789 } else if ( event.data === YT.PlayerState.ENDED ) { 4790 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4791 } 4792 }, 4793 onError: function(event) { 4794 console.info('YT Error: ' + event.data) 4795 FLBuilderLayout._onErrorYoutubeVimeo(playerWrap) 4796 } 4797 }, 4798 playerVars: { 4799 playsinline: FLBuilderLayout._isMobile() ? 1 : 0, 4800 controls: 0, 4801 showinfo: 0, 4802 rel : 0, 4803 start: startTime, 4804 end: endTime, 4805 } 4806 } ); 4807 }, 1 ); 4808 } ); 4809 } 4810 }, 4811 4812 /** 4813 * On youtube or vimeo error show the fallback image if available. 4814 * @since 2.0.7 4815 */ 4816 _onErrorYoutubeVimeo: function(playerWrap) { 4817 4818 fallback = playerWrap.data('fallback') || false 4819 if( ! fallback ) { 4820 return false; 4821 } 4822 playerWrap.find('iframe').remove() 4823 fallbackTag = $( '<div></div>' ); 4824 fallbackTag.addClass( 'fl-bg-video-fallback' ); 4825 fallbackTag.css( 'background-image', 'url(' + playerWrap.data('fallback') + ')' ); 4826 playerWrap.append( fallbackTag ); 4827 }, 4828 4829 /** 4830 * Check if Youtube API has been downloaded 4831 * 4832 * @since 1.9 4833 * @access private 4834 * @method _onYoutubeApiReady 4835 * @param {Function} callback Method to call when YT API has been loaded 4836 */ 4837 _onYoutubeApiReady: function( callback ) { 4838 if ( window.YT && YT.loaded ) { 4839 callback( YT ); 4840 } else { 4841 // If not ready check again by timeout.. 4842 setTimeout( function() { 4843 FLBuilderLayout._onYoutubeApiReady( callback ); 4844 }, 350 ); 4845 } 4846 }, 4847 4848 /** 4849 * Initializes Vimeo video background 4850 * 4851 * @since 1.9 4852 * @access private 4853 * @method _initVimeoBgVideo 4854 */ 4855 _initVimeoBgVideo: function() 4856 { 4857 var playerWrap = $(this), 4858 videoId = playerWrap.data('video-id'), 4859 videoHash = playerWrap.data('video-hash'), 4860 videoPlayer = playerWrap.find('.fl-bg-video-player'), 4861 enableAudio = playerWrap.data('enable-audio'), 4862 audioButton = playerWrap.find('.fl-bg-video-audio'), 4863 playPauseButton = playerWrap.find('.fl-bg-video-play-pause-control'), 4864 playerState = '', 4865 player, 4866 width = playerWrap.outerWidth(), 4867 ua = navigator.userAgent; 4868 4869 if ( typeof Vimeo !== 'undefined' && videoId ) { 4870 4871 const vimOptions = { 4872 loop : true, 4873 title : false, 4874 portrait : false, 4875 background : true, 4876 autopause : false, 4877 muted : true, 4878 }; 4879 4880 if ( videoHash.length ) { 4881 vimOptions.url = `https://player.vimeo.com/video/${ videoId }?h=${ videoHash }`; 4882 } else { 4883 vimOptions.id = videoId; 4884 } 4885 4886 player = new Vimeo.Player(videoPlayer[0], vimOptions ); 4887 playerWrap.data('VMPlayer', player); 4888 if ( "no" === enableAudio ) { 4889 player.setVolume(0); 4890 } 4891 else if ("yes" === enableAudio ) { 4892 // Chrome, Safari, Firefox have audio policy restrictions for autoplay videos. 4893 if ( ua.indexOf("Safari") > -1 || ua.indexOf("Chrome") > -1 || ua.indexOf("Firefox") > -1 ) { 4894 player.setVolume(0); 4895 audioButton.show(); 4896 } 4897 else { 4898 player.setVolume(1); 4899 } 4900 } 4901 4902 player.play().catch(function(error) { 4903 FLBuilderLayout._onErrorYoutubeVimeo(playerWrap) 4904 }); 4905 4906 if ( audioButton.length > 0 ) {
4907 audioButton.on( 'click', {button: audioButton, player: player}, FLBuilderLayout._toggleBgVideoAudio ); 4908 } 4909 4910 player.on( 'play', function() { 4911 playerState = 'play'; 4912 playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' ); 4913 } ); 4914 player.on( 'pause', function() { 4915 playerState = 'pause'; 4916 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4917 } ); 4918 player.on( 'ended', function() { 4919 playerState = 'ended'; 4920 playPauseButton.removeClass( 'fa-pause' ).addClass( 'fa-play' ); 4921 } ); 4922 player.on( 'bufferstart', function() { 4923 playerState = 'bufferstart'; 4924 playPauseButton.removeClass( 'fa-play' ).addClass( 'fa-pause' ); 4925 } ); 4926 4927 if ( playPauseButton.length > 0 ) { 4928 playPauseButton.on( 'click', { player: player }, function( e ) { 4929 var player = e.data.player; 4930 4931 if ( playerState === 'play' ) { 4932 player.pause(); 4933 } else { 4934 player.play(); 4935 } 4936 } ); 4937 } 4938 } 4939 }, 4940 4941 /** 4942 * Mute / unmute audio on row's video background. 4943 * It works for both Youtube and Vimeo. 4944 * 4945 * @since 2.1.3 4946 * @access private 4947 * @method _toggleBgVideoAudio 4948 * @param {Object} e Method arguments 4949 */ 4950 _toggleBgVideoAudio: function( e ) { 4951 var player = e.data.player, 4952 control = e.data.button.find('.fl-audio-control'); 4953 4954 if ( control.hasClass( 'fa-volume-off' ) ) { 4955 // Unmute 4956 control 4957 .removeClass( 'fa-volume-off' ) 4958 .addClass( 'fa-volume-up' ); 4959 e.data.button.find( '.fa-times' ).hide(); 4960 4961 if ( 'function' === typeof player.unMute ) { 4962 player.unMute(); 4963 } 4964 else { 4965 player.setVolume( 1 ); 4966 } 4967 } 4968 else { 4969 // Mute 4970 control 4971 .removeClass( 'fa-volume-up' ) 4972 .addClass( 'fa-volume-off' ); 4973 e.data.button.find( '.fa-times' ).show(); 4974 4975 if ( 'function' === typeof player.unMute ) { 4976 player.mute(); 4977 } 4978 else { 4979 player.setVolume( 0 ); 4980 } 4981 } 4982 }, 4983 4984 /** 4985 * Fires when there is an error loading a video 4986 * background source and shows the fallback. 4987 * 4988 * @since 1.6.3.3 4989 * @access private 4990 * @method _videoBgSourceError 4991 * @param {Object} e An event object 4992 * @deprecated 2.0.3 4993 */ 4994 _videoBgSourceError: function( e ) 4995 { 4996 var source = $( e.target ), 4997 wrap = source.closest( '.fl-bg-video' ), 4998 vid = wrap.find( 'video' ), 4999 fallback = wrap.data( 'fallback' ), 5000 fallbackTag = ''; 5001 source.remove(); 5002 5003 if ( vid.find( 'source' ).length ) { 5004 // Don't show the fallback if we still have other sources to check. 5005 return; 5006 } else if ( '' !== fallback ) { 5007 fallbackTag = $( '<div></div>' ); 5008 fallbackTag.addClass( 'fl-bg-video-fallback' ); 5009 fallbackTag.css( 'background-image', 'url(' + fallback + ')' ); 5010 wrap.append( fallbackTag ); 5011 vid.remove(); 5012 } 5013 }, 5014 5015 /** 5016 * Fires when the window is resized to resize 5017 * all video backgrounds. 5018 * 5019 * @since 1.1.4 5020 * @access private 5021 * @method _resizeBgVideos 5022 */ 5023 _resizeBgVideos: function() 5024 { 5025 $('.fl-bg-video').each( function() { 5026 5027 FLBuilderLayout._resizeBgVideo.apply( this ); 5028 5029 if ( $( this ).parent().find( 'img' ).length > 0 ) { 5030 $( this ).parent().imagesLoaded( $.proxy( FLBuilderLayout._resizeBgVideo, this ) ); 5031 } 5032 } ); 5033 }, 5034 5035 /** 5036 * Fires when the window is resized to resize 5037 * a single video background. 5038 * 5039 * @since 1.1.4 5040 * @access private 5041 * @method _resizeBgVideo 5042 */ 5043 _resizeBgVideo: function() 5044 { 5045 if ( 0 === $( this ).find( 'video' ).length && 0 === $( this ).find( 'iframe' ).length ) { 5046 return; 5047 } 5048 5049 var wrap = $(this), 5050 wrapHeight = wrap.outerHeight(), 5051 wrapWidth = wrap.outerWidth(), 5052 vid = wrap.find('video'), 5053 vidHeight = wrap.data('height'), 5054 vidWidth = wrap.data('width'), 5055 newWidth = wrapWidth, 5056 newHeight = Math.round(vidHeight * wrapWidth/vidWidth), 5057 newLeft = 0, 5058 newTop = 0, 5059 iframe = wrap.find('iframe'), 5060 isRowFullHeight = $(this).closest('.fl-row-bg-video').hasClass('fl-row-full-height'), 5061 vidCSS = { 5062 top: '50%', 5063 left: '50%', 5064 transform: 'translate(-50%,-50%)', 5065 }; 5066 5067 if ( vid.length ) { 5068 if(vidHeight === '' || typeof vidHeight === 'undefined' || vidWidth === '' || typeof vidWidth === 'undefined') { 5069 vid.css({ 5070 'left' : '0px', 5071 'top' : '0px', 5072 'width' : newWidth + 'px' 5073 }); 5074 5075 // Try to set the actual video dimension on 'loadedmetadata' when using URL as video source 5076 vid.on('loadedmetadata', FLBuilderLayout._resizeOnLoadedMeta); 5077 5078 return; 5079 } 5080 5081 if ( ! isRowFullHeight ) { 5082 if ( newHeight < wrapHeight ) { 5083 newHeight = wrapHeight; 5084 newWidth = vidHeight ? Math.round(vidWidth * wrapHeight/vidHeight) : newWidth; 5085 newLeft = -((newWidth - wrapWidth) / 2); 5086 } 5087 else { 5088 newTop = -((newHeight - wrapHeight)/2); 5089 } 5090 vidCSS = { 5091 left : newLeft + 'px', 5092 top : newTop + 'px', 5093 height : newHeight + 'px', 5094 width : newWidth + 'px', 5095 } 5096 } 5097 5098 vid.css( vidCSS ); 5099 5100 } 5101 else if ( iframe.length ) { 5102 5103 // Resize Youtube video player within iframe tag 5104 if ( typeof wrap.data('youtube') !== 'undefined' ) { 5105 FLBuilderLayout._resizeYoutubeBgVideo.apply(this); 5106 } 5107 } 5108 }, 5109 5110 /** 5111 * Fires when video meta has been loaded. 5112 * This will be Triggered when width/height attributes were not specified during video background resizing. 5113 * 5114 * @since 1.8.5 5115 * @access private 5116 * @method _resizeOnLoadedMeta 5117 */ 5118 _resizeOnLoadedMeta: function(){ 5119 var video = $(this), 5120 wrapHeight = video.parent().outerHeight(), 5121 wrapWidth = video.parent().outerWidth(), 5122 vidWidth = video[0].videoWidth, 5123 vidHeight = video[0].videoHeight, 5124 newHeight = Math.round(vidHeight * wrapWidth/vidWidth), 5125 newWidth = wrapWidth, 5126 newLeft = 0, 5127 newTop = 0; 5128 5129 if(newHeight < wrapHeight) { 5130 newHeight = wrapHeight; 5131 newWidth = Math.round(vidWidth * wrapHeight/vidHeight); 5132 newLeft = -((newWidth - wrapWidth)/2); 5133 } 5134 else { 5135 newTop = -((newHeight - wrapHeight)/2); 5136 } 5137 5138 video.parent().data('width', vidWidth); 5139 video.parent().data('height', vidHeight); 5140 5141 video.css({ 5142 'left' : newLeft + 'px', 5143 'top' : newTop + 'px', 5144 'width' : newWidth + 'px', 5145 'height' : newHeight + 'px' 5146 }); 5147 }, 5148 5149 /** 5150 * Fires when the window is resized to resize 5151 * a single Youtube video background. 5152 * 5153 * @since 1.9 5154 * @access private 5155 * @method _resizeYoutubeBgVideo 5156 */ 5157 _resizeYoutubeBgVideo: function() 5158 { 5159 var wrap = $(this), 5160 wrapWidth = wrap.outerWidth(), 5161 wrapHeight = wrap.outerHeight(), 5162 player = wrap.data('YTPlayer'), 5163 video = player ? player.getIframe() : null, 5164 aspectRatioSetting = '16:9', // Medium 5165 aspectRatioArray = aspectRatioSetting.split( ':' ),
5166 aspectRatio = aspectRatioArray[0] / aspectRatioArray[1], 5167 ratioWidth = wrapWidth / aspectRatio, 5168 ratioHeight = wrapHeight * aspectRatio, 5169 isWidthFixed = wrapWidth / wrapHeight > aspectRatio, 5170 width = isWidthFixed ? wrapWidth : ratioHeight, 5171 height = isWidthFixed ? ratioWidth : wrapHeight; 5172 5173 if ( video ) { 5174 $(video).width( width ).height( height ); 5175 } 5176 }, 5177 5178 /** 5179 * Opens a tab or accordion item if the browser hash is set 5180 * to the ID of one on the page. 5181 * 5182 * @since 1.6.0 5183 * @access private 5184 * @method _initHash 5185 */ 5186 _initHash: function() 5187 { 5188 var hash = window.location.hash.replace( '#', '' ).split( '/' ).shift(), 5189 element = null, 5190 tabs = null, 5191 responsiveLabel = null, 5192 tabIndex = null, 5193 label = null; 5194 5195 if ( '' !== hash ) { 5196 5197 try { 5198 5199 element = $( '#' + hash ); 5200 5201 if ( element.length > 0 ) { 5202 5203 if ( element.hasClass( 'fl-accordion-item' ) ) { 5204 setTimeout( function() { 5205 element.find( '.fl-accordion-button' ).trigger( 'click' ); 5206 }, 100 ); 5207 } 5208 if ( element.hasClass( 'fl-tabs-panel' ) ) { 5209 setTimeout( function() { 5210 tabs = element.closest( '.fl-tabs' ); 5211 responsiveLabel = element.find( '.fl-tabs-panel-label' ); 5212 tabIndex = responsiveLabel.data( 'index' ); 5213 label = tabs.find( '.fl-tabs-labels .fl-tabs-label[data-index=' + tabIndex + ']' ); 5214 5215 label[0].click(); 5216 FLBuilderLayout._scrollToElement(element); 5217 }, 100 ); 5218 } 5219 } 5220 } 5221 catch( e ) {} 5222 } 5223 }, 5224 5225 /** 5226 * Adds a visually-hidden "(opens in new tab)" notice to links 5227 * inside a builder layout that target a new tab, and removes it 5228 * from ones that don't. Runs on the live DOM only, across every 5229 * module, so the notice is never part of any saved content. Covers 5230 * both real anchors (`target` attribute) and non-anchor elements 5231 * like the Box module's `role="link"` div, which carries the same 5232 * intent via a `data-link-target` attribute instead. 5233 * 5234 * @since 2.12 5235 * @access private 5236 * @method _initLinkNotices 5237 */ 5238 _initLinkNotices: function() 5239 { 5240 $( '.fl-builder-content a[target], .fl-builder-content [role="link"][data-link-target]' ).each( function() { 5241 var link = $( this ), 5242 notice = link.children( 'span.fl-new-tab-notice' ), 5243 target = link.attr( 'target' ) || link.attr( 'data-link-target' ); 5244 5245 if ( '_blank' === target ) { 5246 if ( 0 === notice.length ) { 5247 link.append( '<span class="fl-new-tab-notice sr-only">' + FLBuilderLayoutConfig.i18n.opensInNewTab + '</span>' ); 5248 } 5249 } else if ( notice.length > 0 ) { 5250 notice.remove(); 5251 } 5252 }); 5253 }, 5254 5255 /** 5256 * Initializes all anchor links on the page for smooth scrolling. 5257 * 5258 * @since 1.4.9 5259 * @access private 5260 * @method _initAnchorLinks 5261 */ 5262 _initAnchorLinks: function() 5263 { 5264 $( 'a, [role="link"]' ).each( FLBuilderLayout._initAnchorLink ); 5265 }, 5266 5267 /** 5268 * Initializes a single anchor link for smooth scrolling. 5269 * 5270 * @since 1.4.9 5271 * @access private 5272 * @method _initAnchorLink 5273 */ 5274 _initAnchorLink: function() 5275 { 5276 var link = $( this ), 5277 href = link.data( 'url' ) ? link.data( 'url' ) : link.attr( 'href' ), 5278 target = link.data( 'url' ) ? new URL( href, window.location.href ) : this, 5279 loc = window.location, 5280 id = null, 5281 element = null, 5282 flNode = false; 5283 5284 if ( 'undefined' != typeof href && href.indexOf( '#' ) > -1 && link.closest('svg').length < 1 ) { 5285 5286 if ( loc.pathname.replace( /^\//, '' ) == target.pathname.replace( /^\//, '' ) && loc.hostname == target.hostname ) { 5287 5288 try { 5289 5290 id = href.split( '#' ).pop(); 5291 // If there is no ID then we have nowhere to look 5292 // Fixes a quirk in jQuery and FireFox 5293 if( ! id ) { 5294 return; 5295 } 5296 element = $( '#' + id ); 5297 5298 if ( element.length > 0 ) { 5299 flNode = element.hasClass( 'fl-row' ) || element.hasClass( 'fl-col' ) || element.hasClass( 'fl-module' ); 5300 if ( !element.hasClass( 'fl-no-scroll' ) && ( link.hasClass( 'fl-scroll-link' ) || flNode ) ) { 5301 $( link ).on( 'click', FLBuilderLayout._scrollToElementOnLinkClick ); 5302 } 5303 if ( element.hasClass( 'fl-accordion-item' ) ) { 5304 $( link ).on( 'click', FLBuilderLayout._scrollToAccordionOnLinkClick ); 5305 } 5306 if ( element.hasClass( 'fl-tabs-panel' ) ) { 5307 $( link ).on( 'click', FLBuilderLayout._scrollToTabOnLinkClick ); 5308 } 5309 } 5310 } 5311 catch( e ) {} 5312 } 5313 } 5314 }, 5315 5316 /** 5317 * Scrolls to an element when an anchor link is clicked. 5318 * 5319 * @since 1.4.9 5320 * @access private 5321 * @method _scrollToElementOnLinkClick 5322 * @param {Object} e An event object. 5323 * @param {Function} callback A function to call when the scroll is complete. 5324 */ 5325 _scrollToElementOnLinkClick: function( e, callback ) 5326 { 5327 var attribute = $( this ).data( 'url' ) ? $( this ).data( 'url' ) : $( this ).attr( 'href' ); 5328 var element = $( '#' + attribute.split( '#' ).pop() ); 5329 5330 FLBuilderLayout._scrollToElement( element, callback ); 5331 5332 e.preventDefault(); 5333 }, 5334 5335 /** 5336 * Scrolls to an element. 5337 * 5338 * @since 1.6.4.5 5339 * @access private 5340 * @method _scrollToElement 5341 * @param {Object} element The element to scroll to. 5342 * @param {Function} callback A function to call when the scroll is complete. 5343 */ 5344 _scrollToElement: function( element, callback ) 5345 { 5346 var config = FLBuilderLayoutConfig.anchorLinkAnimations, 5347 dest = 0, 5348 win = $( window ), 5349 doc = $( document ); 5350 5351 if ( element.length > 0 ) { 5352 5353 if ( 'fixed' === element.css('position') || 'fixed' === element.parent().css('position') ) { 5354 dest = element.position().top; 5355 } 5356 else if ( element.offset().top > doc.height() - win.height() ) { 5357 dest = doc.height() - win.height(); 5358 } 5359 else { 5360 dest = element.offset().top - config.offset; 5361 } 5362 5363 $( 'html, body' ).stop( true ).animate( { scrollTop: dest }, config.duration, config.easing, function() { 5364 5365 if ( 'undefined' != typeof callback ) { 5366 callback(); 5367 } 5368 5369 if ( undefined != element.attr( 'id' ) && window.location.hash !== '#' + element.attr( 'id' ) ) { 5370 5371 var firefox_version = window.navigator.userAgent.match( /Firefox\/(\d+)\./ ), 5372 firefox_version = firefox_version ? parseInt( firefox_version[1], 10 ) : null; 5373 5374 if ( firefox_version !== null && firefox_version < 135 ) { 5375 window.location.hash = element.attr( 'id' ); 5376 } else { 5377 if ( history.pushState ) { 5378 history.pushState( null, null, '#' + element.attr( 'id' ) ); 5379 } else { 5380 window.location.hash = element.attr( 'id' ); 5381 } 5382 } 5383 } 5384 } ); 5385 } 5386 }, 5387 5388 /** 5389 * Scrolls to an accordion item when a link is clicked. 5390 * 5391 * @since 1.5.9 5392 * @access private 5393 * @method _scrollToAccordionOnLinkClick 5394 * @param {Object} e An event object. 5395 */ 5396 _scrollToAccordionOnLinkClick: function( e ) 5397 { 5398 var element = $( '#' + $( this ).attr( 'href' ).split( '#' ).pop() ); 5399 5400 if ( element.length > 0 ) { 5401 5402 var callback = function() { 5403 if ( element ) { 5404 element.find( '.fl-accordion-button' ).trigger( 'click' ); 5405 element = false;
5406 } 5407 }; 5408 5409 FLBuilderLayout._scrollToElementOnLinkClick.call( this, e, callback ); 5410 } 5411 }, 5412 5413 /** 5414 * Scrolls to a tab panel when a link is clicked. 5415 * 5416 * @since 1.5.9 5417 * @access private 5418 * @method _scrollToTabOnLinkClick 5419 * @param {Object} e An event object. 5420 */ 5421 _scrollToTabOnLinkClick: function( e ) 5422 { 5423 var element = $( '#' + $( this ).attr( 'href' ).split( '#' ).pop() ), 5424 tabs = null, 5425 label = null, 5426 responsiveLabel = null; 5427 5428 if ( element.length > 0 ) { 5429 5430 tabs = element.closest( '.fl-tabs' ); 5431 responsiveLabel = element.find( '.fl-tabs-panel-label' ); 5432 tabIndex = responsiveLabel.data( 'index' ); 5433 label = tabs.find( '.fl-tabs-labels .fl-tabs-label[data-index=' + tabIndex + ']' ); 5434 5435 if ( responsiveLabel.is( ':visible' ) ) { 5436 5437 var callback = function() { 5438 if ( element ) { 5439 responsiveLabel.trigger( $.Event( 'click', { which: 1 } ) ); 5440 } 5441 }; 5442 5443 FLBuilderLayout._scrollToElementOnLinkClick.call( this, e, callback ); 5444 } 5445 else { 5446 label[0].click(); 5447 FLBuilderLayout._scrollToElement( element ); 5448 } 5449 5450 e.preventDefault(); 5451 } 5452 }, 5453 5454 /** 5455 * Initializes all builder forms on a page. 5456 * 5457 * @since 1.5.4 5458 * @access private 5459 * @method _initForms 5460 */ 5461 _initForms: function() 5462 { 5463 if ( ! FLBuilderLayout._hasPlaceholderSupport ) { 5464 $( '.fl-form-field input' ).each( FLBuilderLayout._initFormFieldPlaceholderFallback ); 5465 } 5466 5467 $( '.fl-form-field input' ).on( 'focus', FLBuilderLayout._clearFormFieldError ); 5468 }, 5469 5470 /** 5471 * Checks to see if the current device has HTML5 5472 * placeholder support. 5473 * 5474 * @since 1.5.4 5475 * @access private 5476 * @method _hasPlaceholderSupport 5477 * @return {Boolean} 5478 */ 5479 _hasPlaceholderSupport: function() 5480 { 5481 var input = document.createElement( 'input' ); 5482 5483 return 'undefined' != input.placeholder; 5484 }, 5485 5486 /** 5487 * Initializes the fallback for when placeholders aren't supported. 5488 * 5489 * @since 1.5.4 5490 * @access private 5491 * @method _initFormFieldPlaceholderFallback 5492 */ 5493 _initFormFieldPlaceholderFallback: function() 5494 { 5495 var field = $( this ), 5496 val = field.val(), 5497 placeholder = field.attr( 'placeholder' ); 5498 5499 if ( 'undefined' != placeholder && '' === val ) { 5500 field.val( placeholder ); 5501 field.on( 'focus', FLBuilderLayout._hideFormFieldPlaceholderFallback ); 5502 field.on( 'blur', FLBuilderLayout._showFormFieldPlaceholderFallback ); 5503 } 5504 }, 5505 5506 /** 5507 * Hides a fallback placeholder on focus. 5508 * 5509 * @since 1.5.4 5510 * @access private 5511 * @method _hideFormFieldPlaceholderFallback 5512 */ 5513 _hideFormFieldPlaceholderFallback: function() 5514 { 5515 var field = $( this ), 5516 val = field.val(), 5517 placeholder = field.attr( 'placeholder' ); 5518 5519 if ( val == placeholder ) { 5520 field.val( '' ); 5521 } 5522 }, 5523 5524 /** 5525 * Shows a fallback placeholder on blur. 5526 * 5527 * @since 1.5.4 5528 * @access private 5529 * @method _showFormFieldPlaceholderFallback 5530 */ 5531 _showFormFieldPlaceholderFallback: function() 5532 { 5533 var field = $( this ), 5534 val = field.val(), 5535 placeholder = field.attr( 'placeholder' ); 5536 5537 if ( '' === val ) { 5538 field.val( placeholder ); 5539 } 5540 }, 5541 5542 /** 5543 * Clears a form field error message. 5544 * 5545 * @since 1.5.4 5546 * @access private 5547 * @method _clearFormFieldError 5548 */ 5549 _clearFormFieldError: function() 5550 { 5551 var field = $( this ); 5552 5553 field.removeAttr( 'aria-invalid' ); 5554 field.removeClass( 'fl-form-error' ); 5555 const message = field.attr('aria-describedby'); 5556 message ? $( '#' + message ).hide() : field.siblings( '.fl-form-error-message' ).hide(); 5557 }, 5558 5559 /** 5560 * Init Row Shape Layer's height. 5561 * 5562 * @since 2.5.3 5563 * @access private 5564 * @method _initRowShapeLayerHeight 5565 */ 5566 _initRowShapeLayerHeight: function () { 5567 FLBuilderLayout._adjustRowShapeLayerHeight(); 5568 $( window ).on( 'resize', FLBuilderLayout._adjustRowShapeLayerHeight ); 5569 }, 5570 5571 /** 5572 * Set parent column width of nested columns when it's zero or blank. 5573 * 5574 * @since 2.7.4 5575 * @access private 5576 * @method _initNestedColsWidth 5577 */ 5578 _initNestedColsWidth: function() 5579 { 5580 var nestedCols = $( '.fl-col-has-cols' ); 5581 5582 if ( nestedCols.length <= 0 ) { 5583 return; 5584 } 5585 5586 $( nestedCols ).each( function(index, col ){ 5587 if ( $( col ).width() <= 0 ) { 5588 $( col ).css( 'width', FLBuilderLayoutConfig.emptyColWidth ); 5589 } 5590 }); 5591 }, 5592 5593 /** 5594 * Adjust Row Shape Layer's height to fix to remove the fine line that appears on certain screen sizes. 5595 * 5596 * @since 2.5.3 5597 * @access private 5598 * @method _adjustRowShapeLayerHeight 5599 */
5600 _adjustRowShapeLayerHeight: function() { 5601 var rowShapeLayers = $('.fl-builder-shape-layer'); 5602 5603 $( rowShapeLayers ).each(function (index) { 5604 var rowShapeLayer = $(this), 5605 shape = $(rowShapeLayer).find('svg'), 5606 height = shape.height(), 5607 excludeShapes = '.fl-builder-shape-circle, .fl-builder-shape-dot-cluster, .fl-builder-shape-topography, .fl-builder-shape-rect'; 5608 5609 if ( ! rowShapeLayer.is( excludeShapes ) ) { 5610 $(shape).css('height', Math.ceil( height ) ); 5611 } 5612 }); 5613 }, 5614 _string_to_slug: function( str ) { 5615 str = str.replace(/^\s+|\s+$/g, ''); // trim 5616 if ( 'undefined' == typeof window._fl_string_to_slug_regex ) { 5617 regex = new RegExp('[^a-zA-Z0-9\'":() !.,-_|]', 'g'); 5618 } else { 5619 regex = new RegExp('[^' + window._fl_string_to_slug_regex + '\'":\(\) !.,-_|\\\p{Letter}]', 'ug'); 5620 } 5621 str = str.replace(regex, '') // remove invalid chars 5622 .replace(/\s+/g, ' '); // collapse whitespace and replace by a space 5623 return str; 5624 }, 5625 _reorderMenu: function() { 5626 if ( $('#wp-admin-bar-fl-builder-frontend-edit-link-default li').length > 1 ) { 5627 $( '#wp-admin-bar-fl-builder-frontend-duplicate-link' ) 5628 .appendTo('#wp-admin-bar-fl-builder-frontend-edit-link-default') 5629 .css( 'padding-top', '5px' ) 5630 .css( 'border-top', '2px solid #1D2125' ) 5631 .css( 'margin-top', '5px' ) 5632 } 5633 } 5634 }; 5635 5636 /* Initializes the builder layout. */ 5637 $(function(){ 5638 FLBuilderLayout.init(); 5639 }); 5640 5641})(jQuery); 5642(function($){ 5643 5644 if(typeof FLBuilderLayoutModules !== 'undefined') { 5645 return; 5646 } 5647 5648 /** 5649 * Helper class with generic logic for builder modules. 5650 * If generic module code needs to work in both the block 5651 * editor and builder, it should go here. Otherwise, it 5652 * should go on FLBuilderLayout. 5653 * 5654 * @since 2.9 5655 */ 5656 FLBuilderLayoutModules = { 5657 5658 /** 5659 * Initializes builder module logic. 5660 * 5661 * @since 2.9 5662 * @method init 5663 */ 5664 init: function() 5665 { 5666 // Only init if the builder isn't active. 5667 if ( 0 === $('.fl-builder-edit').length ) { 5668 5669 // Init module animations. 5670 FLBuilderLayoutModules._initModuleAnimations(); 5671 } 5672 }, 5673 5674 /** 5675 * Initializes module animations. 5676 * 5677 * @since 1.1.9 5678 * @access private 5679 * @method _initModuleAnimations 5680 */ 5681 _initModuleAnimations: function() 5682 { 5683 if(typeof jQuery.fn.waypoint !== 'undefined') { 5684 $('.fl-animation').each( function() { 5685 var node = $( this ), 5686 nodeTop = node.offset().top, 5687 winHeight = $( window ).height(), 5688 bodyHeight = $( 'body' ).height(), 5689 waypoint = FLBuilderLayoutConfig.waypoint, 5690 offset = '80%'; 5691 5692 if ( typeof waypoint.offset !== undefined ) { 5693 offset = FLBuilderLayoutConfig.waypoint.offset + '%'; 5694 } 5695 5696 if ( bodyHeight - nodeTop < winHeight * 0.2 ) { 5697 offset = '100%'; 5698 } 5699 5700 node.waypoint({ 5701 offset: offset, 5702 handler: FLBuilderLayoutModules._doModuleAnimation 5703 }); 5704 } ); 5705 } 5706 }, 5707 5708 /** 5709 * Runs a module animation. 5710 * 5711 * @since 1.1.9 5712 * @access private 5713 * @method _doModuleAnimation 5714 */ 5715 _doModuleAnimation: function() 5716 { 5717 var module = 'undefined' == typeof this.element ? $(this) : $(this.element), 5718 delay = parseFloat(module.data('animation-delay')), 5719 duration = parseFloat(module.data('animation-duration')); 5720 5721 if ( ! isNaN( duration ) ) { 5722 module.css( 'animation-duration', duration + 's' ); 5723 } 5724 5725 if(!isNaN(delay) && delay > 0) { 5726 setTimeout(function(){ 5727 module.addClass('fl-animated'); 5728 }, delay * 1000); 5729 } else { 5730 setTimeout(function(){ 5731 module.addClass('fl-animated'); 5732 }, 1); 5733 } 5734 } 5735 }; 5736 5737 /* Initializes builder module logic. */ 5738 $(function(){ 5739 FLBuilderLayoutModules.init(); 5740 }); 5741 5742})(jQuery); 5743 5744/* Start Global JS */ 5745 5746/* End Global JS */ 5747 5748 5749/* Start Global Node Custom JS */ 5750 5751/* End Global Node Custom JS */ 5752 5753 5754/* Start Layout Custom JS */ 5755 5756/* End Layout Custom JS */ 5757 5758 5759; 5760(function($){ 5761 BBAlert = function (settings) { 5762 5763 this.settings = settings; 5764 this.node = settings.id; 5765 this.duration = settings.duration; 5766 5767 var cookie_name = 'bbba-'+this.node; 5768 5769 5770 if ( Cookies.get(cookie_name)== '1') 5771 { 5772 var element = '.fl-node-'+this.node+' .bb-bootstrap-alerts'; 5773 jQuery(element).hide(); 5774 } 5775 var alert= this; 5776 var selector='.fl-node-'+this.node+' .close'; 5777 jQuery(selector).click(function(){ 5778 alert._setCookie(); 5779 }); 5780 }; 5781 5782 BBAlert.prototype = { 5783 settings : {}, 5784 node : '', 5785 duration : '', 5786 5787 _setCookie: function() { 5788 $this = this; 5789 var $cookie_duration = Math.round($this.duration); 5790 var $cookie_name = 'bbba-'+$this.node; 5791 Cookies.set($cookie_name,'1',{ expires: $cookie_duration }); 5792 } 5793 }; 5794 5795})(jQuery);(function($) { 5796jQuery(document).ready(function(){ 5797 5798 5799 5800 new BBAlert({ 5801 id:'nm0ud8ypz5o6', 5802 duration: 0, 5803 }); 5804 5805 }); 5806})(jQuery); 5807/* Start Layout Custom JS */ 5808 5809/* End Layout Custom JS */ 5810 5811 5812;/* eslint-disable no-undef */ 5813(function($) { 5814 5815 /** 5816 * Class for Menu Module 5817 * 5818 * @since 1.6.1 5819 */ 5820 FLBuilderMenu = function( settings ){ 5821 5822 // set params 5823 this.nodeId = settings.id; 5824 this.nodeClass = '.fl-node-' + settings.id; 5825 this.wrapperClass = this.nodeClass + ' .fl-menu'; 5826 this.type = settings.type; 5827 this.mobileToggle = settings.mobile; 5828 this.mobileBelowRow = settings.mobileBelowRow; 5829 this.mobileFlyout = settings.mobileFlyout; 5830 this.breakPoints = settings.breakPoints; 5831 this.mobileBreakpoint = settings.mobileBreakpoint; 5832 this.currentBrowserWidth = $( window ).width(); 5833 this.postId = settings.postId; 5834 this.mobileStacked = settings.mobileStacked; 5835 this.submenuIcon = settings.submenuIcon; 5836 this.flyoutWidth = settings.flyoutWidth; 5837 5838 // initialize the menu 5839 this._initMenu(); 5840 5841 // check if viewport is resizing 5842 $( window ).on( 'resize', $.proxy( function() { 5843 5844 var width = $( window ).width(); 5845 5846 // if screen width is resized, reload the menu 5847 if( width != this.currentBrowserWidth ){ 5848 5849 this.currentBrowserWidth = width; 5850 this._initMenu( true ); 5851 this._clickOrHover( true ); 5852 } 5853 5854 this._resizeFlyoutMenuPanel(); 5855 }, this ) ); 5856 5857 $( window ).on( 'scroll', $.proxy( function() { 5858 this._resizeFlyoutMenuPanel(); 5859 }, this ) ); 5860 5861 // Move focus to the first menu item if the layout is set to BelowRow 5862 $( this.wrapperClass ).on( 'keydown', '.fl-menu-mobile-toggle, .menu-item:first a:first', $.proxy( function ( event ) { 5863 // Make sure it is a tab key with both the menu toggle enabled & below row layout set 5864 if ( event.key !== 'Tab' || ! this._isMenuToggle() || ! this._isMobileBelowRowEnabled() ) { 5865 return; 5866 } 5867 // Trigger focus on the mobile toggle button if the user is shift tabbing from the first menu item 5868 if ( event.shiftKey && $( event.currentTarget ).is( 'a' ) ) { 5869 event.preventDefault(); 5870 $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ).trigger( 'focus' ); 5871 } 5872 // Trigger focus on the first menu item if the user is tabbing from the mobile toggle button 5873 else if ( ! event.shiftKey && $( event.currentTarget ).hasClass( 'fl-menu-mobile-toggle' ) && $( event.currentTarget ).hasClass( 'fl-active' ) ) { 5874 event.preventDefault(); 5875 $( this.wrapperClass ).find( '.menu-item' ).first().find( 'a' ).first().trigger( 'focus' ); 5876 } 5877 }, this ) ); 5878 5879 // Close mobile menu or accordion when tabbing out from the first or last menu item 5880 $( this.wrapperClass ).on( 'focusout', $.proxy( function ( event ) { 5881 if ( $( this.wrapperClass + ' nav' ).has( $( event.relatedTarget ) ).length === 0 ) { 5882 if ( this.type === 'accordion' ) { 5883 this._toggleSubmenu( $( event.target ).parents( '.fl-has-submenu' ).last(), false ); 5884 } 5885 else { 5886 this._clickOrHover( true ); 5887 } 5888 const mobileToggle = $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ); 5889 if ( this._isMenuToggle() && mobileToggle.hasClass( 'fl-active' ) && ! $( event.relatedTarget ).is( mobileToggle ) && 'expanded' !== this.mobileToggle ) { 5890 mobileToggle.trigger( 'click' ); 5891 } 5892 } 5893 }, this ) ); 5894 5895 }; 5896 5897 FLBuilderMenu.prototype = { 5898 nodeClass : '', 5899 wrapperClass: '', 5900 type : '', 5901 breakPoints : {}, 5902 $submenus : null, 5903 5904 /** 5905 * Check if the screen size fits a mobile viewport. 5906 * 5907 * @since 1.6.1 5908 * @return bool 5909 */ 5910 _isMobile: function(){ 5911 return this.currentBrowserWidth <= this.breakPoints.small ? true : false;
5912 }, 5913 5914 /** 5915 * Check if the device is connected to a mouse. 5916 * 5917 * @since 2.9.0 5918 * @return bool 5919 */ 5920 _isMouseAvailable: function(){ 5921 return window.matchMedia("(pointer: fine) and (hover: hover)").matches; 5922 }, 5923 5924 /** 5925 * Check if the screen size fits a medium viewport. 5926 * 5927 * @since 1.10.5 5928 * @return bool 5929 */ 5930 _isMedium: function(){ 5931 return this.currentBrowserWidth <= this.breakPoints.medium ? true : false; 5932 }, 5933 5934 /** 5935 * Check if the screen size fits a large viewport. 5936 * 5937 * @since 1.10.5 5938 * @return bool 5939 */ 5940 _isLarge: function(){ 5941 return this.currentBrowserWidth <= this.breakPoints.large ? true : false; 5942 }, 5943 5944 /** 5945 * Check if the menu should toggle for the current viewport base on the selected breakpoint. 5946 * 5947 * @see this._isMobile() 5948 * @see this._isMedium() 5949 * @since 1.10.5 5950 * @return bool 5951 */ 5952 _isMenuToggle: function(){ 5953 if ( ( 'always' == this.mobileBreakpoint 5954 || ( this._isMobile() && 'mobile' == this.mobileBreakpoint ) 5955 || ( this._isMedium() && 'medium-mobile' == this.mobileBreakpoint ) 5956 || ( this._isLarge() && 'large-mobile' == this.mobileBreakpoint ) 5957 ) && ( $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ).is(':visible') || 'expanded' == this.mobileToggle ) ) { 5958 return true; 5959 } 5960 5961 return false; 5962 }, 5963 5964 /** 5965 * Initialize the toggle logic for the menu. 5966 * 5967 * @see this._isMenuToggle() 5968 * @see this._menuOnCLick() 5969 * @see this._clickOrHover() 5970 * @see this._submenuOnRight() 5971 * @see this._submenuRowZindexFix() 5972 * @see this._toggleForMobile() 5973 * @since 1.6.1 5974 * @return void 5975 */ 5976 _initMenu: function( resized = false ){ 5977 this._setupSubmenu(); 5978 if ( ! resized ) { 5979 this._menuOnFocus(); 5980 this._menuOnClick(); 5981 this._menuOnEscape(); 5982 } 5983 if ( $( this.nodeClass ).length && this.type == 'horizontal' ) { 5984 this._initMegaMenus(); 5985 } 5986 5987 if( this._isMenuToggle() || this.type == 'accordion' ){ 5988 5989 $( this.wrapperClass ).off( 'mouseenter mouseleave' ); 5990 this._clickOrHover(); 5991 5992 } else { 5993 this._submenuOnRight(); 5994 this._submenuRowZindexFix(); 5995 } 5996 5997 if( this.mobileToggle != 'expanded' ){ 5998 this._toggleForMobile(); 5999 } 6000 6001 if( $( this.wrapperClass ).find( '.fl-menu-search-item' ).length ){ 6002 this._toggleMenuSearch(); 6003 } 6004 6005 if( $( this.wrapperClass ).find( '.fl-menu-cart-item').length ){ 6006 this._wooUpdateParams(); 6007 } 6008 }, 6009 6010 /** 6011 * Whether the toggle behavior for submenus is through hovering or not. 6012 * 6013 * @since 2.5 6014 * @return void 6015 */ 6016 _setupSubmenu: function() { 6017 if ( ! this._isMouseAvailable() || this._isMenuToggle() || this.type === 'accordion' ) { 6018 $( this.wrapperClass ).addClass( 'no-hover' ); 6019 } 6020 else { 6021 $( this.wrapperClass ).removeClass( 'no-hover' ); 6022 } 6023 }, 6024 6025 /** 6026 * Logic for menu items when focused. 6027 * 6028 * @since 1.9.0 6029 * @return void 6030 */ 6031 _menuOnFocus: function(){ 6032 $( this.wrapperClass ).on( 'focus', 'a:not(.fl-button), .fl-menu-toggle', $.proxy( function( event ) { 6033 const focusedMenuItem = $( event.currentTarget ).closest( '.menu-item' ); 6034 const blurredMenuItem = $( event.relatedTarget ).closest( '.menu-item' ); 6035 // In case the blurred & focused items are siblings 6036 if ( focusedMenuItem.closest( 'ul' ).is( blurredMenuItem.closest( 'ul' ) ) ) { 6037 // Check if the focus event is not between the link & submenu icon of the same menu item 6038 if ( ! focusedMenuItem.is( blurredMenuItem ) ) { 6039 this._toggleSubmenu( blurredMenuItem, false ); 6040 } 6041 } 6042 // In case neither items are child & parent nor vice versa 6043 else if ( focusedMenuItem.has( blurredMenuItem ).length === blurredMenuItem.has( focusedMenuItem ).length ) { 6044 // Get the blurred item parent & is the sibling of the focused item 6045 blurredMenuItem.parents( '.fl-has-submenu' ).each( ( _, parent ) => { 6046 if ( focusedMenuItem.closest( 'ul' ).is( $( parent ).closest( 'ul' ) ) ) { 6047 this._toggleSubmenu( $( parent ), false ); 6048 return false; 6049 } 6050 } ); 6051 } 6052 // In case the blurred item is a child of the focused item
6053 else if ( focusedMenuItem.has( blurredMenuItem ).length ) { 6054 if ( this.type !== 'accordion' && this.submenuIcon === 'none' ) { 6055 this._toggleSubmenu( blurredMenuItem, false ); 6056 } 6057 } 6058 }, this ) ); 6059 }, 6060 6061 /** 6062 * Logic for menu items when Escape key is pressed. 6063 * 6064 * @since 2.7.1 6065 * @return void 6066 */ 6067 _menuOnEscape: function(){ 6068 $( this.wrapperClass ).on( 'keydown', $.proxy( function( event ){ 6069 if ( event.key !== 'Escape' ) return; 6070 const menuItem = $( event.target ).closest( '.menu-item' ); 6071 const mobileToggle = $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ); 6072 // In case there is a focused menu item 6073 if ( menuItem.length || $( event.target ).hasClass( 'fl-menu-mobile-close' ) ) { 6074 // Close the search form if it is open 6075 if ( menuItem.hasClass( 'fl-menu-search-item' ) && $( this.wrapperClass ).find('.fl-search-form-input-wrap').is( ':visible' ) ) { 6076 $( this.wrapperClass ).find('.fl-menu-search-item .fl-button:is(a, button:not([type="submit"]))').trigger( 'focus' ); 6077 } 6078 // Close all the submenus of the focused menu item 6079 else if ( menuItem.hasClass( 'fl-has-submenu' ) && menuItem.find( '.sub-menu' ).first().is( ':visible' ) ) { 6080 this._toggleSubmenu( menuItem, false ); 6081 } 6082 else { 6083 // Shift focus to the parent while closing all its submenus 6084 const parentMenuItem = menuItem.parents( '.fl-has-submenu' ).not( '.mega-menu.hide-heading, .mega-menu-disabled.hide-heading' ).first(); 6085 // Close the mobile menu if there is no parent menu item and the mobile toggle is active 6086 if ( parentMenuItem.length === 0 && this._isMenuToggle() && mobileToggle.hasClass( 'fl-active' ) ) { 6087 // Blur to trigger the focus-out event for closing the menu 6088 mobileToggle.trigger( 'blur' ).trigger( 'focus' ); 6089 } 6090 // Close the parent submenu and shift focus to its link 6091 else if ( parentMenuItem.length !== 0 ) { 6092 this._toggleSubmenu( parentMenuItem, false ); 6093 parentMenuItem.find( 'a' ).first().trigger( 'focus' ); 6094 } 6095 } 6096 } 6097 // Close the mobile menu if the mobile toggle is active 6098 else if ( $( event.target ).hasClass( 'fl-menu-mobile-toggle' ) && mobileToggle.hasClass( 'fl-active' ) ) { 6099 // Blur to trigger the focus-out event for closing the menu 6100 mobileToggle.trigger( 'blur' ).trigger( 'focus' ); 6101 } 6102 }, this ) ); 6103 }, 6104 6105 /** 6106 * Logic for menu items when clicked. 6107 * 6108 * @since 1.6.1 6109 * @return void 6110 */ 6111 _menuOnClick: function(){ 6112 // Fallback for span elements and fake links to interact with the keyboard 6113 $( this.wrapperClass ).on( 'keydown', 'a:not(.fl-button, [href]), span.fl-menu-toggle', $.proxy( function( event ) { 6114 if ( event.key === 'Enter' || event.key === ' ' ) { 6115 event.preventDefault(); 6116 $( event.currentTarget ).trigger( 'click' ); 6117 } 6118 }, this ) ); 6119 $( this.wrapperClass ).on( 'click', 'a, .fl-menu-toggle', $.proxy( function( event ) { 6120 // Only allow mouse clicks with accordion & mobile menus 6121 if ( this._isMouseAvailable() && ! this._isMenuToggle() && event.detail && this.type !== 'accordion' ) return; 6122 // Links only open & do not toggle submenus if there is either a submenu icon or an accordion layout 6123 if ( $( event.currentTarget ).is( 'a' ) && ( this.submenuIcon !== 'none' || this.type === 'accordion' ) ) return; 6124 const menuItem = $( event.currentTarget ).closest( '.menu-item, .fl-menu-logo' ); 6125 const menuLink = menuItem.find( 'a' ).first().attr( 'href' ); 6126 const submenuHidden = menuItem.find( '.sub-menu' ).first().is( ':hidden' ); 6127 if ( typeof menuLink === 'undefined' || menuLink === '#' || submenuHidden ) { 6128 event.preventDefault(); 6129 } 6130 if ( $( event.currentTarget ).hasClass( 'fl-menu-toggle' ) || submenuHidden ) { 6131 this._toggleSubmenu( menuItem, submenuHidden ); 6132 } 6133 }, this ) ); 6134 }, 6135 6136 /** 6137 * Controls toggling the visibility of all submenu items for desktop & mobile. 6138 * 6139 * @since 2.10 6140 * @return void 6141 */ 6142 _toggleSubmenu: function ( menuItem, opened ) { 6143 const togglingClass = this._isMenuToggle() || this.type === 'accordion' ? 'fl-active' : 'focus'; 6144 const toggleElement = this.submenuIcon === 'none' ? 'a' : '.fl-menu-toggle'; 6145 const hiddenMenu = '.mega-menu.hide-heading, .mega-menu-disabled.hide-heading'; 6146 if ( opened && menuItem.hasClass( 'fl-has-submenu' ) && ! menuItem.is( hiddenMenu ) ) { 6147 menuItem.addClass( togglingClass ); 6148 menuItem.find( toggleElement ).first().attr( 'aria-expanded', true ); 6149 if ( this._isMenuToggle() || this.type === 'accordion' ) { 6150 menuItem.find( '.sub-menu' ).first().filter( ':hidden' ).slideDown(); 6151 } 6152 } 6153 else { 6154 menuItem.parent().find( '.menu-item' ).removeClass( togglingClass ); 6155 menuItem.parent().find( '.fl-has-submenu' ).not( hiddenMenu ).find( toggleElement ).attr( 'aria-expanded', false ); 6156 if ( this._isMenuToggle() || this.type === 'accordion' ) {
6157 menuItem.find( '.sub-menu' ).filter( ':visible' ).slideUp(); 6158 } 6159 } 6160 }, 6161 6162 /** 6163 * Changes general styling and behavior of menus based on mobile / desktop viewport. 6164 * 6165 * @see this._isMenuToggle() 6166 * @since 1.6.1 6167 * @return void 6168 */ 6169 _clickOrHover: function( clear = false ){ 6170 const selector = this._isMobileBelowRowEnabled() ? this.nodeClass + '-clone' : this.nodeClass; 6171 this.$submenus = this.$submenus || $( selector ).find( '.sub-menu' ); 6172 6173 const className = this._isMenuToggle() || this.type === 'accordion' ? 'fl-active' : 'focus'; 6174 const toggleElement = this.submenuIcon === 'none' ? 'a' : '.fl-menu-toggle'; 6175 const hiddenMenu = '.mega-menu.hide-heading, .mega-menu-disabled.hide-heading'; 6176 $( selector ).find( '.fl-has-submenu' ).not( hiddenMenu ).each( function() { 6177 if( clear || ! $ ( this ).hasClass( className ) ){ 6178 if ( clear ) $( this ).removeClass( className ); 6179 $( this ).find( toggleElement ).first().attr( 'aria-expanded', false ); 6180 if ( className === 'fl-active' ) { 6181 $( this ).find( '.sub-menu' ).fadeOut(); 6182 } else if ( className === 'focus' ) { 6183 $( this ).find( '.sub-menu' ).css( { 6184 'display' : '', 6185 'opacity' : '' 6186 } ); 6187 } 6188 } 6189 } ); 6190 }, 6191 6192 /** 6193 * Logic to prevent submenus to go outside viewport boundaries. 6194 * 6195 * @since 1.6.1 6196 * @return void 6197 */ 6198 _submenuOnRight: function(){ 6199 6200 $( this.wrapperClass ) 6201 .on( 'mouseenter focus', '.fl-has-submenu', $.proxy( function( e ){ 6202 6203 if( $ ( e.currentTarget ).find('.sub-menu').length === 0 ) { 6204 return; 6205 } 6206 6207 var $link = $( e.currentTarget ), 6208 $parent = $link.parent(), 6209 $subMenu = $link.find( '.sub-menu' ), 6210 subMenuWidth = $subMenu.width(), 6211 subMenuPos = 0, 6212 bodyWidth = $( 'body' ).width(); 6213 6214 if( $link.closest( '.fl-menu-submenu-right' ).length !== 0) { 6215 6216 $link.addClass( 'fl-menu-submenu-right' ); 6217 6218 } else if( $( 'body' ).hasClass( 'rtl' ) ) { 6219 6220 subMenuPos = $parent.is( '.sub-menu' ) ? 6221 $parent.offset().left - subMenuWidth: 6222 $link.offset().left - $link.width() - subMenuWidth; 6223 6224 if( subMenuPos <= 0 ) { 6225 $link.addClass( 'fl-menu-submenu-right' ); 6226 } 6227 6228 } else { 6229 6230 subMenuPos = $parent.is( '.sub-menu' ) ? 6231 $parent.offset().left + $parent.width() + subMenuWidth : 6232 $link.offset().left + $link.width() + subMenuWidth; 6233 6234 if( subMenuPos > bodyWidth ) { 6235 $link.addClass('fl-menu-submenu-right'); 6236 } 6237 } 6238 }, this ) ) 6239 .on( 'mouseleave', '.fl-has-submenu', $.proxy( function( e ){ 6240 $( e.currentTarget ).removeClass( 'fl-menu-submenu-right' ); 6241 }, this ) ); 6242 6243 }, 6244 6245 /** 6246 * Logic to prevent submenus to go behind the next overlay row. 6247 * 6248 * @since 1.10.9 6249 * @return void 6250 */ 6251 _submenuRowZindexFix: function(){ 6252 6253 $( this.wrapperClass ) 6254 .on( 'mouseenter', 'ul.menu > .fl-has-submenu', $.proxy( function( e ){ 6255 6256 if( $ ( e.currentTarget ).find('.sub-menu').length === 0 ) { 6257 return; 6258 } 6259 6260 $( this.nodeClass ) 6261 .closest( '.fl-row' ) 6262 .find( '.fl-row-content' ) 6263 .css( 'z-index', '10' ); 6264 6265 }, this ) ) 6266 .on( 'mouseleave', 'ul.menu > .fl-has-submenu', $.proxy( function(){ 6267 6268 $( this.nodeClass ) 6269 .closest( '.fl-row' ) 6270 .find( '.fl-row-content' ) 6271 .css( 'z-index', '' ); 6272 6273 }, this ) ); 6274 }, 6275 6276 /** 6277 * Logic for the mobile menu button. 6278 * 6279 * @since 1.6.1 6280 * @return void 6281 */ 6282 _toggleForMobile: function(){ 6283 6284 var $wrapper = null, 6285 $menu = null, 6286 self = this; 6287 6288 $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ).attr('aria-controls', $( this.wrapperClass ).find( 'ul.menu' ).attr('id')); 6289 6290 if( this._isMenuToggle() ){ 6291 6292 if ( this._isMobileBelowRowEnabled() ) { 6293 this._placeMobileMenuBelowRow(); 6294 $wrapper = $( this.wrapperClass ); 6295 $menu = $( this.nodeClass + '-clone' ); 6296 $menu.find( 'ul.menu' ).show(); 6297 } 6298 else { 6299 $wrapper = $( this.wrapperClass ); 6300 $menu = $wrapper.find( '.menu' ); 6301 } 6302 6303 if( !$wrapper.find( '.fl-menu-mobile-toggle' ).hasClass( 'fl-active' ) && ! self.mobileFlyout ){ 6304 $menu.css({ display: 'none' }); 6305 } 6306 6307 // Flayout Menu 6308 if ( self.mobileFlyout ) { 6309 this._initFlyoutMenu(); 6310 } 6311 6312 $wrapper.on( 'click', '.fl-menu-mobile-toggle', function( e ){ 6313 e.stopImmediatePropagation(); 6314 6315 $( this ).toggleClass( 'fl-active' ); 6316 6317 if ( self.mobileFlyout ) { 6318 self._toggleFlyoutMenu(); 6319 const flyoutWrapper = $( '.fl-menu-mobile-flyout' ); 6320 if ( $( this ).hasClass( 'fl-active' ) ) { 6321 flyoutWrapper.attr( 'aria-hidden', false ); 6322 flyoutWrapper.find( 'a[href], button, input, select, textarea, span.fl-menu-toggle, [tabindex="-1"]' ).attr( 'tabindex', 0 ); 6323 } 6324 else { 6325 flyoutWrapper.attr( 'aria-hidden', true ); 6326 flyoutWrapper.find( 'a[href], button, input, select, textarea, span.fl-menu-toggle, [tabindex]:not
6326([tabindex="-1"])' ).attr( 'tabindex', -1 ); 6327 } 6328 } 6329 else { 6330 var targetMenu = null; 6331 6332 if ( self.mobileBelowRow ) { 6333 var $closestCol = $( this ).parents( '.fl-col, .fl-module-box' ), 6334 $closestColGroup = $closestCol.length ? $closestCol.parent( '.fl-col-group' ) : null; 6335 targetMenu = $closestCol.length ? $closestCol.last().next( '.fl-menu-mobile-clone' ) : null; 6336 6337 if ( $closestColGroup.length ) { 6338 if ( $closestColGroup.hasClass( 'fl-col-group-responsive-reversed' ) ) { 6339 $closestColGroup.find( '.fl-menu-mobile-clone' ).css( 'order', -1 ); 6340 } else if ( $closestColGroup ) { 6341 $closestColGroup.find( '.fl-menu-mobile-clone' ).css( 'order', 2 ); 6342 } 6343 } 6344 } else { 6345 targetMenu = $( this ).closest( '.fl-menu' ).find( 'ul.menu' ); 6346 } 6347 6348 if ( targetMenu.length ) { 6349 $menu = $( targetMenu ); 6350 } 6351 6352 $menu.slideToggle(); 6353 } 6354 6355 e.stopPropagation(); 6356 } ); 6357 6358 // Hide active menu when click on anchor link ID that exists on a page 6359 $menu.off().on( 'click', '.menu-item > a[href*="#"]:not([href="#"])', function(){ 6360 var $href = $(this).attr('href'), 6361 $targetID = $href.split('#')[1], 6362 element = $('#' + $targetID); 6363 if ( $('body').find(element).length > 0 ) { 6364 $( this ).toggleClass( 'fl-active' ); 6365 FLBuilderLayout._scrollToElement( element ); 6366 if ( ! self._isMenuToggle() ) { 6367 $menu.slideToggle(); 6368 } 6369 } 6370 }); 6371 } 6372 else { 6373 6374 if ( this._isMobileBelowRowEnabled() ) { 6375 this._removeMenuFromBelowRow(); 6376 } 6377 6378 $wrapper = $( this.wrapperClass ), 6379 $menu = $wrapper.find( 'ul.menu' ); 6380 $wrapper.find( '.fl-menu-mobile-toggle' ).removeClass( 'fl-active' ); 6381 $menu.css({ display: '' }); 6382 6383 if ( ! this._isMobileBelowRowEnabled() ) { 6384 $menu.off( 'click', '.menu-item > a[href*="#"]:not([href="#"])' ); 6385 } 6386 6387 if ( this.mobileFlyout && $wrapper.find( '.fl-menu-mobile-flyout' ).length > 0 ) { 6388 $( 'body' ).css( 'margin', '' ); 6389 $( '.fl-builder-ui-pinned-content-transform' ).css( 'transform', '' ); 6390 $menu.unwrap(); 6391 $wrapper.find( '.fl-menu-mobile-close' ).remove(); 6392 $wrapper.find( '.fl-menu-mobile-opacity' ).remove(); 6393 } 6394 } 6395 }, 6396 6397 /** 6398 * Init any mega menus that exist. 6399 * 6400 * @see this._isMenuToggle() 6401 * @since 1.10.4 6402 * @return void 6403 */ 6404 _initMegaMenus: function(){ 6405 6406 var module = $( this.nodeClass ), 6407 rowContent = module.closest( '.fl-row-content' ), 6408 rowWidth = rowContent.width(), 6409 megas = module.find( '.mega-menu' ), 6410 disabled = module.find( '.mega-menu-disabled' ), 6411 isToggle = this._isMenuToggle(); 6412 6413 if ( isToggle ) { 6414 megas.removeClass( 'mega-menu' ).addClass( 'mega-menu-disabled' ); 6415 module.find( 'li.mega-menu-disabled > ul.sub-menu' ).css( 'width', '' ); 6416 rowContent.css( 'position', '' ); 6417 } else { 6418 disabled.removeClass( 'mega-menu-disabled' ).addClass( 'mega-menu' ); 6419 module.find( 'li.mega-menu > ul.sub-menu' ).css( 'width', rowWidth + 'px' ); 6420 rowContent.css( 'position', 'relative' ); 6421 } 6422 }, 6423 6424 /** 6425 * Check to see if Below Row should be enabled. 6426 * 6427 * @since 1.11 6428 * @return boolean 6429 */ 6430 _isMobileBelowRowEnabled: function() { 6431 return this.mobileBelowRow && ( $( this.nodeClass ).parents( '.fl-col, .fl-module-box' ).length ); 6432 }, 6433 6434 /** 6435 * Logic for putting the mobile menu below the menu's 6436 * column so it spans the full width of the page. 6437 * 6438 * @since 1.10 6439 * @return void 6440 */ 6441 _placeMobileMenuBelowRow: function(){ 6442 6443 if ( $( this.nodeClass + '-clone' ).length ) { 6444 return; 6445 } 6446 6447 var module = $( this.nodeClass ), 6448 clone = null, 6449 col = module.parents( '.fl-col, .fl-module-box' ).last(); 6450 6451 if ( module.length < 1 ) { 6452 return; 6453 } 6454 6455 clone = ( module.length > 1 ) ? $( module[0] ).clone() : module.clone(); 6456 module.find( 'ul.menu' ).remove(); 6457 clone.addClass( ( this.nodeClass + '-clone' ).replace( '.', '' ) ); 6458 clone.addClass( 'fl-menu-mobile-clone' ); 6459 clone.find( '.fl-menu-mobile-toggle' ).remove(); 6460 col.after( clone ); 6461 6462 // Removes animation when enabled 6463 if ( module.hasClass( 'fl-animation' ) ) { 6464 clone.removeClass( 'fl-animation' ); 6465 } 6466 6467 this._menuOnFocus(); 6468 this._menuOnClick(); 6469 this._menuOnEscape(); 6470 }, 6471 6472 /** 6473 * Logic for removing the mobile menu from below the menu's 6474 * column and putting it back in the main wrapper. 6475 * 6476 * @since 1.10 6477 * @return void 6478 */ 6479 _removeMenuFromBelowRow: function(){ 6480 6481 if ( ! $( this.nodeClass + '-clone' ).length ) { 6482 return; 6483 } 6484 6485 var module = $( this.nodeClass ), 6486 clone = $( this.nodeClass + '-clone' ), 6487 menu = clone.find( 'ul.menu' ), 6488 nav = module.find( 'nav' ); 6489
6490 if ( nav.length ) { 6491 nav.append( menu ); 6492 } else { 6493 module.find( '.fl-menu-mobile-toggle' ).after( menu ); 6494 } 6495 clone.remove(); 6496 menu.find( 'a' ).each( FLBuilderLayout._initAnchorLink ); 6497 }, 6498 6499 /** 6500 * Logic for Flyout responsive menu. 6501 * 6502 * @since 2.2 6503 * @return void 6504 */ 6505 _initFlyoutMenu: function(){ 6506 var wrapper = $( this.wrapperClass ), 6507 menu = wrapper.find( 'ul.menu' ), 6508 button = wrapper.find( '.fl-menu-mobile-toggle' ); 6509 6510 if ( 0 === wrapper.find( '.fl-menu-mobile-flyout' ).length ) { 6511 menu.wrap( '<div class="fl-menu-mobile-flyout" aria-hidden="true"></div>' ); 6512 } 6513 6514 if ( 0 === wrapper.find( '.fl-menu-mobile-close' ).length ) { 6515 var close = window.fl_responsive_close || 'Close' 6516 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>' ); 6517 } 6518 6519 // Push with opacity 6520 if ( wrapper.hasClass( 'fl-menu-responsive-flyout-push-opacity' ) && 0 === wrapper.find( '.fl-menu-mobile-opacity' ).length ) { 6521 wrapper.append( '<div class="fl-menu-mobile-opacity"></div>' ); 6522 } 6523 6524 wrapper.off( 'click', '.fl-menu-mobile-opacity, .fl-menu-mobile-close' ).on( 'click', '.fl-menu-mobile-opacity, .fl-menu-mobile-close', function(e){ 6525 button.trigger('focus').trigger( 'click' ); 6526 e.stopPropagation(); 6527 }); 6528 6529 if ( 'undefined' !== typeof FLBuilder ) { 6530 FLBuilder.addHook('restartEditingSession', function(){ 6531 $( '.fl-builder-ui-pinned-content-transform' ).css( 'transform', '' ); 6532 6533 // Toggle active menu 6534 if ( button.hasClass( 'fl-active' ) ) { 6535 button.trigger( 'click' ); 6536 } 6537 }); 6538 } 6539 $( '.fl-menu-mobile-flyout' ).find( 'a[href], button, input, select, textarea, span.fl-menu-toggle, [tabindex]:not([tabindex="-1"])' ).attr( 'tabindex', -1 ); 6540 }, 6541 6542 /** 6543 * Logic to enable/disable the Flyout menu on button click. 6544 * 6545 * @since 2.2 6546 * @return void 6547 */ 6548 _toggleFlyoutMenu: function(){ 6549 var wrapper = $( this.wrapperClass ), 6550 button = wrapper.find( '.fl-menu-mobile-toggle' ), 6551 position = wrapper.hasClass( 'fl-flyout-right' ) ? 'right' : 'left', 6552 pushMenu = wrapper.hasClass( 'fl-menu-responsive-flyout-push' ) || wrapper.hasClass( 'fl-menu-responsive-flyout-push-opacity' ), 6553 opacity = wrapper.find( '.fl-menu-mobile-opacity' ), 6554 marginPos = {}, 6555 fixedPos = {}, 6556 fixedHeader = $('header, header > div'); 6557 6558 this._resizeFlyoutMenuPanel(); 6559 6560 // Fix the push menu when builder ui panel is pinned 6561 if ( $( '.fl-builder-ui-pinned-content-transform' ).length > 0 && ! $( 'body' ).hasClass( 'fl-builder-edit' ) ) { 6562 $( '.fl-builder-ui-pinned-content-transform' ).css( 'transform', 'none' ); 6563 } 6564 6565 if ( pushMenu ) { 6566 marginPos[ 'margin-' + position ] = button.hasClass( 'fl-active' ) ? this.flyoutWidth + 'px' : '0px'; 6567 $( 'body' ).animate( marginPos, 200); 6568 6569 // Fixed header 6570 if ( fixedHeader.length > 0 ) { 6571 fixedPos[ position] = button.hasClass( 'fl-active' ) ? this.flyoutWidth + 'px' : '0px'; 6572 fixedHeader.each(function(){ 6573 if ( 'fixed' == $( this ).css( 'position' ) ) { 6574 $( this ).css({ 'transition' : 'none' }); 6575 $( this ).animate( fixedPos, 200 ); 6576 } 6577 }); 6578 } 6579 } 6580 6581 if ( opacity.length > 0 && button.hasClass( 'fl-active' ) ) { 6582 opacity.show(); 6583 } 6584 else { 6585 opacity.hide(); 6586 } 6587 }, 6588 6589 /** 6590 * Resize or reposition the Flyout Menu Panel. 6591 * 6592 * @since 2.8.1 6593 * @return void 6594 */ 6595 _resizeFlyoutMenuPanel: function(){ 6596 const wrapper = $( this.wrapperClass ); 6597 const wrapFlyout = wrapper.find( '.fl-menu-mobile-flyout' ); 6598 6599 if ( wrapFlyout.length > 0 ) { 6600 wrapFlyout.css( this._getFlyoutMenuPanelPosition() ); 6601 } 6602 }, 6603 6604 /** 6605 * Compute the Flyout Menu Panel's position on the screen. 6606 * 6607 * @since 2.8.1 6608 * @return object 6609 */ 6610 _getFlyoutMenuPanelPosition: function() { 6611 var wrapper = $( this.wrapperClass ), 6612 button = wrapper.find( '.fl-menu-mobile-toggle' ), 6613 side = wrapper.hasClass( 'fl-flyout-right' ) ? 'right' : 'left', 6614 winHeight = $(window).outerHeight(), 6615 winTop = $(window).scrollTop(), 6616 adminBarHeight = $( '#wpadminbar' ).length ? $( '#wpadminbar' ).height() : 0, 6617 flyoutPosition = {}; 6618 6619 flyoutPosition[ side ] = '-' + ( parseInt( this.flyoutWidth ) + 15 ) + 'px'; 6620 if ( ! button.hasClass( 'fl-active' ) ) { 6621 return flyoutPosition; 6622 } 6623 6624 flyoutPosition[ side ] = '0px'; 6625 flyoutPosition[ 'height' ] = winHeight + 'px'; 6626 flyoutPosition[ 'top' ] = '0px'; 6627 6628 if ( adminBarHeight > 0 ) { 6629 const diff = adminBarHeight - winTop; 6630 flyoutPosition[ 'top' ] = diff <= 0 ? '0px' : (diff) + 'px'; 6631 } 6632 6633 return flyoutPosition; 6634 }, 6635 6636 /** 6637 * Shows or hides the nav search form. 6638 * 6639 * @since 2.5 6640 * @method _toggleMenuSearch 6641 */ 6642 _toggleMenuSearch: function(){ 6643 const form = $( this.wrapperClass ).find('.fl-menu-search-item .fl-search-form-input-wrap');
6644 const button = $( this.wrapperClass ).find('.fl-menu-search-item .fl-button:is(a, button:not([type="submit"]))'); 6645 form.on('submit', () => form.stop().fadeToggle('fast')); 6646 // Close the search form when focus is lost 6647 form.on('focusout', (event) => { 6648 if (form.is(':visible') && form.has($(event.relatedTarget)).length === 0) { 6649 button.trigger('click'); 6650 } 6651 }); 6652 button.attr('aria-expanded', false); 6653 // Close other open submenus when focusing on the search button 6654 button.on('focus', (event) => { 6655 const parentMenus = $(event.relatedTarget).parents('.menu-item.fl-has-submenu'); 6656 if (event.relatedTarget && parentMenus.length) { 6657 this._toggleSubmenu(parentMenus, false); 6658 } 6659 }); 6660 button.on('click', (event) => { 6661 // Prevent toggling when clicking with mouse while the form is already open 6662 if (event.detail && event.type === 'click' && form.is(':visible')) return; 6663 form.stop().fadeToggle('fast', () => { 6664 button.attr('aria-expanded', form.is(':visible')); 6665 if(form.is(':visible')) { 6666 form.find('.fl-search-text').focus(); 6667 } 6668 }); 6669 }); 6670 }, 6671 6672 /** 6673 * Adds menu node and post ID to WooCommerce ajax URL requests. 6674 * 6675 * @since 2.5 6676 * @return void 6677 */ 6678 _wooUpdateParams: function() { 6679 if ( 'undefined' !== typeof wc_cart_fragments_params ) { 6680 wc_cart_fragments_params.wc_ajax_url += '&fl-menu-node='+ this.nodeId +'&post-id='+ this.postId; 6681 } 6682 if ( 'undefined' !== typeof wc_add_to_cart_params ) { 6683 wc_add_to_cart_params.wc_ajax_url += '&fl-menu-node='+ this.nodeId +'&post-id='+ this.postId; 6684 } 6685 }, 6686 }; 6687 6688})(jQuery); 6689 6690(function($) { 6691 6692 $(function() { 6693 6694 new FLBuilderMenu({ 6695 id: '7bwtoq16j89f', 6696 type: 'horizontal', 6697 mobile: 'expanded', 6698 mobileBelowRow: true, 6699 mobileFlyout: false, 6700 breakPoints: { 6701 large: 1200, 6702 medium: 1023, 6703 small: 768 }, 6704 mobileBreakpoint: 'mobile', 6705 postId : '23', 6706 mobileStacked: true, 6707 submenuIcon: 'arrows', 6708 flyoutWidth: '250', 6709 }); 6710 6711 }); 6712 6713})(jQuery); 6714jQuery(function($) { 6715 6716 $(function() { 6717 $( '.fl-node-cnz3j2gykafh .fl-photo-img' ) 6718 .on( 'mouseenter', function( e ) { 6719 $( this ).data( 'title', $( this ).attr( 'title' ) ).removeAttr( 'title' ); 6720 } ) 6721 .on( 'mouseleave', function( e ){ 6722 $( this ).attr( 'title', $( this ).data( 'title' ) ).data( 'title', null ); 6723 } ); 6724 }); 6725 window._fl_string_to_slug_regex = 'a-zA-Z0-9'; 6726}); 6727(function($){ 6728 })(jQuery); 6729 6730/* Start Layout Custom JS */ 6731 6732/* End Layout Custom JS */ 6733 6734 6735(function($) { 6736 6737 $(function() { 6738 6739 new FLBuilderMenu({ 6740 id: 'jhr3ylt8qiok', 6741 type: 'horizontal', 6742 mobile: 'expanded', 6743 mobileBelowRow: true, 6744 mobileFlyout: false, 6745 breakPoints: { 6746 large: 1200, 6747 medium: 1023, 6748 small: 768 }, 6749 mobileBreakpoint: 'mobile', 6750 postId : '75236', 6751 mobileStacked: true, 6752 submenuIcon: 'arrows', 6753 flyoutWidth: '250', 6754 }); 6755 6756 }); 6757 6758})(jQuery); 6759 6760(function($) { 6761 6762 $(function() { 6763 6764 new FLBuilderMenu({ 6765 id: 'odsp0lh7mkxj', 6766 type: 'horizontal', 6767 mobile: 'hamburger', 6768 mobileBelowRow: false, 6769 mobileFlyout: true, 6770 breakPoints: { 6771 large: 1200, 6772 medium: 1023, 6773 small: 768 }, 6774 mobileBreakpoint: 'always', 6775 postId : '75236', 6776 mobileStacked: true, 6777 submenuIcon: 'plus', 6778 flyoutWidth: '250', 6779 }); 6780 6781 }); 6782 6783})(jQuery); 6784jQuery(function($) { 6785 6786 $(function() { 6787 $( '.fl-node-or7czkjebiv3 .fl-photo-img' ) 6788 .on( 'mouseenter', function( e ) { 6789 $( this ).data( 'title', $( this ).attr( 'title' ) ).removeAttr( 'title' ); 6790 } ) 6791 .on( 'mouseleave', function( e ){ 6792 $( this ).attr( 'title', $( this ).data( 'title' ) ).data( 'title', null ); 6793 } ); 6794 }); 6795 window._fl_string_to_slug_regex = 'a-zA-Z0-9'; 6796}); 6797 6798(function($) { 6799 6800 $(function() { 6801 6802 new FLBuilderMenu({ 6803 id: 'k67mugaxebvp', 6804 type: 'horizontal', 6805 mobile: 'hamburger-label', 6806 mobileBelowRow: false, 6807 mobileFlyout: true, 6808 breakPoints: { 6809 large: 1200, 6810 medium: 1023, 6811 small: 768 }, 6812 mobileBreakpoint: 'always', 6813 postId : '75236', 6814 mobileStacked: true, 6815 submenuIcon: 'plus', 6816 flyoutWidth: '250', 6817 }); 6818 6819 }); 6820 6821})(jQuery); 6822jQuery(function($) { 6823 6824 $(function() { 6825 $( '.fl-node-d5rb3shmfv80 .fl-photo-img' ) 6826 .on( 'mouseenter', function( e ) { 6827 $( this ).data( 'title', $( this ).attr( 'title' ) ).removeAttr( 'title' ); 6828 } ) 6829 .on( 'mouseleave', function( e ){ 6830 $( this ).attr( 'title', $( this ).data( 'title' ) ).data( 'title', null ); 6831 } ); 6832 }); 6833 window._fl_string_to_slug_regex = 'a-zA-Z0-9'; 6834}); 6835jQuery(function($) { 6836 6837 $(function() { 6838 $( '.fl-node-d1vo46nmhuqe .fl-photo-img' ) 6839 .on( 'mouseenter', function( e ) { 6840 $( this ).data( 'title', $( this ).attr( 'title' ) ).removeAttr( 'title' ); 6841 } ) 6842 .on( 'mouseleave', function( e ){ 6843 $( this ).attr( 'title', $( this ).data( 'title' ) ).data( 'title', null ); 6844 } ); 6845 }); 6846 window._fl_string_to_slug_regex = 'a-zA-Z0-9'; 6847}); 6848 6849(function($) { 6850 6851 $(function() { 6852 6853 new FLBuilderMenu({ 6854 id: 'fkyuj1gt248v', 6855 type: 'horizontal', 6856 mobile: 'expanded', 6857 mobileBelowRow: true, 6858 mobileFlyout: false, 6859 breakPoints: { 6860 large: 1200, 6861 medium: 1023, 6862 small: 768 }, 6863 mobileBreakpoint: 'mobile', 6864 postId : '75236', 6865 mobileStacked: true, 6866 submenuIcon: 'none', 6867 flyoutWidth: '250', 6868 }); 6869 6870 }); 6871 6872})(jQuery); 6873 6874/* Start Layout Custom JS */ 6875 6876/* End Layout Custom JS */ 6877 6878(function($){ 6879 6880 /** 6881 * Helper class for header layout logic. 6882 * 6883 * @since 1.0 6884 * @class FLThemeBuilderHeaderLayout 6885 */ 6886 FLThemeBuilderHeaderLayout = { 6887 6888 /** 6889 * A reference to the window object for this page. 6890 * 6891 * @since 1.0 6892 * @property {Object} win 6893 */ 6894 win : null, 6895 6896 /** 6897 * A reference to the body object for this page. 6898 * 6899 * @since 1.0 6900 * @property {Object} body 6901 */ 6902 body : null, 6903 6904 /** 6905 * A reference to the header object for this page. 6906 * 6907 * @since 1.0 6908 * @property {Object} header 6909 */ 6910 header : null, 6911 6912 /** 6913 * Whether this header overlays the content or not. 6914 * 6915 * @since 1.0 6916 * @property {Boolean} overlay 6917 */ 6918 overlay : false, 6919 6920 /** 6921 * Whether the page has the WP admin bar or not. 6922 * 6923 * @since 1.0 6924 * @property {Boolean} hasAdminBar 6925 */ 6926 hasAdminBar : false, 6927 6928 /** 6929 * Breakpoint for when the sticky header should apply. 6930 * 6931 * @since 1.4 6932 * @property {String} stickyOn 6933 */ 6934 stickyOn: '', 6935 6936 /** 6937 * A reference of the sticky and shrink header breakpoint. 6938 * 6939 * @since 1.2.5 6940 * @property {Number} breakpointWidth 6941 */ 6942 breakpointWidth: 0, 6943 6944 /** 6945 * Initializes header layout logic. 6946 * 6947 * @since 1.0 6948 * @method init 6949 */ 6950 init: function() 6951 {
6952 var editing = $( 'html.fl-builder-edit' ).length, 6953 header = $( '.fl-builder-content[data-type=header]' ), 6954 menuModule = header.find( '.fl-module-menu' ), 6955 breakpoint = null; 6956 6957 if ( ! editing && header.length ) { 6958 6959 header.imagesLoaded( $.proxy( function() { 6960 6961 this.win = $( window ); 6962 this.body = $( 'body' ); 6963 this.header = header.eq( 0 ); 6964 this.overlay = !! Number( header.attr( 'data-overlay' ) ); 6965 this.hasAdminBar = !! $( 'body.admin-bar' ).length; 6966 this.stickyOn = this.header.data( 'sticky-on' ); 6967 breakpoint = this.header.data( 'sticky-breakpoint' ); 6968 6969 if ( '' == this.stickyOn ) { 6970 if ( typeof FLBuilderLayoutConfig.breakpoints[ breakpoint ] !== undefined ) { 6971 this.breakpointWidth = FLBuilderLayoutConfig.breakpoints[ breakpoint ]; 6972 } 6973 else { 6974 this.breakpointWidth = FLBuilderLayoutConfig.breakpoints.medium; 6975 } 6976 } 6977 6978 if ( Number( header.attr( 'data-sticky' ) ) ) { 6979 6980 this.header.data( 'original-top', this.header.offset().top ); 6981 this.win.on( 'resize', $.throttle( 500, $.proxy( this._initSticky, this ) ) ); 6982 this._initSticky(); 6983 6984 } 6985 6986 }, this ) ); 6987 } 6988 }, 6989 6990 /** 6991 * Initializes sticky logic for a header. 6992 * 6993 * @since 1.0 6994 * @access private 6995 * @method _initSticky 6996 */ 6997 _initSticky: function( e ) 6998 { 6999 var header = $('.fl-builder-content[data-type=header]'), 7000 windowSize = this.win.width(), 7001 makeSticky = false; 7002 7003 makeSticky = this._makeWindowSticky( windowSize ); 7004 if ( makeSticky || ( this.breakpointWidth > 0 && windowSize >= this.breakpointWidth ) ) { 7005 this.win.on( 'scroll.fl-theme-builder-header-sticky', $.proxy( this._doSticky, this ) ); 7006 // 7007 // Check if Event Type is 'resize' then invoke this._doSticky() 7008 // only if the 'fl-theme-builder-header-sticky' class is already present. 7009 // 7010 if ( e && 'resize' === e.type ) { 7011 if ( this.header.hasClass( 'fl-theme-builder-header-sticky' ) ) { 7012 this._doSticky( e ); 7013 } 7014 this._adjustStickyHeaderWidth(); 7015 } 7016 7017 if ( Number( header.attr( 'data-shrink' ) ) ) { 7018 this.header.data( 'original-height', this.header.outerHeight() ); 7019 this.win.on( 'resize', $.throttle( 500, $.proxy( this._initShrink, this ) ) ); 7020 this._initShrink(); 7021 } 7022 7023 this._initFlyoutMenuFix( e ); 7024 } else { 7025 this.win.off( 'scroll.fl-theme-builder-header-sticky' ); 7026 this.win.off( 'resize.fl-theme-builder-header-sticky' ); 7027 7028 this.header.removeClass( 'fl-theme-builder-header-sticky' ); 7029 this.header.removeAttr( 'style' ); 7030 this.header.parent().css( 'padding-top', '0' ); 7031 } 7032 }, 7033 7034 /** 7035 * Check if Header should be sticky at a particular Window size. 7036 * 7037 * @since 1.4 7038 * @access private 7039 * @param widowSize 7040 * @method _makeWindowSticky 7041 */ 7042 _makeWindowSticky: function ( windowSize ) 7043 { 7044 var makeSticky = false; 7045 7046 switch (this.stickyOn) { 7047 case 'xl': 7048 makeSticky = windowSize > FLBuilderLayoutConfig.breakpoints['large']; 7049 break; 7050 case '': // Default 7051 case 'desktop': 7052 makeSticky = windowSize >= FLBuilderLayoutConfig.breakpoints['medium']; 7053 break; 7054 case 'desktop-medium': 7055 makeSticky = windowSize > FLBuilderLayoutConfig.breakpoints['small']; 7056 break; 7057 case 'large': 7058 makeSticky = windowSize > FLBuilderLayoutConfig.breakpoints['medium'] && windowSize <= FLBuilderLayoutConfig.breakpoints['large']; 7059 break; 7060 case 'large-medium': 7061 makeSticky = windowSize > FLBuilderLayoutConfig.breakpoints['small'] && windowSize <= FLBuilderLayoutConfig.breakpoints['large']; 7062 break; 7063 case 'medium': 7064 makeSticky = ( windowSize <= FLBuilderLayoutConfig.breakpoints['medium'] && windowSize > FLBuilderLayoutConfig.breakpoints['small'] ); 7065 break; 7066 case 'medium-mobile': 7067 makeSticky = (windowSize <= FLBuilderLayoutConfig.breakpoints['medium']); 7068 break; 7069 case 'mobile': 7070 makeSticky = (windowSize <= FLBuilderLayoutConfig.breakpoints['small']); 7071 break; 7072 case 'all': 7073 makeSticky = true; 7074 break; 7075 } 7076 7077 return makeSticky; 7078 }, 7079 7080 /** 7081 * Sticks the header when the page is scrolled. 7082 * 7083 * @since 1.0 7084 * @access private 7085 * @method _doSticky 7086 */ 7087 _doSticky: function( e ) 7088 { 7089 var winTop = Math.floor( this.win.scrollTop() ), 7090 headerTop = Math.floor( this.header.data( 'original-top' ) ),
7091 hasStickyClass = this.header.hasClass( 'fl-theme-builder-header-sticky' ), 7092 hasScrolledClass = this.header.hasClass( 'fl-theme-builder-header-scrolled' ), 7093 beforeHeader = this.header.prevAll( '.fl-builder-content' ), 7094 bodyTopPadding = parseInt( jQuery('body').css('padding-top') ), 7095 winBarHeight = $('#wpadminbar').length ? $('#wpadminbar').outerHeight() : 0, 7096 headerHeight = 0; 7097 7098 if ( isNaN( bodyTopPadding ) ) { 7099 bodyTopPadding = 0; 7100 } 7101 7102 if ( this.hasAdminBar && this.win.width() > 600 ) { 7103 winTop += Math.floor( winBarHeight ); 7104 } 7105 7106 if ( winTop > headerTop ) { 7107 if ( ! hasStickyClass ) { 7108 if ( e && ( 'scroll' === e.type || 'smartscroll' === e.type ) ) { 7109 this.header.addClass( 'fl-theme-builder-header-sticky' ); 7110 if ( this.overlay && beforeHeader.length ) { 7111 this.header.css( 'top', winBarHeight); 7112 } 7113 } 7114 7115 if ( ! this.overlay ) { 7116 this._adjustHeaderHeight(); 7117 } 7118 } 7119 } 7120 else if ( hasStickyClass ) { 7121 this.header.removeClass( 'fl-theme-builder-header-sticky' ); 7122 this.header.removeAttr( 'style' ); 7123 this.header.parent().css( 'padding-top', '0' ); 7124 } 7125 7126 this._adjustStickyHeaderWidth(); 7127 7128 if ( winTop > headerTop ) { 7129 if ( ! hasScrolledClass ) { 7130 this.header.addClass( 'fl-theme-builder-header-scrolled' ); 7131 } 7132 } else if ( hasScrolledClass ) { 7133 this.header.removeClass( 'fl-theme-builder-header-scrolled' ); 7134 } 7135 7136 this._flyoutMenuFix( e ); 7137 }, 7138 7139 /** 7140 * Initializes flyout menu fixes on sticky header. 7141 * 7142 * @since 1.4.1 7143 * @method _initFlyoutMenuFix 7144 */ 7145 _initFlyoutMenuFix: function( e ) { 7146 var header = this.header, 7147 menuModule = header.closest( '.fl-menu' ), 7148 flyoutMenu = menuModule.find( '.fl-menu-mobile-flyout' ), 7149 isPushMenu = menuModule.hasClass( 'fl-menu-responsive-flyout-push' ) || menuModule.hasClass( 'fl-menu-responsive-flyout-push-opacity' ), 7150 isOverlay = menuModule.hasClass( 'fl-menu-responsive-flyout-overlay' ), 7151 flyoutPos = menuModule.hasClass( 'fl-flyout-right' ) ? 'right' : 'left', 7152 flyoutParent = header.parent().is( 'header' ) ? header.parent().parent() : header.parent(); 7153 isFullWidth = this.win.width() === header.width(), 7154 flyoutLayout = '', 7155 activePos = 250, 7156 headerPos = 0; 7157 7158 if ( ! flyoutMenu.length ) { 7159 return; 7160 } 7161 7162 if ( this.win.width() > header.parent().width() ) { 7163 headerPos = ( this.win.width() - header.width() ) / 2; 7164 } 7165 7166 if ( isOverlay ) { 7167 activePos = headerPos; 7168 } 7169 else if ( isPushMenu ) { 7170 activePos = activePos + headerPos; 7171 } 7172 flyoutMenu.data( 'activePos', activePos ); 7173 7174 if ( isPushMenu ) { 7175 flyoutLayout = 'push-' + flyoutPos; 7176 } 7177 else if ( isOverlay ) { 7178 flyoutLayout = 'overlay-' + flyoutPos; 7179 } 7180 7181 if ( isPushMenu && ! $( 'html' ).hasClass( 'fl-theme-builder-has-flyout-menu' ) ) { 7182 $( 'html' ).addClass( 'fl-theme-builder-has-flyout-menu' ); 7183 } 7184 7185 if ( ! flyoutParent.hasClass( 'fl-theme-builder-flyout-menu-' + flyoutLayout ) ) { 7186 flyoutParent.addClass( 'fl-theme-builder-flyout-menu-' + flyoutLayout ); 7187 } 7188 7189 if ( ! header.hasClass( 'fl-theme-builder-flyout-menu-overlay' ) && isOverlay ) { 7190 header.addClass( 'fl-theme-builder-flyout-menu-overlay' ); 7191 } 7192 7193 if ( ! header.hasClass( 'fl-theme-builder-header-full-width' ) && isFullWidth ) { 7194 header.addClass( 'fl-theme-builder-header-full-width' ); 7195 } 7196 else if ( ! isFullWidth ) { 7197 header.removeClass( 'fl-theme-builder-header-full-width' ); 7198 } 7199 7200 menuModule.on( 'click', '.fl-menu-mobile-toggle', $.proxy( function( event ){ 7201 if ( menuModule.find( '.fl-menu-mobile-toggle.fl-active' ).length ) { 7202 $( 'html' ).addClass( 'fl-theme-builder-flyout-menu-active' ); 7203 event.stopImmediatePropagation(); 7204 } 7205 else { 7206 $( 'html' ).removeClass( 'fl-theme-builder-flyout-menu-active' ); 7207 } 7208 7209 this._flyoutMenuFix( event ); 7210 }, this ) ); 7211 }, 7212 7213 /** 7214 * Fix flyout menu inside the sticky header. 7215 * 7216 * @since 1.4.1 7217 * @method _flyoutMenuFix 7218 */ 7219 _flyoutMenuFix: function( e ){ 7220 var header = this.header, 7221 menuModule = $( e.target ).closest( '.fl-menu' ), 7222 flyoutMenu = menuModule.find( '.fl-menu-mobile-flyout' ), 7223 flyoutPos = menuModule.hasClass( 'fl-flyout-right' ) ? 'right' : 'left', 7224 menuOpacity = menuModule.find( '.fl-menu-mobile-opacity' ), 7225 isScroll = 'undefined' !== typeof e && 'scroll' === e.handleObj.type, 7226 activePos = 'undefined' !== typeof flyoutMenu.data( 'activePos' ) ? flyoutMenu.data( 'activePos' ) : 0, 7227 headerPos = ( this.win.width() - header.width() ) / 2, 7228 inactivePos = headerPos > 0 ? activePos + 4 : 254; 7229 7230 if ( ! flyoutMenu.length ) { 7231 return; 7232 } 7233 7234 if ( this.overlay ) { 7235 return; 7236 } 7237
7238 if( $( '.fl-theme-builder-flyout-menu-active' ).length ) { 7239 7240 if ( isScroll && ! flyoutMenu.hasClass( 'fl-menu-disable-transition' ) ) { 7241 flyoutMenu.addClass( 'fl-menu-disable-transition' ); 7242 } 7243 7244 if ( header.hasClass( 'fl-theme-builder-header-sticky' ) ) { 7245 if ( ! isScroll ) { 7246 setTimeout( $.proxy( function(){ 7247 flyoutMenu.css( flyoutPos, '-' + activePos + 'px' ); 7248 }, this ), 1 ); 7249 } 7250 else { 7251 flyoutMenu.css( flyoutPos, '-' + activePos + 'px' ); 7252 } 7253 } 7254 else { 7255 flyoutMenu.css( flyoutPos, '0px' ); 7256 } 7257 } 7258 else { 7259 if ( flyoutMenu.hasClass( 'fl-menu-disable-transition' ) ) { 7260 flyoutMenu.removeClass( 'fl-menu-disable-transition' ); 7261 } 7262 7263 if ( header.hasClass( 'fl-theme-builder-flyout-menu-overlay' ) && headerPos > 0 && headerPos < 250 ) { 7264 if ( header.hasClass( 'fl-theme-builder-header-sticky' ) ) { 7265 inactivePos = headerPos + 254; 7266 } 7267 else { 7268 inactivePos = 254; 7269 } 7270 } 7271 7272 if ( e && e.type === 'resize' ) { 7273 inactivePos = headerPos + 254; 7274 } 7275 7276 flyoutMenu.css( flyoutPos, '-' + inactivePos + 'px' ); 7277 } 7278 7279 if ( e && menuModule.is('.fl-menu-responsive-flyout-overlay') && $.infinitescroll ) { 7280 e.stopImmediatePropagation(); 7281 } 7282 7283 if( menuOpacity.length ) { 7284 if ( header.hasClass( 'fl-theme-builder-header-sticky' ) ) { 7285 if ( '0px' === menuOpacity.css( 'left' ) ) { 7286 menuOpacity.css( 'left', '-' + headerPos + 'px' ); 7287 } 7288 } 7289 else { 7290 menuOpacity.css( 'left', '' ); 7291 } 7292 } 7293 }, 7294 7295 /** 7296 * Adjust sticky header width if BB Theme Boxed Layout is used. 7297 * 7298 * @since 1.4 7299 * @access private 7300 * @method _adjustStickyHeaderWidth 7301 */ 7302 _adjustStickyHeaderWidth: function () { 7303 if ( $('body').hasClass( 'fl-fixed-width' ) ) { 7304 var parentWidth = this.header.parent().width(); 7305 7306 // Better if this is set in the stylesheet file. 7307 if ( this.win.width() >= 992 ) { 7308 this.header.css({ 7309 'margin': '0 auto', 7310 'max-width': parentWidth, 7311 }); 7312 } 7313 else { 7314 this.header.css({ 7315 'margin': '', 7316 'max-width': '', 7317 }); 7318 } 7319 } 7320 }, 7321 7322 /** 7323 * Adjust Sticky Header Height 7324 * 7325 * @since 1.4 7326 * @access private 7327 * @method _adjustHeaderHeight 7328 */ 7329 _adjustHeaderHeight: function () { 7330 var beforeHeader = this.header.prevAll('.fl-builder-content'), 7331 beforeHeaderHeight = 0, 7332 beforeHeaderFix = 0, 7333 headerHeight = Math.floor( this.header.outerHeight() ), 7334 bodyTopPadding = parseInt( $( 'body' ).css( 'padding-top' ) ), 7335 wpAdminBarHeight = 0, 7336 totalHeaderHeight = 0; 7337 7338 if ( isNaN( bodyTopPadding ) ) { 7339 bodyTopPadding = 0; 7340 } 7341 7342 if ( beforeHeader.length ) { 7343 $.each( beforeHeader, function() { 7344 beforeHeaderHeight += Math.floor( $(this).outerHeight() ); 7345 }); 7346 // Subtract this value from the header parent's top padding. 7347 beforeHeaderFix = 2; 7348 } 7349 7350 if ( this.hasAdminBar && this.win.width() <= 600 ) { 7351 wpAdminBarHeight = Math.floor( $('#wpadminbar').outerHeight() ); 7352 } 7353 7354 totalHeaderHeight = Math.floor( beforeHeaderHeight + headerHeight); 7355 7356 if ( headerHeight > 0 ) { 7357 var headerParent = this.header.parent(), 7358 headerParentTopPadding = 0; 7359 7360 // If the header's parent container is the BODY tag ignore its top padding. 7361 if ( $( headerParent ).is('body') ) { 7362 headerParentTopPadding = Math.floor( headerHeight - wpAdminBarHeight ); 7363 } else { 7364 headerParentTopPadding = Math.floor( headerHeight - bodyTopPadding - wpAdminBarHeight ); 7365 } 7366 7367 $( headerParent ).css( 'padding-top', ( headerParentTopPadding - beforeHeaderFix ) + 'px' ); 7368 7369 this.header.css({ 7370 '-webkit-transform': 'translate(0px, -' + totalHeaderHeight + 'px)', 7371 '-ms-transform': 'translate(0px, -' + totalHeaderHeight + 'px)', 7372 'transform': 'translate(0px, -' + totalHeaderHeight + 'px)' 7373 }); 7374 7375 } 7376 7377 }, 7378 7379 /** 7380 * Initializes shrink logic for a header. 7381 * 7382 * @since 1.0 7383 * @access private 7384 * @method _initShrink 7385 */ 7386 _initShrink: function( e ) 7387 { 7388 if ( this.win.width() >= this.breakpointWidth ) {
7389 this.win.on( 'scroll.fl-theme-builder-header-shrink', $.proxy( this._doShrink, this ) ); 7390 this._setImageMaxHeight(); 7391 7392 if ( this.win.scrollTop() > 0 ){ 7393 this._doShrink(); 7394 } 7395 7396 } else { 7397 this.header.parent().css( 'padding-top', '0' ); 7398 this.win.off( 'scroll.fl-theme-builder-header-shrink' ); 7399 this._removeShrink(); 7400 this._removeImageMaxHeight(); 7401 } 7402 }, 7403 7404 /** 7405 * Shrinks the header when the page is scrolled. 7406 * 7407 * @since 1.0 7408 * @access private 7409 * @method _doShrink 7410 */ 7411 _doShrink: function( e ) 7412 { 7413 var winTop = this.win.scrollTop(), 7414 headerTop = this.header.data('original-top'), 7415 headerHeight = this.header.data('original-height'), 7416 shrinkImageHeight = this.header.data('shrink-image-height'), 7417 windowSize = this.win.width(), 7418 makeSticky = this._makeWindowSticky( windowSize ), 7419 hasClass = this.header.hasClass( 'fl-theme-builder-header-shrink' ); 7420 7421 7422 if ( this.hasAdminBar ) { 7423 winTop += 32; 7424 } 7425 7426 if ( makeSticky && ( winTop > headerTop + headerHeight ) ) { 7427 if ( ! hasClass ) { 7428 7429 this.header.addClass( 'fl-theme-builder-header-shrink' ); 7430 7431 // Shrink images but don't include lightbox and menu images. 7432 this.header.find('img').each( function( i ) { 7433 var image = $( this ), 7434 maxMegaMenu = image.closest( '.max-mega-menu' ).length, 7435 imageInLightbox = image.closest( '.fl-button-lightbox-content' ).length, 7436 imageInNavMenu = image.closest( 'li.menu-item' ).length; 7437 7438 if ( ! ( imageInLightbox || imageInNavMenu || maxMegaMenu ) ) { 7439 image.css( 'max-height', shrinkImageHeight ); 7440 } 7441 7442 }); 7443 7444 this.header.find( '.fl-row-content-wrap' ).each( function() { 7445 7446 var row = $( this ); 7447 7448 if ( parseInt( row.css( 'padding-bottom' ) ) > 5 ) { 7449 row.addClass( 'fl-theme-builder-header-shrink-row-bottom' ); 7450 } 7451 7452 if ( parseInt( row.css( 'padding-top' ) ) > 5 ) { 7453 row.addClass( 'fl-theme-builder-header-shrink-row-top' ); 7454 } 7455 } ); 7456 7457 this.header.find( '.fl-module' ).each( function() { 7458 7459 var module = $( this ).find( '.fl-module-content' ).length ? $( this ).find( '.fl-module-content' ) : $( this ); 7460 7461 if ( parseInt( module.css( 'margin-bottom' ) ) > 5 ) { 7462 module.addClass( 'fl-theme-builder-header-shrink-module-bottom' ); 7463 } 7464 7465 if ( parseInt( module.css( 'margin-top' ) ) > 5 ) { 7466 module.addClass( 'fl-theme-builder-header-shrink-module-top' ); 7467 } 7468 } ); 7469 } 7470 } else if (hasClass) { 7471 this.header.find( 'img' ).css( 'max-height', '' ); 7472 this._removeShrink(); 7473 } 7474 7475 // Fixes Shrink header issue with BB Theme when window is scrolled then resized and back. 7476 if ( 'undefined' === typeof( e ) && $('body').hasClass( 'fl-fixed-width' ) ) { 7477 if ( ! this.overlay ) { 7478 this._adjustHeaderHeight(); 7479 } 7480 } 7481 7482 }, 7483 7484 /** 7485 * Removes the header shrink effect. 7486 * 7487 * @since 1.0 7488 * @access private 7489 * @method _removeShrink 7490 */ 7491 _removeShrink: function() 7492 { 7493 var rows = this.header.find( '.fl-row-content-wrap' ), 7494 modules = this.header.find('.fl-module, .fl-module-content'); 7495 7496 rows.removeClass( 'fl-theme-builder-header-shrink-row-bottom' ); 7497 rows.removeClass( 'fl-theme-builder-header-shrink-row-top' ); 7498 modules.removeClass( 'fl-theme-builder-header-shrink-module-bottom' ); 7499 modules.removeClass( 'fl-theme-builder-header-shrink-module-top' ); 7500 this.header.removeClass( 'fl-theme-builder-header-shrink' ); 7501 }, 7502 7503 /** 7504 * Adds max height to images in modules for smooth scrolling. 7505 * 7506 * @since 1.1.1 7507 * @access private 7508 * @method _setImageMaxHeight 7509 */ 7510 _setImageMaxHeight: function() 7511 { 7512 var head = $( 'head' ), 7513 stylesId = 'fl-header-styles-' + this.header.data( 'post-id' ), 7514 styles = '', 7515 images = this.header.find( '.fl-module img' ); 7516 7517 if ( $( '#' + stylesId ).length ) { 7518 return; 7519 } 7520 7521 images.each( function( i ) { 7522 var image = $( this ), 7523 height = image.height(), 7524 node = image.closest( '.fl-module' ).data( 'node' ), 7525 className = 'fl-node-' + node + '-img-' + i, 7526 maxMegaMenu = image.closest( '.max-mega-menu' ).length, 7527 imageInLightbox = image.closest( '.fl-button-lightbox-content' ).length, 7528 imageInNavMenu = image.closest( 'li.menu-item' ).length; 7529 7530 if ( ! ( imageInLightbox || imageInNavMenu || maxMegaMenu ) ) { 7531 image.addClass( className ); 7532 styles += '.' + className + ' { max-height: ' + ( height ? height : image[0].height ) + 'px }'; 7533 } 7534 7535 } ); 7536
7537 if ( '' !== styles ) { 7538 head.append( '<style id="' + stylesId + '">' + styles + '</style>' ); 7539 } 7540 }, 7541 7542 /** 7543 * Removes max height on images in modules for smooth scrolling. 7544 * 7545 * @since 1.1.1 7546 * @access private 7547 * @method _removeImageMaxHeight 7548 */ 7549 _removeImageMaxHeight: function() 7550 { 7551 $( '#fl-header-styles-' + this.header.data( 'post-id' ) ).remove(); 7552 }, 7553 }; 7554 7555 $( function() { FLThemeBuilderHeaderLayout.init(); } ); 7556 7557})(jQuery);</script>
7557<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>
7557 7558</body></html> 7559<!-- Page optimized by LiteSpeed Cache @2026-09-23 22:53:15 --> 7560 7561<!-- Page cached by LiteSpeed Cache 7.9.1 on 2026-09-23 22:53:15 -->
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.