hello 404 Not Found
Al-HUWAITI Shell
Al-huwaiti


Server : Apache
System : Linux webm006.cluster103.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User : chryzalihi ( 621211)
PHP Version : 8.3.31
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
Directory :  /home/chryzalihi/www/wp-content/languages/themes/the/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/chryzalihi/www/wp-content/languages/themes/the/bloglo.tar
assets/fonts/google-fonts.json000064400001773076152425655550012540 0ustar00[
    {
        "ABeeZee": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Abel": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Abhaya Libre": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "sinhala"
            ]
        }
    },
    {
        "Aboreto": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Abril Fatface": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Abyssinica SIL": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "ethiopic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Aclonica": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Acme": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Actor": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Adamina": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Advent Pro": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Agdasima": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Aguafina Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Akatab": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tifinagh"
            ]
        }
    },
    {
        "Akaya Kanadaka": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "kannada",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Akaya Telivigala": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "telugu"
            ]
        }
    },
    {
        "Akronim": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Akshar": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Aladin": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Alata": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alatsi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Albert Sans": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Aldrich": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Alef": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "hebrew",
                "latin"
            ]
        }
    },
    {
        "Alegreya": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alegreya SC": {
            "variants": [
                "regular",
                "italic",
                "500",
                "500italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alegreya Sans": {
            "variants": [
                "100",
                "100italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alegreya Sans SC": {
            "variants": [
                "100",
                "100italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Aleo": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alex Brush": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alexandria": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alfa Slab One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alice": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Alike": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Alike Angular": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Alkalami": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Alkatra": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "display",
            "subsets": [
                "bengali",
                "devanagari",
                "latin",
                "latin-ext",
                "oriya"
            ]
        }
    },
    {
        "Allan": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Allerta": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Allerta Stencil": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Allison": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Allura": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Almarai": {
            "variants": [
                "300",
                "regular",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic"
            ]
        }
    },
    {
        "Almendra": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Almendra Display": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Almendra SC": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Alumni Sans": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alumni Sans Collegiate One": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alumni Sans Inline One": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Alumni Sans Pinstripe": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Amarante": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Amaranth": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Amatic SC": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "hebrew",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Amethysta": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Amiko": {
            "variants": [
                "regular",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Amiri": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Amiri Quran": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin"
            ]
        }
    },
    {
        "Amita": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Anaheim": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Andada Pro": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Andika": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Anek Bangla": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "bengali",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Anek Devanagari": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Anek Gujarati": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Anek Gurmukhi": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "gurmukhi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Anek Kannada": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "kannada",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Anek Latin": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Anek Malayalam": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "malayalam"
            ]
        }
    },
    {
        "Anek Odia": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "oriya"
            ]
        }
    },
    {
        "Anek Tamil": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil"
            ]
        }
    },
    {
        "Anek Telugu": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "telugu"
            ]
        }
    },
    {
        "Angkor": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Annie Use Your Telescope": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Anonymous Pro": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "greek",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Antic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Antic Didone": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Antic Slab": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Anton": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Antonio": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Anuphan": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Anybody": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Aoboshi One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Arapey": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Arbutus": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Arbutus Slab": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Architects Daughter": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Archivo": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Archivo Black": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Archivo Narrow": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Are You Serious": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Aref Ruqaa": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Aref Ruqaa Ink": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Arima": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "display",
            "subsets": [
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "malayalam",
                "tamil",
                "vietnamese"
            ]
        }
    },
    {
        "Arimo": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "hebrew",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Arizonia": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Armata": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Arsenal": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Artifika": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Arvo": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Arya": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Asap": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Asap Condensed": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Asar": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Asset": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Assistant": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Astloch": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Asul": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Athiti": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Atkinson Hyperlegible": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Atma": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "display",
            "subsets": [
                "bengali",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Atomic Age": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Aubrey": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Audiowide": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Autour One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Average": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Average Sans": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Averia Gruesa Libre": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Averia Libre": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Averia Sans Libre": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Averia Serif Libre": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Azeret Mono": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "B612": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "B612 Mono": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "BIZ UDGothic": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "greek-ext",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "BIZ UDMincho": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "greek-ext",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "BIZ UDPGothic": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "greek-ext",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "BIZ UDPMincho": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "greek-ext",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Babylonica": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bacasime Antique": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bad Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "latin"
            ]
        }
    },
    {
        "Bagel Fat One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "korean",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bahiana": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bahianita": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bai Jamjuree": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Bakbak One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ballet": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Baloo 2": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Baloo Bhai 2": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Baloo Bhaijaan 2": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Baloo Bhaina 2": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "oriya",
                "vietnamese"
            ]
        }
    },
    {
        "Baloo Chettan 2": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "malayalam",
                "vietnamese"
            ]
        }
    },
    {
        "Baloo Da 2": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "bengali",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Baloo Paaji 2": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "gurmukhi",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Baloo Tamma 2": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "kannada",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Baloo Tammudu 2": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "telugu",
                "vietnamese"
            ]
        }
    },
    {
        "Baloo Thambi 2": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil",
                "vietnamese"
            ]
        }
    },
    {
        "Balsamiq Sans": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Balthazar": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Bangers": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Barlow": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Barlow Condensed": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Barlow Semi Condensed": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Barriecito": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Barrio": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Basic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Baskervville": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Battambang": {
            "variants": [
                "100",
                "300",
                "regular",
                "700",
                "900"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Baumans": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Bayon": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Be Vietnam Pro": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Beau Rivage": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bebas Neue": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Belanosima": {
            "variants": [
                "regular",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Belgrano": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Bellefair": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Belleza": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bellota": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bellota Text": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "BenchNine": {
            "variants": [
                "300",
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Benne": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "kannada",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bentham": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Berkshire Swash": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Besley": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Beth Ellen": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Bevan": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "BhuTuka Expanded One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "gurmukhi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Big Shoulders Display": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Big Shoulders Inline Display": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Big Shoulders Inline Text": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Big Shoulders Stencil Display": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Big Shoulders Stencil Text": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Big Shoulders Text": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bigelow Rules": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bigshot One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Bilbo": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bilbo Swash Caps": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "BioRhyme": {
            "variants": [
                "200",
                "300",
                "regular",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "BioRhyme Expanded": {
            "variants": [
                "200",
                "300",
                "regular",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Birthstone": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Birthstone Bounce": {
            "variants": [
                "regular",
                "500"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Biryani": {
            "variants": [
                "200",
                "300",
                "regular",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bitter": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Black And White Picture": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Black Han Sans": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Black Ops One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Blaka": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Blaka Hollow": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Blaka Ink": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Blinker": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bodoni Moda": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bokor": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Bona Nova": {
            "variants": [
                "regular",
                "italic",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "hebrew",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bonbon": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Bonheur Royale": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Boogaloo": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Borel": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bowlby One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Bowlby One SC": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Braah One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "gurmukhi",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Brawler": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Bree Serif": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bricolage Grotesque": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bruno Ace": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bruno Ace SC": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Brygada 1918": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bubblegum Sans": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bubbler One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Buda": {
            "variants": [
                "300"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Buenard": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Bungee": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bungee Hairline": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bungee Inline": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bungee Outline": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bungee Shade": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Bungee Spice": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Butcherman": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Butterfly Kids": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Cabin": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cabin Condensed": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cabin Sketch": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Caesar Dressing": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Cagliostro": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Cairo": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Cairo Play": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Caladea": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Calistoga": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Calligraffitti": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Cambay": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Cambo": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Candal": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Cantarell": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Cantata One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Cantora One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Caprasimo": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Capriola": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Caramel": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Carattere": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cardo": {
            "variants": [
                "regular",
                "italic",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "greek",
                "greek-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Carlito": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Carme": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Carrois Gothic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Carrois Gothic SC": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Carter One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Castoro": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Castoro Titling": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Catamaran": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil"
            ]
        }
    },
    {
        "Caudex": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "greek",
                "greek-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Caveat": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Caveat Brush": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Cedarville Cursive": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Ceviche One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Chakra Petch": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Changa": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Changa One": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Chango": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Charis SIL": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Charm": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Charmonman": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Chathura": {
            "variants": [
                "100",
                "300",
                "regular",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Chau Philomene One": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Chela One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Chelsea Market": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Chenla": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer"
            ]
        }
    },
    {
        "Cherish": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cherry Bomb One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cherry Cream Soda": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Cherry Swash": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Chewy": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Chicle": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Chilanka": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "malayalam"
            ]
        }
    },
    {
        "Chivo": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Chivo Mono": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Chokokutai": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Chonburi": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Cinzel": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Cinzel Decorative": {
            "variants": [
                "regular",
                "700",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Clicker Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Climate Crisis": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Coda": {
            "variants": [
                "regular",
                "800"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Codystar": {
            "variants": [
                "300",
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Coiny": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil",
                "vietnamese"
            ]
        }
    },
    {
        "Combo": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Comfortaa": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Comforter": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Comforter Brush": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Comic Neue": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Coming Soon": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Comme": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Commissioner": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Concert One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Condiment": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Content": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "khmer"
            ]
        }
    },
    {
        "Contrail One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Convergence": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Cookie": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Copse": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Corben": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Corinthia": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cormorant": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cormorant Garamond": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cormorant Infant": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cormorant SC": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cormorant Unicase": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cormorant Upright": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Courgette": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Courier Prime": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Cousine": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "hebrew",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Coustard": {
            "variants": [
                "regular",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Covered By Your Grace": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Crafty Girls": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Creepster": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Crete Round": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Crimson Pro": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Crimson Text": {
            "variants": [
                "regular",
                "italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Croissant One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Crushed": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Cuprum": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Cute Font": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Cutive": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Cutive Mono": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "DM Mono": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "DM Sans": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "DM Serif Display": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "DM Serif Text": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Dai Banna SIL": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "new-tai-lue"
            ]
        }
    },
    {
        "Damion": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Dancing Script": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Dangrek": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Darker Grotesque": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Darumadrop One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "David Libre": {
            "variants": [
                "regular",
                "500",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Dawning of a New Day": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Days One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Dekko": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Dela Gothic One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "greek",
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Delicious Handrawn": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Delius": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Delius Swash Caps": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Delius Unicase": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Della Respira": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Denk One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Devonshire": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Dhurjati": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Didact Gothic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Diphylleia": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "korean",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Diplomata": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Diplomata SC": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Do Hyeon": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Dokdo": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Domine": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Donegal One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Dongle": {
            "variants": [
                "300",
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Doppio One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Dorsa": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Dosis": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "DotGothic16": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Dr Sugiyama": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Duru Sans": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "DynaPuff": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "display",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Dynalight": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "EB Garamond": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Eagle Lake": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "East Sea Dokdo": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Eater": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Economica": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Eczar": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Edu NSW ACT Foundation": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Edu QLD Beginner": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Edu SA Beginner": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Edu TAS Beginner": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Edu VIC WA NT Beginner": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "El Messiri": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Electrolize": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Elsie": {
            "variants": [
                "regular",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Elsie Swash Caps": {
            "variants": [
                "regular",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Emblema One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Emilys Candy": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Encode Sans": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Encode Sans Condensed": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Encode Sans Expanded": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Encode Sans SC": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Encode Sans Semi Condensed": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Encode Sans Semi Expanded": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Engagement": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Englebert": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Enriqueta": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ephesis": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Epilogue": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Erica One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Esteban": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Estonia": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Euphoria Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ewert": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Exo": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Exo 2": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Expletus Sans": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Explora": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "cherokee",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Fahkwang": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Familjen Grotesk": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Fanwood Text": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Farro": {
            "variants": [
                "300",
                "regular",
                "500",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Farsan": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Fascinate": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Fascinate Inline": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Faster One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fasthand": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Fauna One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Faustina": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Federant": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Federo": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Felipa": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fenix": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Festive": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Figtree": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Finger Paint": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Finlandica": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fira Code": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fira Mono": {
            "variants": [
                "regular",
                "500",
                "700"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fira Sans": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Fira Sans Condensed": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Fira Sans Extra Condensed": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Fjalla One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Fjord One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Flamenco": {
            "variants": [
                "300",
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Flavors": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fleur De Leah": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Flow Block": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Flow Circular": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Flow Rounded": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Foldit": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Fondamento": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fontdiner Swanky": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Forum": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fragment Mono": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Francois One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Frank Ruhl Libre": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fraunces": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Freckle Face": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fredericka the Great": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Fredoka": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Freehand": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Fresca": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Frijole": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Fruktur": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "display",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Fugaz One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Fuggles": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Fuzzy Bubbles": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "GFS Didot": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "greek"
            ]
        }
    },
    {
        "GFS Neohellenic": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "greek"
            ]
        }
    },
    {
        "Gabriela": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gaegu": {
            "variants": [
                "300",
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Gafata": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gajraj One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Galada": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "bengali",
                "latin"
            ]
        }
    },
    {
        "Galdeano": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Galindo": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gamja Flower": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Gantari": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gasoek One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gayathri": {
            "variants": [
                "100",
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "malayalam"
            ]
        }
    },
    {
        "Gelasio": {
            "variants": [
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Gemunu Libre": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "sinhala"
            ]
        }
    },
    {
        "Genos": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cherokee",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Gentium Book Plus": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Gentium Plus": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Geo": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Geologica": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Georama": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Geostar": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Geostar Fill": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Germania One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Gideon Roman": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Gidugu": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Gilda Display": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Girassol": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Give You Glory": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Glass Antiqua": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Glegoo": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gloock": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gloria Hallelujah": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Glory": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Gluten": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Goblin One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Gochi Hand": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Goldman": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Golos Text": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gorditas": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Gothic A1": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Gotu": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Goudy Bookletter 1911": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Gowun Batang": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "korean",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Gowun Dodum": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Graduate": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Grand Hotel": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Grandiflora One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "korean",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Grandstander": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Grape Nuts": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Gravitas One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Great Vibes": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Grechen Fuemen": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Grenze": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Grenze Gotisch": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Grey Qo": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Griffy": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gruppo": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gudea": {
            "variants": [
                "regular",
                "italic",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gugi": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Gulzar": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Gupter": {
            "variants": [
                "regular",
                "500",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Gurajada": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Gwendolyn": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Habibi": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Hachi Maru Pop": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Hahmlet": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "korean",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Halant": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Hammersmith One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Hanalei": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Hanalei Fill": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Handjet": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "armenian",
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "hebrew",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Handlee": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Hanken Grotesk": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Hanuman": {
            "variants": [
                "100",
                "300",
                "regular",
                "700",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Happy Monkey": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Harmattan": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Headland One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Heebo": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "hebrew",
                "latin"
            ]
        }
    },
    {
        "Henny Penny": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Hepta Slab": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Herr Von Muellerhoff": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Hi Melody": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Hina Mincho": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Hind": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Hind Guntur": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "telugu"
            ]
        }
    },
    {
        "Hind Madurai": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil"
            ]
        }
    },
    {
        "Hind Siliguri": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "bengali",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Hind Vadodara": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Holtwood One SC": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Homemade Apple": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Homenaje": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Hubballi": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "kannada",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Hurricane": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "IBM Plex Mono": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "IBM Plex Sans": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "IBM Plex Sans Arabic": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "IBM Plex Sans Condensed": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "IBM Plex Sans Devanagari": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "IBM Plex Sans Hebrew": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "IBM Plex Sans JP": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "IBM Plex Sans KR": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "IBM Plex Sans Thai": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "thai"
            ]
        }
    },
    {
        "IBM Plex Sans Thai Looped": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "thai"
            ]
        }
    },
    {
        "IBM Plex Serif": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "IM Fell DW Pica": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "IM Fell DW Pica SC": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "IM Fell Double Pica": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "IM Fell Double Pica SC": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "IM Fell English": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "IM Fell English SC": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "IM Fell French Canon": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "IM Fell French Canon SC": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "IM Fell Great Primer": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "IM Fell Great Primer SC": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Ibarra Real Nova": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Iceberg": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Iceland": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Imbue": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Imperial Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Imprima": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Inconsolata": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Inder": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Indie Flower": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Ingrid Darling": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Inika": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Inknut Antiqua": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Inria Sans": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Inria Serif": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Inspiration": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Instrument Sans": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Instrument Serif": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Inter": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Inter Tight": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Irish Grover": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Island Moments": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Istok Web": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Italiana": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Italianno": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Itim": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Jacques Francois": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Jacques Francois Shadow": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Jaldi": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "JetBrains Mono": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Jim Nightshade": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Joan": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Jockey One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Jolly Lodger": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Jomhuria": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Jomolhari": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "tibetan"
            ]
        }
    },
    {
        "Josefin Sans": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Josefin Slab": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Jost": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Joti One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Jua": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Judson": {
            "variants": [
                "regular",
                "italic",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Julee": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Julius Sans One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Junge": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Jura": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "kayah-li",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Just Another Hand": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Just Me Again Down Here": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "K2D": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Kablammo": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Kadwa": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin"
            ]
        }
    },
    {
        "Kaisei Decol": {
            "variants": [
                "regular",
                "500",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kaisei HarunoUmi": {
            "variants": [
                "regular",
                "500",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kaisei Opti": {
            "variants": [
                "regular",
                "500",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kaisei Tokumin": {
            "variants": [
                "regular",
                "500",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kalam": {
            "variants": [
                "300",
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kameron": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Kanit": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Kantumruy Pro": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "khmer",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Karantina": {
            "variants": [
                "300",
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Karla": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Karma": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Katibeh": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kaushan Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kavivanar": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil"
            ]
        }
    },
    {
        "Kavoon": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kdam Thmor Pro": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "khmer",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Keania One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kelly Slab": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kenia": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Khand": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Khmer": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer"
            ]
        }
    },
    {
        "Khula": {
            "variants": [
                "300",
                "regular",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kings": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Kirang Haerang": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Kite One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kiwi Maru": {
            "variants": [
                "300",
                "regular",
                "500"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Klee One": {
            "variants": [
                "regular",
                "600"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "greek-ext",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Knewave": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "KoHo": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Kodchasan": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Koh Santepheap": {
            "variants": [
                "100",
                "300",
                "regular",
                "700",
                "900"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Kolker Brush": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Konkhmer Sleokchher": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kosugi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kosugi Maru": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kotta One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Koulen": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Kranky": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Kreon": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kristi": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Krona One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Krub": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Kufam": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Kulim Park": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kumar One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kumar One Outline": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Kumbh Sans": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "math"
            ]
        }
    },
    {
        "Kurale": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "La Belle Aurore": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Labrada": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lacquer": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Laila": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lakki Reddy": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Lalezar": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lancelot": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Langar": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "gurmukhi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lateef": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lato": {
            "variants": [
                "100",
                "100italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lavishly Yours": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "League Gothic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "League Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "League Spartan": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Leckerli One": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Ledger": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lekton": {
            "variants": [
                "regular",
                "italic",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lemon": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lemonada": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lexend": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lexend Deca": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lexend Exa": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lexend Giga": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lexend Mega": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lexend Peta": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lexend Tera": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lexend Zetta": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Libre Barcode 128": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Libre Barcode 128 Text": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Libre Barcode 39": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Libre Barcode 39 Extended": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Libre Barcode 39 Extended Text": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Libre Barcode 39 Text": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Libre Barcode EAN13 Text": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Libre Baskerville": {
            "variants": [
                "regular",
                "italic",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Libre Bodoni": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Libre Caslon Display": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Libre Caslon Text": {
            "variants": [
                "regular",
                "italic",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Libre Franklin": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Licorice": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Life Savers": {
            "variants": [
                "regular",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lilita One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lily Script One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Limelight": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Linden Hill": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Lisu Bosa": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "lisu"
            ]
        }
    },
    {
        "Literata": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Liu Jian Mao Cao": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "chinese-simplified",
                "latin"
            ]
        }
    },
    {
        "Livvic": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lobster": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lobster Two": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Londrina Outline": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Londrina Shadow": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Londrina Sketch": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Londrina Solid": {
            "variants": [
                "100",
                "300",
                "regular",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Long Cang": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "chinese-simplified",
                "latin"
            ]
        }
    },
    {
        "Lora": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Love Light": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Love Ya Like A Sister": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Loved by the King": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Lovers Quarrel": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Luckiest Guy": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Lugrasimo": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lumanosimo": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Lunasima": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "hebrew",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Lusitana": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Lustria": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Luxurious Roman": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Luxurious Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "M PLUS 1": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "M PLUS 1 Code": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "M PLUS 1p": {
            "variants": [
                "100",
                "300",
                "regular",
                "500",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "hebrew",
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "M PLUS 2": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "M PLUS Code Latin": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "M PLUS Rounded 1c": {
            "variants": [
                "100",
                "300",
                "regular",
                "500",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "hebrew",
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Ma Shan Zheng": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "chinese-simplified",
                "latin"
            ]
        }
    },
    {
        "Macondo": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Macondo Swash Caps": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Mada": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Magra": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Maiden Orange": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Maitree": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Major Mono Display": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Mako": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Mali": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Mallanna": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Mandali": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Manjari": {
            "variants": [
                "100",
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "malayalam"
            ]
        }
    },
    {
        "Manrope": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Mansalva": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Manuale": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Marcellus": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Marcellus SC": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Marck Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Margarine": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Marhey": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Markazi Text": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Marko One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Marmelad": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Martel": {
            "variants": [
                "200",
                "300",
                "regular",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Martel Sans": {
            "variants": [
                "200",
                "300",
                "regular",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Martian Mono": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Marvel": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Mate": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mate SC": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Material Icons": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Material Icons Outlined": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Material Icons Round": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Material Icons Sharp": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Material Icons Two Tone": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Material Symbols Outlined": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "monospace",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Material Symbols Rounded": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "monospace",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Material Symbols Sharp": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "monospace",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Maven Pro": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "McLaren": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mea Culpa": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Meddon": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "MedievalSharp": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Medula One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Meera Inimai": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "tamil"
            ]
        }
    },
    {
        "Megrim": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Meie Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Meow Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Merienda": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Merriweather": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic",
                "900",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Merriweather Sans": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Metal": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Metal Mania": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Metamorphous": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Metrophobic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Michroma": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Milonga": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Miltonian": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Miltonian Tattoo": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Mina": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "bengali",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mingzat": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "lepcha"
            ]
        }
    },
    {
        "Miniver": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Miriam Libre": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mirza": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Miss Fajardose": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mitr": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Mochiy Pop One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "japanese",
                "latin"
            ]
        }
    },
    {
        "Mochiy Pop P One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "japanese",
                "latin"
            ]
        }
    },
    {
        "Modak": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Modern Antiqua": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mogra": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mohave": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Moirai One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "korean",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Molengo": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Molle": {
            "variants": [
                "italic"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Monda": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Monofett": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Monomaniac One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Monoton": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Monsieur La Doulaise": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Montaga": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Montagu Slab": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "MonteCarlo": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Montez": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Montserrat": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Montserrat Alternates": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Montserrat Subrayada": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Moo Lah Lah": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Moon Dance": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Moul": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Moulpali": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Mountains of Christmas": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Mouse Memoirs": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mr Bedfort": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mr Dafoe": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mr De Haviland": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mrs Saint Delafield": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mrs Sheppards": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ms Madi": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Mukta": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mukta Mahee": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "gurmukhi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mukta Malar": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil"
            ]
        }
    },
    {
        "Mukta Vaani": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Mulish": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Murecho": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "MuseoModerno": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "My Soul": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Mynerve": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Mystery Quest": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "NTR": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Nabla": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "math",
                "vietnamese"
            ]
        }
    },
    {
        "Nanum Brush Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Nanum Gothic": {
            "variants": [
                "regular",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Nanum Gothic Coding": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "monospace",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Nanum Myeongjo": {
            "variants": [
                "regular",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Nanum Pen Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Narnoor": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "gunjala-gondi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Neonderthaw": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Nerko One": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Neucha": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "latin"
            ]
        }
    },
    {
        "Neuton": {
            "variants": [
                "200",
                "300",
                "regular",
                "italic",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "New Rocker": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "New Tegomin": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "News Cycle": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Newsreader": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Niconne": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Niramit": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Nixie One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Nobile": {
            "variants": [
                "regular",
                "italic",
                "500",
                "500italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Nokora": {
            "variants": [
                "100",
                "300",
                "regular",
                "700",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Norican": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Nosifer": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Notable": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Nothing You Could Do": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Noticia Text": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Noto Color Emoji": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "emoji"
            ]
        }
    },
    {
        "Noto Emoji": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "emoji"
            ]
        }
    },
    {
        "Noto Kufi Arabic": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic"
            ]
        }
    },
    {
        "Noto Music": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "music"
            ]
        }
    },
    {
        "Noto Naskh Arabic": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Nastaliq Urdu": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Rashi Hebrew": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "devanagari",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Noto Sans Adlam": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "adlam",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Adlam Unjoined": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "adlam",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Anatolian Hieroglyphs": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "anatolian-hieroglyphs",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Arabic": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic"
            ]
        }
    },
    {
        "Noto Sans Armenian": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "armenian",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Avestan": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "avestan",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Balinese": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "balinese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Bamum": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "bamum",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Bassa Vah": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "bassa-vah",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Batak": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "batak",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Bengali": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "bengali",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Bhaiksuki": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "bhaiksuki"
            ]
        }
    },
    {
        "Noto Sans Brahmi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "brahmi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Buginese": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "buginese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Buhid": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "buhid",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Canadian Aboriginal": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "canadian-aboriginal",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Carian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "carian",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Caucasian Albanian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "caucasian-albanian"
            ]
        }
    },
    {
        "Noto Sans Chakma": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "chakma",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Cham": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cham",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Cherokee": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cherokee",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Chorasmian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "chorasmian",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Coptic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "coptic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Cuneiform": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cuneiform",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Cypriot": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cypriot"
            ]
        }
    },
    {
        "Noto Sans Cypro Minoan": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cypro-minoan",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Deseret": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "deseret",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Devanagari": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Display": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Noto Sans Duployan": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "duployan",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Egyptian Hieroglyphs": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "egyptian-hieroglyphs",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Elbasan": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "elbasan",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Elymaic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "elymaic"
            ]
        }
    },
    {
        "Noto Sans Ethiopic": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "ethiopic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Georgian": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "georgian",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Glagolitic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "glagolitic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Gothic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "gothic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Grantha": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "grantha",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Gujarati": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Gunjala Gondi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "gunjala-gondi"
            ]
        }
    },
    {
        "Noto Sans Gurmukhi": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "gurmukhi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans HK": {
            "variants": [
                "100",
                "300",
                "regular",
                "500",
                "700",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "chinese-hongkong",
                "latin"
            ]
        }
    },
    {
        "Noto Sans Hanifi Rohingya": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "hanifi-rohingya",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Hanunoo": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "hanunoo",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Hatran": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "hatran",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Hebrew": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Imperial Aramaic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "imperial-aramaic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Indic Siyaq Numbers": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "indic-siyaq-numbers"
            ]
        }
    },
    {
        "Noto Sans Inscriptional Pahlavi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "inscriptional-pahlavi"
            ]
        }
    },
    {
        "Noto Sans Inscriptional Parthian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "inscriptional-parthian",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans JP": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Noto Sans Javanese": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "javanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans KR": {
            "variants": [
                "100",
                "300",
                "regular",
                "500",
                "700",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Noto Sans Kaithi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "kaithi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Kannada": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "kannada",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Kayah Li": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "kayah-li",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Kharoshthi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "kharoshthi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Khmer": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "khmer",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Khojki": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "khojki",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Khudawadi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "khudawadi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Lao": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "lao",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Lao Looped": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "lao",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Sans Lepcha": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "lepcha"
            ]
        }
    },
    {
        "Noto Sans Limbu": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "limbu"
            ]
        }
    },
    {
        "Noto Sans Linear A": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "linear-a"
            ]
        }
    },
    {
        "Noto Sans Linear B": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "linear-b"
            ]
        }
    },
    {
        "Noto Sans Lisu": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "lisu"
            ]
        }
    },
    {
        "Noto Sans Lycian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "lycian"
            ]
        }
    },
    {
        "Noto Sans Lydian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "lydian"
            ]
        }
    },
    {
        "Noto Sans Mahajani": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "mahajani"
            ]
        }
    },
    {
        "Noto Sans Malayalam": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "malayalam"
            ]
        }
    },
    {
        "Noto Sans Mandaic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "mandaic"
            ]
        }
    },
    {
        "Noto Sans Manichaean": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "manichaean"
            ]
        }
    },
    {
        "Noto Sans Marchen": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "marchen"
            ]
        }
    },
    {
        "Noto Sans Masaram Gondi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "masaram-gondi"
            ]
        }
    },
    {
        "Noto Sans Math": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "math"
            ]
        }
    },
    {
        "Noto Sans Mayan Numerals": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "mayan-numerals"
            ]
        }
    },
    {
        "Noto Sans Medefaidrin": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "medefaidrin"
            ]
        }
    },
    {
        "Noto Sans Meetei Mayek": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "meetei-mayek"
            ]
        }
    },
    {
        "Noto Sans Mende Kikakui": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "mende-kikakui"
            ]
        }
    },
    {
        "Noto Sans Meroitic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "meroitic"
            ]
        }
    },
    {
        "Noto Sans Miao": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "miao"
            ]
        }
    },
    {
        "Noto Sans Modi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "modi"
            ]
        }
    },
    {
        "Noto Sans Mongolian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "mongolian"
            ]
        }
    },
    {
        "Noto Sans Mono": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Noto Sans Mro": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "mro"
            ]
        }
    },
    {
        "Noto Sans Multani": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "multani"
            ]
        }
    },
    {
        "Noto Sans Myanmar": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "myanmar"
            ]
        }
    },
    {
        "Noto Sans NKo": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "nko"
            ]
        }
    },
    {
        "Noto Sans Nabataean": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "nabataean"
            ]
        }
    },
    {
        "Noto Sans Nag Mundari": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "nag-mundari"
            ]
        }
    },
    {
        "Noto Sans Nandinagari": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "nandinagari"
            ]
        }
    },
    {
        "Noto Sans New Tai Lue": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "new-tai-lue"
            ]
        }
    },
    {
        "Noto Sans Newa": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "newa"
            ]
        }
    },
    {
        "Noto Sans Nushu": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "nushu"
            ]
        }
    },
    {
        "Noto Sans Ogham": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "ogham"
            ]
        }
    },
    {
        "Noto Sans Ol Chiki": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "ol-chiki"
            ]
        }
    },
    {
        "Noto Sans Old Hungarian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "old-hungarian"
            ]
        }
    },
    {
        "Noto Sans Old Italic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "old-italic"
            ]
        }
    },
    {
        "Noto Sans Old North Arabian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "old-north-arabian"
            ]
        }
    },
    {
        "Noto Sans Old Permic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "old-permic"
            ]
        }
    },
    {
        "Noto Sans Old Persian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "old-persian"
            ]
        }
    },
    {
        "Noto Sans Old Sogdian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "old-sogdian"
            ]
        }
    },
    {
        "Noto Sans Old South Arabian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "old-south-arabian"
            ]
        }
    },
    {
        "Noto Sans Old Turkic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "old-turkic"
            ]
        }
    },
    {
        "Noto Sans Oriya": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "oriya"
            ]
        }
    },
    {
        "Noto Sans Osage": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "osage"
            ]
        }
    },
    {
        "Noto Sans Osmanya": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "osmanya"
            ]
        }
    },
    {
        "Noto Sans Pahawh Hmong": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "pahawh-hmong"
            ]
        }
    },
    {
        "Noto Sans Palmyrene": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "palmyrene"
            ]
        }
    },
    {
        "Noto Sans Pau Cin Hau": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "pau-cin-hau"
            ]
        }
    },
    {
        "Noto Sans Phags Pa": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "phags-pa"
            ]
        }
    },
    {
        "Noto Sans Phoenician": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "phoenician"
            ]
        }
    },
    {
        "Noto Sans Psalter Pahlavi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "psalter-pahlavi"
            ]
        }
    },
    {
        "Noto Sans Rejang": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "rejang"
            ]
        }
    },
    {
        "Noto Sans Runic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "runic"
            ]
        }
    },
    {
        "Noto Sans SC": {
            "variants": [
                "100",
                "300",
                "regular",
                "500",
                "700",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "chinese-simplified",
                "latin"
            ]
        }
    },
    {
        "Noto Sans Samaritan": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "samaritan"
            ]
        }
    },
    {
        "Noto Sans Saurashtra": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "saurashtra"
            ]
        }
    },
    {
        "Noto Sans Sharada": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "sharada"
            ]
        }
    },
    {
        "Noto Sans Shavian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "shavian"
            ]
        }
    },
    {
        "Noto Sans Siddham": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "siddham"
            ]
        }
    },
    {
        "Noto Sans SignWriting": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "signwriting"
            ]
        }
    },
    {
        "Noto Sans Sinhala": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "sinhala"
            ]
        }
    },
    {
        "Noto Sans Sogdian": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "sogdian"
            ]
        }
    },
    {
        "Noto Sans Sora Sompeng": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "sora-sompeng"
            ]
        }
    },
    {
        "Noto Sans Soyombo": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "soyombo"
            ]
        }
    },
    {
        "Noto Sans Sundanese": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "sundanese"
            ]
        }
    },
    {
        "Noto Sans Syloti Nagri": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "syloti-nagri"
            ]
        }
    },
    {
        "Noto Sans Symbols": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "symbols"
            ]
        }
    },
    {
        "Noto Sans Symbols 2": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "symbols"
            ]
        }
    },
    {
        "Noto Sans Syriac": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "syriac"
            ]
        }
    },
    {
        "Noto Sans Syriac Eastern": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "syriac"
            ]
        }
    },
    {
        "Noto Sans TC": {
            "variants": [
                "100",
                "300",
                "regular",
                "500",
                "700",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "chinese-traditional",
                "latin"
            ]
        }
    },
    {
        "Noto Sans Tagalog": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tagalog"
            ]
        }
    },
    {
        "Noto Sans Tagbanwa": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tagbanwa"
            ]
        }
    },
    {
        "Noto Sans Tai Le": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tai-le"
            ]
        }
    },
    {
        "Noto Sans Tai Tham": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tai-tham"
            ]
        }
    },
    {
        "Noto Sans Tai Viet": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tai-viet"
            ]
        }
    },
    {
        "Noto Sans Takri": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "takri"
            ]
        }
    },
    {
        "Noto Sans Tamil": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil"
            ]
        }
    },
    {
        "Noto Sans Tamil Supplement": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil-supplement"
            ]
        }
    },
    {
        "Noto Sans Tangsa": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tangsa"
            ]
        }
    },
    {
        "Noto Sans Telugu": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "telugu"
            ]
        }
    },
    {
        "Noto Sans Thaana": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thaana"
            ]
        }
    },
    {
        "Noto Sans Thai": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai"
            ]
        }
    },
    {
        "Noto Sans Thai Looped": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai"
            ]
        }
    },
    {
        "Noto Sans Tifinagh": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tifinagh"
            ]
        }
    },
    {
        "Noto Sans Tirhuta": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tirhuta"
            ]
        }
    },
    {
        "Noto Sans Ugaritic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "ugaritic"
            ]
        }
    },
    {
        "Noto Sans Vai": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vai"
            ]
        }
    },
    {
        "Noto Sans Vithkuqi": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vithkuqi"
            ]
        }
    },
    {
        "Noto Sans Wancho": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "wancho"
            ]
        }
    },
    {
        "Noto Sans Warang Citi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "warang-citi"
            ]
        }
    },
    {
        "Noto Sans Yi": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "yi"
            ]
        }
    },
    {
        "Noto Sans Zanabazar Square": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "zanabazar-square"
            ]
        }
    },
    {
        "Noto Serif": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Noto Serif Ahom": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "ahom",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Armenian": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "armenian",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Balinese": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "balinese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Bengali": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "bengali",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Devanagari": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Display": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Noto Serif Dogra": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "dogra"
            ]
        }
    },
    {
        "Noto Serif Ethiopic": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "ethiopic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Georgian": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "georgian",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Grantha": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "grantha",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Gujarati": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Gurmukhi": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "gurmukhi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif HK": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "chinese-hongkong",
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Noto Serif Hebrew": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif JP": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "japanese",
                "latin"
            ]
        }
    },
    {
        "Noto Serif KR": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Noto Serif Kannada": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "kannada",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Khitan Small Script": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "khitan-small-script",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Khmer": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "khmer",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Khojki": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "khojki",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Lao": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "lao",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Noto Serif Makasar": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "makasar"
            ]
        }
    },
    {
        "Noto Serif Malayalam": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "malayalam"
            ]
        }
    },
    {
        "Noto Serif Myanmar": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "myanmar"
            ]
        }
    },
    {
        "Noto Serif NP Hmong": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "nyiakeng-puachue-hmong"
            ]
        }
    },
    {
        "Noto Serif Oriya": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "oriya"
            ]
        }
    },
    {
        "Noto Serif Ottoman Siyaq": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "ottoman-siyaq-numbers"
            ]
        }
    },
    {
        "Noto Serif SC": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "chinese-simplified",
                "latin"
            ]
        }
    },
    {
        "Noto Serif Sinhala": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "sinhala"
            ]
        }
    },
    {
        "Noto Serif TC": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "chinese-traditional",
                "latin"
            ]
        }
    },
    {
        "Noto Serif Tamil": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil"
            ]
        }
    },
    {
        "Noto Serif Tangut": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tangut"
            ]
        }
    },
    {
        "Noto Serif Telugu": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "telugu"
            ]
        }
    },
    {
        "Noto Serif Thai": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai"
            ]
        }
    },
    {
        "Noto Serif Tibetan": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tibetan"
            ]
        }
    },
    {
        "Noto Serif Toto": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "toto"
            ]
        }
    },
    {
        "Noto Serif Vithkuqi": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vithkuqi"
            ]
        }
    },
    {
        "Noto Serif Yezidi": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "yezidi"
            ]
        }
    },
    {
        "Noto Traditional Nushu": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "nushu"
            ]
        }
    },
    {
        "Nova Cut": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Nova Flat": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Nova Mono": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "greek",
                "latin"
            ]
        }
    },
    {
        "Nova Oval": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Nova Round": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Nova Script": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Nova Slim": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Nova Square": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Numans": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Nunito": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Nunito Sans": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Nuosu SIL": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "yi"
            ]
        }
    },
    {
        "Odibee Sans": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Odor Mean Chey": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Offside": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Oi": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "tamil",
                "vietnamese"
            ]
        }
    },
    {
        "Old Standard TT": {
            "variants": [
                "regular",
                "italic",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Oldenburg": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ole": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Oleo Script": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Oleo Script Swash Caps": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Oooh Baby": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Open Sans": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "hebrew",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Oranienbaum": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Orbit": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Orbitron": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Oregano": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Orelega One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Orienta": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Original Surfer": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Oswald": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Outfit": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Over the Rainbow": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Overlock": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic",
                "900",
                "900italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Overlock SC": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Overpass": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Overpass Mono": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Ovo": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Oxanium": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Oxygen": {
            "variants": [
                "300",
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Oxygen Mono": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "PT Mono": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "PT Sans": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "PT Sans Caption": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "PT Sans Narrow": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "PT Serif": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "PT Serif Caption": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Pacifico": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Padauk": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "myanmar"
            ]
        }
    },
    {
        "Padyakke Expanded One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "kannada",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Palanquin": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Palanquin Dark": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Palette Mosaic": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "japanese",
                "latin"
            ]
        }
    },
    {
        "Pangolin": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Paprika": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Parisienne": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Passero One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Passion One": {
            "variants": [
                "regular",
                "700",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Passions Conflict": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Pathway Extreme": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Pathway Gothic One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Patrick Hand": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Patrick Hand SC": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Pattaya": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Patua One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Pavanam": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil"
            ]
        }
    },
    {
        "Paytone One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Peddana": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Peralta": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Permanent Marker": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Petemoss": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Petit Formal Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Petrona": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Philosopher": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "vietnamese"
            ]
        }
    },
    {
        "Phudu": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Piazzolla": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Piedra": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Pinyon Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Pirata One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Plaster": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Play": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Playball": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Playfair": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Playfair Display": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Playfair Display SC": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic",
                "900",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Plus Jakarta Sans": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Podkova": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Poiret One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Poller One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Poltawski Nowy": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Poly": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Pompiere": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Pontano Sans": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Poor Story": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Poppins": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Port Lligat Sans": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Port Lligat Slab": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Potta One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Pragati Narrow": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Praise": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Prata": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "vietnamese"
            ]
        }
    },
    {
        "Preahvihear": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Press Start 2P": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Pridi": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Princess Sofia": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Prociono": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Prompt": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Prosto One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Proza Libre": {
            "variants": [
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Public Sans": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Puppies Play": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Puritan": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Purple Purse": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Qahiri": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin"
            ]
        }
    },
    {
        "Quando": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Quantico": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Quattrocento": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Quattrocento Sans": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Questrial": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Quicksand": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Quintessential": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Qwigley": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Qwitcher Grypen": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "REM": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Racing Sans One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Radio Canada": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "canadian-aboriginal",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Radley": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rajdhani": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rakkas": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Raleway": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Raleway Dots": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ramabhadra": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Ramaraja": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Rambla": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rammetto One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rampart One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ranchers": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rancho": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Ranga": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rasa": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Rationale": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Ravi Prakash": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Readex Pro": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Recursive": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Red Hat Display": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Red Hat Mono": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Red Hat Text": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Red Rose": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Redacted": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Redacted Script": {
            "variants": [
                "300",
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Redressed": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Reem Kufi": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Reem Kufi Fun": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Reem Kufi Ink": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Reenie Beanie": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Reggae One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Revalia": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rhodium Libre": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ribeye": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ribeye Marrow": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Righteous": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Risque": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Road Rage": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Roboto": {
            "variants": [
                "100",
                "100italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "700",
                "700italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Roboto Condensed": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Roboto Flex": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Roboto Mono": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Roboto Serif": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Roboto Slab": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Rochester": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Rock 3D": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "japanese",
                "latin"
            ]
        }
    },
    {
        "Rock Salt": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "RocknRoll One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rokkitt": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Romanesco": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ropa Sans": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rosario": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Rosarivo": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rouge Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Rowdies": {
            "variants": [
                "300",
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Rozha One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik 80s Fade": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Beastly": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Bubbles": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Burned": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Dirt": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Distressed": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Gemstones": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Glitch": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Iso": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Marker Hatch": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Maze": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Microbe": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Mono One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Moonrocks": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Pixels": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Puddles": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Spray Paint": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Storm": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Vinyl": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rubik Wet Paint": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ruda": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Rufina": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ruge Boogie": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Ruluko": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rum Raisin": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ruslan Display": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Russo One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ruthie": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Ruwudu": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Rye": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "STIX Two Text": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Sacramento": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sahitya": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin"
            ]
        }
    },
    {
        "Sail": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Saira": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Saira Condensed": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Saira Extra Condensed": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Saira Semi Condensed": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Saira Stencil One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Salsa": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Sanchez": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sancreek": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sansita": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sansita Swashed": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Sarabun": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Sarala": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sarina": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sarpanch": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sassy Frass": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Satisfy": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Sawarabi Gothic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Sawarabi Mincho": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Scada": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Scheherazade New": {
            "variants": [
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Schibsted Grotesk": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Schoolbell": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Scope One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Seaweed Script": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Secular One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sedgwick Ave": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Sedgwick Ave Display": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Sen": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Send Flowers": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Sevillana": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Seymour One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Shadows Into Light": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Shadows Into Light Two": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Shalimar": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Shantell Sans": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Shanti": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Share": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Share Tech": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Share Tech Mono": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Shippori Antique": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Shippori Antique B1": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Shippori Mincho": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Shippori Mincho B1": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Shizuru": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "japanese",
                "latin"
            ]
        }
    },
    {
        "Shojumaru": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Short Stack": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Shrikhand": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "gujarati",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Siemreap": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer"
            ]
        }
    },
    {
        "Sigmar": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Sigmar One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Signika": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Signika Negative": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Silkscreen": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Simonetta": {
            "variants": [
                "regular",
                "italic",
                "900",
                "900italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Single Day": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "korean"
            ]
        }
    },
    {
        "Sintony": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sirin Stencil": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Six Caps": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Skranji": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Slabo 13px": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Slabo 27px": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Slackey": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Slackside One": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Smokum": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Smooch": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Smooch Sans": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Smythe": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Sniglet": {
            "variants": [
                "regular",
                "800"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Snippet": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Snowburst One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sofadi One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Sofia": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Sofia Sans": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sofia Sans Condensed": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sofia Sans Extra Condensed": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sofia Sans Semi Condensed": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Solitreo": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Solway": {
            "variants": [
                "300",
                "regular",
                "500",
                "700",
                "800"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Song Myung": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Sono": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Sonsie One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sora": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sorts Mill Goudy": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Source Code Pro": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Source Sans 3": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Source Serif 4": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Space Grotesk": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Space Mono": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Special Elite": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Spectral": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Spectral SC": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Spicy Rice": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Spinnaker": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Spirax": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Splash": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Spline Sans": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Spline Sans Mono": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Squada One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Square Peg": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Sree Krushnadevaraya": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Sriracha": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Srisakdi": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Staatliches": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Stalemate": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Stalinist One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Stardos Stencil": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Stick": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Stick No Bills": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "sinhala"
            ]
        }
    },
    {
        "Stint Ultra Condensed": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Stint Ultra Expanded": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Stoke": {
            "variants": [
                "300",
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Strait": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Style Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Stylish": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Sue Ellen Francisco": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Suez One": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sulphur Point": {
            "variants": [
                "300",
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sumana": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Sunflower": {
            "variants": [
                "300",
                "500",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Sunshiney": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Supermercado One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Sura": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Suranna": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Suravaram": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Suwannaphum": {
            "variants": [
                "100",
                "300",
                "regular",
                "700",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Swanky and Moo Moo": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Syncopate": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Syne": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "greek",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Syne Mono": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Syne Tactile": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tai Heritage Pro": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tai-viet",
                "vietnamese"
            ]
        }
    },
    {
        "Tajawal": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin"
            ]
        }
    },
    {
        "Tangerine": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Tapestry": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Taprom": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "khmer",
                "latin"
            ]
        }
    },
    {
        "Tauri": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Taviraj": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Teko": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tektur": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Telex": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tenali Ramakrishna": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Tenor Sans": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Text Me One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Texturina": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Thasadith": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "The Girl Next Door": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "The Nautigal": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Tienne": {
            "variants": [
                "regular",
                "700",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Tillana": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "handwriting",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tilt Neon": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Tilt Prism": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Tilt Warp": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Timmana": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "telugu"
            ]
        }
    },
    {
        "Tinos": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "hebrew",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Tiro Bangla": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "bengali",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tiro Devanagari Hindi": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tiro Devanagari Marathi": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tiro Devanagari Sanskrit": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tiro Gurmukhi": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "gurmukhi",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tiro Kannada": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "kannada",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tiro Tamil": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "tamil"
            ]
        }
    },
    {
        "Tiro Telugu": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "telugu"
            ]
        }
    },
    {
        "Titan One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Titillium Web": {
            "variants": [
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tomorrow": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tourney": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Trade Winds": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Train One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Trirong": {
            "variants": [
                "100",
                "100italic",
                "200",
                "200italic",
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic",
                "900",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "thai",
                "vietnamese"
            ]
        }
    },
    {
        "Trispace": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Trocchi": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Trochut": {
            "variants": [
                "regular",
                "italic",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Truculenta": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Trykker": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tsukimi Rounded": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Tulpen One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Turret Road": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "700",
                "800"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Twinkle Star": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Ubuntu": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "700",
                "700italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ubuntu Condensed": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Ubuntu Mono": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "greek-ext",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Uchen": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "tibetan"
            ]
        }
    },
    {
        "Ultra": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Unbounded": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Uncial Antiqua": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Underdog": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Unica One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "UnifrakturCook": {
            "variants": [
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "UnifrakturMaguntia": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Unkempt": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Unlock": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Unna": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Updock": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Urbanist": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "VT323": {
            "variants": [
                "regular"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Vampiro One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Varela": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Varela Round": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "hebrew",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Varta": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Vast Shadow": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Vazirmatn": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "arabic",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Vesper Libre": {
            "variants": [
                "regular",
                "500",
                "700",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Viaoda Libre": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Vibes": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "arabic",
                "latin"
            ]
        }
    },
    {
        "Vibur": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Victor Mono": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "monospace",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Vidaloka": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Viga": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Vina Sans": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Voces": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Volkhov": {
            "variants": [
                "regular",
                "italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Vollkorn": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Vollkorn SC": {
            "variants": [
                "regular",
                "600",
                "700",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Voltaire": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Vujahday Script": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Waiting for the Sunrise": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Wallpoet": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Walter Turncoat": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Warnes": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Water Brush": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Waterfall": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Wellfleet": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Wendy One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Whisper": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "WindSong": {
            "variants": [
                "regular",
                "500"
            ],
            "category": "handwriting",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Wire One": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Wix Madefor Display": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "800"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Wix Madefor Text": {
            "variants": [
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic",
                "800",
                "800italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Work Sans": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Xanh Mono": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "monospace",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Yaldevi": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "latin",
                "latin-ext",
                "sinhala"
            ]
        }
    },
    {
        "Yanone Kaffeesatz": {
            "variants": [
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Yantramanav": {
            "variants": [
                "100",
                "300",
                "regular",
                "500",
                "700",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Yatra One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "devanagari",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Yellowtail": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Yeon Sung": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "korean",
                "latin"
            ]
        }
    },
    {
        "Yeseva One": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Yesteryear": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Yomogi": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Yrsa": {
            "variants": [
                "300",
                "regular",
                "500",
                "600",
                "700",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Ysabeau": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Ysabeau Infant": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Ysabeau Office": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900",
                "100italic",
                "200italic",
                "300italic",
                "italic",
                "500italic",
                "600italic",
                "700italic",
                "800italic",
                "900italic"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Ysabeau SC": {
            "variants": [
                "100",
                "200",
                "300",
                "regular",
                "500",
                "600",
                "700",
                "800",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "cyrillic-ext",
                "greek",
                "latin",
                "latin-ext",
                "vietnamese"
            ]
        }
    },
    {
        "Yuji Boku": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Yuji Hentaigana Akari": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Yuji Hentaigana Akebono": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Yuji Mai": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Yuji Syuku": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Yusei Magic": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "ZCOOL KuaiLe": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "chinese-simplified",
                "latin"
            ]
        }
    },
    {
        "ZCOOL QingKe HuangYou": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "chinese-simplified",
                "latin"
            ]
        }
    },
    {
        "ZCOOL XiaoWei": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "chinese-simplified",
                "latin"
            ]
        }
    },
    {
        "Zen Antique": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "greek",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zen Antique Soft": {
            "variants": [
                "regular"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "greek",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zen Dots": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zen Kaku Gothic Antique": {
            "variants": [
                "300",
                "regular",
                "500",
                "700",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zen Kaku Gothic New": {
            "variants": [
                "300",
                "regular",
                "500",
                "700",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zen Kurenaido": {
            "variants": [
                "regular"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "greek",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zen Loop": {
            "variants": [
                "regular",
                "italic"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zen Maru Gothic": {
            "variants": [
                "300",
                "regular",
                "500",
                "700",
                "900"
            ],
            "category": "sans-serif",
            "subsets": [
                "cyrillic",
                "greek",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zen Old Mincho": {
            "variants": [
                "regular",
                "500",
                "600",
                "700",
                "900"
            ],
            "category": "serif",
            "subsets": [
                "cyrillic",
                "greek",
                "japanese",
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zen Tokyo Zoo": {
            "variants": [
                "regular"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zeyada": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "latin"
            ]
        }
    },
    {
        "Zhi Mang Xing": {
            "variants": [
                "regular"
            ],
            "category": "handwriting",
            "subsets": [
                "chinese-simplified",
                "latin"
            ]
        }
    },
    {
        "Zilla Slab": {
            "variants": [
                "300",
                "300italic",
                "regular",
                "italic",
                "500",
                "500italic",
                "600",
                "600italic",
                "700",
                "700italic"
            ],
            "category": "serif",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    },
    {
        "Zilla Slab Highlight": {
            "variants": [
                "regular",
                "700"
            ],
            "category": "display",
            "subsets": [
                "latin",
                "latin-ext"
            ]
        }
    }
]assets/images/header-promo.png000064400000077741152425655550012441 0ustar00�PNG


IHDR�Z�q�gAMA���asRGB���	pHYs��PLTE!!!K����
N������4t���6v��������9w���1q���8���������I�9��=��F�8s3����9��4����;x6��p�G��z���K��r���}���Bw�E��{��k���A����v�f�v�?{����_�1��e��������f�v�O����`s�:����<������9��Q��m�����E��;����]���<y<����2��c��a����u�y�n�|���7�����-��4��#��~�q�������@����x�	V���Z�:��4��"��#t�����r�B����7������-����h}������!n�4�����:��n�E�����.��*��i�����ax���S�-��
u��u��|�������(��n�������q���������y�2��0���k����ٹ����.�%����+�����Wyj�Բ����&������m�d�����������ٮ��^���j������ի����V��������ʪ���Ź��C��&|��e}323��뿿�N��QPQ�Zr���wz;78���l�¢�`UW
�ۨ��,++"�����D�Ц��d�XZ\IDF��������޹��pcf������oqr�����͗��������	A489��Y�F�Ɗ��
��_������E`��y����w��~o�cu�|jIDATx�\�OH�y�{	�z�D�w�)��]���!�I���u"ʴ"M|�/����88������IQKJ��Pu+=�Z�E�,=��ۋ�9�,찟��&�~߿y/y�>}�\�sg�N{VZ�W����~��t��m����`Y�mm-������q�D|�/�3n�.�BXM3�ƴX,+Q��V5A3h�E3��ٿ�;�q��^����{��^��������&]����2fjyjjjoo/��䒜��ۻ|�~���{��zd�R'�p���	w�	�����Ӄ�G��ݻ��ޓ�j�7��S�4��thv/q,`��L��CÛNM�{�;p�iZ@+�S?��-0����:0���7�7333:>:::�y���3�qy��_�����oު9?M���ׯOOOO0/1�2�UE�4�4�b�X�J��o.�.��uE�4Wx�w�H�"�t�,n��9l�r��l��f3�d6����I�]y�\N�y[,�fc�L,6��e8�L4���2�\.�����R��������Z�v�V��z������:���z}dd�>44247747����!�� �wͫX˾����
7f���e�d{�q_+����B���
�͐��&xץj�ZӠ���J�^0��b����g�;��u�p7�\].��r�e5{�S{X>�6��������� s7_��.!<,l;�����s�u�*p�N��v�o��\�o.N���pxi�`���[�;�����.ln��l��dۈ��q�
���ж�ۂ��/���۷��ӿ�~r�M�q���(˘i����
�ƽ�+BxE����'𴔺��Wİ�-����]��Z�������d2Y�8c�I!:���l�K����L{r�L�K.�S��~��²�C�vl������7�&�&�#X��#`{n�n�v7�޼�{0���8��o4�vv~�s�1�-�^S�V`�D�q�[�5�6Bܧim\[%J;��IeS�&ō-m���Dq�q�톸I6w��Pw/N������I�1ٴ�^V��м�Q�}qo�f�w\��X�=�m\�p:|�'<!���t?���~����'��t���*d\�d�����\��_��)��2|��?`��7?��,~%o�My�����߂6���綷�_Algn
���mq�Tl�koSĀa�eA8T1�J�JP��u%dC]	��6-`���`�W[�[�� [�d�x/
ːt�,cly��|9�X��%c�,����L����T4
�!oa;�w�V����2��:�N��ꮏ@�p�Я�_��L���'tsW�dGu	���mw�U���G���쒈țP�wڰB&�Ҡi��R`C�亊�]%��i��E���{�^��-�I����#�a��.���l��Ҁ��a��f{oy��}qq���}�%���-ۄ���`Y�T�w�[���(a�^�Q$�e�ōwJ֪G�4b�tP��@�Y'b�Co�	��kg	�Mw��~���>{���4y��t�9�o
C����}"�>�c=:*�6�n��E"S�5.-b�cEܭ@W���D��������j-�Z��v���i��,���T��ܕ%Yp��̶��(�F&�3H7�֟����Uܽ)po>�\�ו����nd������Wׄ��v�0��\W��J����o�I�D���r���"� �!o
�lc�0���`3�Չ��#�v�<��D�*\�A��4���ȟ�!I�=4�&8gu#�]Ļ�+e�P�F�\�-,�Q��XqO�s�:��VTw���M�Y$�	��솹s�J�?y����UZ;�!�Π�`� e�`hv7/�S�9 �&�4�9��\'��{@�Q�-h�&��q^~���s�lo���Q�}T�
{G�EtI����-�M[���76>�I�r6����g�����mҽۖ6��i�==}�o$��tr��;�=+�g���Mf�vT�0葘�M�S�;�Z�EmF7�;U�
�*s�m������M��D�ݜ+�m�=��־��$�U��
��ք�1U&����)�������}�i�B��)�B	����V%K(m�A��Y4k����	4"↬�7�Ms�'A5p7\�t���n�l�}ij2--�bQ��7�ח�=�Dn�|B=R~���D7�}O�D��`c�I;X�uA'�����;v����0��A/8�:�+�G��M⟱�V���m��Jݘ�~xq5�%L~�0|��ݏ7����1��.F�>_���?I 
�U�J|C�(q]l�V�m���q���*��$��NjoL�=���X,/�Hrn�LU������y6+;$7�;�<��cQ.�N��S�z���o�n�l�P7*9u�L��9�%���w��2�흧A�m�E���$rdK�Ď�lW	7�6��"��1Р�H��.��,UM��?�Xv��X'�U��͠�P
���<�<�Fu{��y�w����/&^1wo����d�dc������);޶3\�b�z��o��ם2��aa[��a��K��P7�(�ف{I�$:������p].��C�g�0W��R1"Χ��n]�`��}}mo��n��%���?Q�7��-�}׆�D�Vr��>.���e	Ö�gz�d��*����N�H���O���6}�q��<�D�k���$��i��zK7C?`5�P�^�/F�H�Z�b��Ck�g���:��EZ���Ga;8��P��
��`?��|�?iu�~�&�
C}��z���>��}�h��"�
�M�P�)�qm��)�
Ƨ���,!�`I�&�����)
7FLL���=�첦DZ�i&#�'A�ėsW횻�<'�
or��'��/-�ᜬ�x#�q
�خ-at?��$>ۖ��ٗn�'MI�%$~��Pl��2�э?̲4ϸ�r�f�Z�}y5�b&�"+a���`�u�k�0SB������//8���G����Q^ܚ4��w?5#�3�M
��`��*�>����g�<�t���@�F>�W��[	3��1����J�t�NB�:�T	BD��1U�!?E?f֍�>J�͹)�Z�G��=u�Y	���?ݹ�)�%�vh��ՀO�܄;
��t_�%`��*A� �U���iv)��*R����xG�9S�M?�-���+�@5��2�Q���ީA�5{}��8�v�:ph|(9�dj��q=�%##,m��`]B��9N~tBbB��'-�O�w���_��6�^����'G��|dT�6���f�\���	���A��j��Q��${�jӤ���]=��M��0GIL�-/��;ȶ$��9��@}�t��{��P����K��8E1�/���[%�[�e#���E7��	�IN�����_0�����{��e���Xh�y��%�P�ީZ	i�˄�N�*L��2���:��;�����^*Q�bv�t���;��ͅ[o %�8��n�-��v�XJw`�t�� �qrN����Jn|�/�$��j�W�ۛ�δM�Ev�d�[.�8U�dA6.hIe
�W2�
�;�1?��$2̓0�D�KR�5�ps%��dR5���#�a%##Ԓ	�����幅��ܴ��d�$�@p�}�ݡ�V�W㛫�Z��^��?�1D��I��[�%�QzI_ڭ�b</vXj˺�֓��oc���d:26����6"�x��$qɍg N3�n��Kv�����lŢϕ�;x7�����%�Ǥ[uɳgkl����{+!A���o��1��#��=��–�&�.�9S8�<��a*	�;�%��q�%T����[�ml�D���,�>K������Cn�=���-�
%|��+��̀��G��V�v�Co͹�V�H���ҢB{s�@{�N2 �X�9���u��΂p�uEt+�)%l��m��DB#��%tnEwr�]`2����)Gγ�VH���vV�|bAl#��{��2��㍑�����^70����4�7��J��6��Ǣ}E�q�ƒ��m]���J����\,��VnGh���aI�p+��d#�=�$5H�q`�ូ;�7��G|�E��q�}�+��nꔎ(�;^ҤQҖ��Hnjw�͓��	n$7�{��6��^W�@w�.�!�̈́B����ڔ�o�+1�1��j��&�n6�m���a:��k��ھ�����ܷ���_r[n�w�Շbwm�P#ǭ*��Hi]`��;�7;$^{�����&��Pm`���"�Βn�I�����F�L&��2�0�u�!V�]�����IY77�_N���{C��n����K:�^���%7Q���o����Vt�v?ٟ���}�]�=�r��2W����};��*WaU7J⮖����;�N��ν�����+n��Z,��A̔�k�
����V�ݶ�Y���ۜݛʥƞ�N2��n�Q증*��8�7/QWb�
����~v��[㼀R@+�!
������;,=!Ԉsw�K������X �L���fݱ��9N:�NYt行j@7gܩ��-��gxxXpk�|���l;/!�p��.�Si�*k�ʙ�ǺE�-�i�\:W?i�M%X4��d��&�dO�
�M/�X�3����֘+��;!39uj�T;�%�+q99N���%��Dt/ϹM7n �ݧ��_ɍ�~�_Q:����[7���yW����ec;n�N�Q��?>Ǖ�<H��b�]V�WS�m�R-r�,�>{-�)&m|�liim!㞌���y��L��0�}����:n������,�첐��)q5��Q�ts��%���5��ކV�*=d��X�͵M cC���i
�����7?���5��y��e�Q�s�%��|��:����[W����7� ��D�
��]�*�ۣQ�]JnN�H�Z�:M��ة�&�i|�*��W�ٶzZ�
��B{���8���-n�nbM��^��r���e�d�ɠ�n7�����t{(�69�u�DE�+�-�a�:`��|Bl[p3��%���S�PO�{�;l?^��7��.�]K2:�)2���-��Gu
�J��yv�mp,ëE|�<Y��c��,Ba��WOT��fCG��
��6%y�
A5�ʥ�)ﶣ'?�}�HlU����U����T�EI��WOl�\3+y�g;��F2�P����H���x�ΗHB�e[��|^��,-�
Śe�\P���ZS���
/i����l������7�b����$�s[-`���^h/�K�;JG;�5.n �,HؗԬ�r�V������5mn�Ԧ�\�I��ӊl7��ax_��nh����f5�{P]	B�������6���lS���t'�t{��$�[]��gӭ2���E�ʒ��ӧ���ýw�+Mh%��<G��[{����1wf*�3S�m	��G(��mW��Z�z]��{� ��$���yifI�2�����ECd�Ǟ�N���@I�=G�*ϘxAߖݶ����E8�����~SҤt���ɭޑ�.�p	r�ګ5빿�����Ba' /�#��z�$��@8\�w��l%�xL���y�3��ì���:�;9�R>�$�����_�l��ORJ8M�]��ޭ	,�o|F���Hn�Ey<��]�V��|�m�y0��tӔ����׮�g8
�@�{�O���H�{����ͻ'��h��`Fx������ ����.+]lӹ�nkK�D��D��q���������{-�!���Bgd�n�[J��z���X�D���N����}�q*gjWYi�o�j����(�q��߀Z�l\�o��� Y����^��P�(���c V]BA+ ��צ �x�U�تT�Q�N$#��VeUDA��4i��i������/@ٮ:�9�y~����ןoh/��p�s��m�f�v��;F�$���+���$gIydaz�e����gB�%�w�v�O�J~�4K����W|Pp��-���^�7������Nw	�u��j�Du��_ѭ�F��G��[Z4}tG�CE�r��o„ݒaMnj�HU�P%�9����ǂ폄�	nj��m�&�t"���������v�gއ�M?pɛ(nw�����I�2�Ȫyget�!l��&��%���B��E��t�"��U+~	�I�m��#���	#�e�������È�6h#~7�۰��O�xM�[���D�@�f·�0L*wS��L�Δۉq2ڙ�ߓ��R��1��+tќb�ē��b~{]�x������J��v8��!l��
��ǡY��$ �q��do5�۩k�i�{(��v������l�>��vK~�[���Yd����H� vI��o���z�#�pT\[JS��l�R��h�)���*ٯ���4ɰ	�]�
������㝝������q�K'U�|����q��^4#$�y�"*"��1c
���+�m��*�\��M��*8����;[5Gp����$��3ټ����H�AM'�A%�\�.����x���o���1O.fU���/�?��S
�/��iS�n��.�0i�v�ld��%�]6�.�$�>
�	HL�}�h�Kpja�e@��Lp�^���SQ�l{�
�K'c�N��j��P�j�� 8$N]����ۿЖ���߆�*���&���y"��ڮ{�Zz�@�U��}��)�` 3D����8%F���s��V��ـ��W�6
��?]�$Qy������a�ng�Ւ���o[[#��#��'K������ۣ��-�ݗ�S��a��"P�,��<��V�{����V˜#1I���_�G�Mpw�'��s�%:U�e�$k��GY��D`��a7�V[;��n�X>>Q�8'pvV�6���D#�ݯq7�?��,���ny=4���}�$������6��ڮ+s��)��r[.�:C�;v*n�L��=���(��ncz���w�;$����l@�1~��6�my%��q��8o�4���5������P
5��jŷ--�*� ���XW0U"�F�>E��� ��f�DP���2�
���ͱ��HI=X�Wi�;�u�	��U�=��#�f��a�jkk�o��흗(�?�m�������L{r+��{�G�:"�!��\��}R�n�nCj���
u�ɝ���
I`w'����hw���uo��a^`��,'�K�^��蝢�����c_&���V�-�[T��ܳ��6���%��C�
�ss���I�7?1®���{+B���o�
3�J�MV7��<A�Ϋ_�}��2�kJ��M@���-�V�6�MٍJ`l,���-L���c.��wB�B��Re�:�⨿]�Q�.�-{��P��\����-+��.�_~�e-t�Y"�]_r��|�����:���)�x��#S�)&��T��g ������g?
A7R:�dة���2.2�A�0wu�tV��L��AN���X���>��W�����,Emg�}�%"�1J
k��$��H�[�zAI�����T�N�����&GJ\2O�C�����8��f�r	�IQۗU�@q�,Y��*�P�mV�����6�E��q�l�
M���v
�gf
�+Y�?�~�@�v�Y0i ʼn»�g�����XtnmJ�
(?*���;�������Q$Yj��#;(��7�;�]b�ή+�i�Y��uI��X�-MV�'��7�6w��6�VP��)�@4�mY��b��GH�V���S"k4���e���-D?洔�X��ȌR�{?�n[7se��م�-;�
h�_���y�~	�,�wFsx�-+.�$%��n	P.¤�x���T���@lCos��C�s'���ꤒxRe�`~��in�[MA̕,u�\������([S��>|�n�Na_A��ق.+̪aU"�=>~Q��)J�Up7Qp7(q˗�ta��w����5�ޫY�T%}��I֥�
ؗ��Y�=_�Y�wT�T4p/�B��"ؾ�.��ؘ֥�+��͘�m�nA9{�Y��,#w��!��2Wr���Kdo|ε�k���m&4��\<Y#GD� ��Y��s���W��{fw݇��r��ꋒE�������Z��vDx��Kn�,�@�CW�S�V���%�#û@�v�m�nΓ/E��*�oU��]�D��MП���?�,���WR,TaE����C�]�^��wDhx����=�O������Z(_g���
�}�U	m�v	�×-���\��Dy�@0���w�|:4>��a���"{�;s��M�n�����L@��=���†kNws�M��o$7�m}=�GD�x�
6{�X�0����w)��ȶ|�}�X;��XI;�$���q�s��6[0N��X!��2w��~q�j��C�+�5����1ӈ���ݒ�nC�+�7��~����E7[7\�d
��H�Y��N%{�-�wE�
��+���k�y%�sS��@�K�?P�m�����Y�en�ܮ�
h����M�;���IO��a���tY
@pv9E��Z[H��&�;�܂ky.೺&��7��&q3�d%�kh��� �(A���
�"~'s�[20aF	h��"e���+q�=���
t���f�3�2|����
mu�}2�S屄;��&I��彘��In���*���N����&����1l����y���u�5�!W�VϾ}��>�p�v^���Q@݈����_B��x#��)�m.��z��*���ֺ�ֺ�Eym��lq�3�norwQ~&�[�Z[�kp�O~‹>�x��������q�����	={x�Яz�L�9qf�__�y���ܪ�ӷN��Η����#7o�x��v�(��.���Nv&;;��N��dgw' lw��nn�e��}�����}~�j���0��Q]4;n�
*���UPh��u���m�e��3�{�����
lR}����O\�
� ��{+����j�U�&���>��:Lg���GJ���Erc��K�nn��T���)��R;���Y|�Ų"Ib�1h�0UH���w�����6`+�CULW�]s�>��.������#�|~�ʯ(�P�c3�b�Q�5J@	 p��+D@t^�����U�B���iZ)�P�5Q�J^��Q6�Y�bT)Yt�,&
�&�����(�HU�?�=�~������q�����s�r�$�I�������'2~���7w�bO�"�
l+�B����m�^�tol�o�s�R��K�t+���цl��.fc0O�-4�C��Pp2>H�-?ZX@F�6%6q�IF�k���(b�ы�m�zZ�.�����i�)LpC�����|KG��-��۬*���rMq��6o��~f�����|�+�}��ەI;3E�a�9��9 桐:���{Uw�y�C�j��}ߌ���f�o�)�(!۠�C�	���
�;�vWD��c/a��+N��]��k���S�D�o�ځ��<��+�<������;��:��ݒvd֡�d�-���ي�{2/3�K���
�Q�v���Ax�=����v$��,�%� �-H�G���:�6�	<	秴�����
�pә�ƚ���QN0\�-�fTB�m���e��syn͝��r^�Qm
Mbq��x{cK7�@������U36��>g'u��9 wOe��8��r��ZG�y�����k�������wR��j�f;@�ؓ,[�"ٝ⼻š ��(G�n�m/����V���/��|��N�Ԝ�L_�8������ʶ��l1^C%8
��V��ƌX��֒�}�:����cۺUn�|��(�������;��Μ�ݥ�%)m�'�z���R �^����<�.�!�����f���ۜ�"ݣ\���SWLpϳ�.p��W�c,PM�ڒOj��#7����?�Mw�8�56w���b�b��#�v�ܣE��2�A7u[7?x�k�>���݃��Uon���k��&����dդ�$|Y*�Jfͬ������M�Hw�M�᭓UcV������/
��./�v�l�^�'֣
w���g#p�1ْl	@%�Ic�
�ɀy�s�aޙm��znȶ�n��s&Γ�mU���O�|��@w�t����	k7�’@����f�}�j�ٿ@�Q���aD
���4T�� {�׿���F���~�M�!��:�=��-�U�	�e�i׏>�yS��Iɟ�Ò��\�M���ȵ缜�b`�!����� ��{N��
[�X0��h�}�8�a��C["��}��G�^fo�BkRY5S��</lӏ�;śK
ffJt[�
��sJv�79�ɜ<�pw7b>�o�D#x7�}��T�����R%�V��_Vɥ�P�C���B�c`����d���D�d��)Cl)?�5�&�hE��d[����D�v�w���Y�͉�A��
r��v;O���ӄO������w����%���K(ݣ8V��͡Wz�:�M���;FGjV��>���#�x�[ǽX.՞��R�Ҙ��5
�{q�=~øm��5X����༒��
�Ijn�]դ��ܲhu���}<M����vvr��+��kL���,�5����'��l�gD�9I�)�i�+�ow�H�ԎX��[YYI$t�)i(*#�������x�ܪ�V��-�d:k�Ul@����~�e�����Iw�QQ���y�7��$��8kr8�����zkkGn_nc�uS�G�I��y�$�)�J��V�y*y>�9Țk�M��4(���e�+����x���	]^�0sS����=y�S1u/�mԑ���m��y�ϵC��dLц-�I�Ǵ�oq
x�EU|�ۛ47����*���JU���U���Ǫ���Z��{߅���N2+��v�2N��7�lS"�Πa���)p ��-��J�Jkk�X7~���>$�"��Y����4Љ�u�Ӻn� aav�%��-�IMYRJA�V�6x�jI5)���Wg�3Yo��PMI��}7��`[�[;?�e?�6#�( œL�k�>�ol
�A�;aMf!��w_���t��y���%z�R�]�4'�`"p���Fئ)7Y����+��=��w�t(�
�E�!ܱT<���]�t��'�a�l�	�r0e���ڣ�
��
/�������'�������-I
��Y�5ے�z��S�~�Cg�;�'o�4$֖��v�
�T9��"ڝ��e�XPOڭp���Z�ƶ 4y����9I��r�%t鿮���ߝ�nWH6b�'߂_|
�]Ei"��.���-Ւ�n��o���lmo/��v^ŚhOMM)���?��v�^2�S�Gq�F���#|�-'/.��2l�tۤ���Z�is��ͻ*��\V�C%E�P+xŕ��Id:NWOI���R;��e���(�#x\��V��I%窪��6<7�^^�1�UoyF�����)���7��g3>+I�v&C����:��v��w�8�{:�ߎ��k�H���.Q��n���8v,Rc6��Op����lt��L��Ӛ��#l��d��nii�yOB�E���6rڴ�lv�dC�=ɧ(�_�q�m-w�����q��
�m>zwv�g1�=H���%)��VЯ����Hu�U���Q��IA�����\����o�,�11缪p/�����
d/sŸ8�x\9/�Y[��m�;�2�(�Gj�ۼ�v����as�����v�j�=}��$���o�'��<V@����S�D��2�r�d}�t3
�pc[Q��֤|��@��l����C�[�[��h�+��!�S�hL�ةԊ��W�(��ߏvq�V�-đ0��Ώؿj�b�P��i��r�|�ds�9y@�I�L(N1��R6hw��P����;��Pmyt���l�
�*�SS����kLU�U�Ѽ��4��ڀ����\�T��-�ED��\�䆰ɸO��)��s��$�6RG�D�S)���]�֘D�H�]�f��n�4g�J#�`���
��8|��9�S=\C��^�jWp�e�媮�>���~�|�	`��eN��Y_��ڮ�A���RXr\�{�Gv��_����k�o�ۥV#�/q���f3�c�亟�6�~z"�셯�`ܾg�����no����'�>O?z���_���^����6�z��i7��߻
��޾}��~��_��L�w��#��5�C���	��o���W���v����p��U��'p~�}o��bI����E1���77ۅAt�m�6P_+���%���7�~���� ��<��L�&���y6q0�͜[-Ʉ�K�r/9ݾgt�=�w�X.&�/SP�b�+�9�d�@��T<��K	ܩ�|���?�S���ȵ�R�g�\ELB��{*=}��>Uiy"��+�l��|��ry
M�7s�:*�>H��:�Ц�4�g�B�j��I-���H�P�Hqi�"")�b7�0�,���Ҏ�#e�6�Xp
�t��)��H0]�;��&��P�`#-F)����֪P�n��}��$����L�9Il&�<<��;�D�ۏ̠$y�4�Y���.!���i��i�m�ۤG��T�v:���<����̲�t,�?���/x��R�c��+8O�-��AR��ξ���LuEД���%]H����ھ�Q/�-��"�"�{g�x̨KɯM�"ܦ|�����L���eʫC��*?���m�l�e��h_�6!}��=B��^�E�MC�4�bGY�����Ȉ{۽'��_¦�7r_�K�(_a��<��inB��W:�o�%n,��,�Ǝ��[��|�M��t�����������5�nM�*�B�u22���W�p�}��17��D�C.�P�d���n�x�5���|1�@����G;n�+%�[I��K��^#+�bqWdk,���2�ḓ1e���n_�T�Yf7�X�<?�ײ���x2�Q[�':R[��Y��]x����p���-�]�	��@ķW��n<�d:�-y�|_.QҦ7��ɢ#���2�N�k�4ݻ��䗻BY������#���86t�j���WO�`�o�[��-9
����68H�]�'�\ڐ��n�$�	n̳<�E6PVw�.ktcN�)�U`�pNf�q��+��}Sh,����n��&����b�&�a�!��]�a�f�m���T�
<�m��dI�wu+�-tc��Ǐmm��~�v'h�$�#h>�r�D	_�I��E������n��vX%�-�W6[���k�b�����F�xt\3IC�U�}H�Ӝ(�ti���4��kww̲L%��
&9���f����sD�}��{1<I�[��I�>���{$�zN�p1�gT�ɕ��V�S�ƞ���^�B�lG���)�vl�l�r���Ю�,��}�nн	p
ӽp��r��?}�'I�Ex#)�j!���yX��&��v�8̭%��B*��'+7ZOIӔ��ݩR��x �=2�]�6�=$�0����m���3��m:���ڤ�����V�yoR3��.X���#˪��b�	���8�-?�6�}�V�U�̀m���7�7]v�d��
dM
��������I���^���t`+�i��Z���X�j�@l�aV7����,//��O�ڎ4sOC�י��ݎ��e=���znfN}�:�Z��l��b�#Q_ٴ8�5�8GV!��3�);��n<�",�\fq1d�`�������D�3#g��
��m�ͤD��2ܑ��Mo�O�=7�3�����m:4T�.���IͽD��sK���Ʋmc��ʮ:�݁Hq�y�D���S�y�n.��甞�s��9n)����|��Rk��Z��T�8��ނnw��$b���I��x�j����h��ѝ��J�vS�;�K�t�	v��m��8n��rn�����πm2#�$�9��`H�K>t��ܐmon�$a�Y����|$�~�w[�*`����[�������r�9�/���#p/q��rq{G��z-ٱ��+��j��p�q���1������$����o�=(���Nfa1�;�kܦ�;�rn�����B��V�S$���:�?,Q8G��b	�'Iiag�Cw,�R�6��#C���Tp�mnR��.ʽ�=6f���n�r?U�
�GF~�r.���M�$����`�6�Q30�69�Ο�ҭ;^O��춏_8��������1�(�50��n���n��z�NT���M�K`FH��(�l�����JّJN�T���/a�m��7u�W�u�M����{��?cUn��n���W.���e���k=$7R�O?�
�݃
<	��/��0�	*��V�m֌F��k��MA&�Ʋҍ���j]>Օ�R�_���)N2/����3����n�{6��j@ے%:�c��~����_(��@򁁰owb�X8��	7َ��B���
����Sh�!M"|W�-���-�Y�.�!�ҝ2L9��5�J���r�?>{;�11qSے�o'���]�=�+�Qw��M�b�pۀ6r%8�8
�'`�%��l{��l ��/�#�I8R�j%�s���S�<�Ӣ/���@�=\���%��j��\��HR�.�6$�ͣ���T�%I��s&H��%1�;Uf�*�{vo`�$�$�i��%�%R�����"��X��u�a�h=���IX���oXn�l��
�]m��%�ٰ`��"�t\3$2F���ꕘJ�n�+++�/9�O�ӟ[�����*���M��H�;�
:�6���d�~��>;~?��s'h�
�ro"�h4�HD'����4�m�\T����pb��
ΗT�r�D�a���Q8��XJ
8)�Sg��.�۴�w�=�hxx��~ǐ�f�'~�����a�O�n�n�z%|3bcǭ���{m��7�K0�BI�-���d�2g���7:U"��G���K���F�����7�پ���M���nj��،����J5=A��J����L:��z�����<=?�!Y"�_��j/��n΍H�D%J��Q���v��h=bI�;0nu�d빓V��M�7��$9�_�l�w:�4��ף��t_�����4��U`�n����@���{����������I\�2�p��?����[l���!�/
��D����>�
��v4$ϑd�4x��p��3Y~���Z��-�S��B�Я�6-�ʖh�qbX҄`[�޼966��=˔V�ʔ\%�n?b6llbGl�'A����Q�9x�-��t×\d�^e���';�2)W�<��Q}ܷ�"f�I��m�������I�ݭM�ٰ$���l�)���M���.��L*͜7A����M��ng�w;��{`��?��8��4`�7ʐH���6,�x��Q�m"|�Q?J�MƄ�X��0����[�������YF�w��;n	&_��u�!#�D�ͤO�X��uKv;�G�)��
Seْ'(N
�d�%����D���ss���fa_e�p+;��4�Q6�0�H��R�ѩ�=AΖ�����:]㸮�M�`y��c��J��Z��Y�/Nq�N��4�L�v�u�Y�ܹITl'�����\��Y��eLπ�����I�L)�;����ofl�㬣����<��̨y1�?�#�,��;OŢ�����5a�?�(��PNZ2���iS��1@Yj�ݗ�rC����Ue��vhʺ���)���YnO�7,|���'��4�<��n�%��GG�N�]�Tپ}�bm����.�h#��5�f7�l�o˿�<5�:(\�՟�".7BB������p$x�q݄[�n�Z�p?�VkJ�
A˅mo_���/	<gY�,\�K�7�y���x°�0%�X��#(���]�]
[r�ؑ��v�
�b��z	t���\�Q*����Z$��7����Z�R�?��z�a��T2p����Xr�jh�w�Gp�*��񨅛�&���mNOO��树n8��(pr%)�1�������+�w���p�r�l2�y;ޔ���Ʊ%�޿�?��7��
�CY�[�[,7�>���F܍U��n��T��yj�1~��;���`���䀇u���o�w6��U��p���`���+֔�#��VA�����m�$e%%e%�y���"�����6�������s5\2��v��v�Sk軚/���}+B���’F!�������|^Q���x���ٹq�����=bZ��0mIOVP��y[[��ƚ#�Ypo7p�~y\�ҽ��2[�U�_?8n���#��[��Q�f�[�=�x�`�c�onNI����$�p#"4bF�	�Kv�$;��3�����ܼ�nI�{#'-Y�ۘ��L���4(�,ܙ�rV<�PF��B����V���ƿ6�ud����aɡ�fr�"g�KD���H����oh�͚w�#�s1�U���vo��տ��i��ω%��_%[�.o(��i��:��/%y.s��ډ/d!�;[���]En����n�ZL2/	�wG�}��}�I�I�t�ym�Kr��9�z�L�����`�+!�b9���8K�9�x�q�bDĥ��#��()4��B���.����S����/�sC�E�~Z��x�i�<%�i�^�4��<��X�l�΅{���hbuZ�;%Vc�r'�U%pZ�;��jL�7KJԓ���&��
�8�$�< ��L��Lf}���L��\x���!'�?�|y(�yRo��5A��z�Nj�ݗ�s��n2�[��|�l.0c���7w��Dj�Ef-DNu#���'E��u?�9��1���k�������aeG��8g���,B���
�#��nÍ(ܔ�<3������jw�X���Ö����5,�j�񁔕_@�5�V��q�ZCw[[���7./<�-y����G�A�H���f<ɞ��N��D�fZb��Q�� �����~�k,)s�Ư�Ջ�;�����"�cg&�z��xqN�2=�D-w�-�s��=�;6O$����(0��W�q�-e�	��5pO���ڽ[7,19�����H78�+�iM�D<�kg�-ϙt*���{MCM6�F�͘;G�Sof�5)17j���6rH
L��4ߙ�e8�ُEhl���oOED�qRe�i�@��xxl�v&9X������$���k�X
|��}���L�V��%�n���m\��%�e�y\��=�`L���a�����]���{>�n�\�ՠZn�))����З�C5ƔX��s����S�+�0.��tW*�bB�l��MXs�v%@��){��	w�4pz8H�Έ�����4\���X9�"�;,�Ot3�.6J�,O��S��sg�{�`ot8O��>=�ͅ{.6<[���םL����؜f.(Xb�[W'�&�BxOX��x�	��Y�����R����L�9p��j�Ҝ{v}}}|���&kK�S�|#������z̄	lI&+�h+��	&)�ܵ��NǍ�����S�Ͼ穪خD�(��ʮk8��9����kW��	G�"�|嚲�`�v5�r�`
	^J

tSNI���[p�ި1݅>H����U(e%'i�J��u����V�K�h�k�'A��׎��o������Dy�_l��B�o�*)���3�}��$�oޙ=V"����F���H �ٞ�n��|�Ñ�%7&�rs�����^2�ɗ�;��_�kK>�S��Q�B���Es=���#����(���8��8;5���g�D��X,�.N|tb-w�������p(Τ%b��2t�
��������swiA����w�M(�l_�t�E�_�JM�]���f���a%WOo���8@���i;�Z�U��ݜ��;�����L]����F5	�>#ud�l�-��n0\���.��~A��A�Zm��v�ۥ=��5i�G��3����k5%x��<x>����!0�j�^w去���uz������X��RU�MX�K+����JB�s�p�?ܩd���-2=���tg�R�!�;�t��p�pr��D���)|݅'�S�oK�%�b�{�	���pG
ܽ�c����pf%�+n����xۜ{���I�Nl�� ��?�9tg+��'Q��,�^��j…u�]��Z�
���z��C�I�"�ܦѶpt��'��9�}�D����#���Na��~v�^�ס�����>8��~td��5=����;r�LAuV���U[�.k0�D�.���|-(�����L�����ẅi@��s�}�T܅g��KIcd((e�>:�P�C7ڒ��(vg'��hk�"�9	Tz�Lu������åa���}�p�d�I�<Lm	���m(sz��+����3��jj�a�6r ��\.I����t��������:8�3��d��Rn��6���3����pҖ�Y��;�a�DJM��қ]Ɩ,�ϯ����%b�W����oZ�[=7����=�1ܟF�9�d�~+O�׫���{�Mf��s�h��\�8)(�ؾ��1I�Y��n�J����q���7��#v�����ۘ�oE�5�G��
�ء��U�K�cI�͈��,G�ֈ$�	6�2F�n]eV�/��O ��.o���[���K��p�o�t'x{����ڰ����Z�pkG�I��#�T�՚�aE{�|����t��!ěQP�،۰���-.c$S�e��í#�¶Z��ŀ4��s����㺺��uu!m�itR�bM�x�����L)�Aڹ�E;^�".�Lv�����O�V0Eڦ�j5"*]�f�Ƌ*M�6c���� �;�g)Rکu�����s��~Il�o�|�~�'��>?�2��q���7�_Y�s@1,|��#��@7Z�~�&v��pC��ђ��xL�{,�Z}m��s�?!��z�P���o�FH0��䜂{o%��z��fC�tu�+_��R�Ԫ&a�/jM�$x�yw�nti�"���Ah�'(������!e3')��bسL�p�ɛX$�]x��t���Ŷ�R��I��$�ն�"��a`�NS%�i�����a�D����.?j«o�����1Ҧ���׮�璢Ij5��@��@-�i�+��5��4K�"��s#}3,��rRɐ�o��(�U5l3E�R�o9����^z'��M�w��V�ȑ#�;�mȚ�,kK^<�wS�,�(���
�>7�&E�i2�R�1�I��n�j��,KLV�S1y<�h`&n�2����C`���K��VҀ{kn0�BZW�r���&D<p�"YZ���2ML���&O�b����;\��΢KD�xP1�}�-_~ݩE�����,/�B�}2�+�����#�MP���*wA��Jn�+m6 ~	�w�̭��R+�#"sK�l!��[T��ԅ
,WiuoD����P�چdÿ́i}�������O��@���8�m'b��L�@x��:�M��uSis:	�#�R�Y����_O��tݼb������Bp/�z�la�}���	5-y�P��MM)��u�x�=��U������;�����j��<B�id<$zx��ԋ��7�dByȴ�3�8����ȵ�+e$�셺�[�{c)_�-��?�8�X�?��+ɹ�V�3��?ns(�j&›6p�L�Oj���ݰ�6�+�5Rrǰ�"ۃ�g�[�J��F`���aã]�u�7�&'Ô$���c���t�*qiКHZI��
eۊl���"+���TMzpl�F:tR	/(~���FL ok{��ʴ��}���'��rou8�� ��D���ӆA73���c"�{Z	���U��$A������@��to���mnZ��X_�|�)��e��M���ud߾{��)�2�_�|����>]��D�!��In�,$.�.?~�P`$��������T|�����P���3�h|uc�Q>d�ݱ��P��]|augW>����X&D7�Pz��;;�z*����)���� J�m�0��F��.���O���PS�h�?S��������=���m'���-B��s[�v;9���I'���y��0�M�ƿe��,f�$Zoΰ�Lk� ��mO'<����dI y���mu��]�Ս���Nh��
�v���i��BJ�	�(o��7�����M��%�$�8�DL(M��KK�~��x��[ ��K��.G~�N�~�_�Q4IO�HӔ�2N(>�n�V�� ���x�g��٘d��;<���Bs�c��<�6k������8�f��~�7���:8j�P��tMO–�H��cC��C�w
�G�½�~���"!��T<�v���r��L��
o��܎}����5:�Oi���Tb&j�G,C���2�����8��q{��(O7KAAq,��2H��v����/�I��g+ڨ������
Y���+�h�g�V���l>;�yVXw�Q�kչDˤΘ垴#X���]�U�}�z�N{�]�OSt��0��]��4�omߞ�&���\'�n�I��#&!��v0�	�зMd��1�IӦ�D�~�OJ��d,Џ�p����f�͌�
������&	��P5%��χ]_�ƽ!�?����X	��]8�^�m�M ����k�Ne�p��~2�u]�^݃DY_W�=-����Y�J�T"N�s��%�E?�U�ݠ'	n)��i��= ��4J\�iHp��rf,ȧ#��kBe��)��L4D�C���y,":�L�[O�T:ڈ�'2�[�B'3y�&2Qn{#�-J;��&��C�m�N)��d�ٳ�3�9lmɄR��m?Ѝ���yl7�F��e琧K���;q�J�Z#�Q���m�_��5̱����L=]p*h��7�[�r�Z^��յ�d�s�����ּ���Ӯ��d6��v5t�%c� �J�fnh����K�ت��6ƒ~�|��^���1�x.��x]�� u#���
8!�}Ng�ϩCx��h���ej	��WQ��Xd=.r�+�xM�e���8��e�С;樞2
�\.��K���Yyf���o!�&����p�i�9M
�8	���+�D���􌼏�Z;d/˭� ��C�MJ8?�I��z��+�(���4G&M��ƨ`9��p�[v/�Í�y��(�-[�e����H�x?� \� R:�<>��h�cC������?p�kEz`g�6�򯐲/��'dL�0:=J6��o�wg�����C������\
�Z��)�c���J3�d�a��	}���Ew�i.�[�͎r��%��C)�	y�8T��x�$B�#��0��622rs�ѩk���0�7��l2@nZ��
�(k|�H�Cz��{z8{!�c3Է��ܟfx��a���[MYSGk6�W��jv��
�>j�7�f~���H�P���8R���b��D"!Ɉ��n��H�zSVf"�2��ؙ��~�u�2w��,D���^�f�K-os�	�"k��W�/�7��ŃB������o������yy{&�-s���Re�ݷ��Sr�t״��-�����tw��iv�2�M^��Fi�������^[��$��Z���(��Vq�(l3���Ȯ櫁�����Rzv����g�P7�L��ŌQ�a!붑6�R��#7G�\=u��7�
@S�`b9��$A�A��=�v{9����Bz"�k�y��a�Sdɯ���{��p��Z��C����2�<�[O$�]\�J�.Ґ�/��{�U��b�;hoGݪ.b7�]f ���v�(Ρ��Y��s��|���O�e��w����6�'��z�����<�	j�~��Ia�?�vv���6@�6����\��ՙD�%/s|}Y
ӬE&�F�O������9�"���
�Hb�_[���]��Y Ř�;��a�Ϥ�U��E�dobђRS	x�q�(jI�����Mh[��#)�U%a���G�P�EE)i���"wQD�@�ؑ�E�]$O�p�|ّe����!�$��M��"��UwB�? �.ҍ�^u�Yu6=�sν�>ۡ��=�����O���9�Cf�⾁$Q����{	�:aS�u���^�"�ua\��/�?.
nn��I��%-���I�;�Y�)h$�m�)/�����Pt
&���BIl�\�`���[������[������K�ؙ_ݩ��݃�~0(3:�B�Ob!3�1΋ڈ\
�°
�T��
Z���z��ccn�����ZVX�q�P�<��'�D�q����lӯن��p��hR_܅����G���I�Y��A��R�X����ő����sɫ#�}� ��d��Ӡ�U��J�
���!���ti�ݣL'���H�đ�h�@��c��!�,J] [�ݼe�;֚k�;�
��u%\��쌥���5���8�Ձ�)��ƪ
�
�ōT���G���>I�T%��C���R���
�v��6�7�+<C��u��j��q*W-�-��[�"����t�Y�t{Ь�d�x�3���'�������U��[�*`��r�A�Ϣ3�.��`��,��y�>S�uI	F}M���.���_|r�N��a�]�V��i7�ΐvg���E�X,��7>�О�md�~#�� /ЉL6Vu?/�o�t�rse�9lj�fdD�p(���4駂�2�D��hCZ��6K7'��q����w6t����R"�i\�I�6�ln�k�A� �J��*���٢,V��=W>�h�s~��6*������d�%ǖ�H{�)�\��	�o#М��f�G��_�#qm�e��CZ�%�-��ƿepv��[�����[V2���?��#����l-E�ҫ3m�$s��G���u��e�\�Vw��#.�j����9��_���
�}�}ȕܷȕd�n������x�<B�_�\#�3h��(/�Q�_D�N5�:{�l
=[ߛ�%�~0󀅻;���DJ�h�qc2_���L�	hb��v���j##�����EVY����i�%[5M�ew�D�$��;��,��t��wh���!8���'�u ���nS���*|Eꔒ,I9�;��|�\���櫒���?�
�-��v����Ɲ�z�Ct%��Av܃vY���O��P[�6nUZ�H�Z㚣��Fĕ�*Oq����"�v��F��	_����Xҳ���^�#a��׏�k���Ml�r�D7��R��&AM�c/N��E�M�}��r��ϝ��#�k�F�<m��s\��Dbh�����,*2:����Hď�tBF�&��6Ȓ� �OPl�m1''�TS���-A�)�b�z8��$�[��9�pr�������mچ�vO�g�'?W�-A�p�"�M'Ė��� �vR"����)cDJSS���ij�9���>'b�v)�n�oʝ��ԛ��r�|�
��Á+1��S��'1n&.�B�Y��D�A��VZ-�jA�r�J4�K]�,�p�[�)hq���p|���)��9Y�'�n�q����X�(X���-Bz����"�y�],�E�{��ְ2����J�}=���չ�Qt�"鞙�p��)�l��s �I	��v�I�ig�S\e�dv�Tl��!�!D���1]@X��1��U�(Hon�^�+8�����K:�;��ut&\�tVu~��|>3V�S�v��&�ɍ���=WRƎ��I�@#+2Ŗ�pV��D�O]:���}6~lq<����gU|y�7�T����a��qv�ɏ�m�j��Flf�P%�m4�g�#&��Kj%.�(���$�xa��	���b��n��d���%�}�t�u[C�n$Kh�K�n�po�v�r���"?H�3�3�b�p�];[k�v�]��COmn��)k6i��36���/1E���э$!���D(�]CYv��l��[��\x�eb<A��90�����|e�-�J�$�t��>�U	*y2Ξ�d�ǽ��\)�K?WĔ<����Tčpޤ\Q
� )��$��z�[č�:���n�m�����%�/��䞿}y�My��k^{�<�|�2��z�jee��L{����1�Nw�vÁڮ6���*�]�n�Z=��/�O���C_`.���ʶ��޼}�m��6?L[\Z"���Nt�[n��в�p3�B7��5&��
;>��ɒ\�@2�n��<��+�ii�Ev�Uv��_@�	�n'IƳ��Y�Ye�,�$�J��K­9�io�'S��edI�l�ya�<����T�v�\��9�lR%�<,'	I�_��풱"6��f�/����.��2r�I��r���r��/��4?��B/�͵c�^[y�j�뗴��%/�'&��	�0d#�v
i��Q��́?sٽ;a�4�����;v'���0'?��_{hu�m����i��6@��.l;�^���*��wQ\	�&햰��΍R 9ʲ�}y��DA�9eg��#r�`��R�5JB�lH ��݄w��L;����!�	��r9���4��x2����R��e:w�"�=ד�膫����2XGH�Y���;�K��	��aMiRtY�T�+�rA�_����x��۴���|�ǽ������������*m
WV�!��^?#��V��=Yy6��,��V�m����3���wL�C��@��:�O�ϸ�k�W��[�ٔ�*�o�
ٷ|���=Mp߾ͦ{�n���r�ҭ�[���a��pݵFA��!pC��nw���Q�j��n3�]g$I���M�mj$;"%���މi>e7�ڞv���XL��!�-<Ӄ@-�Jn1'9B� �-.N�b�ď�kcI�&��#!_��]�7'J�+�����lG�HI�L!�<ɽ�����c����]�.�J�}s�:�a�������8<y:����ێ��&�g��^�s��|�</��m���0���|�s�����}T�o�P/.NOC�Y�٘0�p&�"����fN���
8|Am	�&��z��Ru�6�a���,Jm%;aǐ��)$)��	Ւ�Co@�>����a�yqU^b��5,y?��;ݪ2�lۜ	y�Nݣ�I�ڲ�<3c�m$�Q�����;*�ѹ^�-��z�&g��~�ۈ9�*��뽮��	���ym��t�ܴW���6�e��|m�v�Cn��������_|Jw?��S�=���Gt�x�h7����1�)�z~���6�e�>qg�;t�Ɏ�i;�E���y竉n�k�}K}��"=5�h_Z�o�6�Ż~��C�}IA�IB����ܪ܍�Qa��QEǐ��u6�mew�Q�=/��)�)��� g�	���	f �&��2R
5e����i�R�VBƠv1nv�"��$�Yx5]e��̢���Nz��>�{t��{ߕ<�o��^n��6�l[�m��
-
X���|S�����&̖�����Vs�/p��/�x�<�r��H��E̔xȯ_��n(5��v.t�?��X�[�`���8���3ŵ�ܺq�η��.z��Ly�W����ߜ�Ѿ���g��G������ht�"Ɖ�����������儢��p8�jce��3wt�k��|XZmO�0{C�;�	o{���>�sP??l7��]������P�ˏ���o��=#��+��lo�r{�Rp/���@��L<�sYT���%KG�t-�G{��..��cc�0r�*p�\�d����e�,�>d�Y�:M������IKv��}b"��jcb���λ!�Q�J��'l>�)�7&�<�Jm���G:�on~��jʹ�.��i��UKe���y�8��u����
!}��
��@�K��P(˛�˄��;��5�D��Iܫ���zv��n�E�h��J2����6#}xH���<Wy�j�V�
�(� J�e7I�I�$i�Ri4*���r'�դ�k\�8�w�8��(��(��nFaЊ�Vq����I�����RA6�̣4湣5?�����!n՜T+|%�^���m��q����hV{k�
')��C�[���Y���+��eGvf��œy�e�/Yr�������>z�⳽�닋���Cε02�;u!�;.�g#7(�4~�Гu�#cr�X̔@����+1��V��+�5Gz��J�n�df��I�ӛ���l_������ar}�i�nWiN6���\�"����Zƒ�w~�-�.��,��N���qPR�8.���֞��E�ר��k�򫙛33;���2���lڛ���
P�d&!�����֦B��W�V�8�"b��En&�A�]� ���a�$;��T`'�2�3��7o��a(�!<�1�N��l(q���h~�$���}h��������uн��nC���E�t%f�庙��BJ�r��&�ʔ<�s�K�<���G쭳#Ii��#�2&�)�3��Of#���Ɯ	N眀��=g�=�I����s�?Xu�[׼
�M�b�e��|Q`��޻��xT���ɻ.��ʭ����iu�3}d_P���ݙ�����,{�\��CI�}�d0 �B�D�9B/�K��A�@��N�V�^*�ZP�6�^�
{�ܻy��{�`��{��Cc��;�M�՚�)��CBH��8
�jl"�T!��L�
�"�nl�p�nA����&�v�W�7�X۬	�W��r��˗�I"ͦhi~vdۄ�Gi��D�O�n�}"���n�"�mއv�!�s��m�n3&�}3���r�t�@e���.=`��v�-/!�Uo��r�h_v!dnr2o'g�6�rcz_�9;2�,I]���Ķ������n�uQy&���8�6G���k=�Lg2y�,��b[<���*���r�����ii�,x��D�JVn]dh�����hY��j�/$��J$�-�M�y����|@�!ҠZ���/,��=(���y�����ht`l?���}@�vp[i5�f�d���TQ�-���M	��3�A�jEQ�����Z�P5%��?Hl�W�~��4Un75^��7�RI*�/w��hi7߉T���	��H`��p&'�{k�����X��m����7g�NT��eo��2�^P#<|�|����,)��j�?~�x�\I]{A�'�U�m�!��1*�=�>E��\{�mI�Ǭ^X
�v\ք]^�X3��u��l&�f�@Ko�9$�\�:v�k �\�V6��*�?��ʥ_w�w:�շ�K���r�.V�{��{��7���:����y�hd��mK'ǂ�ʍe`��q�U����>[��<(���҆�Q�g�)n��'��&��$�5��"ڛ-�ت5[a�I��$ M.�@d��rQl�6[�6k!�M&��
�O��-iJ��VW�P5G�w�Vd��x�JU��FU�@U[Ջ�G���Ot�4&)E����~����WT9�R�M�eI�ֆc��
&��(S.	��[��w�]�t��\=�]fD�O��l��>��!���]�΄^�n�'��l�\��S�z0x|b\�A:#�����"m����j�	�
/q���h���O]�M�Ang���9#γ�zC�N��{���^!�\.޺3�逾�xs��x��r��P��D�DZa��IL��4���*��y���<	�I���7�ޔ�6�ns��<-�f9��K2��t!A
�D$`��+��������V>��2"L��U�=�&�#�+�O6 �o��
U���|U����.�5:BbU5�}"g"�ߜ�M�m�p��n9�~�{�=|aaNڽ ��
(�\㤥?�j?��Gm:�F�����[���PcRn>6�Q���l0�^��z��������a5a��U%��2��b3�
[�^L�okh��r"$�"�"v�A
�|T��׋���Oe�eH�5��q���W�K6:v�et_���?�Rg"&,�lIF�̗d��B��0?R�a,K^`X�'�A�L��z=�������%�i�}8r�ئ'�T�i�0ʭf+e|��/��b&N��c��a
��q�.�a���&��C⭄I��{aˣ�l�R�ۅ�>k���E���J�nW�~�$�7�/V3�|�4
�v3�|�a�/1�v��YLiQeX��F�'���Jy@u�hr�do}�)��v�C�6P�n+��;g����c��v��
eӍsI��&�Ι���{�ń�R�Jg��_��'���Tp�Л�Lх�2$N�y���k�jzq��`����'�ѐ �3+��!�TvB��`��앋�$۟�XĂFf<��

J~̓H�{�bP��h)�j(�ғ/�\���꫙��)�3%�$Oɶ�+5�7�D����э�|W��0���u;�V�Pjxm&E�����y�a�B��$
��*�P��K���1��ˆ��	�%��T,q]��@��e�`ar 0��=�A-c�,>�S��[�%�d��y��W�������v���}��}�v�8
1�΃K"ӹ��}	.^f"�?
����q���!.���`�'�f6B��Q��:��T c�����H�f����G�L�L�����c���1�Ɖ��A�׌K�ٵ�ԞTPr�ӏ�wF��H�_�>�-�ΰEyU�^֤6�GJ�KN���)*�����7q��LJp�{A'T�ژJM�$��`Ȅ�d�;�ጅ�6	|E׽Z_Y'xSם�t:�[��ɖ6���X��A&&lF'[����o���԰lZ��<��PbB/*>�?S�z��¿�2r�
���6677�7*�ĪI���/(&dچ��ݻ%7��/��f�ČIڨ�l���}��D9p��l�?���bm`I�S�R���A�eɓ�����B�D��_�Φ���	�b���qS�Hi� v�c���%���im���B��@p�}�w���O�n���M�-�~�֍�n��QG>�o��}��I��fw1���[ɈOBe���k7��r����@w��mT�lU�R���ٔd;�I���sC�8#�PeXM���UB�9n4�B��ene��(+;7n�w[k��3 �\��ѐ_cE���n��Z�����ӿ_i\Q��pU"�K`��^#�뵴]s���Moxnڶ���m�M�6��O���Sνg�ݣ��>��E*7{�8����<+Œ924��oC�-�oB7��4�{ໜ��^S�s�֐���)rl���3�%ӓ)��j�l<���I������ZY�u���w?V"x�=3��&����$psl�ۨ֍8�ϻ��YGJ�$n�#X�I��-yW�]s��?�%ے���ՐT۫JV���xX�u�x-�[<���%�U��P]B��Q p�����x'ܽN��S��n!7_����)Xx�@��-�S�K�^�ڻ
;&*)�,�bl�2�	�p��֙���)�f�*�vô}t�[�J����=��M��).�3ZM�œ��E����H�NMU����@�u�PbV�C�qcA��ӈ��6���<�Z<aEI������	�A��T�/y�ٸ��cu�b�7I���71��ݩ���w�L�%�6�[`�����O����ٜD�G�f19���K9���ʼ�|����3kԛ�]���Y�Kf՘�)>#�#°�2�d�+:Gac��E�c6�a���%o��tBw�q;�m]\���tD$���o��&�]V����"��$��`{��"�*�V�	�d�P�&ܮ	V�����Q�'T�p�.�S��S���fK�!)y�矛�i���M�e	��*�w	t���{�v4�W�/��k�ꀚ.A�n8wL϶���GM�~���B�U:���(�Of���������=xJ�I�n�ݕu���:Z�%��J_��٨���D�	�����Xۘ������u=V5i�\� �v0n�G���rn8x�O<P�H-��)Vz��͸/����DFF��+a�m�|���@�I��a��'U���5�M ��N1IX<���	AI�%p�@�*)C�-m���᫃�/<�.&�t�m�wM:o0�F�q�ڲ�4 Ao����T ��*�#&ɜo�~�()��ʹ�P�N
J�c�І�p�R��g��w�B�!{�$i���6d�]J�U)_��y�%h�h�((K�U·�>��j�&���+�䤹j`,��7��gS��q��Q���La�G_)��؇_LO��r�bޝX���	h!�m<Q����S��mw��5
X��-�&[�Ȉ��T��F
��\Ф�^N&���\5�^6�^׿�1~��x��\���p�����Ȃ�����e;�K$jx����JL:������q��P�P*B��F�GC+�Q��T��q���%Cﴬ�iI[���0�ׯ�>�$���R�~~Lu�MLˈ=�h��СL[�vqK�&S�g|��l-ƶ#"�UW�N�y�q��9>��؄�}¤�����=?=�h�T�2��f�C�A7v�<�301液!�^zU���?���>O��o�����i�@܇H��0�?���>�u�ڸ�C�B	��9)���H��"Y�7�Z8�VBX�s���s����۔U]����/),��W�	{� M϶u|�Xɤ��q����ޱµ����������6�W��B�AJA�r�‘=�"�[���#�$��I�'�z���ԍ���ݷ9/�K3��m�+i��,/�
�-�z���.&8��1t���$��p\%����%N�t�b���8���ѳ��m�ƞ��?=�X�d���-[�u�%�q/v��Q�42.<ӓ��B'>1o5t�WY��zL�FH"i��=J;7�������"�
'��b��eH!�v;���7LK��$���c̽�<_�:7v���Vt~p�ZЅy��&U�O���, �^�!]�N�^��v���uTo��%�u������Z�����F%�#�[�֤G�yJ��A�-��9�:i���>��nHK>4�Oj���+������c�v�C��|��]��92�l�6���
�h�ث���A(L�{{^T�'¸��x�O�g$�Ne�m[�Y>5E0����q$�}��cwl��&�%��T9䎖%��8|��c&���������|�ԁ�I��ݷ�ib�`�N�#7G�<����VT��)`i���xD���xJFӅ<*���_��|�1��t]�'��A���@���fwҤ]-�"���7�Rw?��_��N����}R��!��=�I��o"4�:'͘�R�%5��V��������+9f�0~W�I꜇��9;��{��?|K�$H�e�[�	Qv�"��ݮl="Y�v��dw�S�Qj�2䠜ļI��<��1�ss�F�Zv�n��D���M+,
�5Bn>�sJz�ϩ�4��_�rJ�9��gh�м�~�`�}}��9���˱��޻1�>�2�>��ܺ��Ȼ���JQcٲaWx;$"�l#ɇ�j�	�����>O���l[����IEND�B`�assets/images/bloglo-logo.svg000064400000006330152425655550012270 0ustar00<svg xmlns="http://www.w3.org/2000/svg" width="196" height="35" viewBox="0 0 196 35" fill="none"><path fill="#CCDCFF" d="M178.52 29c6.616 0 11.98-5.15 11.98-11.504 0-3.365-1.504-6.392-3.902-8.496L170.5 26.042c2.123 1.839 4.935 2.958 8.02 2.958ZM77.922 29c6.616 0 11.98-5.15 11.98-11.504 0-3.365-1.504-6.392-3.902-8.496L69.902 26.042C72.025 27.88 74.838 29 77.922 29Z"/><path fill="#000" d="M0 34.327V.673h16.224c4.169 0 7.28.817 9.335 2.452 2.055 1.603 3.082 3.718 3.082 6.346 0 1.73-.438 3.253-1.314 4.568-.846 1.281-2.055 2.307-3.626 3.076-1.54.738-3.384 1.106-5.529 1.106l.907-2.307c2.235 0 4.184.368 5.846 1.105 1.662.705 2.945 1.747 3.852 3.125.936 1.346 1.405 2.997 1.405 4.952 0 2.917-1.118 5.192-3.354 6.827-2.205 1.603-5.438 2.404-9.698 2.404H0Zm8.882-6.875h7.523c1.54 0 2.704-.273 3.49-.817.815-.577 1.223-1.443 1.223-2.597 0-1.153-.408-2.003-1.223-2.548-.786-.576-1.95-.865-3.49-.865H8.248v-6.586h6.798c1.51 0 2.643-.273 3.398-.818.756-.545 1.133-1.362 1.133-2.452 0-1.09-.377-1.89-1.133-2.404-.755-.544-1.888-.817-3.398-.817H8.882v19.904ZM34.83 34.327V.673h8.972V26.78h15.136v7.548H34.83ZM116.189 35c-2.508 0-4.834-.417-6.979-1.25-2.145-.865-4.003-2.083-5.574-3.654-1.541-1.57-2.749-3.413-3.626-5.529-.876-2.147-1.314-4.503-1.314-7.067s.438-4.904 1.314-7.02c.877-2.147 2.1-4.006 3.671-5.576 1.571-1.57 3.429-2.773 5.574-3.606C111.431.433 113.802 0 116.37 0c2.991 0 5.665.529 8.021 1.587 2.357 1.057 4.306 2.58 5.846 4.567l-5.71 5.48c-1.087-1.25-2.265-2.179-3.534-2.788-1.239-.64-2.629-.961-4.17-.961-1.359 0-2.598.224-3.716.673a7.648 7.648 0 0 0-2.855 1.97c-.785.834-1.405 1.844-1.858 3.03-.423 1.153-.634 2.468-.634 3.942 0 1.41.211 2.708.634 3.894.453 1.186 1.073 2.212 1.858 3.077a8.586 8.586 0 0 0 2.81 1.971c1.118.449 2.341.673 3.671.673a11.61 11.61 0 0 0 3.897-.673c1.269-.48 2.553-1.282 3.852-2.404l5.03 6.683c-1.812 1.378-3.912 2.436-6.299 3.173-2.387.737-4.728 1.106-7.024 1.106Zm5.393-5.529V16.78h7.93V30.72l-7.93-1.25ZM135.201 34.327V.673h8.973V26.78h15.136v7.548h-24.109Z"/><path fill="#000" fill-rule="evenodd" d="M78 29c6.351 0 11.5-5.149 11.5-11.5S84.351 6 78 6s-11.5 5.149-11.5 11.5S71.649 29 78 29Zm0 6c9.665 0 17.5-7.835 17.5-17.5S87.665 0 78 0 60.5 7.835 60.5 17.5 68.335 35 78 35ZM178.5 29c6.351 0 11.5-5.149 11.5-11.5S184.851 6 178.5 6 167 11.149 167 17.5 172.149 29 178.5 29Zm0 6c9.665 0 17.5-7.835 17.5-17.5S188.165 0 178.5 0 161 7.835 161 17.5 168.835 35 178.5 35Z" clip-rule="evenodd"/><path fill="#004BED" d="M178.478 14.206a4.34 4.34 0 0 1 1.033-1.295c1.556-1.322 3.964-1.192 5.366.305 1.114 1.188 1.389 2.6.957 4.176-.333 1.22-.967 2.271-1.738 3.237-1.247 1.561-2.763 2.793-4.4 3.874-.363.24-.734.466-1.106.69-.055.032-.155.041-.207.01-1.882-1.118-3.642-2.41-5.117-4.083-.884-1.003-1.617-2.11-2.054-3.407-.362-1.076-.431-2.158.023-3.219.591-1.38 1.622-2.224 3.052-2.433 1.799-.261 3.195.45 4.145 2.08.01.016.02.029.046.065ZM78.061 14.206a4.341 4.341 0 0 1 1.033-1.295c1.556-1.322 3.964-1.192 5.366.305 1.114 1.188 1.389 2.6.957 4.176-.333 1.22-.967 2.271-1.737 3.237-1.247 1.561-2.764 2.793-4.401 3.874-.363.24-.734.466-1.105.69-.056.032-.156.041-.208.01-1.882-1.118-3.642-2.41-5.117-4.083-.884-1.003-1.617-2.11-2.053-3.407-.363-1.076-.432-2.158.022-3.219.59-1.38 1.622-2.224 3.052-2.433 1.8-.261 3.195.45 4.145 2.08.01.016.02.029.046.065Z"/></svg>assets/images/bloglo-customize.svg000064400000074402152425655550013357 0ustar00<svg xmlns="http://www.w3.org/2000/svg" width="735" height="369" viewBox="0 0 735 369" fill="none"><g clip-path="url(#a)"><path fill="#EFEFEF" d="M2.999 0H572a2.992 2.992 0 0 1 2.771 1.854c.151.365.228.756.228 1.15V369H0V3.005C0 2.208.316 1.444.878.88A2.995 2.995 0 0 1 2.998 0Z"/><path fill="#fff" d="M10.6 38.12h554.57v320.69H10.6V38.12Z"/><path fill="#000" d="M2.999 0H572c.394 0 .784.079 1.148.233.364.154.695.38.973.665.279.285.5.624.65.996.151.373.228.772.228 1.175V25H0V3.069c0-.814.316-1.595.878-2.17A2.964 2.964 0 0 1 2.998 0Z"/><path fill="#fff" d="M525.588 17a4.636 4.636 0 0 0 3.244-1.318 4.458 4.458 0 0 0 1.343-3.182 4.457 4.457 0 0 0-1.343-3.182A4.636 4.636 0 0 0 525.588 8a4.632 4.632 0 0 0-3.244 1.318A4.454 4.454 0 0 0 521 12.5c0 1.194.483 2.338 1.344 3.182A4.632 4.632 0 0 0 525.588 17ZM543 17a4.632 4.632 0 0 0 3.244-1.318 4.454 4.454 0 0 0 1.344-3.182 4.454 4.454 0 0 0-1.344-3.182A4.632 4.632 0 0 0 543 8a4.632 4.632 0 0 0-3.243 1.318 4.454 4.454 0 0 0-1.344 3.182c0 1.194.483 2.338 1.344 3.182A4.632 4.632 0 0 0 543 17Zm17.412 0a4.632 4.632 0 0 0 3.244-1.318A4.454 4.454 0 0 0 565 12.5a4.454 4.454 0 0 0-1.344-3.182A4.632 4.632 0 0 0 560.412 8a4.636 4.636 0 0 0-3.244 1.318 4.457 4.457 0 0 0-1.343 3.182c0 1.194.483 2.338 1.343 3.182A4.636 4.636 0 0 0 560.412 17Z"/><path fill="#FFE2C6" d="M66 78h139v110H66V78Zm304 172h139v11H370v-11Zm0 18h139v11H370v-11Zm0 19h139v11H370v-11Zm0 18h72v11h-72v-11ZM229.401 77.709h116.138v65.535H229.401V77.709ZM370 78h140v152H370V78Z"/><path fill="#004bed" d="M345.539 163.494H229.401v66.512h116.138v-66.512Z"/><path fill="#FFE2C6" d="M66 212h140v104H66V212Zm279.539 38H229.401v66h116.138v-66Z"/><path fill="#0D1218" d="M640 162.4h-1.488v-40.792a23.622 23.622 0 0 0-6.909-16.693A23.577 23.577 0 0 0 614.926 98h-86.339a23.581 23.581 0 0 0-16.678 6.915A23.626 23.626 0 0 0 505 121.608v223.784a23.624 23.624 0 0 0 6.909 16.693A23.577 23.577 0 0 0 528.587 369h86.339a23.563 23.563 0 0 0 13.104-3.977 23.621 23.621 0 0 0 10.482-19.631V191.435H640V162.4Z"/><path fill="#fff" d="M556.467 106a2.5 2.5 0 1 0 0 5h23a2.5 2.5 0 1 0 0-5h-23Zm32 5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"/><path fill="#fff" d="M633.538 122.656v223.545a17.627 17.627 0 0 1-5.164 12.473 17.648 17.648 0 0 1-12.472 5.168h-86.873a17.648 17.648 0 0 1-12.472-5.168 17.644 17.644 0 0 1-5.164-12.473V122.656a17.639 17.639 0 0 1 17.636-17.635h10.538a8.382 8.382 0 0 0 7.76 11.542h49.53a8.381 8.381 0 0 0 7.759-11.542h11.285a17.636 17.636 0 0 1 17.637 17.635Z"/><path fill="#FFE2C6" d="M531.5 156c-5.799 0-10.5-4.701-10.5-10.5s4.701-10.5 10.5-10.5 10.5 4.701 10.5 10.5-4.701 10.5-10.5 10.5Zm91.5-21h-75v3h75v-3Zm0 9h-75v3h75v-3Zm-75 9h75v3h-75v-3Zm-16.5 170c-5.799 0-10.5-4.701-10.5-10.5s4.701-10.5 10.5-10.5 10.5 4.701 10.5 10.5-4.701 10.5-10.5 10.5Zm16.5-21h75v3h-75v-3Zm75 9h-75v3h75v-3Zm-75 9h75v3h-75v-3Zm-27 18h102v3H521v-3Zm0 9h53v3h-53v-3Z"/><path fill="#FFE2C6" fill-rule="evenodd" d="M593.122 209.073c-1.295.255-2.088 1.27-1.843 2.36.117.519.441 1.13.781 1.468.214.214.487.35 1.096.548.446.144.904.311 1.019.37.372.192.979.882 1.237 1.404.458.929.544 1.412.542 3.059-.001 1.339-.025 1.587-.235 2.479-.306 1.299-.766 2.542-1.47 3.967l-.571 1.157.545-.573c2.449-2.578 4.08-7.317 3.763-10.929-.135-1.531-.57-2.754-1.348-3.786-.65-.862-1.461-1.372-2.435-1.531-.544-.089-.594-.089-1.081.007Zm23.862.118c-.145.062-.303.187-.352.279-.05.092-.09.604-.09 1.148 0 2.057-.805 3.838-2.559 5.661-1.963 2.04-4.821 3.654-8.831 4.987-.729.242-1.251.442-1.159.443.351.006 2.279-.346 3.431-.626 2.44-.593 4.708-1.468 5.962-2.299.737-.489 1.993-1.802 2.607-2.725.535-.805 1.27-2.279 1.54-3.088.46-1.383.552-2.697.231-3.321-.253-.494-.44-.603-.78-.459Zm3.831 1.506c-.101.448-.376.695-1.199 1.079-.957.446-1.28.683-1.545 1.135-.227.385-.41 1.149-.254 1.058.05-.03.316-.247.589-.482.665-.573 1.546-1.21 1.599-1.157.074.074-.244.37-1.123 1.047-.467.36-.849.694-.849.741 0 .125.459.011.953-.237.569-.286 1.534-1.271 1.801-1.838.294-.625.349-.983.206-1.327l-.118-.284-.06.265Zm-14.512 1.299a.772.772 0 0 0-.018.31c.038.273.525.326.607.067.105-.33-.467-.696-.589-.377Zm5.055.831c-.097.149-.154.523-.204 1.343-.037.626-.114 1.268-.169 1.427-.379 1.088-2.424 3.034-4.455 4.239-.368.218-1.21.642-1.873.943-.662.3-1.192.558-1.177.573.015.014.571-.14 1.237-.343 2.668-.814 4.595-1.85 5.974-3.21 1.816-1.79 2.509-4.049 1.539-5.016-.239-.239-.701-.216-.872.044Zm-12.285.199c-.258.258-.218.63.147 1.376.802 1.639.781 3.329-.067 5.346-.604 1.435-1.77 3.065-3.237 4.522l-.953.946.87-.653c1.04-.781 2.49-2.169 3.107-2.973 1.286-1.675 1.958-3.329 2.077-5.114.131-1.951-.475-3.415-1.48-3.578-.224-.036-.328-.008-.464.128Zm6.914.883c-.164.163-.164.281-.002.512.141.2.442.243.6.085.147-.146.121-.434-.052-.59-.19-.172-.379-.175-.546-.007Zm13.631 1.061c-.174.589-.51.814-1.829 1.225-1.261.393-1.823.759-2.254 1.468-.158.259-.413 1.006-.362 1.058.021.021.496-.26 1.056-.625 1.103-.72 2.122-1.301 2.18-1.243.09.09-.594.608-1.618 1.224-1.181.711-1.393.868-1.299.962.032.031.29.014.575-.039 1.405-.26 3.049-1.583 3.682-2.963.164-.357.2-.545.17-.866-.055-.567-.17-.643-.301-.201Zm-12.698.169c-.07.152-.069.326.001.675.052.259.095.618.095.797 0 .916-1.563 2.746-3.432 4.018-.408.278-.705.504-.661.504.124 0 1.85-.974 2.312-1.305 1.881-1.345 2.936-3.01 2.682-4.23-.118-.568-.803-.883-.997-.459Zm-1.556.371c-.203.203-.216.398-.041.647.236.336.865.171.865-.226 0-.196-.242-.471-.472-.538-.125-.036-.236.001-.352.117Zm-1.035 1.675c-.177.252-.163.369.074.605.247.246.406.256.625.038.211-.211.21-.417-.003-.646-.218-.233-.532-.231-.696.003Zm-1.087 1.506c-.114.174-.117.235-.022.432.154.321.508.435.729.236.214-.193.215-.493.002-.705-.229-.228-.545-.212-.709.037Zm-10.142.485c0 .02.056.194.124.387.341.965.047 1.64-1.394 3.198-1.249 1.351-1.66 2.077-1.802 3.187-.073.57.045 1.553.249 2.076.091.232.108.208.654-.909.886-1.814 1.574-3.093 1.926-3.584.298-.415.326-.434.326-.229 0 .368-.353 1.191-1.036 2.418-.787 1.413-1.201 2.26-1.201 2.458 0 .141.014.142.264.013.146-.075.467-.327.715-.56 1.741-1.64 2.87-5.371 2.199-7.274-.17-.483-.465-.894-.765-1.067-.143-.082-.259-.133-.259-.114Zm8.825.797c-.188.207-.115.532.16.712.505.33.925-.314.488-.749-.173-.173-.473-.156-.648.037Zm10.577-.037c-.439.121-1.458.708-1.303.75.046.012.586.063 1.201.113 1.388.113 2.631.327 2.474.426-.174.11-.663.088-2.046-.092-1.408-.183-1.696-.147-1.263.16.49.348 1.149.524 2.126.565 1.171.049 1.952-.081 2.689-.448.585-.292.852-.564.955-.972l.058-.231-.353.233c-.481.318-.984.304-1.865-.049-1.343-.54-1.975-.648-2.673-.455Zm-11.984 1.216c-.177.252-.162.369.075.605.246.246.406.256.625.037.211-.21.21-.417-.004-.645-.217-.233-.531-.232-.696.003Zm4.707.845c-.063.164.031.293.213.293.163 0 .251-.142.192-.31-.05-.142-.348-.13-.405.017Zm-6.138.135c-.25.093-.326.435-.155.696.196.298.676.293.813-.008.183-.401-.24-.843-.658-.688Zm3.553.172c.018.129.082.193.193.193.247 0 .222-.323-.027-.358-.161-.023-.189.005-.166.165Zm5.151.028c-.028.075.002.191.069.257.166.165.414.058.382-.165-.031-.219-.375-.29-.451-.092Zm-4.461.42c-2.67.263-4.691.833-6.502 1.834-2.015 1.114-3.486 2.273-6.503 5.129-1.172 1.109-2.461 2.195-3.399 2.864-1.236.88-2.44 1.251-3.836 1.181-.588-.03-.852-.092-1.463-.344-1.041-.429-1.026-.427-.704-.142.364.322 1.145.698 1.739.839.616.145 1.983.124 2.692-.041 1.699-.396 2.918-1.133 4.929-2.979 1.074-.986 1.016-.969 2.021-.604 1.144.414 1.555 1.359 1.039 2.384-.239.474-.751.883-1.188.948-.725.109-1.54-.514-1.54-1.176 0-.64.524-1.087 1.091-.931.446.123.606.359.575.847-.011.171-.368.555-.515.555-.054 0 0-.092.12-.203.277-.255.283-.568.016-.834-.268-.268-.501-.256-.797.039-.324.323-.325.679-.004 1 .309.308.604.377.987.232.34-.13.677-.619.679-.989.004-.625-.542-1.184-1.244-1.274-.487-.063-1.024.206-1.352.677-.616.885-.342 2.021.633 2.622.315.194.515.25 1.011.282.55.035.668.015 1.08-.187.55-.268 1.025-.823 1.275-1.492.338-.899.165-1.606-.576-2.361-.262-.268-.457-.487-.433-.487.108 0 .671.383.952.648.409.386.526.743.396 1.207-.084.299-.079.395.033.611.427.823 1.457.38 1.457-.626 0-.212-.09-.47-.269-.77-.503-.842-1.76-1.467-3.11-1.547-.378-.022-.676-.065-.663-.095.014-.03.416-.421.894-.868 2.591-2.42 4.724-3.811 6.917-4.51.692-.221.92-.258 1.384-.226 1.386.095 2.387 1.154 2.384 2.522a2.146 2.146 0 0 1-1.5 2.03c-.525.169-.741.171-1.129.009-.393-.164-.581-.338-.775-.716-.423-.827.06-1.553 1.031-1.553.279 0 .437.052.609.199.218.188.232.238.224.823-.009.681.039.713.439.286.625-.667.56-1.559-.159-2.172-.79-.675-2.07-.524-2.892.34-.511.537-.609.803-.609 1.639 0 .646.03.8.221 1.162.23.436.719.933 1.119 1.138.395.202 1.152.319 1.662.257 1.123-.136 1.866-.635 2.359-1.582.804-1.546.584-3.009-.619-4.12l-.514-.475.288.05c.158.027.511.075.784.106 1.048.119 2.582.746 3.48 1.421.582.439 1.79 1.972 2.187 2.776.572 1.16.774 1.99.785 3.234.008.912-.02 1.168-.184 1.694-.607 1.94-1.763 3.073-3.391 3.325-1.369.211-3.018-.478-3.738-1.562-.271-.409-.333-.927-.118-.997.059-.02.081.029.055.126-.048.185.168.43.379.43.209 0 .421-.264.421-.523 0-.323-.269-.551-.65-.551-.482 0-.627.206-.571.815.1 1.101 1.216 2.176 2.638 2.541.67.172 1.765.11 2.427-.138 1.312-.489 2.422-1.924 2.876-3.716.145-.57.168-.849.133-1.604-.059-1.273-.404-2.392-1.099-3.57-.226-.382-.242-.432-.075-.237.343.403 1.005 1.847 1.19 2.598.426 1.727.06 3.625-.986 5.111-.66.938-1.49 1.553-2.433 1.803-.543.145-1.63.146-2.166.003-1.347-.36-2.413-1.388-2.743-2.647l-.11-.422.033.64c.054 1.073.493 1.806 1.468 2.455.717.478 1.424.678 2.388.676 2.191-.003 3.823-1.131 4.85-3.351 1.603-3.466-.554-8.23-4.603-10.166-.725-.347-.626-.363.774-.124 2.593.441 4.814 1.574 6.793 3.465 3.875 3.702 4.898 8.877 2.576 13.03-.279.499-1.072 1.596-1.457 2.016-.664.725-1.772 1.393-2.89 1.743-.523.164-.79.193-1.736.191-1.318-.003-1.821-.117-2.974-.671-1.707-.823-3.018-2.663-3.081-4.326-.01-.259-.019-.246-.087.124-.219 1.194.26 2.776 1.134 3.746 2.563 2.844 7.617 2.731 10.546-.237.24-.244.498-.547.573-.674.076-.128.162-.232.191-.232.03 0 .223.349.429.775.55 1.134 1.065 1.866 1.797 2.553.692.65 1.577 1.175 2.127 1.263.661.105 1.214-.335 1.029-.82-.092-.242-.457-.536-.742-.599-1.508-.329-2.723-1.167-3.906-2.695l-.565-.728.338-.508c.996-1.496 1.506-3.268 1.504-5.232-.001-1.362-.158-2.346-.574-3.595-1.541-4.622-5.469-8.249-10.1-9.324-1.52-.353-3.797-.568-4.887-.461Zm7 .322c-.204.246.127.576.373.372.157-.129.155-.203-.007-.365-.162-.161-.236-.163-.366-.007Zm-28.466.491c-.704.16-1.364.501-1.824.94l-.388.371-.245-.305c-.835-1.037-2.051-.597-2.884 1.045-.374.737-.492 1.311-.492 2.402-.002 2.016.556 3.722 1.601 4.893.493.553.419.533-.372-.105-2.167-1.747-3.297-4.059-2.875-5.885.108-.469.053-.688-.211-.828-.189-.101-.23-.094-.408.073-.656.615-.436 2.661.486 4.512.553 1.109 1.112 1.803 1.935 2.403.733.534 2.427 1.376 3.668 1.823l.878.317.083.629c.198 1.497 1.084 2.501 2.389 2.707.271.043.509.063.529.044.02-.019-.099-.173-.264-.343-.546-.56-.567-.946-.074-1.36.137-.115.792-.491 1.454-.835 1.869-.971 2.839-1.629 3.229-2.19.119-.172.216-.338.216-.371 0-.032-.196.04-.435.161-1.34.678-3.361 1.041-4.795.862-1.4-.175-2.297-.646-3.344-1.756-1.293-1.371-1.79-3.081-1.372-4.714.324-1.262.944-2.053 2.028-2.588 1.387-.683 2.86-.556 3.847.334.301.272.676.867.798 1.269.054.177.044.185-.122.096-.316-.169-1.046-.139-1.305.053-.413.307-.56.664-.56 1.357 0 .539.031.672.221.958.312.471.714.648 1.477.648.512 0 .704-.041 1.09-.23.617-.302 1.112-.792 1.383-1.369.196-.417.219-.565.219-1.378 0-.862-.014-.94-.27-1.459-.48-.971-1.54-1.766-2.795-2.095-.709-.186-1.881-.226-2.496-.086Zm30.742.796c-.079.248.155.483.355.357.079-.05.144-.18.144-.288 0-.277-.415-.335-.499-.069Zm-3.478.84c1.525 1.286 2.633 2.582 3.185 3.726.904 1.872 1.023 3.757.417 6.609-.318 1.493-.374 2.125-.255 2.835.192 1.136.958 2.204 1.753 2.441.878.262 1.779-.685 2.227-2.342.759-2.805.141-5.774-1.806-8.669-1.267-1.885-3.193-3.635-5.004-4.547-.856-.431-.98-.444-.517-.053Zm5.643.603c-.073.074-.134.166-.134.205 0 .128.266.339.395.314.205-.041.323-.29.217-.459-.124-.197-.316-.221-.478-.06Zm-43.655.17c-.235.61.319 1.754 1.098 2.269.632.418.638.272.015-.382-.328-.345-.571-.652-.54-.682.032-.03.337.243.678.607l.621.661-.039-.385c-.052-.507-.282-.812-.913-1.209-.608-.383-.735-.519-.752-.801-.013-.236-.093-.273-.168-.078Zm38.178.944c.083.091.131.165.109.165-.023 0-.109-.074-.192-.165-.082-.091-.131-.165-.108-.165.023 0 .109.074.191.165Zm7.255.777c-.23.276.18.685.457.456.069-.057.113-.2.1-.317-.019-.16-.079-.22-.239-.239-.118-.013-.261.031-.318.1Zm-45.477 1.032c-.251.46.09 1.323.839 2.121.47.502 1.169.945 1.49.945.238 0 .173-.098-.325-.495-.698-.557-1.182-1.003-1.182-1.091 0-.105.406.191 1.201.874.703.605.793.604.628-.004-.146-.54-.526-.903-1.36-1.3-.841-.4-1.041-.574-1.126-.976l-.057-.272-.108.198Zm46.931 1.175c-.141.2-.099.373.117.489.207.11.402.018.462-.219.1-.398-.344-.604-.579-.27Zm.989 2.352c-.25.249-.106.614.242.614.349 0 .493-.365.243-.614-.072-.072-.181-.13-.243-.13-.061 0-.171.058-.242.13Zm-47.098.356c0 .278.458.713 1.011.961.69.309 1.928.39 2.519.165.542-.206.338-.286-.755-.294-.502-.004-.986-.039-1.077-.079-.103-.044.302-.073 1.069-.076l1.234-.006-.157-.174c-.213-.235-.694-.472-1.084-.534-.204-.032-.586.012-1.05.122-.946.224-1.146.218-1.455-.041-.243-.204-.255-.206-.255-.044Zm4.741 1.791c-.241.064-.841.327-1.335.584-1.064.552-1.521.635-2.034.368-.179-.093-.34-.154-.358-.137-.084.084.265.566.541.748.512.337 1.008.47 1.928.517 1.453.074 2.908-.328 3.516-.974l.249-.263-.397.057c-.218.031-.814.165-1.325.298-1.002.259-2.064.406-1.923.264.142-.142 1.115-.42 2.237-.639 1.66-.324 1.525-.271 1.194-.474-.384-.236-1.184-.479-1.554-.472-.167.003-.5.058-.739.123Zm42.793.388c-.208.167-.237.372-.079.566.2.247.564.164.642-.147.043-.17.013-.254-.132-.371-.222-.179-.263-.184-.431-.048Zm-.266 2.666c-.292.291-.006.77.399.669.237-.06.37-.408.236-.621-.114-.182-.473-.209-.635-.048Zm-.652 2.457c-.25.193-.217.612.058.737.443.201.833-.378.474-.703-.181-.163-.349-.174-.532-.034Zm-1.061 2.013c1.623 1.909 4.166 2.923 6.692 2.667 2.444-.247 3.849-.99 3.849-2.037 0-.449-.307-.702-.903-.743-.45-.031-.543-.002-1.487.463-2.221 1.096-3.806 1.317-5.645.788a7.761 7.761 0 0 1-2.212-1.044c-.454-.304-.479-.312-.294-.094Zm-.772 1.116c-.065.497-.412 1.291-.728 1.667-.107.127-.455.406-.774.621-.498.336-.583.428-.606.663-.034.356.104.511.456.511.413 0 1.099-.669 1.484-1.446.322-.651.445-1.523.303-2.149l-.075-.331-.06.464Zm.391.239c.183.713.245 1.676.147 2.311-.195 1.275-.513 1.919-1.522 3.089-.58.672-.727.977-.58 1.203.117.181.529.148.884-.071.372-.229.999-1.17 1.307-1.961.493-1.266.503-2.679.028-4.068-.204-.599-.37-.914-.264-.503Zm-12.728 1.063c-.7.46-.791 1.401-.197 2.047.286.312.814.454 1.099.296.112-.063.055-.074-.226-.042-.334.038-.408.013-.678-.222-.776-.68-.495-1.855.469-1.963.312-.035.495.016 1.199.338 1.867.854 3.906 1.192 5.345.885.645-.137.545-.207-.122-.085-1.149.21-2.69-.089-4.655-.904-1.341-.556-1.809-.63-2.234-.35Z" clip-rule="evenodd"/><path fill="#FFE2C6" fill-rule="evenodd" d="M551.858 209.073c1.296.255 2.088 1.27 1.843 2.36-.117.519-.441 1.13-.78 1.468-.215.214-.487.35-1.096.548-.446.144-.905.311-1.019.37-.372.192-.98.882-1.238 1.404-.458.929-.543 1.412-.542 3.059.002 1.339.025 1.587.235 2.479.306 1.299.767 2.542 1.47 3.967l.571 1.157-.545-.573c-2.448-2.578-4.08-7.317-3.762-10.929.134-1.531.57-2.754 1.348-3.786.649-.862 1.461-1.372 2.434-1.531.544-.089.594-.089 1.081.007Zm-23.861.118c.144.062.303.187.352.279.049.092.089.604.089 1.148 0 2.057.805 3.838 2.559 5.661 1.963 2.04 4.822 3.654 8.831 4.987.729.242 1.251.442 1.16.443-.352.006-2.28-.346-3.432-.626-2.439-.593-4.708-1.468-5.962-2.299-.736-.489-1.992-1.802-2.607-2.725-.535-.805-1.27-2.279-1.539-3.088-.46-1.383-.552-2.697-.232-3.321.254-.494.441-.603.781-.459Zm-3.832 1.506c.101.448.376.695 1.2 1.079.956.446 1.28.683 1.545 1.135.226.385.41 1.149.254 1.058a10.419 10.419 0 0 1-.59-.482c-.664-.573-1.545-1.21-1.599-1.157-.073.074.244.37 1.123 1.047.467.36.849.694.849.741 0 .125-.459.011-.952-.237-.569-.286-1.535-1.271-1.801-1.838-.294-.625-.35-.983-.207-1.327l.118-.284.06.265Zm14.513 1.299a.755.755 0 0 1 .018.31c-.039.273-.525.326-.608.067-.105-.33.467-.696.59-.377Zm-5.056.831c.098.149.155.523.204 1.343.038.626.114 1.268.17 1.427.379 1.088 2.423 3.034 4.454 4.239.368.218 1.211.642 1.873.943.663.3 1.192.558 1.178.573-.015.014-.572-.14-1.237-.343-2.669-.814-4.596-1.85-5.975-3.21-1.816-1.79-2.508-4.049-1.539-5.016.24-.239.701-.216.872.044Zm12.285.199c.259.258.219.63-.146 1.376-.803 1.639-.781 3.329.067 5.346.603 1.435 1.77 3.065 3.236 4.522l.953.946-.87-.653c-1.039-.781-2.49-2.169-3.107-2.973-1.286-1.675-1.958-3.329-2.077-5.114-.13-1.951.476-3.415 1.481-3.578.224-.036.327-.008.463.128Zm-6.913.883c.164.163.164.281.001.512-.14.2-.442.243-.6.085-.146-.146-.121-.434.052-.59.19-.172.379-.175.547-.007Zm-13.632 1.061c.175.589.511.814 1.829 1.225 1.262.393 1.824.759 2.254 1.468.158.259.414 1.006.362 1.058-.021.021-.496-.26-1.056-.625-1.102-.72-2.122-1.301-2.179-1.243-.091.09.593.608 1.618 1.224 1.18.711 1.393.868 1.299.962-.032.031-.291.014-.575-.039-1.405-.26-3.049-1.583-3.682-2.963-.164-.357-.201-.545-.17-.866.054-.567.169-.643.3-.201Zm12.699.169c.069.152.069.326-.002.675a5.207 5.207 0 0 0-.095.797c0 .916 1.564 2.746 3.433 4.018.407.278.704.504.661.504-.124 0-1.851-.974-2.313-1.305-1.88-1.345-2.935-3.01-2.682-4.23.118-.568.804-.883.998-.459Zm1.556.371c.203.203.215.398.041.647-.236.336-.865.171-.865-.226 0-.196.241-.471.472-.538.124-.036.236.001.352.117Zm1.035 1.675c.177.252.162.369-.075.605-.246.246-.406.256-.625.038-.211-.211-.21-.417.004-.646.217-.233.531-.231.696.003Zm1.086 1.506c.114.174.117.235.023.432-.155.321-.508.435-.729.236-.214-.193-.215-.493-.003-.705.229-.228.546-.212.709.037Zm10.143.485c0 .02-.056.194-.124.387-.342.965-.047 1.64 1.394 3.198 1.248 1.351 1.659 2.077 1.802 3.187.073.57-.045 1.553-.25 2.076-.09.232-.107.208-.653-.909-.887-1.814-1.574-3.093-1.927-3.584-.297-.415-.325-.434-.325-.229 0 .368.352 1.191 1.036 2.418.787 1.413 1.201 2.26 1.201 2.458 0 .141-.015.142-.265.013-.145-.075-.467-.327-.714-.56-1.742-1.64-2.87-5.371-2.2-7.274.171-.483.465-.894.766-1.067.142-.082.259-.133.259-.114Zm-8.825.797c.188.207.115.532-.16.712-.505.33-.925-.314-.489-.749.174-.173.474-.156.649.037Zm-10.577-.037c.438.121 1.457.708 1.302.75-.045.012-.586.063-1.201.113-1.387.113-2.63.327-2.473.426.173.11.663.088 2.045-.092 1.409-.183 1.696-.147 1.264.16-.49.348-1.15.524-2.127.565-1.17.049-1.952-.081-2.689-.448-.585-.292-.852-.564-.954-.972l-.058-.231.352.233c.482.318.984.304 1.865-.049 1.343-.54 1.976-.648 2.674-.455Zm11.983 1.216c.177.252.163.369-.074.605-.247.246-.407.256-.625.037-.211-.21-.21-.417.003-.645.218-.233.531-.232.696.003Zm-4.707.845c.063.164-.03.293-.213.293-.163 0-.251-.142-.192-.31.05-.142.349-.13.405.017Zm6.138.135c.25.093.326.435.155.696-.195.298-.675.293-.813-.008-.183-.401.241-.843.658-.688Zm-3.552.172c-.019.129-.083.193-.193.193-.247 0-.223-.323.027-.358.161-.023.188.005.166.165Zm-5.152.028c.029.075-.002.191-.068.257-.166.165-.415.058-.383-.165.032-.219.375-.29.451-.092Zm4.462.42c2.669.263 4.691.833 6.502 1.834 2.015 1.114 3.486 2.273 6.503 5.129 1.172 1.109 2.461 2.195 3.399 2.864 1.236.88 2.44 1.251 3.836 1.181.588-.03.851-.092 1.463-.344 1.04-.429 1.026-.427.704-.142-.365.322-1.146.698-1.74.839-.616.145-1.982.124-2.692-.041-1.699-.396-2.917-1.133-4.929-2.979-1.074-.986-1.015-.969-2.02-.604-1.144.414-1.556 1.359-1.039 2.384.238.474.751.883 1.188.948.725.109 1.54-.514 1.54-1.176 0-.64-.525-1.087-1.092-.931-.445.123-.606.359-.574.847.011.171.367.555.515.555.054 0 0-.092-.121-.203-.276-.255-.282-.568-.016-.834.268-.268.502-.256.797.039.324.323.326.679.004 1-.308.308-.603.377-.986.232-.34-.13-.677-.619-.68-.989-.003-.625.542-1.184 1.244-1.274.487-.063 1.025.206 1.352.677.617.885.343 2.021-.633 2.622-.314.194-.514.25-1.01.282-.551.035-.669.015-1.081-.187-.55-.268-1.024-.823-1.275-1.492-.337-.899-.165-1.606.576-2.361.263-.268.458-.487.434-.487-.109 0-.672.383-.953.648-.409.386-.526.743-.395 1.207.083.299.078.395-.034.611-.427.823-1.456.38-1.456-.626 0-.212.09-.47.269-.77.502-.842 1.76-1.467 3.109-1.547.378-.022.676-.065.663-.095-.013-.03-.415-.421-.894-.868-2.591-2.42-4.724-3.811-6.917-4.51-.692-.221-.919-.258-1.384-.226-1.385.095-2.386 1.154-2.384 2.522.002.92.61 1.743 1.5 2.03.526.169.741.171 1.129.009.394-.164.582-.338.776-.716.422-.827-.06-1.553-1.032-1.553-.278 0-.437.052-.609.199-.218.188-.232.238-.224.823.01.681-.039.713-.439.286-.625-.667-.559-1.559.159-2.172.79-.675 2.07-.524 2.893.34.51.537.609.803.608 1.639 0 .646-.029.8-.221 1.162-.229.436-.718.933-1.119 1.138-.394.202-1.151.319-1.662.257-1.122-.136-1.866-.635-2.358-1.582-.804-1.546-.585-3.009.618-4.12l.514-.475-.287.05c-.158.027-.512.075-.785.106-1.047.119-2.581.746-3.479 1.421-.583.439-1.791 1.972-2.187 2.776-.573 1.16-.774 1.99-.785 3.234-.008.912.019 1.168.184 1.694.607 1.94 1.762 3.073 3.391 3.325 1.369.211 3.018-.478 3.738-1.562.271-.409.332-.927.118-.997-.06-.02-.081.029-.056.126.049.185-.168.43-.379.43-.208 0-.421-.264-.421-.523 0-.323.27-.551.65-.551.483 0 .627.206.572.815-.1 1.101-1.217 2.176-2.639 2.541-.67.172-1.765.11-2.427-.138-1.311-.489-2.422-1.924-2.876-3.716-.144-.57-.167-.849-.132-1.604.059-1.273.403-2.392 1.099-3.57.226-.382.241-.432.075-.237-.344.403-1.005 1.847-1.191 2.598-.426 1.727-.059 3.625.986 5.111.661.938 1.49 1.553 2.433 1.803.544.145 1.631.146 2.166.003 1.348-.36 2.414-1.388 2.743-2.647l.111-.422-.033.64c-.055 1.073-.493 1.806-1.468 2.455-.717.478-1.424.678-2.388.676-2.192-.003-3.823-1.131-4.85-3.351-1.604-3.466.554-8.23 4.603-10.166.725-.347.625-.363-.775-.124-2.592.441-4.814 1.574-6.793 3.465-3.875 3.702-4.898 8.877-2.576 13.03.28.499 1.072 1.596 1.457 2.016.664.725 1.772 1.393 2.89 1.743.523.164.79.193 1.736.191 1.319-.003 1.821-.117 2.974-.671 1.708-.823 3.019-2.663 3.082-4.326.01-.259.019-.246.087.124.219 1.194-.26 2.776-1.134 3.746-2.564 2.844-7.618 2.731-10.546-.237-.24-.244-.498-.547-.574-.674-.075-.128-.161-.232-.191-.232-.029 0-.222.349-.429.775-.549 1.134-1.065 1.866-1.796 2.553-.693.65-1.578 1.175-2.127 1.263-.662.105-1.215-.335-1.03-.82.093-.242.457-.536.743-.599 1.508-.329 2.722-1.167 3.906-2.695l.564-.728-.338-.508c-.996-1.496-1.505-3.268-1.504-5.232.001-1.362.158-2.346.575-3.595 1.541-4.622 5.469-8.249 10.099-9.324 1.521-.353 3.798-.568 4.888-.461Zm-7.001.322c.205.246-.126.576-.373.372-.156-.129-.155-.203.007-.365.162-.161.236-.163.366-.007Zm28.467.491c.703.16 1.364.501 1.823.94l.389.371.245-.305c.834-1.037 2.05-.597 2.883 1.045.374.737.492 1.311.493 2.402.001 2.016-.557 3.722-1.601 4.893-.493.553-.419.533.371-.105 2.167-1.747 3.297-4.059 2.875-5.885-.108-.469-.052-.688.212-.828.188-.101.23-.094.407.073.657.615.436 2.661-.486 4.512-.553 1.109-1.112 1.803-1.934 2.403-.734.534-2.428 1.376-3.668 1.823l-.879.317-.083.629c-.198 1.497-1.084 2.501-2.389 2.707-.271.043-.509.063-.528.044-.02-.019.099-.173.264-.343.545-.56.566-.946.074-1.36-.138-.115-.792-.491-1.455-.835-1.868-.971-2.838-1.629-3.228-2.19-.119-.172-.217-.338-.217-.371 0-.032.196.04.435.161 1.34.678 3.362 1.041 4.795.862 1.4-.175 2.297-.646 3.344-1.756 1.293-1.371 1.791-3.081 1.372-4.714-.323-1.262-.943-2.053-2.027-2.588-1.387-.683-2.86-.556-3.848.334-.301.272-.675.867-.797 1.269-.054.177-.044.185.121.096.317-.169 1.046-.139 1.305.053.413.307.56.664.56 1.357 0 .539-.03.672-.22.958-.312.471-.715.648-1.478.648-.511 0-.704-.041-1.09-.23-.616-.302-1.111-.792-1.382-1.369-.196-.417-.22-.565-.22-1.378 0-.862.015-.94.271-1.459.479-.971 1.54-1.766 2.794-2.095.709-.186 1.881-.226 2.497-.086Zm-30.743.796c.079.248-.154.483-.355.357-.079-.05-.143-.18-.143-.288 0-.277.414-.335.498-.069Zm3.478.84c-1.525 1.286-2.632 2.582-3.185 3.726-.903 1.872-1.022 3.757-.416 6.609.317 1.493.374 2.125.254 2.835-.192 1.136-.958 2.204-1.753 2.441-.877.262-1.779-.685-2.227-2.342-.759-2.805-.14-5.774 1.806-8.669 1.268-1.885 3.194-3.635 5.004-4.547.857-.431.98-.444.517-.053Zm-5.643.603c.074.074.134.166.134.205 0 .128-.265.339-.394.314-.206-.041-.324-.29-.218-.459.125-.197.317-.221.478-.06Zm43.656.17c.234.61-.32 1.754-1.098 2.269-.633.418-.638.272-.015-.382.328-.345.571-.652.539-.682-.031-.03-.336.243-.678.607l-.621.661.039-.385c.052-.507.282-.812.913-1.209.608-.383.736-.519.752-.801.014-.236.094-.273.169-.078Zm-38.179.944c-.082.091-.131.165-.108.165.023 0 .109-.074.191-.165.083-.091.131-.165.109-.165-.023 0-.109.074-.192.165Zm-7.255.777c.23.276-.18.685-.457.456-.068-.057-.113-.2-.099-.317.019-.16.078-.22.239-.239.118-.013.261.031.317.1Zm45.478 1.032c.251.46-.091 1.323-.839 2.121-.471.502-1.17.945-1.49.945-.238 0-.173-.098.325-.495.697-.557 1.182-1.003 1.182-1.091 0-.105-.407.191-1.201.874-.704.605-.793.604-.628-.004.146-.54.525-.903 1.359-1.3.842-.4 1.042-.574 1.126-.976l.058-.272.108.198Zm-46.931 1.175c.14.2.099.373-.117.489-.207.11-.403.018-.462-.219-.1-.398.344-.604.579-.27Zm-.989 2.352c.25.249.106.614-.243.614s-.493-.365-.243-.614c.072-.072.181-.13.243-.13s.171.058.243.13Zm47.098.356c0 .278-.458.713-1.012.961-.689.309-1.928.39-2.518.165-.542-.206-.339-.286.755-.294.501-.004.986-.039 1.077-.079.103-.044-.302-.073-1.069-.076l-1.235-.006.158-.174c.212-.235.694-.472 1.084-.534.203-.032.585.012 1.049.122.946.224 1.147.218 1.456-.041.243-.204.255-.206.255-.044Zm-4.741 1.791c.24.064.841.327 1.335.584 1.064.552 1.521.635 2.033.368.179-.093.341-.154.359-.137.083.084-.266.566-.542.748-.511.337-1.007.47-1.927.517-1.454.074-2.909-.328-3.517-.974l-.248-.263.396.057c.218.031.815.165 1.326.298 1.001.259 2.064.406 1.922.264-.142-.142-1.114-.42-2.236-.639-1.66-.324-1.525-.271-1.194-.474.384-.236 1.183-.479 1.553-.472.167.003.5.058.74.123Zm-42.793.388c.208.167.236.372.079.566-.201.247-.564.164-.643-.147-.042-.17-.012-.254.132-.371.222-.179.263-.184.432-.048Zm.265 2.666c.292.291.006.77-.399.669-.237-.06-.369-.408-.236-.621.115-.182.473-.209.635-.048Zm.652 2.457c.251.193.218.612-.058.737-.443.201-.833-.378-.473-.703.181-.163.348-.174.531-.034Zm1.061 2.013c-1.623 1.909-4.166 2.923-6.692 2.667-2.444-.247-3.849-.99-3.849-2.037 0-.449.308-.702.904-.743.449-.031.543-.002 1.487.463 2.221 1.096 3.806 1.317 5.644.788a7.722 7.722 0 0 0 2.212-1.044c.455-.304.48-.312.294-.094Zm.773 1.116c.065.497.412 1.291.728 1.667.106.127.454.406.773.621.499.336.583.428.606.663.035.356-.104.511-.455.511-.413 0-1.099-.669-1.484-1.446-.323-.651-.446-1.523-.304-2.149l.075-.331.061.464Zm-.391.239c-.184.713-.245 1.676-.148 2.311.196 1.275.513 1.919 1.523 3.089.579.672.727.977.58 1.203-.118.181-.53.148-.885-.071-.372-.229-.999-1.17-1.307-1.961-.492-1.266-.502-2.679-.028-4.068.205-.599.37-.914.265-.503Zm12.727 1.063c.701.46.791 1.401.198 2.047-.287.312-.815.454-1.099.296-.113-.063-.056-.074.225-.042.335.038.409.013.678-.222.776-.68.496-1.855-.468-1.963-.313-.035-.495.016-1.2.338-1.867.854-3.905 1.192-5.344.885-.645-.137-.545-.207.122-.085 1.149.21 2.689-.089 4.655-.904 1.341-.556 1.809-.63 2.233-.35Z" clip-rule="evenodd"/><circle cx="572.493" cy="229.507" r="20.493" fill="#FFE2C6" stroke="#000" stroke-width="4"/><path fill="#000" d="M566.189 238.609v-17.732h8.151c2.094 0 3.657.431 4.689 1.292 1.033.844 1.549 1.959 1.549 3.344 0 .912-.221 1.714-.661 2.406-.425.676-1.032 1.216-1.821 1.622-.774.388-1.7.582-2.777.582l.455-1.216c1.123 0 2.102.194 2.937.583.835.371 1.48.92 1.935 1.646.47.71.706 1.579.706 2.61 0 1.536-.562 2.735-1.685 3.597-1.108.844-2.732 1.266-4.872 1.266h-8.606Zm4.463-3.622h3.779c.774 0 1.358-.144 1.753-.431.41-.304.614-.76.614-1.368 0-.608-.204-1.055-.614-1.342-.395-.304-.979-.456-1.753-.456h-4.098v-3.471h3.415c.759 0 1.328-.143 1.707-.43.38-.287.569-.718.569-1.292 0-.574-.189-.997-.569-1.267-.379-.287-.948-.43-1.707-.43h-3.096v10.487ZM734.981 348.199c.327-1.956-3.686-1.448-6.142-.815-11.056 2.852-15.15 2.037-18.426 1.629-10.81-1.629-15.696 5.569-16.788 9.371-.409 1.766-.819 5.541.819 6.519 3.685 1.63 8.599-2.037 10.236-4.482 1.311-1.955 4.095-2.173 5.323-2.037 3.822-.136 12.121-.652 14.741-1.629 3.276-1.223 9.827-6.112 10.237-8.556Zm-45.56 20.563c-28.641 1.366-34.285-3.448-32.509-6.831 3.703-4.838 13.582-12.348 21.154-5.176 4.886 4.628 10.222 8.112 13.103 8.966 2.551.757-.377 2.899-1.748 3.041Z"/><path fill="#F9A66E" d="M705.09 227.599c-.983 7.171-4.504 9.507-6.142 9.779l4.504 12.223c4.504-.408 6.961-3.26 9.008-6.519 2.048-3.26-3.685-8.149-4.913-11.408-.983-2.608-2.047-3.803-2.457-4.075Z"/><path fill="#000" d="M708.775 229.229h-4.094c.273-3.939-2.388-12.682-5.733-21.187-3.685-9.371-2.73-27.026-.819-35.854.137 3.395 1.474 14.016 5.733 29.335 4.258 15.32 5.05 24.854 4.913 27.706Z"/><path fill="#F9A66E" fill-rule="evenodd" d="M671.514 132.015c3.943-2.541 6.552-6.956 6.552-11.978 0-7.876-6.417-14.26-14.332-14.26-7.914 0-14.331 6.384-14.331 14.26 0 5.688 3.348 10.599 8.19 12.888v.149l-2.867 2.852 15.15 23.224 6.552-19.15c-1.638-.815-4.914-2.444-4.914-4.074v-3.911Z" clip-rule="evenodd"/><path fill="#004bed" d="M657.593 136.741c-3.276-2.607-4.641-.543-4.914.815 2.593 21.458 7.78 64.538 7.78 65.189 0 .652 1.365 8.421 2.047 12.223l11.875 2.038 17.606-2.038-2.047-21.593-9.417-42.781c.955-2.716 1.965-8.556-1.638-10.186-4.504-2.037-6.552 1.223-6.552 4.075 0 4.563-1.91 8.963-2.866 10.593 0-3.667-1.228-6.519-1.228-8.556 0-1.63-1.092-2.581-1.638-2.852-1.638-1.223-5.733-4.319-9.008-6.927Z"/><path fill="#0D1218" d="M649.813 138.372c1.965-2.281 3.276-2.309 3.685-2.037 1.638 1.63 9.008 16.705 17.198 39.928 6.551 18.579 0 31.916-4.095 36.262 13.758 3.259 19.654-.543 20.882-2.852.983-5.215-3.685-27.162-6.141-37.484-1.365-5.025-4.341-17.438-5.323-26.89 0-1.63.081-4.156 2.047-4.482 1.965-.652 7.37 2.173 9.827 3.667 8.189 4.074 10.646 24.038 11.055 33.817.41 9.778 4.095 22.816 7.371 33.002 2.62 8.148 2.729 15.889 2.456 18.741h-4.504c1.311 4.238-3.002 7.198-5.323 8.149 1.229 3.26 4.259 11.164 6.552 16.705 2.866 6.926 11.055 34.631 9.008 42.373-2.047 7.741-4.914 30.964-5.323 37.076-.328 4.889 1.228 7.47 2.047 8.149l4.095 4.889-22.111 11.815c-2.457-3.259-2.866-24.853-1.638-45.225.983-16.297.409-26.619 0-29.742-1.31-11.408-11.192-21.322-15.969-24.853-2.457 2.444-2.047 49.706-2.457 55.818-.409 6.111-1.228 14.667.41 19.149 1.638 4.482-.819 6.111.819 8.149 2.866 4.889-.41 6.519 1.228 9.778 1.31 2.608 1.638 4.346 1.638 4.889-13.758.978-19.108 5.84-20.064 8.149-4.913-5.704-2.047-40.743-4.913-50.114-2.866-9.371-2.457-45.633-2.457-53.374 0-6.193-2.457-11.815-3.685-13.853-11.465 3.26-14.604-20.371-14.741-32.594-2.729-3.395-8.435-10.593-9.417-12.223-1.229-2.037-2.048-4.482 0-8.964 2.047-4.481 4.913-22.816 4.913-27.705 0-4.889-.819-13.445 3.685-13.853 4.504-.407 16.788-11.408 19.245-14.26Z"/><path fill="#F9A66E" d="m655.545 217.821-6.961 8.556 7.371 3.26c2.457.815 5.568.896 8.189-.408 2.621-1.304 2.73-4.889 2.457-6.519 1.228 0 4.674.567 6.142-.407 2.456-1.63-1.638-2.852-6.961-4.482-6.879-1.956-9.691-.815-10.237 0Z"/><path fill="#000" d="m676.838 110.258-9.009-11c-1.228-1.223-1.228 0-2.456 0-1.229 0-.819-.815-2.867-1.223-2.047-.407-2.047 2.852-3.685 2.038-3.685-1.63-3.685 2.444-5.732 1.629s-3.685 1.223-5.323 5.297c-1.638 4.074-.819 16.297.819 18.742 1.638 2.444 3.685 1.63 3.275 0-.409-1.63 1.638-4.075 3.276-5.297 1.638-1.222 2.047-2.852 2.047-4.889 0-2.037 1.229-4.074 4.504-5.297 3.276-1.222 6.142 1.223 11.875 2.852 4.586 1.304 4.094-1.358 3.276-2.852Z"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h735v369H0z"/></clipPath></defs></svg>assets/images/bloglo-logo-light.svg000064400000006330152425655550013375 0ustar00<svg xmlns="http://www.w3.org/2000/svg" width="196" height="35" viewBox="0 0 196 35" fill="none"><path fill="#CCDCFF" d="M178.52 29c6.616 0 11.98-5.15 11.98-11.504 0-3.365-1.504-6.392-3.902-8.496L170.5 26.042c2.123 1.839 4.935 2.958 8.02 2.958ZM77.922 29c6.616 0 11.98-5.15 11.98-11.504 0-3.365-1.504-6.392-3.902-8.496L69.902 26.042C72.025 27.88 74.838 29 77.922 29Z"/><path fill="#fff" d="M0 34.327V.673h16.224c4.169 0 7.28.817 9.335 2.452 2.055 1.603 3.082 3.718 3.082 6.346 0 1.73-.438 3.253-1.314 4.568-.846 1.281-2.055 2.307-3.626 3.076-1.54.738-3.384 1.106-5.529 1.106l.907-2.307c2.235 0 4.184.368 5.846 1.105 1.662.705 2.945 1.747 3.852 3.125.936 1.346 1.405 2.997 1.405 4.952 0 2.917-1.118 5.192-3.354 6.827-2.205 1.603-5.438 2.404-9.698 2.404H0Zm8.882-6.875h7.523c1.54 0 2.704-.273 3.49-.817.815-.577 1.223-1.443 1.223-2.597 0-1.153-.408-2.003-1.223-2.548-.786-.576-1.95-.865-3.49-.865H8.248v-6.586h6.798c1.51 0 2.643-.273 3.398-.818.756-.545 1.133-1.362 1.133-2.452 0-1.09-.377-1.89-1.133-2.404-.755-.544-1.888-.817-3.398-.817H8.882v19.904ZM34.83 34.327V.673h8.972V26.78h15.136v7.548H34.83ZM116.189 35c-2.508 0-4.834-.417-6.979-1.25-2.145-.865-4.003-2.083-5.574-3.654-1.541-1.57-2.749-3.413-3.626-5.529-.876-2.147-1.314-4.503-1.314-7.067s.438-4.904 1.314-7.02c.877-2.147 2.1-4.006 3.671-5.576 1.571-1.57 3.429-2.773 5.574-3.606C111.431.433 113.802 0 116.37 0c2.991 0 5.665.529 8.021 1.587 2.357 1.057 4.306 2.58 5.846 4.567l-5.71 5.48c-1.087-1.25-2.265-2.179-3.534-2.788-1.239-.64-2.629-.961-4.17-.961-1.359 0-2.598.224-3.716.673a7.648 7.648 0 0 0-2.855 1.97c-.785.834-1.405 1.844-1.858 3.03-.423 1.153-.634 2.468-.634 3.942 0 1.41.211 2.708.634 3.894.453 1.186 1.073 2.212 1.858 3.077a8.586 8.586 0 0 0 2.81 1.971c1.118.449 2.341.673 3.671.673a11.61 11.61 0 0 0 3.897-.673c1.269-.48 2.553-1.282 3.852-2.404l5.03 6.683c-1.812 1.378-3.912 2.436-6.299 3.173-2.387.737-4.728 1.106-7.024 1.106Zm5.393-5.529V16.78h7.93V30.72l-7.93-1.25ZM135.201 34.327V.673h8.973V26.78h15.136v7.548h-24.109Z"/><path fill="#fff" fill-rule="evenodd" d="M78 29c6.351 0 11.5-5.149 11.5-11.5S84.351 6 78 6s-11.5 5.149-11.5 11.5S71.649 29 78 29Zm0 6c9.665 0 17.5-7.835 17.5-17.5S87.665 0 78 0 60.5 7.835 60.5 17.5 68.335 35 78 35ZM178.5 29c6.351 0 11.5-5.149 11.5-11.5S184.851 6 178.5 6 167 11.149 167 17.5 172.149 29 178.5 29Zm0 6c9.665 0 17.5-7.835 17.5-17.5S188.165 0 178.5 0 161 7.835 161 17.5 168.835 35 178.5 35Z" clip-rule="evenodd"/><path fill="#004BED" d="M178.478 14.206a4.34 4.34 0 0 1 1.033-1.295c1.556-1.322 3.964-1.192 5.366.305 1.114 1.188 1.389 2.6.957 4.176-.333 1.22-.967 2.271-1.738 3.237-1.247 1.561-2.763 2.793-4.4 3.874-.363.24-.734.466-1.106.69-.055.032-.155.041-.207.01-1.882-1.118-3.642-2.41-5.117-4.083-.884-1.003-1.617-2.11-2.054-3.407-.362-1.076-.431-2.158.023-3.219.591-1.38 1.622-2.224 3.052-2.433 1.799-.261 3.195.45 4.145 2.08.01.016.02.029.046.065ZM78.061 14.206a4.341 4.341 0 0 1 1.033-1.295c1.556-1.322 3.964-1.192 5.366.305 1.114 1.188 1.389 2.6.957 4.176-.333 1.22-.967 2.271-1.737 3.237-1.247 1.561-2.764 2.793-4.401 3.874-.363.24-.734.466-1.105.69-.056.032-.156.041-.208.01-1.882-1.118-3.642-2.41-5.117-4.083-.884-1.003-1.617-2.11-2.053-3.407-.363-1.076-.432-2.158.022-3.219.59-1.38 1.622-2.224 3.052-2.433 1.8-.261 3.195.45 4.145 2.08.01.016.02.029.046.065Z"/></svg>assets/images/bloglo-lapi.png000064400000403047152425655550012250 0ustar00�PNG


IHDR��#JgAMA���asRGB���	pHYs��mh��PLTEGpL���������pnq������������~{~���IIK���VSV���������������3:@���������������������������>CZ;JH���9M����pu����THS���)&'.?w"������~^RvSPIGSVc�4I�0E~8K~oYIC@L5#e`W_K@���%-W--8H�*:nPGH^h�?Q�L]�hPE�hykp�zs�<;F=>9DV�\CB���6�h~�k�9HudIJwx�/5:%4dYVO%Ibn�K?@~��83?D+lMTCO{�mxa/(�9:NMM^���\e����bi����ey3>[`NY8DhXVbj�OY�mRar�"'5t]s������41-���qk��p��kg��9+0ab���bNt_҄{���a`j�}���ԗ���vr|T`bD^SWt��mmANnkkm����ODk8ry����|{ގ{r\������>��������a:L���vuzW�O;ZF3R�i\���|pb��La+3FX�ϫ�פ;0ToN�l\!����@(����j�o��%2��}���j���j���g��S����͏ML��Ƞ{�����{93'�ɴ[J��k���U~�NgE}9p���%d�>w먌��O8k2��rL�����Zw=v#(H�������٨��ٷ��{��BȀ������
q��Z�,��%c���;�&���h�t����锠�W�U���E��/�C��-6OtRNSC5*����R�a�,u�zw�Ծ�_�IDATx��]�n�05ry�i�9	P$q���?ß3�V��l���D��E�,���"��:��/�V�~����mA�7�Pn�n�/z�T������]�(�^�#+TTG9ޱ���P�*h�i7с]5�=�K�5i�0��o��Қ��%��p.4ݯ�Ro'zo��hC���] u�Ԩ� �Oh?���:�v��H(2.P麡�PkȎ6�نz��>���̄�
T;/Dɨ_����*�dZ�rN���E��0I2vR���� a>���)�'E��"^)������)�/!��
�4(i�|��ʴn���������}i��,	�t�T)VU����W����_-&Hk+4/*��d�"d�_`(O��!&��R�9쬚���b�@��3��B�G�J�L�dH*�wF�q�m�m�_�L.MB6 �B!^���z�VA��!
�DD��L�p�W����,����@HT�	(*m��
�
�}��5���Rh��C����E�R�P)҉���P�{������.BU$Ա��#�/U5�9���h�d��4�u��I芚(����͌aŠ�h(�*4��(������$i��]V�r�r�àj@��|�|�J.��s��ӳ�_Y{��S��
TqDn�z�TaHDM&���i?�����
N"ܻ�d��49[�]R,�7�� ��ׅ��5�(8%�J�u�d1��N�CIR`3Z�%H��&.�	�B��B��NJ9�����(^x�K}p#o�	K�pnQ�$�7/�ب��_���b���\I��9���Lx} �vL�`O�fr�)ҁli@�ET|XRO3����
��o��\��o��ٯ1��:X�J@�1�����׼��GQ(j�T���(5��]Ei�P#!�
�|�
A!=wN�c.T����f6�$W�J�6�ڂEW-�>hj3��P^������;��\KV��JÇ�C�B��-ŧ���5�n>Ê:�a���nDs�-�P��M0�
��R|�Rd�La"�����*5��7}x��&j�)#$��Hz7�R����D��[y�
T�Ő�������AQ�2,�Q^��eD�d�hy�T|�}�+���+��� T�z{��Yk��	�Tڃ�ʕ�Ԟ�^~����T�sUJ�d��,�`
��I]e�6(.��]���&� .�)E��,wJ`zM�d
�SѶK�2d@�t�P\��e#8W�ͺ�t�}��/K(�tmB���M���?a�̦V\�<� ̌���s��۲^U^�4���b�.�n��~(��f3�����͒)˃@�_��KV�/�rfr�!ecڼmZj�e���
P_b���숯���6���~<���*I��ҏ�?��F�|k�];����b�?��3k�?�X�Zar���r�N�r�y\��PJc���������8x?.�ת��&f�psx?nw���d����'����ԇd��@o��p��3�Z1�+��O�!�T�)�|�j4n�����q��?��)��|�q�����o�_��v�E���+��W�r�Ɇ��������/�r����M;�4%���Zq�'���~�S�s�s*������J�C$ׇN�������;v7�gly��e��:ºN�J���I��s���;һ6�~����\�L������u����u��{��βT��;:im�Qղ�Qes8n�#�[� pܴe�kj�����}���:��g����_|NK�EҟX��?c�L<�&��,P0եƁ�陽.A�\$�2/Z��T[��%W����_�1�ndf.Y;|m�_,��!ae6�֜O3�+��?^<�3�h�O���}��(������y6�1�̨"�:�9e!��z�+�=��q��qf}��b��ԣL������=x��~�j.�(�;��>��I�~B���K�lB�'l��0�u'��tS��0����L6!-�$���旤���k����Ǎ�sw<��d�f� (�>��?4Er�꺘
�����9�pD�L��}hZs��1�I߃q�>$�ýg�8��?C��Ҧ��ו���(�ly�$�to���5�0	���?&�}	��_����5�^me�����(�����SUfO�R�Fm�������s�8a��F�
��{�`���u.QP�"`�ay����x>~y�
�G��C�o6���2�
��0��qS5�-�g��#���/��FC�����l��/8lO��`��8؍���'�
<�=��%� ��YVD	BLLx큦�`����ߊ��ԋ�����J�.���g���w���H1S��n
qF9ÒF�>�5�}כ��Y-����d�!��NH~�!��
=��	�&�v���W
���5�a^��ۿ�΄z���S�H����B|(�Fe?����a{���|T�>(���I����5��w���ܿ�#��~>�B�r��AL��l%���g� �ؙ���mH�}6?�q?�f���@--x;?�X3�j���8�b��?�P��簪fC�ɀ�X�H-��@��X�@ch�J���G��ѭ��Հ��W�2��<(�?�Mu�kb�N68�&���������]���@�Rؕ�q�'�>~w4��/������++I�-�DAY��X�ai/�vߥ����mo�@����&1�%��&�	���
��!���o<2v����çX�+����L����
`���
�Yjԓ�f/��U�IKh��&�d;�bXR��D�=emv&rX���丝��&{�d ��CP�)\UX�LOB�=��s�A�����:�hC/����9�ؒ
�Rk}���3Z@4PS��^����x������b9'̃��u�b�����U�d��4�i
�]��f�
����
�Jba�A|�*��6s�FC��f�{���b�/a�/�
ί\*-.�T]�E{�ТBc����`-������
F�yߒ�i?�@CE
,Ol�YQ�G��cل��
&C��h�V?_�,h�y!ؼ,���l�<�[��a<�?��<��X��*9��0W��yC�(��j@KO����C�Q�g���_%�u)o����'��a��6��p� ��\h�[`.�<�/��ZT��!�E@KO����D��=�����R5��rܿ��Xy�"X��I�f r��	��/���x�H�gO���q^��L�V_Ԏ�m/��9Jg��A���@`k�ˀ�#S��D_���K�l!�$����PaeeY���B���j  �h���-#c��o,���R�>�C6tBP6T��� ��x�,˽ƍ?����[(b	ty<?�C;���k��Y���#oX�d�?��7�g��aS����X���G��s
_���ƌ?�8��'��g�c�!
(��^�$#(
ҕ� ����.yb�7�����@."` �
ȅd_�_��^�Qd�&)�W����)�U�=�lYB���x��	9!�����HH���+�8��?�SP�=���;U;=�m
�q����wj3@�z�J8�@��@��~�����.D�5�ѻ �j�
C�yz�0>�<T��G���
T~����a�/b��Q��9�P$	(�W>�;r<��e^w����%��<�.GrZ�*���_�3���Z_1��5
�Q��8��)t+��"U����
�8~�����$�G�ՁD�-�R�D�J�X���u��:��I(}����W3�NL��6T���h����7hOZ�r%r؞�����)���x��v������~�l �d�hP�c'�P�$`H	^�p+���PU��_A���#���Op�u�0$�mȉ@�ܓ#��W����Bv��_�d�B4�}��*���)bS��!q%��~��H{�oY�ζ�s|�N�Bqi��0@�4��a�שޣ�{5d��D�âf�5}�9���^# ݨ�H(
�^��-� "˃Qe?��wn�ͻ9�����/�
���X�?o���q03�����D���+��	$�m�w D;NpN��u��1 d���<"�z!��P�� �(p2z�T1��/�Ȫ�HW�o������T����΁��E�ԣ@*�V���x�4�&~D��fBB_�B�	Pq��˅�,~���tG$���/V�R���}���U�_������/pW?\!P`,+e'm�G;(
@�T�AN�'��#M�N�Zu�%��n����au�@"T#	5����ռ�	���w�@Q& "	���@�@���A���ܯ�T�Q�-��r�>��eh���{D�����.{��Ap`��
@
���Qcp&<�݁�\PC�jM@����㩥%P+ϟ�`H��P�JP����2L��u��r�<M�5��&NQ���݇���_�HQ�/`�F��@�(
@��d=A0rN�t�(`�B�n��׶��YC(��I'>@�@Q���~����B�A=
�>�"����@I�G�Ƕ�]	U�`}�q�I�Kz�K�{�h��[��/t�����,�Zs�B��@JPp_N�G��ŗ�a���ڜ���k��7>��SP���r�R@�*��!�
�4�09�O-I��3�MJ�o��%�H[�����>�:��q*��q��΃��h�hBEF�	�D���?���c�Gڛt�g�|}�@!�GpY! %x����p�z�D�@��!��@�@ S�6�)j( ���W�>N���i��:�CEwձe'L��������ğuRև�����zPs�j` �� ������
jKzƞ'*��xB>d(��(�hQ����8���ź���#����em��:��]�ֈ�tio�{M
5��!���!R)O�i#�'_`Ǖ�4��ם����ǿ��<�wm2�R�H{6k��Q�gj�����e2T r��*�{���I{�`"�	�"Ћ���'y-�5�x����|��?��:�6�jG=���c�5�� ��T�j��,�&�D�-��)�-�E"�"���~9̂��;4�y��y�zw�"��̻��H�?e���Կ�L�%�ler�(�'�+ԝ�j���`�$
�c���p�HwL��f?)�ms;ƕ0Wԉ����=�Jn<��ad/[� ��	8����63�����Ct:�Q�2�BX�v���n:¹1���4��Ö�K7��~��x"Mg>y��;V�yW@�?*�7_.�+�竖�M�zX"6�%Ǒz\f���lvD!{�\l�
-��}��l��s�253�C w���`~+���p��e��Zx�!]��oO�����s���֮����k��L��Y|�E� W��V^n$�vu��ijY`g�����p���B�4�\;�� ��ٌF��+���r�,F�Jc��X�a7r��T8���d������b�'�O����������ly�$lԊi��U�y�Jw����]f4ZF��2�������������.�ti��C"�ƠNa���k`q~� �u�_��Nj����װ?-��.�sw>�]g����]����)?aklӀ���Cc���$�gV0>K6Z0�o���eΧ���ӼZ�v��E�:`
GM0�L�`n����߈;��\��
{C�f*�F�!�PNc#�uą�2��4'�7��/�q_��T�'�J�
.ߖ2X���.o���0���	���2-g����8;¸Z��8��~|Z���yz�;\�K�}b3��k�82����߸�k�(��E\~���3ӥ��k�<��%���/��:��D?0���a�ǐS(q�/?7�L�l��ckvi��+f�Z�5��MĎ��<
�9��YN,�%��ff5�3K=͞y��fvu�Ϫ�<�\'��\�|7�<�{����%�Niv�\~��i�Җ3�/���^��p��h�ͪ���x|N5w�嬼d5��)���;x�J��>d�����+JJU)� �~���7˿�����\a9���j�uil��0�l~r������5�!*�0]WP�!H�x%�Z�� 0��|E�3��$	�8JY���$����I�����L�,yK��(�L˧l[
�:�3N��N,8�}��&G
f��er�4
=Ǎ�Ai�J�������S��=��5�j�mR�?��f�Y�k���M�f�ō"s�\qP
�Ob��Yi��Բ�4K��eY���K
�dV\��?
���j�%�%Afmlyf��B'ژs?[hnjU�3gyܱ��2�k���
���]�hN	�)�'�l�Ū[�]!�ge鼴W„婟W�:[���,?�؛t��N���W������Y��c�� [n�P��˥�K��4M��EiƂ(IWZ��&���2'>@��a�_&���.0�n����{#����� o0~���"c�p/>ѷk����,�X�N;1Gt��6mY�̈@�6��&`��sֳx|T(m3��[��>_�,���e��	���w���kY8�]T�&�D	d��`.lP����B��J�"0n��FE ��YP �B��"d
CX�	a ��ba�ǫ_1˂q=��J�,뗕x���r"����wν�����D����_5lU,P�Rw��BP�P�$��o�Uu`}[!։9�h��fW8�@.��m|��5|�r�U`�@x����n���i}zR�'�.�j(��J�T�w5�ќ�����!A�;c<�XB�#k�A����<��9�m�M����֖]�L�:TX0#_�#��*K�5ݱ��=Q�.�]4�+7=p���4�o�;�>�5��цF$5�Q��@�a�\Ԉ�)��'c�n	�x4d!�.v%W"W�);aT��R
�x�B�e���2"h'~��”J]^���VmM�+9�j<F5,ES�3Iep��)��
i *?;��7������2���e`� �h�6��CQgis� �O���3�����h����-��h���Y��h��3�1���A�r�>�Y*��'�=�"
`y��6Y��#X�H��Wd��@�C���f�q��喊=o�4�օ&�����l9
a�U �����m _�}/H�0��;C`w}<���R�ɫ߇cה�3����!���f.0 bCl��C*`ABNMt�Vu4�qH�ۨb���8x��"�,��
�P1��y$���(�ZPn3-
Z�ܺ�X�k��\�)4�Ps��o/J�*	4��<l0��7*8��������%��16�tW���0�Kq�ǴA�+���>p �O:KS� �@�&�j���a��Tm��{}�~s�p�+p�T�p�u/h���7v��q�S,a���K�d�aS��Q6����x�V0��!D
M�]�.�Ƃ@�I*�����UP(`���9��E��	5�;��=���نu�f����0�m��θ��߮�Ms�M��$�U������|�Ӕ,�q �		��:�E�~S		�43a"A�a٠�������p�;}wQNU�Hm�1�K@�P���OS:��I��-�mضD�:|�k`5��|Ya1�A�#�4���C.#Ï�ض�D��𥰪a)��`=�e�r��k�Я}�0��X@O�[��;`�i���^2̆��A;}��X[c�N%|۾�׌���2I�a[���������y|M�A/��,���lUa�1`ӰV�3�d)�mx�]��A�����
~X�wla��,�(�O>!��s�t
���ݬ�� $��S�����Z6=p��h�N�n��-��*9e@B�%ܿ�ixqK@�m��J9h�J`�	^֢��V?�׈>�#^�	@�㥘�F)b?mw7R��� ]�~P�0���e݉4�ْ�	�I�̯�״v�j����S�p`�6h�j'z�N�(s@�
bc�S	 �$�~��n�k�UM7���X�`�h?�U�+�4��z�k=,Iܸ}�p��Ei�ׄt���8�ɝ�8p�VB�JL�ǫ�����hs]������D�Z�7nA�U�Q�?FH�c�K�(�=NܸmL�]�j1;ʹUHn�!:��X���d��7n/Q+�w�^�;'S����x~��	i٤�8p�V^l07�2�6���v�7n/U�l�Ck�E3���Ƅ�D<��[&T�o_������桴�_��#�M��WJ����+�~�"O���T�+��Pl(@2nQZߡ-�#3	�
7n߹�(�2�|%;-|<�+�,�������q+E�@���ݰ+��/Z�A�]}���'n��*�u��/S(m�q�A?p�ƭ�������&%	2�S�_V�!��]�7n/P���J)܃�j���h�3�ʪ���[9�4�>v?޵�hg'��/ڨpR�a�A���8lӾ\Q����Gh��_ǭWȮOK��)E�h��V%�����^�*I�*���g������/�=?Ϟ�5���>==����{�o�M����E�ޭ9叁�>��|����	 }4��.�(�05���\���e�/�W��r|�,8�>J�`�KȌ>���ɗ���o0`,4�j�*�$I��|^Y#���:
'�H'_�����A��Q���3�0�uq��@�?e��L��7��.�$$�w�o�O�}�~�@���/�y�+}$)�̥�A)���VC���[Z�}�[U��A�4*ﯗ�`�N�~��+П�!�ާ�?Cc��q��:&�(�����!�a����XP@�f����_r�E� ���'@��dJ1N.��_�����`�h���.3��@�my�y}�5|(�Px~%��F�!�^����E����U`�(\��"�^��v�=�'��+1E��g�o0���o18�T�U��|���<�pe�5c��3<>�Q�(�^1���ɄR�d�4	<h7xw�
�� �Z�T�]�)�_�$�n~�"�<�)К���+�ܛ8ְ�Z����~pGe��b��_��4
�~XzG�Q��j�w
�@k��hN���K#{����{���h ��a�ٗi������ɕ ����sB�D$�"�"`E0��g�Xc����.K�J��S�8ʸ�Wb�"&0J��V���������K������$��_nC	
���@/	��m�&�@����9p���g����K��
�+�<{�I��뙀��4���g�x0@�W �'�
O�)�������e(��-���ۻ�2E+�vP"Ζ8]�8�<��`��ó��[kH�/*�V��e�GzM�ƀ%\�4�BX��l��O'��/��C�/c���ػ��6�4�݀W{�7�&5m4P*qz��x�@؋S�\uwK�,��r���ԲТ�$%Ʌ�P��lS+�
r�Ʌ�k ��������M&���_��Ϙr�������P)�$�8���|���y8���a1���פ@������$������)` W���)�V���}���U�ڂ���q�o���t�8�9<@�W�	`�J@�&��)B�Eץ,�h�鿘�^\�����*�T��.�H�@�Uv����w�@H��?�$�c���,�S`��%�RP4q�>�)�Oq�>�̓��S�(���b ��|���V�8�mP`���],6,TfY%��_Ľ;� K�Y�W�Pq�r8�@�(��g��p?��w��A��1@��|No���~$�����mH���.'k�\��臗xvz܋׻8�(.J���z0�۲�UEl"��W�b���64���_�U@C���ۀ頟*R��(���H+�d���PГ�����P�������5��@D�)Ȃ���/�K�5KY#k>�d��B��H���ӧ�: P�r�k�.�6@E�8Y_G�F������Z��51h�$���@�)�~CZ0Z�?�0P	$)@/��q�(�)�Ύ�)������ׯ_m�^��[���m���~�D�G*-����@�R��8�z�����L�Q<���W��	`uu���U���:w�9�
�~p�
�Lڎ����ZpP�ʀ�e���v��?��z��6 ��])ΰ�?�l���[H
�>���%`�S�t����3�!w��Âvà:ܢzx!A#ԴG
�#qa�J��|�`����HR9p����b��:ƿ�H,�hA$Id�Ŀ�����p8��/�.5>�喫;�-
��.�޾=��
�[u��,-�z�'�%�M25�xV���Y�3�O�uz���^���i��u{����7=��P��N������X������8���	��\b�v�_O��$�G�k�h�|b$L6,�	
}��,�����\�.�<`}�x�-�q��"���}�����,	S�Uz����^�Y 8�hR���$J��z���w���eɿ(��I��U��	�&����$`ec�qI��
l���X�� ����Ɓ�q_^��Q�q&�E�|`r�r�9F�Rr-x��Ǧ.p��
�,�:�ڭ�	Fe����	�q����G��[v�a�M�,��ˀ���CsӢط�"���'���	l�1& -A �! ��npԓM
�L?0-�a��i���ῧ��X�k�*�$�㏀�O�P	4�>�^�G��>n���=�U�N���.
���!_9s06+�[���вL�'�1S�1x��
/Kg�4�S�0%�p�Ѡx��#�*�9��@S@"��Q�pqA�o�"�	�}����p��Üz�t�v:) Iq��âx,P~pf�
�����(�l�!`I��
�6\���N�?������2੺nZnU�N�M|�Gv���ᠭ���:�`���D�	����"9m(�8��}�+L����ta��S��������_tqL���í�o�:�����~��,�}b@�@�����])�M��(3P�[#O���Q�dx�ʖ�Y�7�k%|M��	Ԧ
�9����O�	��z��B��e�|�(B�/�#:o+��uxW`�aPy�rU�"ޙ��e2#�8��wÎނ�|�
TP�����L&G��9�����%f�x�Ș��?”�i�[���6�O����xg�0&$�ސ�og̈́Pf�u��7=��IX�gK����.J@��9��6Y������*�����8ہE�E�P�w�P�PN��ORJP�����IaTΫ.
���f����~��=v<�3`�B�@)j��y��-�C�V %�ErEw�����+p��燇��s�|n)T�@&��Gr���R.�̰�
��A(��ʣ��(o�0x��k�k�h�F�^�aL�k��=��H�?Ԉ8�Z`-�G,���=&x�A?��ښ��&�4�7�	�\"9���H&��X�O�?�?B��ߑP>�(o��+�e
gR�a�v]uS���l;��y
}i�$�W ;�?�s%��p�e�x0�p.	@d��͖
��.�1������f�	���1]�E�5T�BH�ߏ]������v$�i�܋��hzMG*����׃��X-Y�{��]��6������C�C��b�M��@_��)����^��!�V�K�Gܴ@�H�=S��9h��{��E@��W� �<'Wa��~�����yP�[}��߭�)�s/p���OjwyL	@�k�~��R=�����5C��9�C��3>W�ӌ|��=*:�c�'.=� �M�(���θM�T`4`���kcyH��յ�Tw�UM�V�״Bd8��Ǣ��xf���뺦-���yM�Ŧ����Mh�1}a��ӷ�e]���
�u-�i��V�
Q��M��s��1���'�'����룻�����:L'�Q��G�-�
�>�t���"(���`���V���5���J�W�u�����UN-�[�X�j��1�G
Ƚʉ�Ŷ
 �|9�4N���,�
��ٍ_�v��oG�7h�V��wt!Yp'�0(�������_o<{yd�	m9�@������6�����͙����h�=�2��8tuRG�h��Hӯ�,ύ���あvm�*b�\$7TТW�r�����T�h��˄���ĝJ�2	�r���U*�������c���ݜDR?][���v��H��&��O�@��e�6+�P�w�*��&����;U�,��?K��ӂ7䆁�,(�=B
?�gy@��	�"Fl�$󩰛@�q����/��Q���_Zt66@,���ܝMhY�֠�\$�W�4{$=�O>
:J |�0��O"��W�5ǭ�h|�pXv�� YF�!�A
����5JC `��C��28��y��{�j}�Vfs�%���If\���ǫ��\9���n*̆�]#���_*�f����*��X���8e[�*�rl{I"e׺�x$_t83�Z�|^�T����r�L{��u)\�y��R����4@�e�@�r򫺑��"!]_!~x�@�u"m�&��
�<Fd鸰��v{��[��I�=��7�?o,��GԞ��b����忑���	p�y
@�l���*\B��A�×]��|}�>�{w`��q@l������T����0���YМ]]M�PXw�om����A�����]�����H���~<I@q'9Y�'\۠��DC[1g�n:�ɔ��h�oе%�c��w�8�P��E��I4�N�L�u,�Y@�i)���rb���W	|"��n BH���D�g2��*��zq����g�H�`!�g�n�H@3�o��溶�/~i��5*p^�`������U)fo�jQl9�h����g�����@���
*I9v��7��7P��#��(�畎د��y�y�@HB��v,�x��U܁�?�5s-"$R�o=x�j�v..\�
@J�%��!�$
����`�Z@�e��Bc�H�+��i����#!
\�c�|>s��?Q�0ڿ��b������Ӂ#�{�?��f�vz�p
j�x\_}IG}�����)�B׵��6y��v�����L���\Q~�0A�X`�~����Ӌ!/� 7U�M���x�:��7�F@�?����_.�<�����٪&�1[
�Ǔ\$�#$�ھJ<"�
��B�
!.1ksVl�Z"L��H-}Y"q	�bS�K�*]-Tq�o�qiy9��A^���#�~<G�CL�����3�P�q�ۿ�s�D�lZ?��P�=�����u���O
�?}ym�.�0:!(�>$��߻�s).��L
ܶ
����w~b�r~�=�k�
`~0@@\�� ���M���oZd3,w��
���uQ��
�r'���U��>@cI"3^���<�
 �e���CA��[���aRPM��rΫ��X���I!^xM��ފ�
u�%T!I����'*��N�C��6�����	�a�u�=kG��!�>��vX�
�Xg��)f�:�m�W#����sphM���0@`�F5n�Zs�٧3��p��+����+��*�+0MQA\|[�0��	p)�^|q�g�t�Y�@�W�,�Rr�e��3
�f��:I�����"�{)�ϑ��VRw�!�8S"�ڂ��J�Rv��i��}��;+�
]������^�%��4�-j�bN��*����^�����8F*�SX�|<N~\@,p�l6%C��?�%������x������*���Ty����x��k\#p��0���A�������?��W>0�Y������

K@���C�_	���O߽�3`��}�S�:T�,��ޅڿD-^f�o�N��ld��N�\k��$���B��L���>'��Eq����vl�H)O�C0E��I4.���Z��
�9oj��I4�G�ȁwkk�Z��1�k�T 
*
ݕ�FN���E�M��e@k#�|�]@ x����1�����
�oI"��kט
����"Ø�ZP����:}�(�o�vt�������._o�ӗ���y߾�N�|����P@}�?{��m�e3��b�8�c1t2����g�};��H�~.+��ذ+�1�(����
OF#ѹ�')�<�|�zf�31���jk%"��o�����������Z\��E^�"�h$���_��o�u=g
A��SV�Z�����}@�|���<<i7��B[a��B� f��{|*&�i�O#�Z�%`���?�5k�����*\�B����B���"!�l8��W�)�U�W�l6�NW1�M{��Ι��|C߈�;Ŷ��f�ʕ��.�^Z_�үT F�|�����7T��/�[ړ�a@i�z�s�J,
0*L�����J�B��J�+3�J��67bE%�vjW��Uʾ������b��o������-�V����0��:�
���FP�#<�5��5�Y�����qz{�<>�z�~�~�>9n�����q[i�e�7��������,0��R��ł�=��`�yIc���w�f�x����n���z�]�,c���1po�.^H���vl��w��OG͏�m���
a�n�:g��9g���|�����s���ƆgF:%����a���#.d�#)��׍^�d����v&���SlA/[�����r:�>�D�n�+�+gyُMc[o���|�<R7;��<���`M��=����V�o��A�������֘�=��ˆ��4\��Əwc���%�턑��p��u�v����eW���7�׌��Z$fT���tl����l�bg���y���U�-�.�0�p�t3&n:;c��~�.fw��0`��ŭ�1/*^��>�Mf�?�0��Ǎ��9cnn�iA�L�_m�נ���vw�}f�����)�2�]0r=��I~�Z����߂��9�K:��B���~؎��N8Δ�k_M��]OhTI�V���{������"
�xX�O��A�$�����K`��\i�Ò1{h��Y�iB��Fƍ��4h�`ڙn��[�՟W����?�8�{/��{�J����}U�} d�S(@Y �H �u�0.]��x����Qg���S�R��Lr����ؤq@�
� �:���r]��?~����&��k����Hh2�%i+<7؊[��*p���.�菿�7h5aj�D�C9`2��%��tܧ�?i�^
>��&���
P[g��"a,U>�a|2�"��sg����=b�N$�_�s�
& '�*
��x�H
v�������`F�Ya2�zv"��|O�<5���Pz�����`��eY�z%�CF�0Z��;gH�ݢ��[RB|ȿ
@5�3�&r�%�129#�1غ�,/�E����Xl�&Z�
�����0mC
���&f�?ٓ���̸6]�:N��>{yZ�����
|�˙�tB!~Y��G�.2}��)�9���|��<V�C��,�d5[*��y/`�1�߾�����c�cC�J��Y<�~a��>@�:`��PNp�俑�f��3�i`
�f�I�^���Z㣾�B�_���V�ɴ��>��Jr���htB6?��V��@(e_�8���(XR8�J��XD������O�@�zzF1VR+��kE|���u��ϟ?z������>�O?��*�ܐlD$ Gneȑ1��K��SlJ�'�7�\�6�D�����@�}9�9xv�:ֳ�)Wȶ?o�'I�Ȱ:�𩈚ފ�ӻ����+���w����M����0��W|Ux��V#I�k�R��KP���7$0�%`0#�@�JV�Ld��_X�� ���s@���o���?�>=r�F'cb�`6K�ؓ#���e��9o���S�
��d���?��������n �I#�?�yë��(y�>�7 ?;���z�	��������U�E�_�����kv���j�f4�`�$��?� r_z��M�~�X0KM��ͻ�̋,9Xޏ5��)�_�.x<���TFv���/L���+�-
R����Z���!���������~�#O��_���2@H�A}�Lߢ���g���W�/���2��K��#p�ڱP�S��x^�M�X��lfK9�+
0��fIb�o(������ŢR���6i��ik�p����\��G�PD��4M��P���l�'0�	@-��D���d�P�p�Dln��I1�oQ�yi�����2`�|��@�KfGrZM��e6˗C��v�L�Gb� p��3�(�	�A�a�>����3	 ���+
�
&Bd	0���ᣣ>����?s�O@�E���-B�YH������Ŧ�ܹ�V��������L�,�J\��@
[��i�`�����p(�¡͂R+<
�?���ƂM�%U����t�7C��*[D�	X㱀��@"��!J��)b���4�f�I���59u�\R�U%aW�u-�l��L���T�:�w���2a�?������+r�o��C�8�Ve'@�p!�뷛D &@�J���!��3�	��g�%����E<���O牐T)��$�!�h2	��
r
Ԃ���`���@�ԀM��_�bY1�)pw>��FN���`����_,Z%@0������|��YԐ�
0
4��]���07���L��b��>S���.@,��?$��Ȳ%9eC���ҳ��K�/0�_�����@]�(������< v�0ٵ��(���
��T��LB��6
xR' +y��`��`
�^����V����8������U�Bn��n�.��:���`mӅ�,7e���NV�	b�,.�o�z����?��%@|e��k��t�a ���,ThZ"jn�2�Ӊ�4�IPE�Y>X�n��2x,)����ѿN$�T�����LI��/ޅ�|a�#�pT���J@�`M���e/`
��LY�����?-�q�)2��	�B��N��%3 �
�淪@��T�DfKR ���@����T�=@u�����9�:�i׬��bn��Nb����	��F�5o�f�%:��*ɔ�xw���?�U"�A2���K �p(R�^w��%)~Xd��
�������쨒Q�1;�H~��喂,dUa�+������4��ⷹu��N�G9�=�8r����BK��D¡�D�AF�Q"��j��I��W�%,��ߴ����jz\s�-��
hEx@R��o��Q�a�o�Ge|��(@ߎՋ=���>-�9T�A(���,�P$A[>�(z�7*糍��~(D�Z44�@��pSz��x�

op�p�p05�5)��ƯQ� ���r���߀u��c]�u���p���R``%�_+�2R��#K�$mBȚ�\�F������i8#�H�CJE$�P��H���2�}��A�5�D��F�.���N��\�۫yL��U��F��d4G�my@���-a��}�YH�hh��-�6��Q7��hh���d�?�?rD��}͑���;�t@㷈Dygc��E9sJb rb���4����
G��H���ZD4�����3��k��pu
�W�G�\��o�,@����XJ�8�J��9sv�z긓6�|���ӧ�No�<�>��r�Ӈv?a���F(\1�O�Q�i����P�Gfԕ !j����1G��\��������%(��ɘz3Qy��ك!��Y��Θ����7�V�i��<�m�W1��AZ�v&^1�[����<gbcG��㧆N]K�=%�A^*��9�	&v��{A�mh4��V�c�9��D��ND�2�Z�9�YG/+�8-u��R�[Y���Fި�T�h���o�?�v1�Λ�~9��CX�e��F(j]����� n����'y_	+�>4m+��YS��������{�},q�Cţ���c������/;�\9�,�uS����\ 6
"���舽��L���6���[��T��
�G祍��q"�ׁ�%�U��8i�v(��,�����K������3_�7��&M���֭]�ִ�[���GqW�)5(3s��A�+Lz�����L�$�c��q�u�Q��M�9a`���36n�{����������
�g�T'����W3��x��
�#a> ��D��s�`��]��ӟ�oz��(c[o��[��1z��ڷ!H�g��H�����������;ж�=�w3h�t>AƮ�
����<i0
%�f��Z��%`�K�`=iyp0�;�9����K�%Ӎ�,-^��t�x�H�#ي�:)}bKV�dG������̓�֏A_�WowS�~K�[���<���X�eY\�~K�����
��V�$N�� n[xƋ�R`:(M�/��N񽾉���5o/���S����T)p�T�G���їL0�I���~��v��F���w�2�bv�;�٦�>�=I�d@��]��_M������M Eh�l*����e<��ذ�|$H��*�Noe��2p�y~�����3Xև���J��Ei�Z=Q�%O~�xI�$��I<�E�ߜ&7�V@�	`��u��6��Ƭ�q]N��=��|�H������WI�?�����1�� mg�����Ȅ���O_:�	�[�ݼ|��W���L��Y���������z���+Eu�sko_l.�2���ߵk�9�5'�FH��s�r��a�����y�S��w��7`}	��{�o?U
�1�}�D�`�(�,��>m��g�8��s&��;����3�v�G?no�n���F�N&�Q����'���>9�+��p���kE6�v�MJK?�����ڦ_^U(m��@��r��)܀��� }?��Z�py��w��z�2�Be[�C
�X�}�$x@8����j'��I��,4�0��'����Cf0�w�$^�֢�,U�P4ZMe_%C�pԠ���X@_X�L�(�n�S� >~:|�|[�)x�3O� �Z����^�([�!�>�G�7_ZXGkۀ����>j��R�u-fM��h���C�ZMsa�%��,�_���i����d�����ї�ɬ%�ǿS��绫O8�x����v��;�Ș��Q�&�8w{��O�6'�R�/�$E�K�ؤ9A֨TD��P겤��w{��6ա!�**��T����H�J�o�Z�k�M]+�䃊�!*m�E��W�,���CO��� 8�d�S)K�rT��
K�u�7��G�!*!'J���E�T���J�[�@z[ܓ">�h.N��V�`$K�[�(�]�UT�c˒���%��^��n���U�1^���0|�|!uk��7*,��
y��{��/�[k0�1:�3�p���<�{��,�=�K\���j.�A��?��J�Dy8�f���O����&��p���������s1ǣ�������~`q(!����a�ܞb��k���OMsL�6C�5_�C_�|mj2��8��v��b�)��j���gW���V˥L٧�5�����P�I�d]�a�=��U�Jx9PB��n�a�60|�Gt��j(vW���f[�}�ˇJӷV�ܮf`�͠S=���2����S�v]�RTU�T�*���C�m��v��B='�5�ZP�@!u���k���/�Ѽr�P!}k�·@Rx�C�z��7)2
`:���c؞����W���/&�`��0�������������>~.�LP2��]����&�s�m$�7PBS Q�����b�*���2�m��P��9�Gp[��&���B���*�a�-7�0:���� �4'9�3��d�M@\�����QѶ�y��>͙[��Y�\�\A�}-�����c�P@������(@�UFB_��_��T�gU�P`��P•3tn@��0.���@|'�B�6��{����ua�Z��L�Q��f=�?��=��|N��*�Ee��r��.|E�	b|Zx�ww�wO*]����b�b !�� ���U[�Co�e�/|h{���U�F��h�4���1X�Fg&�jz�N}�-W�Vۢ�9l㵃Qp
�AР�2����F�\h-��`�ޡA7zs*�e�d0+Pd�$�=]	�+�U��z�n+d?]��m���0rT,k��
F�*��
�Z�#�@�Y���)g�c��F��ִ��
��Y�Tx��W��}�o��&��c՘����f��L������>�����x�r�56�N���U��������xR�G�ĺq"�$�m)�
����&�+�-���(����=_���xi�:@=�5�EhG�=����g�7Dͩ�v����y�.@ Xf@�L%L���L�r@�7LN��Y](�S:���<�@�-G�xW�L�QO��B�**e�f� M,joŨ��gڀ�mU
��_5���?G���i@a��/�@���m���z
�rpK+:Q��]���m_0�x�u"Sgm@�g(�_�g+m�e$m��,��}�o��&���sj8>��f<���	M�j��'Di]�H|'��9&x��]M������a�$�v�#03�4�tR�c�ga.�	=�D��6�Æ��/�r蔙���&��-���ȗ��5'_b���_ `�B������Z�x,�'Y��ݥ��~_���W��cQݓ��N�d���H"��P�\b]N�KQ��ˉLCR1Ȇvz�P���Q髲,�.p��Z�n6��I��K\3���_V3��!}{���D�<�~,Yڹ �We!�V��dF]O���U5���F#�F#�Q�y�Ux���ҁll<6��9|Z���3|���$5�Ǫ��â��&����]>��*c�n[�<�i�l~ä��}_�CS,�P<��b��V�{9dd��j�}�X�o.d�O�^��r�'US�ys�/)J�4Ĵ+�ϟ���珟Z��v ��D�@���;�@of�<�Srq�Q�]��z�?{�)��<3����W%��L�uN8^���,g�T��i���\ #&ȶJ7��[N�{0h�
����p����p7���F3�0#�e^�f\�L��b�
�(��MN�Fq��i�{��w1p�r����r�'�d Ǵ�n����z�8��N��QN����{W${�������:'�cE'�EX[�{���e��z��
��?���H�Th=?��Q�@:�8��
�>�?0���/����#�0�}3 &��p �˃�Z4��xXʦ>�EfA��[�]{�T���"���O��%��| ��ި
�����$�H:�A4r(pj5����P>M@*���4g=WN��*��_��w��c�
��G�T`��l�G�g�3äЂ�{���L�*LQ�`0�/�hQEA�����z�����7���֋/�|��[;L�<�ᱝ�<��#� ��G������4��((��Hz�e�#���i`�@�!�eƁoK02Ƚ<�R6���<���`@��Ɍ���#e��~����gg��9
�&����E�LPw%��	������2�A9��/�̿�uW���6WF�� ܫ��D�	l�F�P`�4S7�3G�P����H0Xh3`�g���YN�B��|�ǿȃ�w�a�K�AxA�K�I�xf��jl�{���,4����SRK����bU��hLkT,Q	 4����`�
`i����a�P
���8�%z �Glu`FF6�j\X�##00`
`��}��yQ���g`X
��'+����3�D�)��J20|��R+�	�$���7@�
 �*��V�g�ZAq4��P��d*��a�p���
��b;�D~��^��/�#ơu��a>X�@f�����9B���^���y��6)\��Lo�̙_3�q�O
Y���8����������;�����2ܗ&�.�+a�}�`����/�3V	q4�p�QF��pU��	6��D�N�a�j)�Uɬ2�0�"a5�0���i�S@�@#�L&�(x^fj��W��l$lYУ
��&v���2��3p��t
�
��i"ư@�fר�a�̉���^�Fn�@��Akb(pL��&	$ <� ,�
L��0|H�;m�8�f@�F6����
K�5t2 �‚s���c��f(����J��XR7n�R
��.�$�K�J0�I�r�P��Z�p=>��� 	ƆE�����u�����-�{��P=�˄�{0�)�9z�l1S/`X:0�VGС`A�"��o�
�`��z��lPM䤕w60�u�!��6�(ҿ0`��-��U�%6�5du.�����l�����*��$�&@pğZ�Njg�ҟ^�d��LZ�C��E��^L���Z���ҜC6?��&��!b���0^�nH�@
&?�B�T���@�+�Q�5�[�~jx�z.
��`�﹅�>�ήw)�d_���Xb��2/}V�F;�9C#�x�~��{٤.��Z�L�.�{�oDvGo!��O�Y�mZ�߼������3��(<���6~͍
�N{�Y���a
`;\�߸���^<��.�ㄉk���b������0���;��(T�����קb�P�鹉;d��%D��X�?$��]{�G���?����b�T����ba�-Z*)h�� _������4�[�r����v�*���upWS�o���n��'޾|�i^h�>�,�h���{'}S�<���$����
��55D�!i`���R }�G��_\"/8D]^ ���F�?ZƋ;�\��Fphi���L=#o���$
8rb���B��v��Fev���]e؏$�>�`�3��8�ϥ[���s�ޝ�7�?x�ۗ��`�x(�2.�^k��'�����@_u�4�[�"��?��J�	��z}C	�U(j> �7�J�`��>G�=�W�1�I�)t!�l��6�����U��2�M�n<���`��?�R`l@����m���?_4t�RQIB�`���5��UF?i>���;��3�AI�[�>t������Y�	�22��"�&h�2���ͣ��Ѹ�+��~��h�r~O��t&����?�����ۣG���h��t����پs�����յ��9�jMq�&hXȹ�a
����T䜻�8]2/��y�r��!�
d�kZ���S���Xу`VN���4���"�ճ���H��U(��&p�"v1�C�W$����E������x�h�"UT�Ky��5�m��yKE]Q<��y��J�RF�µ弬C��D��%�)�
a*b�k�
����t��/�0)�T���
$�H]L5QjsH��怅DIe��Dܸ�{!
坯n�ں�puQ,s������)b�a���`_ʫ�ޗx�1NE�2tܴ\�=7�/�
��=���e\6IƭC�k����w��2n�Fe�>�!�Uۿ����}�����o������gI�P�j��+���7
7,7���‹�0nla�ߑ:��Q�MbPUQlb�G�t�"7k��ΕE��rEƢ.)������a2'n�X���\�?s�7v�񒋡%���^\�`c_�F�w�A�qY�j d銰�93�Bx��<��^,1��E'kV��=�2饷�aF�	�:�O
ۛ��}H
�d��4��Ď�$�5fF��H���~�����9�'("�`��x�%���.A�2(K�M���z�ݾ�o�
�d����vW�(��F��4;�A�2������P�oeo(���!�԰��j�i�
%�P�,2ݨ��rA7�6\�,���ت]-%�%�[�%��k̐��
T����͌q1�(�5�i�7%���
�.f
`��w�_d
:�?;��J������e}��\0]����@�����-����+ܯ�1��,Ī[5%bd`Fzj-��%S�B1dĒy]�35�:��\%�+���>�2����N
��lv�seQ5��ʹ��&�C^d����ny���������w�is�$ň�4�
���4�^�n�Y>|R�f�kPU8�*��w�%M�!0�pMR0��J�b� ��Ku�E��,ae�c���VB$Wi�����D�z����גp6�*�[�"a+�2��<�����k�<;{�Q���׭�N��N�/��Bom|�ۓ��Nk��Rt��K��fK	���Zz{%@#A��������/���@�Hl��f`U��B�RĤb	�S
���Z����A��_Z�"�碪�F��P�x���ū�߿�οY ��a*��QG��@��z)\y��5�r�x#�Ba�q�m�G�_�25A�R��X
P�+Á���3WBdU�C��ZbQ.��Ө!T�Z1Rx��&�Ģ"
����._��[����|t��ߞ�����ݹ`4
����^vB���׮ТO?"*�n�9� Q@��A(`�R�l�W���r��r
jY()�r�T�����3�	�*T�е�<R*��1�dPTe�hz�OR��C�b:��E�H���c`i�on�Ѻ걟�WcN|y����(Z���n/�C�^g�e�S4�>�O����n�I°%{�*Vc,�zu6@l��*UM7V2wI��}��^�@W�8D!�A��'2@((��t��@��V]�9��@3����G7�o߁呬�Y6��Ƭ�Wv�<
U�HH�[k�Hu�X��y�X
�P�uhɫn<Pܛ��O�i��
@#�Zg1Ɂ������R>���e��8ř�zpʠ�/�Qp�\
��\�z��?��G?��'��ow�����(s��4��E�6 ���I��4+�U#@�ԉ�W�.(�G��.�A��8
��J�L��K2�����L���!�c}�K�o<@�m�"N���u��5$8�KӇ`�T�s�Ro�������0����īs��7��N'	��-Ԅ`���j��������;{P;�nso����6;�n���Hؑe�'c�%Ac��y~���afG�kKj�Y;����t���X��4����e���"{��Z��+Dr|�D���,�T�~Y�r���k�[�ai߱����`�*Rz�����c1��4�b������
эL n��`^+�PҔFY�W���"�&a��Zh`Ov��	�8�'��u;'4��š�>OX�$UX�	ac�����2L�������l}v�ٳ��7n\_��ͷ�{�vÜgAC����% �Y\��]�u�b*���@�)�i�z@h���Oe0���v�[Z�2BPYiM�
Vd�M�`u�q
>� ����I+;\
��%�[&����M�ȫ8������'��QG�&��:p�
�G<�S��{�>�򋙩���c���o������y������-����f�3��i5;{��Z;]�h��^��lt�Z-���vZ���f6���M�yř�.�l�o��~�n�>|d��lt �7{���/�8����_����ʕg?��r������3G3���yN]���3�������1Bm�BN�`||*:�(���~u�s��;��;�߾pn�M�~�����Zzs��C���=dC�4�c?�05%��n����Yh��ȂF-4�ND��V���<�,/��lmo�v�_k�n�}��tK}��y�/�m���׶��]<��)�7���sG2�E�1����;N�ͷ���;�w��	�IJ�����ӟ	�*�9��G�]�fNď���N�u����&'d�jB���x�eJ�$&�K�de�yfҩ����A��,
����־dM�j�vV4$lY�E^B(I��c\X|p�CNeba�v�>�uYr۬뤎/K��y�F��8����h<_������=��z�j���p�x�:;To�hiq��74�/�xJ�������.�5P���T���ٙGS@:Oܾؒ|����+K��*��o����-�Q�*t�U��������'����߾�v��0�����;�����ƈ�D���O?]@O��m�c#D6�"������h�:TGޡ����c�����w��]�Om�>�w�@�o�m�_O�>�N3�Z<�.,�P���+_���뫷�N:��۪"������-���?�
���e,|]ZS/w�5��Nn(@��4�o�V$�:l�tN��
!A�<2�?�i�Dh��4�5���i��sdBr�3��1��Օ��� �ݛ����K��6y5(�-��hy{�K����?�Փ3_�7���>#�ݽ��ݽ ���@��^M@�{T�3|��G����CBZ��O���4ڑ�����c���/]�C,�^��NC��	���L�o(��ܼߩ���o�^TT*������+_���b�ԃ�%�����AM��?}t��cZ��s�@4�V��]%��N'����o�Q��*
�=�~
<���SH��!0�s<#���J����D���u&R�~�.��xvO��?�+��ǝՕy*�U�aC��nUg�(<�m�y�a�AT���3Q���Ӆ����\.�,�
��2�"ζ-\:���)��^@��{�/����~�ͥ�#O�wL8�"L@�ԥtK�^�7���B7a��1�^�EMf_Bh�-�F�����)�6ΗL?�F]�+��V�Ķ�?$���?�����7KK�iL��m�K��m;���?Y4KgK�K�y��(�<CH��·�/�^������s3AU���
B��\F��H�
�˖�"m1Z�`w�P��P�6|
�޻J]{F�i=�T���PPeH�>=�J�mt���!
`���v��Db�N�
����&���6�]"d�����;�$n�QR�E۞�_JQJB��g��G%���+��>Љ@E2���LM��
g��$�d�>v�~C�rGª"���s�7�[��.NBª杀1�g�ň�b���I[,��=�#@�'"���tj&^���->��`J�P��{����;�W���:�����DO&���U�(���D|[g	���৓�
���|�ΐ<薒��>���G���'?|�����zk~r	�����z6�=����x�4��Pt)"���(:�HY��¥?������cXH����9�ː�V�L�+B�Q�f��� L�! ��<z>��y��0����JI�_*u^ؾ�-UkA�}~�.�DL0�(���G��(�\�Z
Y�9��=�λy�7l@ Ԍm��O����q@<w{=(K����FA�6�����@C����ƞ%v	'����ϐdGI�!w�]^>w��Wwn<,cj�E���@��Y�D�b�����6i��Z���Q�+��1���Sk=���s��_�yTqs�s�P��z��Ť$P8A���^{�Ĕ؀��F"53�Q$�p�����c�yn$���b�����.���o�X�E����V� Q�H@4��%�R�8�c`£|��vރI\p0.��s��t��2�w�/�,����ci��(���g�Ź3e����lw@���V;P�]Z�@Z���<��C�ZOo.%"��11�9�[4]!&=~<�������U��P�GB���x3+,}��i	�
(�f[	�df0�5��b�@��P5~)��nƵ�������Ukq}}q�?�0��>ɺv���S�>)X~0t�iR�d=���x8���LN�n3�/?{X&}36�NHD��<{���ϰ��"�b��q:�	X���h��ީ���Gk53С
�gֽ�H�2��ð�,�]
ph�p� *$q<�klL�װU]F=+�+R���vÀ��)���5C睎�8JT��g���� ^n�����P׸a�Ug�>ĵ�@�th��z���7Q�i�i-l�旎���a`6b��!V.�2$��X��=J΀�@�"M�0�X�l�}U����/��!���M�تb�������.M�C{��b]U��#2���%u�N4�{؟�}���#�+�yg����d�1�ʥ,�+��5HY��E�k�Gca�Q�w�o�88����
��[�#�U�F���̄�c&�=>3r|�)}#P[cFg���p���jmIwI�l�i��u�3���ں��G��0��N�V��4�XʹTL!��r���jX,����'�j�+΁�]�h��$J7/�:t��y���+_�gf��#2�=�@��}����w�H?l̓Bj*�H�?՟�שH�O��H&&�Nl�fd�/��� ��P�2�&��I����u�`4g��Oͼ>�)Y_ ѽ/2��Sz	�S5����iTc���ra,!?�e6�L
0�`��c�~�@a]��Q|��穾F#��`�G:m)��+^��^��FS�o�{�Ň�a}�Z��o�������#��Q��
���?a��T����~���9�2 ��w-i��奭�������>u�A�*�\�M�Ա�R�����uHI7gF�ف�C���G3�3�Ŝ���i�g�@�o	
��������yo$5�_aEI��/r���zJp�B8b	0�&.GQ��+��{{@�|��
^nmZֵ��6l�h��v��X)�h|�Ю!�]'
k�B�$�^+%]*�Xq�\>68�Ij~]ñpؠj���OKH�D��:�B��2�=g���
��yÅ\d��ìJ">,e����im#���^�C`/�,�����F-��
J��Y�%�C�c9 �Bi���_�†d��va脮���\�+�[��e߿��n�lى�6�UuUu��i%��{U��b��J�G��[������U�k�Nj��Os�g��Ƌjͺ2�/�k3������Q���<0�}Y�lO8����w����˷/��^nm�ݥƫ��F����^����y�į2���;��w3z�����6�>�����:�ړ�����V1�:��_��$�����B����y�|�+e�Z�gIn��æR)�~�Os�g��:㓲��h��菺��II��׾�*s�<&�~!��Yp��/�y[K3+O�򛍗�W��
J�zۏN�'d%@oֵ�d����@=�/�	��ݟ7�|�x�A�*����vJ����ӧ7��/�!O��缌�+W�`���0�oI�2s3���0X~�X���ߖ̓��U���=Ae�K0�d_�.q�]k�{b��&����ݗ!���"�i	�])}��v�mW��+'���"/��?���/�ܙ�1�k^�_.ߚ�s��m4�[[K�Ȇ<k;p�b^'V���O�"Gֺ>�g����I�<@�[����W�	�[�;�K��=��P��7.�����F������%��o��x�[n�?}6��������~$�O�?�������J����>�	��錒����5{ȶ��I��͇��93��
�|��b��=�?���C�p3Gt�1`xw{d���&�{=�^���z������4G><��n����	�ٳ'O�}�dc���p2��8Χ�
�|�]5ˀ˯
��?�__;�)����v�رFRv�0�N�O�+�u������w}�Ղ*
Z��6��~X��š�3.V4��Cɴm�-��XC�-�(S�iDP;XG�A��X�����b� ���h��U8��M�F
���z�'J��RC*mlq���c��T�=����:71�u��8޽o�B����x{�x8F���ʼU��g|��U��[o��Z��0k�@@�??����X�O���Δ�v�S����t�53c�0񒀯
`�
��2�	w��h�[��M�<`�L9	��AJ�ƿ9wm>ȑ�,7�n�O)��4н3C	u	At�>40�O|_8�y �S:\A3�L���jx #�U�*1���B sQ�M@o�G�t�G��b(��4����ģQ�.g1T�(F�E�c���ӡ�}�sWd�U��ɽ�,���iЯ��k��~�r��Мp(<p++�)b����?��a`<{��O�I���%�F�����
hқ��2n�2"@���y���2LP�-6�N�h��2���>��f��x�������'8`��,P��� 	�����(t�U�C!��*��O�?c��*f�c���hC��b�I̦�L�|mSK�~<�Y�ۗ���\��{Bnߪ��o������f����ޛC;���5�a>���N3R��ZZ@�e���?H��v�C�����i]������f����2�9�4:H�]O��l��`рo�+�p��z�+v�t��Y������e2@������A4a
PQ#h;�#�(U?L$
<����׮_��GY��Ce�C�'X�H	s�@��ʀ���O)`�4�J��v����8�ak>u�
`�AE��
��w��|]�*�z1�g�^���b_�<!��w(A@/�zp�4"��Wmi��_�o�b��@�������k�P0�4�M�#O�&7��lL�Y	ϳÀ�l��g���n/r���"���}-����`�i�(Y0��N	��
�� P�w�wTŸџ�	�D����[��@�+�y~)`D2�?�@n����8=M	`y���p.�b�R�#����~���c��z�
�r�V(��t�OG�(����7A@��S[�E��B���La[���p ��@�
����M�h
 	d��{�{9-`a�S:Р���ܾ$(p��*����C��%�����40�x �M��~4�@�B���	f�V���(��I��'U"�p��JC_��>D��#��mH�ض+��0��YH�@vߙ�6�̋?�
��$�gX
��|�^��NJ�ts��3ܐS������{�(`H��s�S�&���P�
Q��D���Z�L���^�G&�Z�v͊$ȫg`�5C
&=(q�h�_�H(A
O�DVW��z~���@8_h��L�!�����@s��$�~��� DMPU�B*@)�P(�!���?����C��H����&
�l����r����B��Y���_	�Q7��L�r
`.��g��x�^�c�M�Pܣ y�i6�o����V��B ��@G���?0��s�8��<����XK�Z49h�<Y pS�2�i��=�7p�@@"r
�#�M���P𘻈I���d���	���@8iBt�4��Ʉ�?�D����?�"�s�*�Yh YD0���u?�G:�
`�@(�J��P_���
%�J��$`Qԟ��Y�a�Wxq�P�� ��&ر���e��ʤ��y2�"R�OYu����y@�hڋ�m�,��%43,�ZD��A"x�BRu��g��-��:���&�3�	���� ¬ Aq�<�q��$D-�P�&�HTq]��*���ԋ�WBq,�O�QBɿd��$	P���g	p�l[�*��;k���!�+	j�����&����<@�D�
����S�L�mC�}h|?��B�9���~zD�BQ����p������u
�#M�[��#75=�B�+���LДO�oy>�3���&Z\[~!!�h�����?(��`?��z,W�ELj~����b��hF;1���d�#���Dp�?�絍�&���1�	�A���:�kyXJ,⎲�v�.Mf�i�
!+d��Iw�1m�6#p@�:���qY��[.¹���=����7��8K6%}3zo��8���~�?���IPka�Q��J��0�7���+���1�S��
��`���{�z�����BI�S4��6�;a���br|�s��������oS�0����O+�44���\���:"��f�^ּ��
	�W��%��o����~��KiX������ָ�r�_Nba_u����>��o�߁��Zc}�!��� ��J��Gh�� ���L�l��Ǚ�
������������dL���:���*������_ʍ�U	�^RH�с�8�v*����^]`]{S	�#h3�I�S�O(%@eG�W�)ĸ����b�]�W8�_9�5�\dC2��^d;�	4�i�><��, �
|Ax6k�BV�l6k҈�RN�)	,��`��/�'����)�=<���E�-��Q~ɧ�Vڬ�ON�/���]n��]d�}���f��_�x��~�&�MG`^���M��/b���,�K�ƞ��X
���
}���,�a�H�4e�����
����	 \pj���d�\
��?���cLs����TX�W��a�_1�[�k�?R��(0K�S�
� Hг:����}�4_1`�@w\jh��t���~D?1��3�����7Ÿ�~
�����h{gߦV.�!�w��?Q�D9Q�jk�_!�C�I�4B��g6�y��HU�	ı�l�&6�Z�Ǟ?S�d�L��B@.�dT�-�h�G�Zo�78�R�Yx@q��[���}h����t��J�?�\J��T��Ի�~S�[}�F��|�S�N-�)��:KXP@�?�_��w ����w�q^�&�&�O8�L?kd���b�Z���0��K�W?l�s��=P�����n�4����oV�/������:�D���@~�N�d�w1�b�q�	ܻ��-��q���X@/i(�/��(v��z�)��Ø��a]�W���
������<�Y7+���l�眼����	�8p��~B?��.����~];c�~�ɶc�m�}pFg�>�zi?�ү�P(�+[n$36���_��|uJ�bѢ�8��/wvv����u���r{�����5����鯂�xw�ѣ���F�6��G���G��$7�DQ��xXk�Qj~��'��Z�ُ��x0X
�
�/���p>/�H�h��,��^�d�D�S��Ca_�߾�ʮ��@7���������9[ޯ�=�{���:$t?c_�o��8;�������FW頇�����AT�\f��9�觳��A
0@P���K�Zc�s�w�;{�:p0�(�n�y�{����?n�@���0iU����!@�'�:��s��U�G����d�_�8�Q��q
Q�0��	������
����z���:.���\r��~Ƴ�B��%�~��wA��o�C-�������~M�W\�_1�������
~w�-�^�o�YT�.�I����'����K�6�%ON�S���iE~zxXJ��G���y䀚G�2���b�V��/����.�p�����p��?}�D�������~���ݭ�G��O>_����4@�!&9`��6T+�	��!�����E@d���AW�A_D�_�����j�`a?ꌢR?���#uؠ^*�H��B��G�`���k��������������L����k�GF޹x�=y�Ƚ���y�1U���C�M�^f�U{����-��C>-󑅿�a��U�i=�걀�u��i%��1�ݢR��S��f6���|>0����#��Ax��%�<���0��J�O�Z�׆~�?�1��<��@���wk`�3�5��^��,��P��E�F7`s����Gp~Q����5{Z,���*7{����sX
����[�B 'X��-R�P�[�N�`��
�a1��h�_^	�����*n�z�����<{7�{�����
���9��t^~i�6Z�ձ7�&X�Lw,�"?i��O^
E���C��d�S�7�޾��1��6���I
���Ƹ�Nўg��K�T�����8��y�g<B�ieq��	%��~���t	�O���G��?S���kyt����|R���?�Tg#H�p"�����w?,��_��z�e�6��A��lX�K а���`&j��oF������ �o��H��X���}��@������0fc��~,��M��SЗ@��z�{�N�W�!-���Ln>:a��y��ɛo^�5zƘ۔��U����̇	ć�����u����ky�9;ziA�6�������7��X���:���Q?���=	�67U���}l�=-�T���h���i��������MQ�3�K~87/�/���dr��F`��A0�w���F�6Wvw�E��U`�����qU�MM�J�"����.=�}�w3j�9�||4��A�V�bk�?M�@�m�X�%
 5$���c_9	�����&	 sb�-�^�SwG'n�.���u@�g���[p㽣�
��׍���؎�8F�1�aB�~�}j8o���!�p�����Kf���K�X�W�w��d��wHR�K�'eg�8�1���V.-дa
0��m��M��̐ՠ���k
��$$`�j�*�?��,d�2��A �
�H�����e��|��_T�������f��"@�S�]��d�(�#a�^("��l�l@�֟l?��[�[E8�����@�Nq�S$�3�ǜ��ѱ�チ���@LML|s}�Uǯ/��f!�z�����c#�&qGo����km�]�61� LD�Z�[z7���՗��{�ƾׯjX_�{Ybo�{^_�}vV�����&��fW�?�~��@y�A^�5X`�/��
҃����#��Hˋ�x �L	�*k���P�O-L�u��d0$���x�Al���2���|
��+����^�:��
��? ��M��i6'S��BBL�
�F�8�Y��)�0ֺ�$�,�vf ��+�ZL��Mn,�"7ٖ�@is��ys�,�>_�Ǚsb�iž��I�~��|��;_���?�Lh.���cw9�4��AC��>�F�pɀ?���'�ߨWr�8@�Up
��:����
�(���N;@��{�\�hb��A���������h�T̀�:(�w�S�8�vo����A\`����6�	(��q��ɳ����	u����1�&�Bq�ѳ��Ϳ:�dG��(i�K`@�#����ZQDu��~P/�W* �-
P�$�2������F�'N����>� =5�'`��+��V�D�.&�;pB���tg��AE������|я���*kp2�?d�R?֩]|��M���3��ʞ���0~lt�&���r���/���5�]��Ll@�8��G�~ĻK���k��Ł�k�"�5������g��v
��_�1�
W�ii����
��ي�l�3+0������u�ө��?4�G��せ���?�]V����f���._V�"@K��=y6��K����+H�~
pa��)�����;����F�Z���l��
�
=pqA�N
��N9���Ï�]��@j��S�k%�@���@�����o\�����h����Z��AtF��~�������ɏ��?f��ؘՔ#
��юx2��$|+��_��� v�?���/H��qi��&��^]!oЏw���H{�@�7+�����?���(�M����k����,)omM+��,���#�����\P�O��Y_YW^�������j�90��~�=ȰW�6B��Bxg`/h_d����T�����_G��_'`��spZU$����Z������+,��u�mu��{K�#����[oV�bo�~��,�t���.׮�5��<���3	Y��Ƽ�o�ԑ'��O��P|�>��.Ͷ/��~�҆|��ҟ��M��d��c��J,�	���6�
�>�Mh���?�; ���g�_D6��f��H�?,�w�<N���lb���N�e$�w�����E��Q�nC��C5ԙA�Ȱe��O�`-P'�_W��:�n���su}m���SA$�J���O�H%N��	
���/Η�����n��[��_�E�k��	 |vă�>Q�����,�;2�;[����;�i������_��؅ُ��m!�m|PH�V�h���,FF6E���c4��y���(�b�H������'���03��{��)A~���@b����7�<O\�	p�R����uL~@o���^PV)#����P@H&_5��X�1��f�B�AW�0���<u��$Z��:���8Х?5�z�B��/~���.�8�M˅�R��Im�V����o��:�v� �ϏI��N��Ԧv�֐Әc(�mf���f�10��jO�h��C`�x�p�o"�����
���B(Z`�?�]�w��xo�|V�?�]Bp	ѯ�I./g��( ��I�.}��@�nBo?����|6�3�pj Fh����B�����. G �0��#�? �O�"ȇ�Ux�ՁVs��3�B]��' �r�i	��
 ������S���ݵ��G�ÃGG�j�'�wv��>R�E�V�.�
s�$���ǓV���ˁ?K������/>���.�-���2��~�Zq���Xy��.t%@���V�Ptj�;W5�C��{~���@	%�?[�8���
���@k�k�Г  Q�҄�p�����-
MC������WͰ� o�1�+�,B��E!�@�L ����m�#�J� W_�)���
`�,X�ϵ4`*9����u���g����}ѹgGG�/�8�����X|S�]�K��1�ch�[����k9��=��v[�*޵�^`�n�%���`�I�#�'He<��߅?��.���?T�M��A�3+�����3k�Z��NW<YV'֌��a���libP����&'���9��tz%��O�k*
hZ�G�O�?���+VF�-���P�x�P�?_9�[�RW�_��U�?��������,@*�O��/

�P	�p���
��b��-�?�p@� ��4��ߧ���>��3�?c��cu��8/��@����1u�v9@ƪ	�R@QҀ�W���٠Ѿ��9J?����[K��A��A/;':ٙ�6��)�':�
���t�st@����y������!��Юhs��~x��]�����>�?�_!�?ީS=h@�/��׉VQ(o����`?� �\��(⾊��R�7v]�h%`|��F�xLI���	��O�l?����>��`�[f�,��,��;��j�k-`k��95��d26�H�>d�<�h�E'PrX�6�ժo|�F�wF��G�>L�q/{bC�P�P@I��\��Yp�@
@�K��D�n��X_�r)����ﷷ�Q4ic˯�<�3[���<@�E���.a@�?"����O�>�~W`U��K��]����/��5G�B�_����4�����v�Ok���\��k��W�>����M�/$�ݱ�.�/d��!��X6D�x��:2-(�(��@�(��}�}7�h���D	���'��%`�D�ǜ? `1�����	�41����l��|Ӄ�x�n3�&`�J8o
�����F���H�}<�U��@���:���;(��8��M8�Ⱦ���_yŀ��@=G�p����W��U����_������D��r��o/��l(ofF6G\(D����#]��E1����='S�t_�`2�}D.��د*�OW�~����j�A��?���͞T'`N��� �``�K��>@}��?�6�!��o.�-�O��/�<h�#܃�7p�R�AHȿ��Tv�	rj3��Cty�;`���#�4��S��>f_\�[Wk ��o�I�54d����_��)� �?VL7	���n1��}(P3O^��H���j�ѥ�Fu �e9żE~u~~��'j}���Ӽ�8�ԩS��SD���d���$`����Zz3������]�2B�%�!�A�3(�3<�8�dЈ�N��F��� ���	�(� �B�(/��[[�E7��bv���<������=?�ORlJq�{zz��a6�w��s��r%��?P)�K���X|�5��=40�L��CG��}7�?Vxdߺ���ﺧ��.��}�>%��r��D��(�@��
���4���K9�Û���m�y{O�+����<'�]�Qj�<��f��݅�>��n6�៸�?����]���l�π>��?-i�߼޴(
�xK�u�`�윾�n���9��v�H5�����zW�nq.��G��
���m�eN�)�_���U�<��������A���d�`�J�/OO�hҀ�?���6�����h�I(wI@��*����D?;��>���A������c����4�
�Ϝ
�����;4
}
�sWh��W�w���u��?���%��S��(
�l�O�8��/�|E�)/�O��I��ך��)�uj�Npˀ�l��{vd�����?`�~�ſZ�a5|`H�(�.v`��� �S����O
`�[Y0���l��!����d��
�?��?��_��nD��'������� �^�0��[�"f�}1��?*����.-��s��y���3��N�u�L�������ӟ�8�I�~6���xO)�����E����^:���k���Z
�]4�KF��.�6��Z����,+��9?�ݺ_���+++&�S�؇�U����N�`�UQ$1�{#C/!�U��֏�6����i}��z���?�.q@���M��H�/������C���q˱��Y���r��|�j��ld��o�ܷ�M��[6��'�Z��	��������>��(@<�T�o���|W���;[~ԋ�9��yo w���
�k�M�A=x뱽�������,W�X�3��P~x�`	`զ�6���X�^�����C!p:�L��j<��~��]V��������?�/�����X���j�%�b�~j�K���w
�T,lx}v�_F�;�~Y�O<?�"��J�)B?-*�m�/&���
@ř���:��hn�Ǎ���yg��E�7���8@��
�8-|�Zx�Hoy�-�-���݀�O@Q��
� �Bt�,�Q���	����+��ǧ�O�`����/�)`�NjD�~��D�(�&0���
�(��X@9`�Ђ>w �N�_TΡ
|p��x
���s��V���v����}���I�M���u0�K��'@���g&@�+�3r?�)���������SgT�.���ߚ}�ۺ��96�@���_I��M=�[�S�#���a@	P��������w���
�
�pS�W��K���{���:>��6�B�!X�M?]��xZ&����~��"�@tQ�s���A�w(�g
���z��i[�P������|��o�\���l���S��_;�<�9�?��"���g�O��x������=���P���(�����oT*���8$���û���@���4�	l���y0�Y^�N����,�˪�-�?�Ǻ������k�:=��5.�	x�6<+8U��.��Q�
 ��P7�Vۃɿ/&���iX��a,����,��_/?RA40�2�`�>��.��`g��G�]
0F
����%�����
 �� 7G\��W|�.�W�?�P���翥e?A�c���OJN���W�KK
�T� ����V��ً�?`�m݋w>zs��\<�=$��B���/�	�׭�9�{�*�,X0���hT�xx@�{���D@M�/X+��x��L
У2@m}|�<���F�`߿`�|2���C@=����U��E��HD@�{�0��B(�� ���b�&�������F@Է��-�����Dz��\����3���y������3�'������	5�'vd���w��/�~�u7�S�.��Ge�4�R�(Z�����oN[p���$�N	�_��)�	�w��~пV��wPШ>xAȅ~�ɓ]�S�`���C~�`��<Օ�0��>�����g@7fRk�0a��f��������`�~0O���N`�u��G�C�����)�Ǫ��1�?��+��YD}<���@tY�C�oN»��ַ,�-"��ڬ�6n�0�l1p�Ƚ}�����|~������d��ffy�[�g�������]�H�G���
�SY�[J]���?/��7�O�+����L�C����siGh�ɻ�Vh+N�M�
�b��6�r̽�C�岶�n�7���as�d"?�6�1�g��W���o�F��(�k�� �CoP�
X�+l���o�?����5��N(8i=^N�L�����ql(��12A,T�D7@<�1�8�`@ȏ��i}�?�����g�3������p@��	nhળ$h��/޶��{����◿B�*��'��Ȧ��|?W�o��ߩ�q�/��b�'��G}����%�d)��h	TA����g�μ���/���g��p�;s 	���l̅)���᷵<'�K#/�a�\�x?��_�~�؂*~a8<�W�*}�[���J\�����b#��?�L�'�ϼ���[o4@���A``4�������r����?�9p|��4� �C��Qp" �7�?��/����v��6�v�(��+��6z�w�_|�\���x�A�飏�d �EU����)���D��ϛ��%��[�S���_\�/�'�Q�^b�k�/w�	8ҟ]�J�/�k����
�
7���x��{�:��a�/"w�v@HC;Q�2�{;�	}Zʳ�zeۻg���-�����MV������b�HX@�^[���x�d«��b?6l"���OƷ��ittT{0���c����������}�J}�c�;��8#�
#��P�������$�D01���5�ɀR�́zn�l��h��G_��G�]Xp�*w�/��U��N���̘�$���7;�+��ob�5����@��2�#���y�K}*NP%����v�4�蠟��D~�ڇ;4����]�hBg��DZ�\O���˯\�k�`Sp���pM���7��ׅ���O��eN0�z������j5�}c4Z�}�`�b�{Hb`����D1��#y�w�N0/WP��N������׶�+\f���5��ʱ3�V�v��BH�Ȯ4����A���Zuh`�	]�V�	-��.f�E��)�җ?@kC]u�{~�{�{��8���}�{���|��w�9�c�/��?���z����|����A���,7�o�{���=�ʘ*����z�ݕ��YL{
 ��7!��!���O�>U�߲�cտ3����W���O\��_��? ;j��y
ldV�l ����!1���$	��Ggr�.����%S����
hV\M�Kl�oS��
����F�A$P�����?}�(�
ɀ%@���-V���*�ؤ�&5h���?<4���!���>F!?<@
�^?+�c��0�w�t'*0x�]��W)��� t ���s�0�5�:�O�g���ߛ~A�����mj�	��
�}��g0Q����E�~��1���3|��w�5�M@l�S�(	���ـ/�������N ��ߐͽ�~��Y���"b�H8 �M
��E
�ȱ<j<�.��l޵�[�'�Q�n5��Ǻ2���E���gwP��E6��_�
���@�-�!?��@���w���
l��:����)�o��>�}�0&��}��?��xB��_���g���~@��9���ǁ�ЍNvf��.:)8�S��L
��Ƃ�}
`F�$�|���y�_L�?��;v�mnn��/�_w�yq`+�
@I�8�f��7�/��n�P?�"d���D�S+���"|G�n��x�E�nޞ.��$ �p�
(�{���b7jT�[�o�(j��µ,!�L�i?l@"���h��h}ܾj$�h?|4�eI�@h@��K�G��E�h��?1@�S'�ѯ�~b=�#�����_�0���O ��{
`Ŭ�7�b�/g~�w
���yr3��Ǜ�%�?4�/��P����k��'�H�� �;�_���~�V���U	�Up����a%����#���^��0�?��z{ll�U�Ƿ����ܩ'z�j�ji��5��֢^��}ܶ?��
��޹w��KW
x����A;�M��PA��Wǭ��?��Q7��o|@�?x Q_[������$�=�a��b�,PG����M�$�)��M��8	P�3Ƃ��J�wޝ��:��+N�L��@S���y�=5�c5�E�N�����������ob7��ɽ���>�bĺ��o�/��
���h�����C?�û�	�p�P8��7����5]�>�u}�恟����w�p��
��M��~�B|!{���D�n��0 %pl`�e ���h��!H�cG"��Z�K��	��q��N�=<���� p_��?���HEj�z���:�Nz�_�|��%���غ�s�w����a�%����w��gǹ�v`S����l?�Ѕ?���	�F��+�Ð�"�fx�
 ���S`ׁ��H�
���@��v�ңIpZ�p�
��,�.5|�%�o�|Pk�*.�����	^D�\_ʒ��7������o�"H���������[{Q]dF��}����������/�*\Վ�'W_�ôg���3�����@��X�}���Ss�H��Я�?~�$*�����K���u�a�_"�$�Wd3~���� p��Zxm���ŏ�O���B��v���A�|�;����V��Q�G��m�O��~l�Bo��VZ�/�4�+����)@
��}!��r������Є���
�c�����u/��!��B��:��=��%0
@ ������}5\�O퀯F\j��K
`�M&��x�#q*���އ�B��Zm��a���S?&n�7��~q
�\�7)����fZ`P�M��B���y5@$�C��#�[=[�Dᅦ
���P���&��$p������51��'$N�K��}�I���<`������E)@[��70Z��M�p���#�,�� 0o�!����o�<R@�j�����XT�؏����7/|�@uN��̥-�����^�;���.T���v�o��:�n�w%��R;��w�W�i
��M{�g,C��$P
���[_VS�'<�O��b���!@��W�>qE@[��(������d��z�tC
�
0��[��
P�0�1�]��c�����k��q"
�_,���"��'��F� �/� ��9�$��T��BKp�%��V
�=������!�m?F?E�z�E�S�G��
0�a��e�_'���	�?���%?�?��9���{u��&`�X��=?;;��뵲@��W
@��L��O������GO��݁�S?\�p?�[3�O����?A�^�N�'�p�G�GwU�����?�?��?��HtR'�?���& @�_����^�¹B������?�XHW�`����P,�F��}�E��m�>�@�6P>~���R��=�
4�-��L�'�_W�'�W�*|4/������*�^.�2,��OMM�?����m ]pI`P���������NL�]�$,<�'ޑ?�b��h��A v�������
��9�w�[�|n�c�P�n�ў�i�� �"?�t�	���?��Hg��G=�@p���(�}�#�iG_�y�"^��Ԩ����z�W��հ�o4v������p.)+�(����:-������CA}���awl�?��&�CP�N�g-����%Pu������~?��`n��e���l�p.��/����?��'����תX���|B<�(��>�6]���n�d�N���Ǫ�W�WJ�0�8	���@O��������>��%�S
�%B�p�0�m����ȃ?2�C5�ϼ�.��e�~�����v5���v�����''��˲���B�L��%G�
@���]AD>gP@.`�l���݃��C��PB?�c?r�]r�
������<�g���jc��р�|s��i��?��V�_��L(\�r/�#8�K"���KAa�*�(?���
�D����{7>���M]y��������X�b�`oG"��;��`Y���&@�?g��Rr�oF
�lnl�1�=$�hC�{y R6�D��Ǔ����؏	@�+~���_��}��Wd�{�w�/�2~8Q
�r�YÅ4��)h+�י����-$�V�v�菫6�BwCЏ�	
 d�?$؇�B@�Y�ư��Z�$�R��D~B?7���Շ]�i{B8}����̻�=0H䙆��h �ʥyB���8�?�_�Ս����{�^
����2��L��r�g^?>;��/qW��T��/��ࢠ+V�M�T���L+C��9�EB�����M�f�8�D�۴$q�6:�X؋�BgZjf��ҋ�E����:aJz�-S��֋}��y���I�:���J������}8@`��o���DŽ~9�9�����, d��ڇ��z՗�Z@M���3�<������������M鿳
�i����+I]VYף+s@�����<_w����/�������]U��N�`@��8	d ������@�}``n��
����}@�����I��%?�����{������z{�
�����<�R��'����gFx�i;�]/�mఎsT}�yj)�2���''6�����/�fW��&&f濪�s��ѫ���k��ϥe�?0�����,�r/��[>�W��g����(���~��+�k7WBT�@g�x��O0h�
zh��f�v��?�?���U]Y�0��W��@j~�ſ_�<�
�vv�1;P�P`u	N��Hh0��20�N�|��cu�P�E?���?����}�����}A/<?=G4�(��g.f�
�>0�0����b/��;�qT�9�6?�4�
9�"�H�d
��e�6߿����ҳG�O��o� ����4ώ��鈱9Q
F��G�׎4L�
֗��~3S�Rt�����rĈ.z�GJ3����h��
�ޒ��!S�m�?K��V����&��"G�	�l����Q��n��d����}cʟ&�i0Z���T ���]t��?&r���ƒ���g)��*�ס�&��$���5��[��N��'�~�����&�����"���SA��y* ASL
��� ����}Y����-�p��������>��^����	��?�U���k��g4�|���@���r;�e1�ピ�3���H��9��·c9+hLO~]�[z��fk��í��/�Zn��?v�{#����fq6v�Ŀ6�v�rz�2y	�L70;Pt�f���<s49y��{��bx���g�#�7��>��P�:�V��?����b���x~8����V��`e�7�O�,����R�S3vG����q��?
P�g�,�gv�*����3��?b,��J��U�\G@H�-��P�:k�g}>j�?����G7��P���?��C�������q/���@"�A@ �����>we�zV����>�%����r?��UG	�p���� �'�a��3"�����l��Y �H�f��HU*�r�\��P����*c���#��`o����x����/�l5�AY�jjO)�Uq�ah�Ы.���ҵ��;��O�kɡ?��z�Y&/�����c����+{�X[��1���'���Qj.홌&������^�=2�_�P��/�Ep���.�)�Uݏ��6�᧖p3���1 !7����i޴���~��p���1�$�Z�C�J��~�b�t�v�J�O���M�+
�F~�$���I��L��*
�`A: �@-0�'%P,@����Sc��N
�%��y?|����}>+�5� ���>>P�G�@,@&#��?a���Z����D�.���u�݀*0�'Gn�Q&l�I�(��R��ʕ3��Ra��ϊ���?��zݔ�`���u���t��-�0f���Ԍ1S�yK�#�&/�ࠗ���z�Div���tt�0���t*z+��cv�t%��מ�C%�%��s}��ok��O$+J{Nʹ �@�6%��ߦ���Y�k�v��`�'Z�a!��<1��	p�$���;@������V�$[uL�Q�ÚN��8e����K�d���~��E���"��_�wu;��wb	��t	�)
%�'w{hohooi�u@�ڷ1ؖ�G����ѿ���V.�ӧ����M�_H%��?L�4 3�����aQ|��c�1���s�P
�0ph�J�T%�J-�_!�O�b���G�0n�__�%<�ٳ�7��K�\}��+U`�R`��,5�_���$�K	���V%Pa�"����SD&�16�x@k�B���طe��ߘ*��A��}q�븳���.�^��g.�7��c���4឵����yA 9I0�$�kf`*XG�d[p” �
� �D��ZHx�K��{���P�@�"�`�&w�4`�旱M	P��P#�)��G�ApP&��"�Y��0�W
��C�^��bc���Wŀ8 W�67V1�9��.k_��ٮ�g[g�>�_��Tԛ���N����Wv�M�@^��%+'�d_P�D���o����cN��(p�A��8��{��{���?d.���oMr�Dz�R��~�^�e��u�Neď���?/?�ـM�X7 k$�e��lǂ����z��L�4��zH(4�i�kh����?���}����ý�8��Ay?���������1�w�|���0�>�2x˘�y@n��!�S��.�}���ѝ���Iߑ;�o�዁}��/��e��^|I���e����f ����uz��g��sZ)��;��U�:����g�~�D �S���.��@�߃!^�߃��� f��!W3����tp�q�Ǚ�!_k���_���OW���q?�N~�`���
��<@���ט�A�	Wg���-Ax�Ec�g����<���& n�?q�T�Ǐ�a���?����=�P�á���0�:,�[
�~R��Ex�:%��������t���/f��Oy#�A|�>5�:�H�;��3�5��Q	��TP���Zep�i�|CB���P���UO��Ț�
�{��J�:}�z|�I��
1&�?�p�N�A�{��?����O�⺎u~�`�/C^�ۥ�~��$���_��P?o��s�O
�&�����ӿ�G�([N�~�����?L|?�( F������k�@���a~5������?&�d�=2`h̯��)���o��vF�`K��~��Y���1xo`)Zl
u��Gn?~��kbu��a�jZ�J�pw�$8�$�K��Ⱥ���ҝ*���v#��"F��l�J1�`H1cphA;/��"�n��*pv�p�dcZ��]��z?�յ��1y�է��9�9��,�������Me
V76��m�ڨ����c����gf���7i�J��U�JyʺS��x��A��� �������_���&&xB= ��P,ќ�<�/T�_0!?��7PK~Ʊ���o ��M��Q�8Z�p���8��$ c���7n�d�w��uaE`������rI���9�v��ӝc���ڵ�:�O�߷�럚
*���pT��)t
� ���4������’Q���Y@�u�]j
���ݺ���D�|�J��#?�V�������:^c�����۫������n|v7^{��ru�����ͳf���}	�v 6`[:�l���r[ot4$�%Ե�ן�MN	������	��<��-���<��S�aԏg�U�
F�ƻ�~�~C��#�o��������ϰx�k��8�(�Ŀ�$�9����7�^�apn�]��Λ�7/XT�y���:aT����>�3��*�B���k�_�~�����~s��Z������ �������د���T�������Q�R�����f�F����0\�
C#�����b�< *�0(n��mQ��0��i��y_	+�0�ϚB���x�h�W	!� 6@n��O�??��?2�Q��}?T��	��߰�~���D�	n��g��t�*�P�S.��(Pw,@#���l6-0��k��8����.��o���"��c�J����_�	x��'��F�D��:��g�O���p���	��9?"�,��X��`M^��1��r�O�V��"e�Q����n�(C����?rc���ϗ�8(��n@��4�1��gƒ��׷@�E��@V�m���V �d�x�a�6H���*~�S����yᙧa�����׾�Ds~����a���kHƏ�ac��L��a�(FRz���*��y�O�O��}��(&�s@6
}M\�M��bB�� 
�0�	��;���T��ɓ��;�<҈�o����p��?�`گ�U*�Y���C�?��G{��Q���������.C��i�ؙ	���@����5�_;�yCYK�s�O���p )L�N֦v���ި�V� �=}'l�/ �W	ܙ�@����0�h�_�B>4��eR�>���[;{|�6 D�p@,�6>G>��(�� &����'���+s���-@����Vwk�{�X�B�1O�N����g��ܾ6Uѿ15�����r��I��u�_��VCg�
��P�_������i/����������t6�X
�;��������u�<&� �C�1�k�i�i	��6�g�,��3�_֞����}��;��������'�W� .`΋���-�����¸��~�Xۃ�1�,�X����8MН�{s����iM��s�����`'xs�Z�����<`.���wu@�B�7=L��9T��`E�/��[[�,�;�O���T�Oҿ.��8"�W@*4�
G�|E��ڊ)оxe0�� ~F�4�؇e.���FN������|���[���3X��������&@���|r�n" �M=������ro�X��Q��s<-����}!oV��i��0��L^v������|?���J����6��~1,��l���g����E���C�m�u�X����h�E��{[@U�[��.eIx�D W�ћ�`���?�ʟc��R}1�p	@#�S�?)�ο�v���@�����|���q��{�:�����`[u?��M?��>��oҒ����v��
�b���#�{	��A“@�^���:7�����^y^�#���?5�b�_�k{�2���������'m%��(Z��0�X����N��\�R�/Q�y7
��*`
U���n�
��Q�3��<�_�'�zX.������P�_�t��WK���O*����@�RE�~R�Sq�?��Z���^o����{<qM�v���	<�|�{�
����5>|;#�$���l��
�ɲ�XO�;c<)�Hؑ?��D��@����&����z��V��� ��_�<�|��5��=)�(�	�$)�/n�#��0�@Q��]Jp)@�:�s
�DxA��H2����a�OF@;|�U7�NNZ&���B�(���W��O1@@�o�uԢB�~�vB�8�?n�@|04 �}o�{?
 �i0��m-��v|�p���Z �wxP��'q�o�D:�����=��& ���_ N��@�~ƲA���z}�.����餆����_�q�P����~@��?�E�[�aA���r���>�ꞥ@
�2	�*P��ޒ,�-��o>yvpx�\~ћ����	���j�E=�o��� ��B+�Y?��_�U���k�6�0m�e�G������
�D�Ջ���"`��DЧ-���g�n�,��Ȁ���8����� �_�w�1�`�.����VC�]�;�t$}m��1��)H��W��C"��?)f�g�oB�~ X!
������KQe@u�-@�*�R�D�H$�-�������|5U'�/*�)���mϏ^��S����I�D<]�T��KOk���@��b���Ǫ���U�0p�ƥO��Pg�(��L�������	���* /h��G���	�%��*��W��w��zz5;����'L��<���8+��z��ON2���s_$x�}��2K(2�T & h�I���j�P�&g��z�
�'	`�M�ڀ�)�\��[�hpn�6 �
0�h
����R��d8��~����[� �����ZH�!�U�"��b�
 ��]�g�h`,�����y��r+���8
@df_j|4�?����?��?����N����'F��NH	P>���
��gM�!ip�����<fI��Β%���ʫ�{_�u$�E��}��q��k�@�~N��I@d�I���4L���r��<��y�[��&F���� V�Z�Mʕz�����A���}
�uF���?s�s�'�
0���&���5?�
t��[h�֨�G|���B�xpʩ����Fh�-?��s�.;���3��8�?0?S����w6k���4��$�P�Ŀ@�\?2��M�ϳ�~rc�U�C��̪�c�uF������G�:��x�G�ߏ���}��M
��]Oh��(���k�B�w]j��[�D{��ci��6H!�-�K���D:��b
���d؜��a/�!Ф{�iɭ�����}3#9M���H3���^~���(sy/}%A�z*��^T�_��?�����ѯ[wZ8�w��?s��4�;�y�o��9P�>��x����+�ͨ�*m��>6��M`4���~3P�{��c =�1���H����p��m"r�����qi��ɗ9-_���.e������˩�Z�k��g:����w&4f��|Nz�y?��)��3�4��HH�>q�F��.x㈟����B�$ϲ�=��SΛ0��i�G*�i?Q)�PV�~�H�@"�Q�G~����f"�j�u�[��[�
��L �s<�Y��#��Tp�������/^�t�oS������eY��,ܟ7��g�)�?��
��[>�߅��s���$��c��n�ݺ��8��g "`F��)�?U����-�b�.-ej
2s3�|�q����U�jRͧU�v��t"����Ć���S���|PqҌ�9?q������qN�5�p�_6���ug�a�����u���y�^�܇ޟ:{"�@cQ��#�����5`�'�w}�Ң �+D ����k�p噩����A����Օ��� �_����-'�|鼏��#�z~
�E�#ɿ�S�޿�Ms����K�?VdK0~n��^�E
����5Bf*p�\L�{�z�U�|(
���I`i� u����s�_�f`vD�/ȟ	�>�h�1sү���
�x}nz��,
���!@�E?
�otpߡ�!ޓ���qP��^"O��;v��|���r>L�)�7O���ƨ_�	�h	ڗA,� )��������I��]?�����M��������L��������Y��[M��s�o���=���P��~���G��K�B���`��{�ͽ�p� CH��ҽK��p>���hD���>S0Q@�_O��5_�/*`-L��������s�_��;k�W�ڇ]�6�j���U�_�z��o��x�&$�^d�8D�?b���q՞���t��-_ā�#�&��L���{�#	���WPd
�v��}j��=��x*��76�`�x{g�O��s�4���f�e���C��K�z��y���m��Ә=��C�V��7�?C�L�ث����e0�3�����0Y"uC�BB��E�&X�(��P�!* *�5?�G�t��gf֯��d߬h~3E�)���`~����m�/�6����f��!��<�ۆVI`��ü��,`�2~=�����EQ��'�|4���o=�	�p��(@���	��[��jV�p"О!�w��w��|��K���ː����3�$�/�ߣ�����7�3�g�Ϫ~��uE�v_��ze�?������{?��O� lJ1���%X0�`�;�o�Ӏ���3]�ܟ�tzԟ��16�l6�s���
� ���?�A�G��?)����?�"����h`-�����Y�"�l_���?�F�-v��O&��eJ>P= 
r���w�^��)�z��B�5S�
�׋wL	�����W6}'W|��7ڟ�z���o�����ᔷ�]u����]4F� ����Y�'������Ï�ϟ�����_�J�˟���?�<�f(P����:�G����e��g����{?i��z�y��WI�z��o��_��{*����҂@������7�C�y��2��O��^m�����I�)���E�Y�-eJ�d�Z����~g:���@���pG���`�J�5�5�-��)�+�����?��f̗��`���v��nL3������DZO>�ȝ��{��qGK�N�~���wKw��[x\�������Q����?���5a8�2����I���3?� ���� �6P���c�N�������:��U��{�?ۀJ
�T�ۧ��~s@9��	�����J�ahpTW���� ��{哋=�V R�0��>�/!��"x<�	��{4����{TT�, ���
�U�p�V�u?�@�c�f�J��G��p/8�s���G�O�)���?<�% ({g�˽#��V(�(�rg��[
��k)	;��_��	(����Ǜ^����{��Í_��p4�t
F�� 9�{%��E��|�?�Y������~��~��7�����"����o8�߂�a�&�����a{/h���2u~xԵm���q��8π	�n*���uJ���^�7!�X��-,�q`���Z.p�3���`�rD �>�����i��&�?�������ͬ�O}?{�~9@/���y��L�-��>�3H�y�K w�Rr�i��2���\,(�:�{�����~w�B���]h��H$�b���`�����;�C�o�W��j��r'0:j*��t�c���ʗ=�.�����|eR�|jl��~��|���� ��п,3=xg��(���M|�a9���J�9���01�W�A��̀�zZ��b�0�/~?�?ۀ��#,�F��	�#7? �/����<
��`�x{{�O+G�	���WC��m��[�@�>����G�ߌ��ߕ+V�Or�~ O��H���%'��R�;m��3g�0����t��f�_��/���F��>�Wb�Рd~�Z�o�?Η5�8@��
�e�G
,�4�3��V$���fF{{�R�b*���|'+Ƕ��b�?�~������k��K{}
�Q�ۺT��[�?��S��ezoDXG��e�W]��=_��$������)����9�p\�xm�� ����P��;W��>��#���c�oˆ?���O_���*�i*�G:�G֏Џ=���?�Ed��V��l�QD�3V�u�u;��~DXn�<gO:��u!�X�_��{�T`1e�|�e$��9�`?�^C��DD0=�����V�Ǣ\��4~�cqߤ�����1^C	������\�_�����_p��������{�!��܂{�|P�?ڃh�f+x�_���ԗ
�@!0��A�����`����9hF��m	����?]p�sH.[�����~�� �7�(�"���ԟ��>�"�!0��?�0pק6h*�&��I���BO��2	��i��߽k�h`�H�E�a#��bX6�@P0%�V`��R���׵���=�0�/�`?x������{>X�G��?�[Z��B��ޔ�7��ׇ�ҟ�qyt�~/����k�ϋ�y��!C��T��n���Y�t��o����m�~��3�_���;����	X��?��i�KO������4���;�˞��������������Մ��]���u�U)3Nj�@�t3�V	wb;�$�X��� �Za<�	S�� �ʓ�!���ʢ�L�bޘ�Y��A�T]4�nJMm耧���{ߓ�v>�}���7��s�=��������?v�4���Ⴟ�9C����~�nw�퉷'4�۫�)�@��\
@(��?�����z�/U�I��Q��HG�\\�@�w��1��P��
�����?��z�D���#�o@>��,�?+�߉}BV"�W���5`�/+}�.��N�0���X2��@��?,�{�dST@Pp�����P���-��ܿ٤7%�߳�D��l��[���>X���Q���0+d�_�����p����n���g��^Y����N����O����OX�w���q�_�C����6޴m�׺c��ț	xC��
���3�1���>�_xU��Ջ��1�{�ӿ��W���]ݮ�*���)�D|K6���߻���  �����W��
������G���m�������j�V����~����ݧV��v�9�����$����_f�%��"@6��R7��i��G�}!��/D�¿lC@�	�u,@���O2��5�~�j]o5�Qh�>y�+l��)�/Y���� �U��������vw�X���ǀ�o�߉'��
P��R���TL��8:%l���5M\����Z���,���P�SA���4��x���+�\����6�m��?����OA@A?�ǴO��Lp�/�+Y����k�k��)�!`�VK�%
����U��mN2?�=�{ap�>g�=
i��_��g�_� PX�B�=�'Q���b�k�5��G����C����}$04 �� :�����~n�C��
��A.��@)�u�/����]����(�w��gӾy�����3Ľs�+��O�kB����x�}����%X�1e"�C�k���-��D�%�\|=*��9��m)��-�p�j��c��?�����_�3��u>@��"�r�5෠�~*��j�A�w�_3�Ł������6�`���՟7y�x�'Y����=��\��ۀL�?T�XW�^o�_Oj�M�T&�f`���~u��?j�`��u>�w�ޟ?���?2�w���C�����NW�A�E�{	ï5��3`�;����(�w:����H�'�{�_�����Z���.j�ƫ���p��8��p���sN��{~UO��g(�K|�� <���--��tC:6�+��@��O�?W�X�f}"������s���-�q�Y}����9��Ezs13����U�w�7��K������4΁V�� ����z�^F{�7/�������\/�_S�f���N���l��+���
�O �M�"�d�~]��a�p(@ch�a��'��������q���?�����ǀ|��yu�g��i��	�w�]K\pM@����*}�.�Y?�z�\/n@�7hd0�Y~�֞�}r,0o�"<��$��5�U�ͱЀ��?��}]�w���$@��<h�}
���g�@v���_�_���'���@:L�:�s�w� ���������'|�=����i?':ຄ��|��������"u��z�e���I���妏|F�l�nB�"�um�hh.8��~���ۭ�ǟ6�kk�"!`)�c�]JH��q�JC�
��W��K�����"3���aI�`
��g/n�(m��w��@��c�~�}�:�P4���)�2D�������04���y�kR�#��P����������>F�|���+|�����w!+K�W�z��S�9����6h�O�?^�?�M��@��-_0�K������ܫE'~s�٣[��ۃڀ�`����x�#���5�lo��+D?���_"U�^�:?�{��1|So]o����ZO��?����e���"��D���_����L"_�oU�n"��r3��R�4���ޱ�u���T��&`��oM�T�U��_�y��R�hE�t�~K`T�s�D���
����2�Tl���~��r�X���x�-�t?^�8�c�����_��e�����O{k}��l��H���-���z	����R
HPF���;G��֛n��]���s�ɯ�2��g�g������$�?&"�o>�����e�;�$���?V�3�����
����iKhG�?:~���0m��B��z�2`��75�T���Y�+z�����[�����M�/�G��(���"%���ֆlH+%p����M��&�n��|=F����C�_a������~��=��Oɟ�v!����Ew�Ϣ#��؟7��|��~�|��x��0�_N����^d§��9�����5�P�y0���鳬��y��Ӥ��ͣ�0d�>*@�v���U����Ӿ�r��Ϧ�8��]�]�a�_'`����
������p�
�4����,!u��g8$�}�sU5�W�V��h�����L��̷�Mڒ�RQڂ���o�A𜀖���1�@�����mJ�|����K;f�|�WV��'�x����$�����i~`��g���7�,�X��_��d�$����z�_�
_b�߻ $�|e���e��w��$���M�{E@�u��z.��?d�ߋc�3���K��Gu�M��ڊ�;�w"n���w�_�Z�'�q���;��˜�z�
A1
�g7�5
�%��"���E*0d��/b@�x1"#���E ���6h�Հ�Hւx��p�������<=����l��@ޞ�u� 4`'�=z�G��O�Y�E{�k��a�u���<`B��'`��"@�>�rv�e����PHv�-ڽl����|�G�'�?~���a�O�^_P�?�����Ċ���%��]�����A�����@W����@e�9S�՚�7���p���k�d��z���z�{�H�"^�R�e�檬<�P�:'epH`�1O3�x;kM@y+T,�j�U��	����C��E�VO��|���t���8�/�ᮏ�X��a�e_��#�>;�r��5�������U���3��ݭ�R'y���^5��5��	��Pܪ���u�_҃�k|�O�x�
������o�����^��
�����Q�$@����w&��pCz~�^;}��y�׃��O� <~l�_����Pdπ�0�M	�
�H)��N�i�៾�"�},�S/q?�g#pE�fmI @^�����m?!��;�W��C��`z���f@�?��9���X
��oݭ�J
��%uA�`��e�ٿ�]�g��@��a��}p|���]�Y��Q�3����6V����O��/~�N���
���K;��Kŀp䇇�x�g7Y���������q��u�!�[�h���+�
c�!���D"+3#+E�ʋ1�Έx�XLo:W��Y��^jV�
A`�N-�d�flR�M;B�!�jHs��9��������;������|��/<��!�x�
��b ���>K,�SI��&����Vo2���u�r&��@m
�7)��(xՀ��OI��[�,��p@;dЏ���ġ?��[������I��a�5>?���d��3 �O�K�P5}ل^�����z;/"b�������v*�m�ו�ϧ������p�	�s�}��o6?—����{�aN�{�d�P�{#�Êe��0�|��Y��KKj��e�����Կ��'�_��|�0�@�׻��4$�=~�c MC�>���
�R����b�c��d2_'�(���*�I>���u�j@ ��j�5�~��%6Ad�����#8��'�~����T���*�n��?;��t���?�v�d?o�W���_��C��%Gd1�׻�M���#��#����WP�:���L������x�;s����f�X�sO@<A������s�t/�a��`/�-��_�B�b?
�W���.�&����������

��c��t�̫�A<����NTW������`�{��>J"���`�g|	��b: P����弫�����Q���o�N0X�A?�evN1L�}z��^��	����Gi�K�ϗJ:Gz�d�o���G���GAJ�gu���A��?�/���#�닍���;�g_�:
�0��vs��pu���x��}��T�S�������w�������,��YY�{�r�\��;+�o��d?��i�_h�D��O]���[ˮ�4������%;���4����?����H2�^<k�_�HMN����OJ�̀�����nop:��ЅM�����u�Q�1�z������Q�ϕx��_��K��3
~Ze8��,�p_;�S��{��->'"V���%����?���4��Z1�Y�o�u��ќj�W�|]1���g������u͵w�g;�vzJ�p����<^m�<n���W�@Y��ާ��u��-���(L���Mc����O�E�*菕�y���޷1���M���~h�-]��-�5*���~���
X�$�k������q�,(���0x���|rO� �#P��(�s��ܟ9�)��P�Z��������Z��=2O]Gw�w��b���E�<5|��>�K	V�����`�(����LS}ˈ~��[k�	���pG�~8��^y�g�5��	����۹~����O���SϚ�n}��/�x� `���	�B��{�'�,��n�;�+e-n��"����AȆ?�^��@������V*�z�߅
K����e���[~��k�h��UC��(ξ�b��n��I
�ʘ2T����7(6��Z��{m��k�׻���5��|]����.��gc*�0�^��
�_VT��$��8�)@A���(�rٚ����S}k~�Kr�\��y��v���w����gEp&�����^��
X�V��l�7�n^B����u7�jL���C���	m<t 
�&����7v@�\��ێ��)ٟ|������L[�@����7��# ̉�/t��
�*[,�����n4��{������z��������~�
Ξ�@�9�����^�_E���x���@�$��i|W]�/O� j��q-d.���7�T��|CV��"k��W�܁1N���<�ܼt��UA���gxO����D��0e�O�~8׻�����c�?�y?lH@�������-�-��

��}h��:�?��a@��������
�_&�M��sr�u<�\�O��|�i4�#	�
�%�_Ɂ�	6�W���?�9��u�����?�ˉ5ͨ8��(�$��(��}���/9P�OR�N��_��I��
�	į �+-�v�@����e�:s�}H������AHe8��g�(�
�_���5�-�c�u�Gpe?v�'�8��0S�j.�$��&�˨^�D����Yi��lAu�(���q8E"P��~a]%��.
����w����	�j�`��
 s@L��}��O|al������XR
�e�Ɯ�-MN
�Z}3�l&��eh 8	��������4>���s�h������ϛ����@�_gt,@I=y�V���x-�<���-����`y�e��@;�L�I��5�.�0�c�ZT0D5�Z����'��r+ȇl�/Y�yB;�A=+\ԇ�|�0�O��9e&�)	@��8?��s�~E7����Q���W��x���E��G��\b���k����S�a?K�`3��X��:��^���Vx���@�k������x{�SoAO�GUP=��t����zi�z&s'���?����W#��\"b�އsj4�[o&(��3؇�6P��/3I�;@�|<��x����Z�~�L��>���_�݀R��-����
���K��B��x���`����������/�Y	�|��0�F�@QW�%e�9&��h���������"�N���I�����^���+����h"��~�L��f�fZ��
ڶ2����뛃�Z$����a�Ə��]�}���
�s�y����.���?�uAI��**'�Z���ӣ��}���5x�
��L���ퟰ�i@/�`��5¿^@��a�Z4`K��9'h��A;��_j�{	?5�;`������l�����
�`�7���`>du�<��ՠ���}�a����N�\�'��m_&����:�"�����Pr���rr��O5���N����i?b��q�_�j�M���Ȧ#x3�<��߶'�����7	�n�.
��
|R#��ˁ7~�{;� 8�
�dd/X
��|����y�0p�t�#`9 ��L�k�F�z~1�@��i<P~3U���;U�6	<I@,��Hy�)��o��S@5� L�k������[�̅N���0ߜ���	���k�_
�Q�ou�<@
��Y�d�nP�Ž�Q ̛��~�F���\��e�l��[�7R�a�@�s�n��i�������P3�����#�~�|.7�\�_��~\�]��n߆��t{�����nr��6��)���-���!CB��9�йHE��^�?��ޙz`}0���٨,h���	��6��l��N!���w�
�3���e���^�H�8�%G�y�cd|R�
"���pJ��Im$�Ĩ�N��FB����-\#B�oE��I�����c o~+\����sfWRr��3��������|gwg�܊`*��]!Mr�9�'m*r:(���[��x`�طK���) $�!�}�ZJ�
���N��R�X�v9���D�,0B@x�
N�d ,`@����$����&I�n��F">��E��gD��腱M+��5}Sw��|xQ_������>`�A����+71������6��Ͼ�w:&��d�j�Z�E�o�@�j|�?x�ޞ=ٽ=�F�#��F�z�n>��������Zx[�;��=.�@n~
��K��_����LJ_��k9>(�����O�b�.V�"��,�^"�s�n
�E�-��q2`&���)�U�|�}��Ql[���V��P	�K���U@�2`kw�t$�T��]䂹pGk]b�d��ҁHT��	\3����A�����ȷ=v��k�g�)��4
X�c�7|C:�#���!�<N��'�z�!��0�C��<D�����S}.�p0>�q��
�oA�!�i���Y�x��� t��)���]�)
P%�X`����x��,ű@jʺ�eR'�&�
X��|�����g���z�w���ϔ�fD[݌'��gQ1���p�6��X�ۆ�{���]m�_o�i*��?(%6	��o���݀�����_ ��E8�TI� �ל@2��{�d��~�}5`��
T)36� 0Lz�	T�O�<�8.�7���6�#�8'E��4��"�-���1tƳSz�ܸ���|���!�=v��Wz�����#}����{> UE~FM�߲��K�=�=��i#D
������_����U�R瀋��,(	��n�ޯ?�!�O}-�\������Y@��N��?�f���'�)��n��?,4'
"V�y�z�T l���pT^��o��0���C|�
��I(~�e1�E@R��
aHD�C�!��vI
����v�
@z���*��U���*2@����A0/�����20���Ҁ�Th�`����?4sE�^���tu.wޘ���oԶz�	�ޞFR���G�'�[�c�o���o/..�ښe���J��/b�b�8஍|&�?���1��+z��O�nJ�0P`=���^������d2���~���k�Js
���e�V �y�)M����a���lv�����
�����V@�5�<NŨ�H�~0 ���M��_��
�?��	f���9@�
�[��>���< d�
�)��Z�������M�W���?�� p����liI�F~b�dKp����NDtN��1c����Q�g0�{�c4�Ô 61B~���c�}��g�/��y�O�b_����\\��Wpط�S�v�}d1{���h���TB�'`���{�t��v��P渒�_�N�ө��i&�
��s���7�/��B�6��DKśQ�4�b� F��QTlv"4����:���ҝ�6����Q?�o� ��}��ͨ��E��(.�"�de%@o��k�n�w�N�U����|{ l�:����*�H@���C�����C��b�R��B�4��3T`?��tM@,�p�JG���zh��$���p�b1�$0�`?���%�#��<�{��c»amo�!p�B��4	 �oSx2��_ky����o�߿����Z�9��&�9��&R��@����fD:�̈����X���|���4Փ���p;���ǃӻ�QH��.�K��X��l6�kN��l�_��'��L�s��^m^_)��>\:(T���B��ٿ���f�ﲙ�yg3�-�����^&��?<���;,g�+�œ|veRQ-���(����j!o�<j?��/F�\�r@�M����8�q@�
�4K�]��
���\ř��E�Q���:H�>H���k0K @
@%���(��*���Ho�ǐ�3�����8��%~�Y��b�*��x��L\��%�p�Y���-��~��o���g�6�=���j�q?`�S����/�Oc,�b�e�b`$�@��)`4�?�L�v:ȸ��{�~�}���%�	�ԗ~�˂*�|~�x$��.�c�HV�LT�E���λ|cy������I3��Nt�Q)�����Y?.��O��n��{�ץRg�&��
����Y'Z9h����8ۓL�MQW1
y��:���5x�
8r��P�=I�E ��n��E�5����C�p��!'h�DA0Ӭ+����:Uj\�k����b��0Hs.K�GdC�	�1��? _�N0FA��C�QƋ0�@��=����|�%
�
Q������v�����|竝�{�@�9
PF`���|B?vk�����S�,@���
��	$9 �|�|�ⲯ�S;H�L�系\�ȫ�?�٠K~���wD�X`����!�Y��(o^�r˯�{�w63��3$���B�x����߾�Y>�T&�I�S���7
���I���DW3�
@BAkQ�`%S(�:��V$ �������
�y��N< D$��A�r�
��
l�2��2���H�>zN�x �d�X#��
����ʀAU��6AP"0�l���*����"01N��yp6����x)��=
�D0|)Q���/\����DDT�ـȿ���g�-��>��CG�Zk�[CJ �Z�-V���H*��H@.Y�&��A
�S_C?�|[��'1�~`?�|��/�|�|`�
�]Y(R�ψd@Pj��8��*n���V�pr|/�p0wP�l��g�Jc�|y7���+�@��[�og��F���w�#�/�c�m-��8��-Q��a�։0�L0��b��$��n��M�!'5ԇf������g�}^��%��̆���z�Z�O�_���[}d�p>��s�l���d�?y��9�?���U�|�D�����'���R@��0�0����R�*T?�T��|��&0H��BS��R�M͌
j���������@�8���?
��#�M���Ժ�ō��>6p�wI� s�>�.��Rp�N�ڌM�yjG��jH 1`���?���/='���
u�U�@K��@-V<
0�-3�����?:f}P ��\�����i:?�%�~/���w�xo&f�����`enyzP�M/.�>�b,06{3˥����
:��?���4���=�����nov�MH��/.D�^`Q�zb@�����p<<��L@m!��Ehd.ʔ�x2º}���RtA���l^ ��5�y��G(��ܘ��8�D��Y9$$�QH8r=��uͨݮۍ�P<����nw�=(��+P5�2d�>C�
��uX�`�kp8�X�[7�{Gi�Im���[��1��VF9q��f������x{�M�5�0g���O|�M���5��׸���?��N�G��1n�ۍ�__m�_&��5��G��e��]�o�����`��(V_��G���b��j�8��� ����/V�H��Ot
���l�`d
`�ԏF��o���-]0,5[s�$y(/�0�>�^�/��,� �@$��<Q`�4߅�a�R�J�\�z��f�
!�����H�^Wd�F��
0H`&�;�voH���f���k� m�GL�pR�j�u� ͷ��e/� 7%�Yv �>�fa���hta:`ҋя���	h���L|�w�]���Lgo�
�K�?���+ސ��&�����-N ]L677�*?X�����O�������`�]��ԟ�s����ֵ"���J���E��
�~�ƀ�^�y
�"�A�,0�i���3��$��t��9v^7"���ar�a�+�Qԍ�;�6� v 3��田���H ~S4���������B�������,�-��_i0<H)3	Z�%~A-k0��E��Ej��N*H-,�Z#�{�~�m�	��`k
`n��^�- ��9e]���fD�k�-��z��j&��������u�
$�j�:̀)���KR��O����wfG��r`=S?O���`�Y;��H��y>���#	/�l0�x�,~R>gS�h�u��^*�|Yh@8�Pj�#��u=8�����u� @��I����
\��@�H���P�P�o$�v�B"����v��:tT�C��{��k�V�<���/�Wȑ��S�S,�}�����P�պ���k���JW����:w���
.�]��ba�>��)��m���?	6qۛE~?�����8[�$�4"]q���G'oެWm��lU6���ѻ��r����߿4?+@��������T/A]��?�ZW	G����oq�#H��=9���O�z�����2��˅������}F�2���Bf��J��fp@��n�
�š��h�+X�T�3v�N{&r	P�t�ǚ̿+��9�Y����\�I�{�ȷ�RG�pj,s��������O[T$��떄i�ֱ��N���^����Xk�'��c~�cb��'���g�lXk�f�8ފ�/м&�$��KT6Y���T*���O.���s������(�������T�e�H����̳�O-���e: u���&���t1�[\�º��@���#�-��3g�������/�/��raA���}�@��)������S������~O���ݸ�}�1'�^�O��
��)|��X�a���p8rZ��j��੯む�7�Ԫ�M�N�'�Z�Jp�ׅ+2�~�[b �*\�)�`��R��k
���N��ē�E�z�����{�l��/L�b/˳���ƒl�E���r��|g�R9��*]�W7Kϊ! �x�7�Yf�Xܞ�r���v�7:P����g,�t?��^�Xwg��N��%�X�����9/�f�����ǽ�P�z&	�3���p�M
+�s1�k�]�p���ff�qD$#|��O���g����0D#׻��v}��ʕ�c4	�а0����xW��A<`�
A�cЁ�<p�k���q�6>;<�1����� ��G��l
j�5)�E��Y�8�­ё"j�H?�u�~ 2�3�Ȑ������L�v�o��_�}���ѷ��9���\E��]�}3f���@���U��`�ɿE����\����]�)%���`l���.4���ԗ��Y_��%>�u�3'�VvA�@�/��;��� ��*�E�˿�0A72��9�[~���d��c�{
�S:��d	��d"ҿ
��Ar�>�//�}�!��� h�w+�dy��b���L�;�0��r��8�b�t�q0����|�r���c�Y+}�U
��G�}���Q#'�UJ}P�G#���tRU�&r�T��f���e�V�2�1�mMN�����7MC���xo/�ɼ|���/��R����A��5�۽��o��^tR�T�k�ݤ������v�Q��q�|�]�g���X���F��8��"������X�������f� �W�Ւ��zf
����8��q�Ґ�`+���M(j 6��2�]x�m��w^%Ƅl�#�H�H�[A����cn{	xȹ����&��}��=6���4�	|?~UFc, Կ��Sg�`�f`	8:�kG��B�֩��пP�/@�������?.{�jW[�'��<>x�WӢ�@�4�5.`q�՛:Q�E�uH Uw
B��&rH�{����z!�	6�(�EzB���(�&�'�|:
��}���_=7H�ꯗ\��F�M�4�c�@�?�w�l�`|ʁ
�`|������~�u��x�<����m������MC�~�~��
x�%��u�:�ഏ�VXI���RnZ=f��/1�0�����/4������'<8�5��P���
���Yڐ�B�nᤔrW^�R�מC�z��_�q@(����d��]^��3�"���.�D��:�*��
��T8���_r�v�"�&+9�
�a,�o��,��Ŋ'��lx�#����6��܍��o���g�y��3���X	n�v���;�3^� �y���+�gCUQB�hz�ފ���Lb1;+����2V��`Fo��&�I#�l�l�&��1��X$lpAWɂ��g�-*�c���Y�"�@ˮ��"H�Z$"���(���.
j�{[�/&P?�|�{a	&��-lrG�k��Azp}Z��d�Xo��[�f��3ʫ'�݋L�x4��Ֆ>}�0��*Z���{N�W5�ڟ��
jD[�Tt{��b�j<T��A���Wͩ������"2�3�T�����կs�����?:��o]����'wV���
�� ����B?`�q,���"+�9�V��nד*�G�>{�6��O����0��v%m��Dǡ�27ݙy!�o6���ߖZ�±�|nY-���8���'�M:u ���t�BY�f�V<�t� �?���FT����i����4KT`��[,�j[���MN෉@��иi&1UU�%�+�&ɥsCe�����2���	5E�H4s��̉T�s)S�sܒ:��g�+�%Z�Y.Y�!=�e�j�~��!��?�t��::�6&��m�����KuHk��.�r�H��D�'��#�Lt�GP��@P;��  ���a�IR`EUᰒw8i�k*���:�@R�R�2"���*	<I` ����1%jw��
��N�	|O����i�}��I�5�Gi�����4
F�����k;1����K��h
적1@A�v�v��G�+K���N�&�"�4�j�;�U`%0P����*8͵�p���80�J窴�B��%簫���GG�x�ı�@�jGTu��f���/ӳ����~������>���_a�r I�7}�.����%�������FZI3@*�.��a�w�eY>�P�˶�q&q�4KR��"���PJ��"�!��7z��PN���
��^*x=�H��1'D�z	un3���k��,�F���t�Q/˖D�O3
eF�1f��
hD]�}�o��+ʖ�nBG�<B�F,�t�v2��8bh�D���%'���x�q8ʣ$,�KeqD}?G��K��~��E�.�5 D�E���
�*Ě|`��a1Dz�/`eR��!�	EH�:������6U�����0R�0�,l��"��	&�$��@��9T�۪4��1R������L(����h	J����`t��9=�+�u�7����_W��VM�)ү�14p_�Q�^c����KT�1DA�?	X�{���C�K��J՛>���@���R�W[���WX��l�=s�t
f�>�a���9�^>^>R=��O�NJbY?�� _9��o�?{��_�
(��_;��>��Ǘ��tC���!����5��2�cR0����C��wV��F!�o6yH���o�R)�Y��ؚ/�4�^)ϼܾ�WІ�� @c޿�@D��(����얚Z�z�4�c�_�@}8�Cԅ���505�oD&�h�`��23�1F&*� }�;7��uK���9*
cI��c�
$[V'c�m,w':o�'+�H��5�!�ZG�0|l�O(G^�RFrh�`)>
��%��	� va[NG C��

��@�����F����h���~%۱�M����rU�����O��W��X��W�R�� ��H<g�G��ԍd:c]~v��%����=�<BH�8�@���E���^��h�	�r�oE��q�m���W]��R��l���ܮ(��5�e�Y�~OV�!w��k%�.j�>��@���|���A��>Y���r������l@�����-Yo�3��#
&��(rs����E�9�cXXw6�����C��Vwa����혒�`Ţ�J�x�x�0�"�3�{ #�V8��NY%�b�h���B��X�u�bX]H?f��D�a��_	榾m�?�_s�I����|;	H���x�	��K�"����2��Ȑ䧸P�&��P�
BXMJ��w�j��Σ� �Z�Ƴ%�'m�|*�'� �6z�.~�ck�Ek^M�FA���e��6��$�*��`Ċ���'lH����=��,���i�Ȋ}��m���Tp�[X�Q�0q���PU���R�h/Y=O�%NU�SF�C��m�Q�`��$�@SB��HO=�, e;�0��L�8c�xS2]@ў!�: ������u�PH�r�SJ��$�p��P9�B�>�	+p���,ن��D-��f�>�'<k��	��A�0�.���
A�!x���{��pA�I=�	NM���������`8��I[R�BWS���gf���������ł�}~���yx���`v5qe�k�SaB�Ź�mfׂ�I�	�M5�`���D�r,'��	2��?o���7<x}�֏����8�?��݀�`?�������甫����-�:-꫆WߏJ�w�������y�U{�>�h��r�h\\\9a��(???����#����RW�[�g`��v�o�`�n�ۄ�tF��\��-ȇ�z��*���%��"���F��u�L�m��ypK����SG�؈B���3u\*�`3HSz�a���{pn���uf��-i|��,�`�^2���P���s��e<���\݂1x4"rx�W�_?l�?�����<@Yo���0|����ؾ��>�w߃��;��<�8n�w6���� 3p�,
RtXᮇ>��%&
�@oҌY�{0�V�g�I�
�`2��.�����I��ދ���*��.N�A�Ch�������\���2�K>��,�1,.`|��Q@�2���֘�3��"�#���
|Á=�o����w��:�7H�o�Kh��6ˀ�뭀�/<����ʶ�z������5_����'�}߸h5�e���g�Q�ʿWr�7��W�.���n�U��@L�uEG}�~��;��`$���Ɲ�)K^W
��2b�4^"�}�I@�$\ޜ�h��
�t	��D����諎�Gˎ�\�quh_acg�(��&����!�U:��tr	i��<zt�SW�{�� \9���s|$�+T:�7��vӍ��B��pmx˧�S��7`�N"�:��4�F�`n�B=�r!i���Y|�> �I"C�>]0����<B�g&��sq�%��I��E�ʲ��u���G�|��T�e���RB�~��ȷ�9�]��"Y��*Z�{fR`��/jM�A�,I�XdD���)΢:N��9�t����61��P�Z1O:���˛��F���}�N���n�u���A����d�Z��_1�C��?����V�\=�ծ����u�w������F���8��S�[�)2�����%֣z��8���B"ķjG�Kє�zN;�.' ��b:�@4oy?	�`N�u�� '�J�BxP�lu\�8u�*�XR�4CܩJ���m�#P�,=�ړ�l@�,5|���xu�:�4���؉��=��>�`A��x;e
�|M���{�ny���,���<�g����xx�?o"�jtR����z����Id$�.j2����N����σ�L֍��g�<k�$Z�p�b����B�v`��KQ���3���,�ޛ6w&``����+�n�s���p @$�Ũ��?�<XX���&�
�����
�u�����y�$Կ>W��~'}�����}�����+��yu��x��:�U㨼�|��Ң���א��E@�v�H�
�ha�[���Uy��B�0y�s��̀���n�i�?� e6��J}cw����5�嫂A����z��=���g�g�	}����]G��p��6P���u��*�N�G��kS�o4% �]7�'�>Q`�1#�0dhS����i�ˢЛ��	�Mb�.��T7d$mzP��ZL`
�`�� X�(%4�-W�hf�"��`��Y��6�u��(�j��2��}���ؙ̌���}WJ%��sϽz��ѨFbx]��s�Wp��>�ѹ(���QUO���G�:��&IQ@p���i��x$��}�����RLE$cئ��h��/�ɸ��>�h:�&0S��u1MNi2l�NǨ��	�~�ߜ2��;M��+�쌢)� !�b9���?�T?�X�����`yP���r�
�_�����e��H��K���ˋc4��K�`/��~�tqM\��_����K����������.�b�>�x���DU�~�����#Z�.'����[E��|�t`rL����@�v�[{���B_�*��M
�P hg�b�~��2�~�q_b7�~7�w�[���]�`�����;���6��J������o�����"p�N�����nȦ�a�@H@�46Ob�X���\��W�����5ZZ�L���/a̰Q%@��:ck��`?��P�|9�3�����y�"G_��L��3�y�Ӝ�o��-h0�x��Q�R�i)���S�J����<�e��I>L�{��sv0�iC�/��B�|����aa���,ױ���ެ��2"��n*��|�����g���u�V����枣@��7���g�>���
���Jz]|(�.�}z�r5AC?����|��/6}�ɽ	�����?4�74��.��n'��v��|���W��Y�%����S�N|<�q-v6�Lg&8�0�M�z�Ӂ�F�g{tʔ����A��7�43$��N�<,Ԅ���F�{d��Lv�A�ث�-=
�#��CV�fo��Fq	�_p!�c����{z�/
�d�$���B�܌V\���r#`�%|x����(�^ܬ��'�� ��~�:�(�ȋ��
h�wD�y�G�G�� �K1�Cz#�y@����z����B����Գ@/_n(�w���|xdpo�yi&̛sw
~���M'��l�T"��^�����N����<�2[0:a��u��_�L	��|0���-5Ŏ��ށ
R��	��"*���?$��.�e�0����J��J�KB?�\��9��z�>sᖉ�=~�%H�����s��g�=��:��հ���n�ڹ�[��ڕ��ݵ�ba�~E��$Z���
�㿽�g�?�.��y��?����?�t�V7�A��V�D|��=��?ܠD���p\]�ׂ��Р_pOߒ�F�7+�?C \��},��z��]�U�o&ws��r�H��Z�YJ��P�M
 �$7����OS
|�7)~%Rb�ƞs:���K!�Chɏ��R��ݼ�Z��7�:H�{
�������H�T=>��c���){�/��t�B�_����@��V!̃��R ��h��?~ 
`�Q�� �)@����7���N
�1�3K�*<�;?���{]*2
�A��w{=.�XZ�=n��8����u���o܎���G�Fbo��v�׭��M�o���N*�W��
���D�|{`�J��*�Set�(�8e2HI�������,��s�B|�
����r!�8��b����7`�B
��z_%(<�X���⠼���QħF��yd�cq�v{���g���z`S����y���j]P��@�ޯ�hm���M�ܬv�v=ܾY4d9B��&l�"Bg��w)�j�y��A�w�_ﰪ +��?��F��uFu���#E��J
`�xr��|���M��n�k��]
�X�n�n�|l�!��VR@���'7��L�3Nf�$)����,���ش���Na�c?O�LJgL���i`cJc����T�>�`�U@	���c
ȕ�W��r��$��v�H�{O�/��S��<M��d�D}�Pf�����:�A�֖�����m�
�=8`+�ݽ��>H��aZe�0	��9'�*gR�X�'�dRO:u�Ϣi�Q%u�
� �8[��P�a1������ITM���YR��$�*�7�+�G�*���@O��Q�ݪ�i����^��_I�oD�JF���@���6J3�cy����6�}���/<�l�?��vtXt�4�Ja�����b�� �$`&#!]�����ҁ?%�[E�/G�G~��Y�(����5#�
@Կ(��U�|�q�A
D��R	� �/\�
\s�V�v�f��"
�Lx`�	�~1��
��zx�z���p��Kd�IT�~1-&#'%�x���Ѩ��0��xT$��$I�OϦ��N�h��V[���3���9E1���'UQ���QV8IXMm�o1�	Y
@x�( ��]�ډ|#�o��3Jhr�V*�&�7
�5�oQ�V�ߗ���0!�Lm6~ᣃ\@�&���w:BH)�3�bv+ �0(.PZ�2����� �=��0P�7��Q�3/깇!��W!��n��Rp=�`g2k0a�C>�t����U*����+�V�k��9�PwIv7��l}�[�:���G7(��]��
��x?���,JF�t�O�N�UE�Tӳ�N�(�>M����?��(M�<�|��$��W��
���OB�\�I����M
��5���-��<~�M�Q�ّ�l��}K
�^��
P���؄
�	|V#��P,�: E@�w2�Lɀ������������\*�c�P����> Գ�pO5�$��yB�><r�9��x�����J
�jpK[���*���2�L�s�Z�\����F���
1������
���z��+��ܤ�a	�V\&���]M������7!v�ab�H+��hUm^�L�ТzBH��
������x6=�D،�u`M���B�������RK�@R��z�q��{�y���w�Dg�˟�����^.����&�u�I�۷wۭ�~�����~n�MS��_.��_'_wM���ǎ���;�����h�' 3
�*��}^ϳ�oi����Hچ ���POt`�hs�
����<G$�-�P
�v���-��%�3'p�)�-7'������O4��e|��Q��yLn ��/	�����h�k�T��=E�x���?~_w�?%`���
ڛ^S@���sF<���p)�!��A��֮�����i �<3���s�X��fj0{;��^_���f��t5�'~<�Ѱ8�p������Y��+�	�s������ eا>�9�mc�/�,�Np��+�$�� "�+������!'�x �c��K<�S�(��z��sn���v�.�z��)��K�WD1�A��Q���_�6@p��w�3
l�\ܳ[��_�T`"'���g�O���idrA�g�@q����NxBa���y�F�V��6_�w�L�v|\��_ط?� 	{ 
�%4�G��O�Lo����7��<��O���`�i��FS�2`.��?F��0�k\[��9n�%]0�O��RݢmGZ�C�0����w}�$�:�G�?��	:��"PA\%
0�Ƞ?b
p�Β
uRK�>=��6QYJ%��i	�V����K�#0�t�lٞB���p��>��A>����;R���5��\=n�w�0S@,<�*�a��z6P.-��k������C>�z�WCx!ȟ>_�+�T�YfW�8�y��:���?;�ͺ���x��$c������@����ބ�>�,����+�f�H��^r��z�;�=ٟ�=n�m�P��m
.��P
�@��}T����f�*�I��L�`�"T�0��N`%0�F��(ʒ[+�
��WZ���������*�:
2�A�!.X�y 6���\p5?6��{���J�n�x�vW���rd?IߦR��>�N����E@��M��.v����_��
 \	x�
 C �+2����&��To�������i���`|�ZM����`_�xg1�=p�c���|�4 i� "��of�m;��<0߭���?	��r"��~E��`P��
 �X�A�@$.��Ȫt�(`	�X"�)
��/��P��[�O�f�_�\��
?���e�����
	5A-��NEP�v�g�v��+s*���Ul�����{=���7
8����i@�Y�'G�L�=�����L\
�r�`��`�*‷g�������<�,�S$�)h�^�x$������b��,ٽ�'���
_�/��9c;u0N��ٿm�D�L���(�QT�$ؠ�,�62�r��
�(�
�h���b���Ȁr"���sN�����M)��|�I�(�Y��a[�!TV! ����b@�w�păy�b? ��S��3@���?>�:��� ��Y���`;>��>�ޟ�S����V@߯�gP8���;'��" ����=�W�߶m�m��qo��/��E�<4��v��O�D	G��& ��#��#�%����
�@T�(����6(���}��q	4���#��QiO�����
#��R�acy� ؗ:@ �{2�����!	^aH�.�~B�@�iL���^�]��"��ں�S�b��[����K�!���h��	��y^7kt]U�B0���6���4Ͳ����lu\/����D<����uLX�_aοm���j�z{H����s��YXzH]�_.�,���� ��'B�[��	@�����M�U�х?�x����(*��rKD�[2(
���9��}���e���b�c�����!����o%���^)��a7]��M��@�4��R�wj
@��h5|�w��>�
�j�O$Bا�A ��:�	8 :���s���4Iu�8�v��Og��Y�$�&���o�Sp��*~H��_��s%ɾ���g'�1:����?'�T(�����4����L��]	T	���g�_T��t���<�> ��b�hn��&�MH`IY?����˯''�~�'���I
�H��	F��a�j��}H�`h
5*�X��:�y�遡F�0��C���t�5��!�~h���%��Ҽs�pN@��B߹-7͵���3O�[�J��/����d�j=b�`k�8���������Y���ggӱF�^d�����lv�=�]#0t�����a4���O�q(����lܕ��S�s�9��9�s3��R �n
�a��?�/+IYl�i� �%@N�(���/�^�h���������O_����h�R��1����
a�^`9d���W|
��4����E��v'�C�qW�|�s�F�;���ט�p�_�ҕyd`1���JPF<��퓣����5�;V5�ZP`��\+�Ъ��c��_�':�'��Z'�٩&���m
�u�Z5<Pl����2����ۀ�|ܽ���r���U��f�B�3�T`k��T��ʌ`j�~�����j�bPH@Jt*������s@)
@끥�=1�(�|��׸=}��ŗ��=b��>v9�_G�!�1.kE��,�1�5�/��c蠼��@�D�!�e�~@��Ld��G���/�ӻ7|w�-��K���
_z�s��3~(PJ��<�����͏��b���f7�x�?|�\@�������}7x�����{��	օ�s���nC����s�i��`�|�
@&�Lh*����&��	�f>��X�#�f1�D�|��ւ��8�+K���u���ˆ�``�!U@	���\ꁡ�u��{��ԩ~�iA�������{��1r�ŵ�A|���l	@[�{�)�D/(
��47��q��wO��wo4?>PP�V��z>z��%�z^��10�ާ���¬b���J�X��b&OB�`�*�� �Hq�EbT�ρ�ٹ�衧��BhaO����7�~�O';ݶ/��{O�O�|���=Id�S靽�x������E����y���������~�6��|!@oE�Q��Y�����I�36�#!@o���	�X!0�'1�&y@���*�ʄ-~NaG��OvSኀnL�����{
 O	�S��s����f�Y_*V!��FQ����دӝ���<�4w��;�o9��vt�Ye�v0dM>�3hS��M'4���ՠ��R0z�D�js�/��a�	�t�$��y$ҥ��X��ߊ�@%5��%��)PU��-���_�P.�SRA�<Pڄ*F��b°�[�O)���G�+
��9�>�a1�����ƻ���w��R��P����`�%v!]��@����K��8���5��p���m�xV� �I�t}�!?�j�2��ۈn����ķ�ѦC�ɮP�+L���?.�2?P�Pؑ�f�C�-��T`�ε��)���>���7�o�����'_w�@�3t�P���y�w#��T�(�:s8P˩覨6,x���uwI�4���}����z+��IJ6���6��e<�ɋ�W�����*����6R�����<�W�ϋT��ڗ�7��E��@%E<]�������X~��r�^�/�l��i�yd����C�N��l��W:�ώ�^�|y��p���&X�eQp�����7���Y�{ű'X�ij��xr$ē�y��"�=P����2A0n,J(�����Ʉ�Ԍ#�j��|��%
O*9(J�!�'�_�U�lrF�^��<
@��k�z�p�U4��?�RѴ����̿��.>z��.�4b��n�E��R���F����!JO�:�o�Kӡ�R�#�3��-�S����iz��)��ȇ��d>U���;��P���/����6��5[��%9�C,c,�wZ�vT*�"���)@m���|o��l��O0:P[��B�槊�ظ�&���g�:��_[{蚾��|�-<.���\y��r�R��+�ˏ|ѫ����t{��jk��6Z��Y���'��{.�,`%��4S�_�H�9�f8��� 3Il��� :ѹ�x|㴝��FFO�0I�H((�Q,�L���D�#8����`X� 	�$�f&��H,�M.��ЦBG�` |G�/��@i*���
��ҼV
��yF�9��<�笐��z9�d�������
ؠ��q㩵'>��m�N���F�Q���L���v�: �Am~j'��&5���Q8p�� ��c��-e�Z���D8MBڃ�9�>�8�vq�8@���D5�;�	�hA���elc[�!�lц���X�*QUZ:P�Ԫ槃�����W�@�W#_�h_���U���
������/?�~N*p��}-�A
���Y���	`���7��g��T���>��e�{�P�e���#
��~_���7y�ttN�%��95�d��pg�~ĞNp2����(�D$�C{q X�f�2}���`��)dy�),���dҿ���B2M� O��5 ����s�'(4(�gK�_�����*�8@g"`�O*��O?��Y��	�?}���F�I��{�M�ݚ�5q`D)҃�����N�"B��"D���;-q�' �i�5����]K�6����R��}������<�S<Kq_�P\#@������D�c�<�|ެN�}TP SP�"�у�	��̹��ȋT =��J�w��K+�M_�z�Y��}+Z{�k@���g���|������䰷�c?=lu��@9��6V*�\iT��vF�?V���f�5Y���83�$�[�=�̱!���
�'&�x�ElˢG`���m�ߣ��-/��1����M�����O��e�Å��b��DKH����>&�0:���(#B(X`��Pr�w�����w鶢�Q�s:��ï7�����?����O��������O�@�F`���;�[�"|���b=����nq@H ��[W�!��h._�BxR�U�$�l��	h؝��ꍪ�C��+pAc0��Cٞk��{M��U�Ւ
�^�?ŕ?U��(-0s�>��:�{���87���'S���8�$Pf��Y�m��HN����Ag���wvv:'���IGY���s��%y`��H�/�r��YoI��<-s�L��3\�lv43�}�9���Y1�-�6L��f�r�;d���<�(`� 0�	F�q�10F�iA+k:��տ�U?�즒��F���d��`�����n���iS��?�u��� �
���|��?�x��Z����U������r���~��W]��Ӈ����$�}�:�o'9�3�j���F�B�&	|�	rA����#9DZ�0�1&�~T�� ��	�R��l_�YB��Z���o�������/��@���~��2C?�8��4��	�`q���̐_���/��R�x����_|x�������imc;��	�O��@���`Y$T�h���1�\�B���P�F1�E���E��Hkm0��W�mӍ��d�?���C�m�z�̜����y��y�3#��v,`���Y=Y;��NW��r���O��>
��r{�v�uk�ˍ'��v6���˗�W��哭��EZ\�Z`��7 .`��FP�3�_a5�o�h�5H��l�88+����P���a\�V�t<���S���� �#�	h�҂�޵�8��pqN�j�3VA9��� @&��@p��Y����M|r�ᤛ_��ѓ������Ns�xJAUZ�~�;�zZ��q��B l������o��
��H�]\
�$*|���0���tLW��	��uJ �%9@� "@7"��H5����S�r���Z0œmP���qv6�V�����E�����A�ݻ�Ic8<<
����i�C{m��}���������A�hqnr����ћ��2Y��B�d
��f�h��eY����Oa��q�3P��܉�n�z�Z�f"JF
�b��C���B�G>�C�C参w����n�����@r�y������/����u�}Dn��B2�'�:��T��ndB�eA�����%B��2�?$�#�?�j �2��?H[����%?���O�����9@�D��
�10��b��Ms���|o�EK���b )�۾�z�'�Џ��w�n����r����?�:I�s������ �(���W$�7�O�a�<l�������q��|�vz��W[�'壣��W�Gt�ܨ~�Ƒ���R�y�*�y%۶t��e�#$�Qvcq��M72�?��@d.�4y �,"&�������-/(@��ŀ�ҟP/O�M%a��1|��x��d}}��P@����}s�/H���0-,Q����=GD>N`�'�	�>ˆ&p�������ꖍt�s���/MM��l@�%�H�Pg*�0P�P	+3̐B����nJ��
��R��_��Y�ܢ-�z�:�� ���ߍ�k���'�b���l�K�
��[���Q�]��}z<菎_O&o��v��a-�V�c�Z�*�V�ؽ��ȴ�n^\�-��H�>�P�
Q�n�}���ȋHD�_ ^���s8��z ��	��> �A����}a�V�� �```}}��Ӈ�F��%��Nb�x�����7��7�,	�d�M
�8Qp�>�D!<	�K�L�׭;���4'8� ��O��{_��(!]���4�0Q<�sW�s=`�F.w�O�ݝ��;�=���Y�U�m���h��ڋ�~`��-���	w,�j�ƪR{DB�&��bV�U��
��F n'�i�[G�
��F��H&�+�<P(�F�
�%�L=���	��a�B\�A����A�|P��1b��ҽ�{��!
l�3P�/$�0�Li͛
YP���;�����U,�P�\b}�
�r.	55���ͥ2K�,u�@�Y��9�Θ� ��!eÐV�.�`1Ê��w~�']�|��9�̀sg	�ZD
�/��L���!�(wv��;�
�<,�CV�K
@�^�4�,@m�� oA^1#?W�;��H��$��3MM
�,�x!��$�ط�X"on��|L 
�P\SF�_'
��2�0�%���V'��RA'A�ؽGe����,�= S���2��"8+�p-�g�b?�"BG����R�uA%-`Y�Б>"9��7��1�TI��Y!���%����~��|�7�hЛ�w@��g�Y�V���|�����Ÿ���ر��R�,�Q`��Qwt
L���}>Y��,0����M�vc��T��Rd��@0W9F<2��i`VPܿ&��=J��'0)P/�8���� f��1�c ֮ I���㫫�:L'q2�{U̠�	�밥b�:���9!�w�@b��"	=�����7s�z��껹B�
�bh!������ͱba��6������]W��S��F��Խ^���>m����T�E��cُ����o��]�v��Zf>J}t��9�e�
P�^�u��֪�����hD��<���ś���� ���_d�{��f�����Y���y2�*�:�c����Q�)u������|bTf���Q4Љ���`�$�'D	B6n��͌`�<��A�E��AߥY„��`=�^����^�	�;D�x�T�ҊY,`a�Z}b�M��	s�@��ۀ���<��#�v�\��qs���mL�6V��O�	.C�k���9��{�}Z<E�/1��V���P�U�F8�"`���h����#�=l�&�Me0����f�E��q��9�gҷC?�{�2�=��H�4�3�ޯ	��0ڡ�����!�Q���
5�jlՠ�A&�l�WcDyL��yv������ܦ��+�ۙ��J�w?�m��ր-����>벀�,���R
�d���g�`�RI������^��ӠK�r�w�AwUX�]D��I@��������j��>����Ӻ�%X�{|����׹w�G�n��m������#L:��:�$PEf IPUZ��Us$�Q��Mh2>�̀�
�ʈ
�������< -�񪟇c�곌�gi��B�g
��_��]���ԅH�Ðsޥ��@i������ᏺ 	�j�.���q�M%��g�@8M
>OR��UC��G���5������y�
?t�r�	���,`�Aj���!.`���p�	�M"�A���]����[\��@�]��{t����+|�}�щ;��T6�m_M�k`�yܥ, �u��m��������?c�;�(��]�0�=���`Ć��1��a>Pd��c�!O;��5�1x���I�1%h�\f�蠥?2Z�ޟ�6�--��u��� �׃r��5fxC"@)p	dpIYA�;)�)�NJx�O6�]�����B����ػv�Ƒ,��D�|���
+X�hC�Nhe`�@�j�!�����L(�7�Qg�/�_��l�g�KR��~�.f/�z\>,���:�)F�r��ض��p�*2pR��5�g�C�.�5�l�� �#}��έ�Q8�2������
��˰O���`�Ҥ$y��@fWE�]�;G����}I�h���CG�[�O~zS��j& �V
�e
pW��A�����~*�m��!r�|��n��2�]z���	��v��#u�	n��C�@��S����
0V0�`�FXP6*�p���-�~������@�_�OZ�N�fBAP'$���($���=h ���c�Ol	��J5�����ʂ�6t-���q���
���Eޚ!^���$p��Uo�]�9�L<A�knQ��M �B%�p�C(2C��2x�@+wS���R�b�Þ� �?z�|�~. @�.�&B�0O�B�ηմ��q�qw��V�ChEW#?���*�n@�`�ߊ�l�
�T}�j�*���xR��9b
��.���5�k
P,L�M��@&�(�'�?����I)���	�q�g���w�}��!@�׶��}���A95 K)Z�uFо@ ��a��(p��x�a�ǁ���� ������Zy�P/�nܝ��Yq0���]Z�!�����2�y�,X��
X��(�Z�,���SS�>��1�A��<d���!Gv�<-`�w����8��V�YU�$�����!@Q�͐!�!%�%��
��\�)�[2	�a�c�t�"XH�XpG��W�8>�c����w(
�ឃ~��q���g���?��}؄<��/���h��:m��@[)\�T��8�ǖz�|$��:��ti�d���tk�u�Va�ƞ�8Y����d�&�D�Y�c�z@"�AB@2��d���'����`����
)`64�+���b��Z�����P!iH���-��,H��[}-@7�$Xs��䁰i�̉6XFX#���o��P] A�z����âkW�dM<M���8Q���U�?�J5��T("��hc?��/hʯ.�@�I� ��4Akv� ���b F���
��M$p�`��"�Qγh�%�c� ��&z"���Zcid����NԠ\я,w�� ��I@s�vx`(�ן��k�sv�Z��~v
��?��{�O���_s<�+��]~�jA���F.��+�p�%۲�Lں%(Z@fX�A��5-P��R�o�J,8B [_-u�:��+(�I$B=-���yA$خ�/|%Hn�O��)��"_4%�%v��y��ʖw`~y+�����L�>3%�����!���s,��1B3��1��aCc�&�%����V�(w?���W�F�x��g�v(�.�MP�п�Ϭ�N
lm@$Pi(�����l`F�f��K¿���j@b��(����� h���8y����KE,�.u�r�!'`
\�i�Џ��D
�D
@d������
R� BW��{��ڭ���ZRPA�{B$��G0�%d!�V�< ��=z�N�G���	�PEӑ%u�d�K%����8M�40>9���i��Bp��N��H�#hH�%@Y��(e�e
@J(�n���,����r9 
�+���CTLpk)`�ؗl!S�	�%��NH��0���D��8`A
@
Ț �ȸHBԍ�����������N&�D�F�go��u	tF�?���"��C�� 8���6�q�`6��h�d���c��k�>14�;���s
v�7
�-�|�n(r��^�2�/x*`w@��d��g�_c��}���x���r�����F��6K����;h@$�l�{��u&x�F�H	�u_�
��/hC<�,I�@�P\%�)�@dg7�@Ld
xA�3�	)���d*�Z z-⠅}N�C
_.EDp��5��ߣ�c7�2R8�1��჎�h���`&p
`��F_�
��N�Y��B{쭯��n\�[���-�y�<p'��P`�Y�'�O��Ks
8�h���g���>(y�0��%����p?&�"��=�hɈ_�,���b������J7�@�]
�`br�C����|�
Cz��\���{@3xFc"��'{�w�
@Ox�W����>�;2x<��s��0�a;� l��3�{��rP���I�)(w��@�%)��?��H��q�'!_$�!�&@l�19<���_\�ь�Zh�ƫP���D�"{��"�j�w=А� cؠ��Wڀ��
��=�3�v��t�m�w'F/��{uT��J�����T�����4�D���b�����n�`�0�׸�g

	�CIR����%�*8%(^����yOH�u| N��D)A����Q{���E
DԇC�W�3��_�z6�
�����V�.tS�e0� ��<ď�y;��We4~�wb���4p׍C:
�Dr�%C_)�<�{��뗇��;w����s3�0�JP��x�ϣ>n	UԘ	$B�m��jQ4QH
 ���b!�" �%0�=�ׇ(��0 8��M��P�[�*�)��7 �?$�b"�w�ɐ�՛g���N��5�w��s9�;��<:�5@G
<�C~�u͛�은����������g;�\|v砝Qyv�[gۿa;�M�Ҏ�]�j��ظ�%���ן����ڟ����i�]tB#����z
os.����y}�}��vm�/��s��m���A��W�䉀Þ0�Ά�����]��MT�X�����x�n<O�2�z̭��D��S,e;��.w4O��~�އ�L��qz�)�SX��)���N'Ǔ�1.�j��O�t~>|���{�/��Gc�m��_`r��'�Ǜ���d�e����b�W�����������=�<)���%i�D>���Js�%���?���I�Vvr<��`o�$G�������=�T�y �@q�O�`��R��QƮ�	�4Z�y���<�C&�s����,�
���%�'���)�
-~;:���}�K�����;�*��~������*��ସ�ڬ_�S;W�%�i@�0л�	�����Z��W�t�;r�|k7�ǂ�`�9����.iEv�Q�����mI���O�B����q�	y�qUN#7S�0
0��\��HLłHp�,�z�7���TW��u�"@|��/����S�,�q
�|EQCrDY��g��cޱ�������[˃���x�FH/���S�q��:@�Z�yg֤-����������NZ>�Iy�^�W��|d��[�'&���w�o;9�끴���O���0�@����2�����AJg��?����jc�v�A����΢U�sP�6?]��A��/�;(?�N�4�������s�ҀK����6��"�J�.��נ������=����>Ս|��2l�AMD�����O��
b��T��1��8ACs��-8���S�EV��Q�ie����_���
Z&@�4X���eS��f*�D�����<��(@�:������5th����7���኿cЬ	�@/��s�����.�q�K��7k�
E]u�& YT���qu`�'�o��
A�:��\�Vg�6��|��������������q�~������\���9��|�|׭�-
�`-Y�0<�L^c���k/���ݟN�]�9����1e��w�E�R�q��!N�;�~��|�7��I./�����vo�?^~������w�o�_�����ohwy�C
��&@/�f,�Fw��eu�`��`-0���N\�5�U:�S{J(K��ޓbOh=�Ig�8g8�45E*tg'R�fR���I���YY,�T�1�UĹ�\���#�ReM�?���i2j-ak��UN��s����ڼv��	2R��=�ŕz���L(�iM�%9MUP~%_	WV��6Y��p�,�0# Ŏ��jn�FL�(��H+�V+��������_�|=�e��NlF7D�o���0-��=Cy1�t@@����q�PJ��h�R�u��@�߂"X�@����@�Ul���<�Mjp�b@�`�>8% ��&U����>�^6�,�m
� ��6������g�/
����� �J�����(\��	�
���(����M��<��F3ǧ�v@��_X��Z�5��y5-�Ϟ�������	�=G0�y6 ��-��"ږHPv�Q:�Oh�8<9::"�K��Gđ�h�,�hd% Hs� 9JB_�  �e�x��Z�$�|��5�#���q�����/	��zWG�/�v�'�]_%hY8��:�	8u~? ����'g��a��Ш�:J���@�L�;b&3:[�_��v�~��W�a�l&�<1<���c�A-Н1r!F�0H9C`�,��u<����1��ѣ��r���B�r�/�۾��t�4���p�C��!��`Ljc�wh��&��M�)�&x��+EcP����9-���k��Q�6�:d�-����Y��?@*o��Ǭ�,0�'����#W�1�h܅���z��5�^��
'�}��F*
0�N��?'���K�tP�vA�)p�G�xK���E�R)Iu&UJ���<bn(�,&��m$�
�"�&��b�B4��(X@�$X�<y��O�=�_�;O���e���ƻ:
P��v�7���"
0>���L�/����TU=��L�X�b�����$�I�H3�P��,�Dl�!/�"zy.)����/�U!X$8��P* �M���m l�[��!���>N�`:|�_wgg{X@�6�³�bpk��l�A����J���`�;��=�����j.�*�:�'z�t�eB�d�K
�O��@��ǟ
<K�$#z��R�GZ�"�\Y
c`�7�sFK�z�`3�b�VM�r]�庺��V0��	�a3��W��OA:!`�"�\�I��
]��NSzh��S{�R�H���ǎ�֒3�l$X(ȫH�ĐYL�;Pޑ �J���������c��Z�ާ�.�u��%�����ߖ'&֖"x�=@����Đ�S�F�-Tq�ER��J�I#
p���d�C�^��*�mh�1"#"�x`3�3�6�lw.t-஖�-��Q��(@�����J��
Щ1	l��$#U�h���i55
��5Sj��٬fN��9DQ�0R���F�; X��KB$�F���K�����d[K�7�/_`���|AS���j��	2��A��|�{��h����,7y�&��D�f�q�7ҀrMY����2d��(T0\�*h�������%Q�z�,�Z`kY*�}{��|.ry�fV����gJHm��}�#c�G�'�p�c�ʍfqJZO�H�����\@#p7�s�Y�a��0Ԛi���N0G��<�(��q��q3�Z��~�ڒ`k�'ꥄ����\?��}�� �Ts�}�HCSx�L���R�J�M�h��jJ��W�b���_P�����*�B!CK^��
�C���i��&3��F�	�J�5�ut\�n�zP��_r}a
�FpD&@=��Lj�[!J���@�Ǻ,-�&�9?V��E�=�Z�f$��Dg|*�"�0��+e�yљ0d@��Ꮘ$����Gz�\��hk� @c6`;}���� �����ڻ�[r���;Q��t��Um�B���`u,c}J3��*�y�OO9x�6V����u
Xʨ���2(=�a�[��O��*��
5H �Ze9�Q4+���ߟӶ��m}i��{��Z&�����C�ynA�/g�A� �}��.�t/�8A�w;;{�~��+���+����Ϯ��������ru���!Ը��p��~����K�\|� ���W�E)�i���c�X�23�zQ��b>
���v.t�[����ٻ��6�$��E��޵��|{a�(Mo"	I��$���F	�n"�4���4
��(	���4#pbg��c0�a��xl��C���AXf�\F����ZjŒ���!S�~�!K6$�_��^�j��-"��K��Bh��	2���h���ES�c8O�ryT��_��2�|!sGX,˸%EJ
Q
o@��� �GB��TI6I�R�k���a���1�����nw��������-���_��?v(�
�ڤ��d�g�s\�h�V�fGGG�޹{��J%�

%T�F)��J�����}���t.
��oߎF���x*><<��o�]��p\�r�R�Ϸ���S���qӭV/�j�z}jy~~~	��-:.O=��;|}�������r�����g`3�G�2������@�J��m8�d�:��oS��@m{���iUDx���n_@BL��Mұ��=1�������v�
�X�'��
�|�*L�osCb���I�-Q;��k��T��9��dl����n�Ӊ}~���"�agN���n@?߁���K�?��(����LH����,$C!MC�O򥏮!
��D��2�P(��X��iCg�]y�Z�Q4	`�s��B��MO���T**��熁�A��;��カ���yX_EP��j��w�-�?��SS��� ��g8���)/�-
+�N�g�����3��/�С�P�q�`\���+��Ua�P(`�6��X�=����%P��`�|���Ɓ��%F�Z(�p�y[��k��;�j	.�v��Z\��0���I�}2�s� ��#��ׅ�.��l%$��R�H�"?h�&y�3M��.ofǁ����TA
��ϸ8��p�-@w>���/�޳�R8=
OS���۽�b0@���k�V���ԉ�{{���e��h�$��sh��N��G"����qu~��m������
�R�8�w�u��z܊ �>IJ�,�	��cE�.������m ������[@�,�r֧(���`�̍�-LFXT�"�X��9�K��3�%�;�xn��
v�N+w����F�((������4$�@	pH#���~89�m������GC�ޑ����5x_r����,����{�_ ����	�өt:^�MAD���0����
�z�V��kx���?�<'#�s�O���ٳ2(�x�p��wZ$y����k����Z�9Т>L���?��<�����Q���~��g��< -
b�
�r0��Jx�+���6P@����u��3�B���j��z����*����P�c�j,��;�az� U��L�E)p���c�B��.��g
ԷP%���	@ဳA#��B	�(?��8\G�ٟ@�yz(�$��HĆ(')
0��ـ.V�pXB���r
�$�j�-H�]�����„'��	��J��t1�.N碽�D�����"�k>��
��F1�*�������Xn�p���I�@�0p��$Ś�up�]m	�%�$��M�t}�p����Y�ɟ�����0�ZM
�6S��y��'�{�����;<�� `#��iIEv�$���;�k��y��H��/a��FJ`�rx]���^������KT��D>������P�!�+��;
�]�o��JĹ/�go"�j�
�@���p��d����f)@HR�* ��l�˘�Դ����6zu0�B�����da�{H d��@�%�#���t����B	�~�}ߠ�q�c����U'	�$��时�\&h����A�#��8�p�Ν�e9��(�����7ҧ����|�
�LK#�S*��
L���dj�0>p��$GlRPl��� P�O�?�$B�ʂ	"��{�k�����U$���l�Uת��X]��aEqO����J�
N0a`C U	�gtX
x�;�V�r�:��@����E2�n/	&0�-a�_�.�~���FS��2`"9q�6I�Ƿ9hZ���79�C�
�*Z%BR'��p�I��bA�C0W*�H�\�X��s)��i/�����p���i#��������?��?	br���Џ���Gp���3�Yf�=���?w�\��6w�tq��s��)x��w�7d�����#4�z��ܝ�~{��T�N�*�S�ؗ�7�� :�����P	�ş��4�M
���k�"��W�t��z0����Y�*
U:���������р��,;V���UvM�v��U
0��3�Q	4N)�:KL��z ������c"�A�y"�z�IJ�*l���
��`$��ݼ�i�\�ܼi
�@������21%i. �LJgIJBp���$���.�)�������~��	я��3�����%��-t��M=��3�Ϲ��#���ʺ=��E�ǞX���ق5���~�Zxh�|j��}K�0��zz�k,3V
�ᓘ4k>�5��)���G�?�8s'��sYЯ�
l�5kH|bT��)�T�"@�\�8S�*��Uw��wq�N��,�Y)�~�-f�ϧ&�D8
�O:	`	!��\@	X,�:�}�������J8%�E.տ�D��|�l�������j�p���dg�Z��Z����D�_���ի�����ѯ2�/�^؃��Z�F���&dWRJ"�"�JsP0<��{W��Ğ�}�O��w��+ƤsgmR��L�x�Pl��iv�����%��6׎�Li�T�`�T��TM)"��\(-�,ه�P���}�����p���IfҤ
u��1m�m��}�;�|�����K��͏C�
Pl����|��?2�j-��l���%PK�/�G͌@9P0�s�a>w;��Ņ�sasx8}�(��0���	ų���c��K�S��r��,�ܝȝ��;N�
F8����~w�"����`<f�PUU��u�q&iB�Re��%A4%��`�45�� W���d��A�5�#L��GS°��@��g�����}ʌ$��N?V�=�p�Ud����Ou�g��Y�k��M�c��|���l���,�����.��1�`�I*:]�D�u�03��0WX�/���#�_*
`�v�%
���Co�ۮ���O_�`��-��so�g �;�����{��q@9�p��w;5����s��s��.����%$���N
`��p���w4q�;����b.�;�
�sA�	���j0����ƽ�ӭpP%5���.ư�z��"�7~V4T@'��+��ы� 4�?L��_��x7?a���ν{9�����ν0v5F��Y�_�(������%	~0˭�RYc��0c�)���A��`�.	J�#��������D=	x֘��o��%��0X@@`�R	M�pΤ�T17X�x_"���sk"��@R (S����gF�J����ͭ���t���]�G������WA���=F9�)y�ם���g!�O�B����w���0��E@�
]�@�j��%38�p����t��|�>���{��\�J��F ��Ah�]�����G����,&�&6�5CS�:@��t͐E��~͂g��1���,-@�~%)F��$�����
�*�VA��-S��4��JN0�W�w�;:�?h�ZE�^\uz�۪�������,w��6�`f��?0@h�o>T���+W*���F(�Z�����;�z�k�?�������х�t���Gl��@��wC���~��><��u���@���	��F��D�e��ѫ���Gs9�a@�-G,�Ź) ��K���M����sE���U'�&��~@�����Z����\�qG��_x�kV+�y�}/�k#P�0��4*��1�T�m*�
�{DÔ$��u U7gMA�j�/�8�kT�Y�Ļ}�M �j`K4�*�!�,1��d2!Ю?���
RD
��V]��
i�(5��8=�r L�
���z`� ��(	X��@
�(ƾ��8?��B���"�=J&��`(ѿ�O��
T+��T2����QC���Q#�G �t�2X����tb��<S������,�0pk���T#����/��a�߲���f�΃E��kv������֧
"�'n
 ���M����_\J���7y��&8{�rf�8�R7{�r��㇖Nz�z@c�vU���ȵƼ���5�x/�'�@����/�p�Я�rp�:��f����˛+��,C�,����F���)�?Ar�.��/�: 
�3o�\$R� ���W��\����x�=�n�}��y��?��� ˕
�WP�� �G�� �~�*������,]Ӎ�^��_Svo*�2�P��'XE7p?
����G��'�oo����f�f�u����ܶ�>�0�,N5��o����(��+�c�쵎�@r����@��|
s^�
��}g�e���[��
`��X�����i
���^����|\��\;[��
��؈Fi)��?b"��~�0��~Y�Qh�FI��>��/��Gi0]F ���ׄ���HN/݁�h$ ~8�B&-#
���%����p��N! l��L��{6���ꀉ�����3��b#A��">���~?|@P�d���9!����2�=hO麥G 1P	�gf�ԏ��������5��3@[[�l���(���o��U������5��g2λN�=~�N�7�R�lr�O_�B�N�n�f]��L��g���	�7uv=8��wVe�@L,�1�ay^��6���)\�Zԋ� �㇠�L0��
P��o�8�]~f�C)�HT�)��P��Zt�@u�`	P���WD��@p��DžN@�;�k�?�?�#(U��O{
 �TC��}�,s� T�^�0����:����+V�|���
�@��WT�.���%#�6���|"�k��
��oG��W5��{����i��
G<9�h8����}'�;��gY���t��w�(ۏ�zn�&���]ǻi���>2�%>���p���0����j�B&��+`���QS�{�^B����mX�^0�S��Zu\Έ`b<8�!����`��f�l�W�y8��&��{�����|��j6�PT�����P@ M)��rm¢��\�J�CX	�4��{zVJ�[����ti����t��ȯ��;�WH��?��~�`�ګ��kv`�'���A�o��K��ǁj������*%p\�Y ��bQ	�~LB��&�����x�Zn\�%=J��}�����K�VP&���(���{��Y;���UD=�t�.Kt�d��
�ǿ/Җ1�����@ �@�.�KR���տq�3L0�ְd]�`�^�#Op��������=0�!@6ۗ͆B�
<��+��_�F���)��5ɲ���X�W��_�)/̔.��ҭ[,�c�R� ��6ߎx��v��p�����п�L��܅~R���'�=��F�y@ʹ�{���x����>ۅ�P�e��z�8�p�,�'��kӑP�?dؒ�»l�����D�H���k��Q\a�#D����"����l�e�M��(R/���
$�/(jo�+�fs�Tʞ�Χ�������:1�Ç�y�s�y�y}~�i�)��
nwL��v�إq)�9��IIk���/��	�2
�R#��"��.��[ĵtz�^��BXi"���fR\[�����K$$�#D�NVdE
3Oz��2���$9���؆]�-v,P)(t�m�NC�I�"�Y<���.�6&���`0�G�s�	,�Eoj
��0�PD���d|^�4	�*�����t@��}4�#��7z��gE,�
�"Ŀ!��o,��T>�
�O�jk�X��Ќ@u�|�If`�~}c9`�Rp>5�ǙA��<?�ƽ��^\�/#�Ҳ�ir&�\ng8�u;]�r2Lx��p;~(oy�?�8av���#���)��2n�"ك�T0O�Y��S'�L���u7�]'��,��ma\��t�x�_h��
@���
@�b��hx�����YS	4��?���t��$�(�Emn�q	��s�?\=P����$�73ϳ��C�� �/M���?E����A��f���x���Y���޳�gf�/�����hЧ�/ޢ��?�W��_+���q
p�p֫���W���A���t��j��S��T�����6�\�,#�����ew����ʎ�@)�)��=�#�����	�uR�N�Rv^i/�����E��ku��%"�s�Y^�8�;Fƚ����<4��H'�Y2�	��>,6�ЯvŨ�4SC�Q�^��9h�p�Vh#���?�Z/�Rp��B�z�7nv��EGFF��&���h���N��U�
�YAX�T��S������ktP�/�=���W/��ŋ��z�^�v��&�+�TP�#�y��|�~��+5�BepL
@�`�t!�ϚjT`М'��N �;�(h
lʍ�@	�@B?�e��G[)H�[��T��3�t��@:Dƽ�<��nG��{\n%����Z��PGP��,9dV��
')�«�A���ok��L�.�:�V�b�U
��Щ
z��S��oI�d��$�Y8�4����D"1��g���0��v������B��@��HdR�P��W�p
^�_��R�O-�h���8Y�]�+��`���՟T���i�Ţ���j�Oo���6�chXp�$��a �^�F
���<=�>�H';s2��Mr�)��Kι~�H�]q�1��I){F.�o��RJ,8���y�;[k���)"���C��NQ�9.�xE�
�W�cn�c�cy	0����:zD��+Au; ��X�	�6j��:+�b�Z觅��J��j�*z�#�S�v^_��A�?�}��h5�ͪ���*�xcxD@i
B~h2�!]X�,�O%�Y������w���}����
@��7V��8u�F/-	��ꢾ�wI�W��w���60�;�\y�K���
ଝ<�lo��l��WD��J#��^���˥ۀp+/�͊L���)���&�Ki�:˲,ٛ'��-�-�����y�q��3=^/cϭ
;\c,�u�-�N�����%�l�����mrH�)��V����M���ܔ�Z�T-��
j
��P��"0Os���<�ñx��㸮�2BWWWU�V�N��*�/�W���%�N�H)@=���~L<PW�އd �����S�)���g���S}��c��G�L+�`C��E���������"��)�WF���8��o��c��T�݀5Ӏ6몯*���-���V1ݣ۬�W}���b�T����q,����!���D���(�2!�DfXv&�Ȥ?��<'J�$�$�bD��Ұ��7J��$������A��A�ᓈ(s��H�M�C@o�����6���ߠ`�(���R?���l�%�;p�R��۷��z":<|�/��{g�<7*]�� �?�r���7��_ԖU
pĵ�
񿫑�y��D7����,/�D|���~����>�5�*��fᝍ���EuͿ*�1x�xw�1�u�ς�RkW5�K�����
@��vݏv?�	][����5k�l�Ϫ�l4��8�GqY��i`�$.�TC���!�	]�Τ#!A�?C��c����w��9j��
�ڮqN[4�T����Gاf ��Mx�p���O��H�4�4�h4�7XY�O|	�\69��������4ww�I��������9���	P~<���}z&�j
 \�D�Pw��y� ����Ox���j���qr�ڽ�l��K���{{�����&��Pl��E���ښ��+���W���QDW�1t3��7UӀG2�����C��FV`�0���?����J�~���q��C2�!�w��%�iV�*x��ߥ	�@� ��z	 ��$�m�~�?]3��BqZ���n�;0����g��3���������T󨑟�QĿ��|ڹo�^?��v��h��N��O����������S-����؍i�N�D�C�9 �nU^��=E��>j�}+�
��'�?��M�+�?P���E���`���%|���4�?X��2
�^+[��'�~���W���
�ƵS��c�����;�CZ�5E@��h�0GU	@��Y]����p�?�/�rx3x:<���������ےt�7����Ew������?�V �x���d�����w�/m�i�e B�O�T17:7���i�ݔ����W��4vCK�i6�L��א4wHd���d{�J���7e� ��
���Ů�`�ދ�p�<ߙIf&�?��q��F�}�|���y>��B��_N����l�����ڝ՝����m��^+~����p��,���0���������s�)Hp�ʷDė��A8@f�������!?��ѿ��
���ի--�&�9���@�I���E�����z���W�nI�
,��!�O	���Sy����T$�@n�1H!�**:k��csP]��`�2NId��?K4�}'��Ǟ����q��ϝ��d
l�ᝄ�v�B����s�0P���G�f���@ʜ0�
�hNbx�l@'�t"�(@@��O�oF
��B�AC������3IW��p�.���`�饜oj9������!������h����Pf��߄�l��G7������ �$���q�5���ژ~0�K��-^�/n�Y�Lw���(�0X���X�t{���Ų�L`��-eu�"5�<�>?��Z��?a��xڥ�fe�hu� t'cA����pA�$Ud/a� ���hM��<n����
�v��]�zO@��E+���=��ȹ��44p%�1�-&��V���<�$���l��"�w�F���R����5�?���,� ��z���������N&��Dzcc�Á@2y�cAG�I��CW��&AI"�i����
�=�=q��C
0���CB�4�Ap3�鈡�z�G�0�ׇ:������8lfŋ?-�n�("η-e�͉���EK��+z;!��I�������4�C�� �.bd���s�������j�ZQbDV
�x=�ڋ����P0���-q��&@�Dc]�YD����
�^��U%ĿJڵ`͔�0\�j6����z�YX��`����79��;�~��ŝ��	�~8��>��+�Mv�zx.''��W�aW/��~��P�����O��?��?bËH�%C3�W-����@S�	����ʻ�����>N���WU����YY���)��7��X�}�� ��,�ejU�����^H*����@��8��pߧ�[�4˹JNԧ،�a�#���R�D"M	m����$RT4��S�>l�����h�q!��]i���^�
���쵡�j�(6��@e4���\^P�P�p]�����f���j�C�x�9��_[���Y|����X��@��5�"��1����7�\n�������qd�ccγ=��,����/�{{�)5�϶u��M���m+._sJ���x�@K
0W���c�ά"�O��C���k��>u������D�����,������zN���W"k�kIFN���y�e{�JG�&������t;��ݕl�j����U����㩑ƑX"J��W��mb�v�&]ߔ��8�53�����b*���d�RT�H7�a��]]��$��d�!rMf����@�j)�Z~E@��`eR�ŭ�"S���4 |>jk�s^������X`(?���w�ە;�y���.a�?�¿���^2y��$<\x����n> ����֟��ϡ�c��U�����2�PƬz{O�jem�����.������'���}6j�pK�� �z%�&>�K	��I�ۂ��i������v�6�����d�R�,+S'm�DeXr���j����u��v�-s"dg9eYk�.�
Եa�"����Aܿ`*M� i*	���t@+ |�6����P�����G:S�������x�\92x������sBث����|g�h*��S�˫� �_��b���2���ݏ ?�h�@�����Y�ޚ�)���w��\����F%��|��{
Nj'���[f[(��Ϯ)��#>}��c�C����#���!`�,����xn�ə�U:�l��x�I
˹"�ݒ(r
+��]%Wձ| �(g�)I�-Q)kJd�Q���C�D�CQO�2���`ppx0>8���E@M����ֵT@�u�X,v'�����:�}g�٫�rT��k^���0��Y���;��,������}}��<4�|kyj9�Rw._�S���ؼ:\��3�h��[�:73=�t��̃i]�[�ܛ�PjH{R��Wj���?@18e��k��G��{��	Z�+�k��-�����f݁$���$<�Ǚֈ,�L�U<��(��h�l�2v��U��Q�:&7�)p�n�IN�8�����XU:v"Erx��:��M�|*%Jv��X���5:@��#���H�TtfW�~��^_��� �'�"@�(���'O�@٨tF�(:�N��i@mAؾ5��C��p��z�'���/�C�;���|9� �7��������˷��o�ر��67�^�bso��B���������ʙ���y8w&������C_�T�����{t�i)��.zT�]���Uf/@1�Q����I�b�H�p8���.D�)�K�!ku�
�sF�%ƕN�����l1�_`�:9b=�J$��7���([�aO�D�B$!�2����g$�γ�0����M����'�:�Oܫ�=��~m5Aҁ�f�
����Z	@����~�~��SuC�5ㆰ���Ы_v�Ys���%\�j�x's��%_o�, |kG=z�-�}^����V!�߾l!��&Z:�V��OPt��-{L.����i#=ùYꟐ�^�R[$ƵT���֊���]����hGkG�!ǡ��b�N�X�w����l�JѢ�Ho�C�A6Q�@U-R�
"Q!}����S����r��y���M����?9��H���n�0_!l��n��iR��(��S`j
�P�����X��l�c'~S@�F �o��`J\�|[�,�;�^����E�h# s��8���Bs<gY~w$�"��da{A�}��
4�]/I�xWm4'Z��
����5��@
�,�P�J`�$��iN!���8_�)�^������A��̓�l	�a�b�H0��̳*� �cn ���䠒Sr��0���7Y�C ���>a[Cv�i���3�����y�`F��mXf�G���)4P�\�U���_�1�M��l�hn\x�|M�N��;D�pm����i@3bZP?��'q�W�Z>�[3.���
j��l��@N���7�9NB��g�uPW�TG��E,6�5�ɔ
Y�7@:��$0���d5��B��aH�5	p�2�QP�d;
�F���1v��.��U����VM���u��+�\����� ��V�r��%���l,�~����YW��̯k
s��Du@��U�c~��F��V%�O	�A�=c7�a'�uӏ�Q߯�zv��D��N@�|W��;pT��� ��p �p�$Y�Ң$�exEd����̥�'s"}-Im���k�Gs@�H����k����fA>G�>k��Ui���
���0��uźFG��$�Dx�D��hW�gE�,��;�,�O�\6MP�|�!�+�D
�vh빲���M$L�/��3�WT��#Pdy���D���p��
���pGǝ�ˀ �?�1�\z>K��DZ�g��9�,�x�`qkb�`�9���7��msp�\����+�@�*�1x�j�f�gV$���v�fk�T������8���m���v���.r�H׽�Jr��~�\�[�\^�����@�,��<�V�n�+���C�����g ����"�WP���tR��X�7��*�4�9��h{,ߊ(�
`�jHM�As�d^)9��V`v~n���!���^Г(��)d�oqH7n_G����@Ӡ�/:D#�"��>����z��9�7��!�4
�_�'��� ����i	���RG�''gg'��X�8���~�d'�G^]-����Ӏ}x����e�B��J�W����Y�ێ�	h���yn���ǻ���&?oo��&����dYtHr�'��zW��z�r0P�;��8@#���\A�Q �$N�Q�6;MC�**
	 ��	`�?6�F{@J�Q�������Y�U��I����<
��:Z�OTx`�0�\Q�8Z�^A���[�7��&z��a�Jj3��d.o�9��[�����n�=<��j���~2���h_�?�#l��R/��8D��ܨ)8���t�t��++���Q�A�#~��m�
���
~2�gB@��Sb��^�mt��.A�,4;�҂.�U[pt��K��L�t�	"�%��f�R���PC@p5��@a��h��j4�P.vJ�	=���N��c��~��,�U
�g�?]8='�<��<M)�WXq$��Mi�<���h+Y��@���$3%�e"`���?u�A
�?��״�g�~V�G��&  �?�a���!L/i���\�?�T%z�����+�|G�9��*��f|���o3��j;|l�C�f�,g�%��o��{<M��T���b -4���ɀ\�d�W�xD����'�;��Eo��8�o����?�@&) �E`g}��/Y(��Ϧr���Ksu9���~b�>v�3S������
���ޱ���[[k��"�gX���?�RQ��U8����$_��
M�*������}�[���4�~��_��g�����X�a���i������J&��m��~z�'����v�E}���?6S��_�3��<�jg ˎ@��+lVU�N�@���@<��8�t�g/'����H�� H(�����
�Ǜ_5sG��T;Y�����(@�@ ��Z�[V�U�}}_\�N����E���l*��$�Xd_�)p���<�Q
FxRj�J2w�?����������‡cs����	�f
��b�ލ���|4�ݚM,,(
��N�r���]��/v�x:�A0<u�/��o��	��`�39~�89N�Y�<�$�u�g:��o�% �\^�
�켡hi����Bo-?Pcj�`�o���TO��6L�|@�#�9��^`���.�]�$'3
Ep�m�K�pG�zw���Ȉ[�2r�_D�H9@P� Tw5RDT�ŢѨ/1��f,0�����B6�_@�=�8�U��4k�Z`�
ݧwO�h:0t�*@���ME������ 5�&Z�@	�J"
�`	`��	=����/��,��|g���K�obr�%�0�����"���/�bM�)$�?������>@�Q�U��oJ-gͦ���	��O�v��x˦�`�R��w;6�{\?k���D_~sM�E��N)
�7|����h)�v��Oe/D�W��F�bd���bGfe����KN���#]׸k7���H4T�sd�P_`�#j���7�H�r�x
�j���O��iN����F������g$P�8@�T<�S�y5�H%��ծ����+�|1��X�	�
�QČ
�~<��?<�;<<���|(XD7@,LP/��^�@
�����?�� @�O�_#�
�o@-:��V��,c�������4��}Z,P�ֺ�^}���]�OSy���	��teg2fQ{r��P�1���SI3MmӓI:�Y�eXl�
#e6��f&Z�5��F��Hu)%zuJ���h�f/��}�Ӟ~�n��~xz
՚<����CM�}�e��D��B� �Z�m���s���(�dU�%�U�~E�6�4�46�����Qk
*R�����&	أ�o�l[��z�d5�vW�20�?hu{T�m�2��]GU�b� <���_S���A����L?������`��x��%�	�k��\T%����ў]u�*��+�/����X��v�	�3�Ln@͌r��� �Ӈ4��͟O|�rb`��c��l��~�m�����DI�p������7@GA̽{�k}8j
����U�e�3���j��v3�f	yBc{@Չ@�(~�	|Q���x��v;]����Dd%�׆ݚ�y��.z5�T�`���թ=״>8��S4�d�>�PgZH�/N��ۆӿ�Kc��;�;��j��X�F�3��2pv�~bƏ��1~����a�����*s�+��Щc���8z7��}�8�X��spϘX�oYYٸ����nǸ_��
��,@��`�0~��Ky�S����Yt�a7�8�	 �gt@L$��1�p�
z����~<YNs�>�s�{��O�7�t���(`�=�H�/�F�@�Ξ=��>[u�T����$T:5��<�u����!�E���juK�����Pz*�զڴ���aUuӗ3�&ե
)�6Ҧ�*�f^��鶹ӡ��z�[
p��u(�v���H���G��8|�{�{q�d����{�@��t��+s�xOgkI�[~���mv���

@_	�O󥴔�������!���	�����"7��7'Om�gs`sv}�&���_A@9����ap��	��?�������ץ0�)�`��'�����	n
�ˀ�9P�>+�`*��1U��g*�+�{�l��:qH;����(Z}��Gs:�6�S���j�<i��i	<�FУvI�6��T�+�$K����h�z��{Dr5����ڏ�B��P}�3�:Uk�ӚN[�4<��4K��aW�(�8��{������`�BPYZ��@r�Ձ*O����Y@��p�4Ȏ�
&|��/B�A��/��?����\F^�x�H0���e/H�_�L��9P���"�y���
�X_���B���+����b5��+���*Y
�ߌ��)`��=38��f��1�i�д�>ϲ���8��T�D0�)Z(f2�`&`;��B���4��v��ގΞ�&Cee���@W�����(\��9���^�q��HJ>$��]�I��ܭ��T�Um���@rv��p[���
�N���i �x.���X��5��X��(x^w��������lf���$�A�??I�}�x) �M��X(g�\$��=!Dkp�>��Ӄ���)\�Gw���f~2����5�f�� +ڻ��E���bF���Q�_q��e@Ō��nˬ�+5���3.�~��*���z�	�u�*V�T�PyxH�,@�=����5�B;����\64�@����:�9�		���G
�ՋVL��,[wt��.!�E���˙�.��f�`�УB�P=`�F���8'�-����R\���OER�3��1���X^�ư�tni�_�'`�u�Q
��<]�8�O��S�^�4 Wx���?�@�ͤR�L&Z �}�N33K��@�|�j�P��������mof^����U���#��k�UN�z]��o��Xt���g���O�v(Of�
(b�C�׶eP�����
W�|y��~��R���g���M�%/�M
�Z r�a���XA�@���.�K@�K��^����L�8�Ok��=b�E�y����:$��Ey8z�}��-bJ����e�'�O���K!��?��}����[|*^��L*�:3�0�?=�]��N��	����?��  P@�yc ��;���������J"Hd�4��?sp�e�(�	ߌK��n�쑿��D�5�/�`c�d��1��/֙��g+&��&��U)I]��$P��ï	����k����v�vtt��o �-�&��/�0�2��t�����E���o-�~w���+��j�H�>/&��b���!c�=�ECA�����M[O�0UZfz�J@Qd��5`�n�ku��	�L*�zD�1Yj��zlNIv�͢��8=.��W�@,�(�B�}:2@�@�?z)�m{l�8%�+����y!c��8MF��^��{$�Y%�����i�Z���w�9,�>m�{^���/�v9�q�!�����W�D �� ����/�a`���t�@�.���ߓ8��w���&�4���-��c�`��$+& 0�*��P7@�`Q�;(=����讻qit�c�
@���ѿ�T?���)�b��_�Ӛ���-f�^ե��lV�n�[�=ni���.�5�b���<�##�3�C�Z����{�j��-�@
���_�&t�B ��*�/�2�|��u1�:�@�P[09߂�����`��՘,EcrȆ &�����%��Gl�� ��P(-��>�1dձ�t�@���w�1�����m�`�D|�P0����7)kw��ݑ8K,���_�4�(�oy	������i�o܀�\�N��J��8lp�3
p��
�R�8�3�JY'��M{چ�q�w`����޳��N~�v��ح���W����6�����' ��;AY�=�.�	����@�*���0����]�O[��7O�	v�eLA1W7wu>���'��={D!]ى�P�š*1A�� ,1ΤגS�I-U���}�T�	��)hHDu�HK]%K	�>�yιo��({��Ͻ�����z���~�ɵɵ_l�mRΡ��6j2��6��D@�ҏ	B��Y�t��&��T�R�&�qD�z�_��6$R�V8r(�oJ�l�ƪ��J�O�
��`p\_�l"��nN�ޜXJ�	���SU��]�y^<�+�b�N���\A���T
��GY6J��B��2</2to�s��F���눝��_y
�xd�Z�1�����m8�{1iP����Q�+O�T�RK��^��[τzδ��O,�.���2�{�����3Eۄ%�0kVN�KYJ�qo�BH&����
P�}!U�qB���̀K<2��s� @' :�$��y�h@~:~|u5��@���+*�:�띝�oo�Έ���{��N������H�P�9�j3`��Y���`��rrkr�PH!L�v@��P�h�΀~ԑ�X�:�3�52��W�L�$:��BFp�Yo8a�#U}펰�%b��@]֙�큖�1e`2g�`�q����q��=5X�f>U
��
�.*����VWW�J�u?+�X����ʹ�ޠ�G\,v�$�5�1=��]0�r�uǎ����<<�;�sGA�A��)�c��w�4�	5*Mq-	"��Vf�1����Q��P(�
��c"�0�BZt�/\�N�����1Op�'2�')R��_Yc��`J6�,D$8p3�*�W����
@1`�~
�������ի��`,wa����VW;1 ���HJ^�����_���ټ���w��M��!׿��W�,�2 f�L~(o������t�V�?��p�К��δ�f���!?rN�����DKj����`Ov�^ ���N?�$���'�ᑾ ���*=�7W��z2�1����S�����7����7��+����~u�i�e�j5C�8�qE�Qb��I@���3m]��xL$ހ_��;H�2�13oH�v�Ő�x���������R�g���5������^���%�,%'1`���S�4�Kg����>Y���B`��@�BU��-���Q6Ow�b# 
@$�(�(C@>켚ĩ?4���}�&:��Kp�x~b��Hrq�9	����ɷW_lo��_����I;ޤmAo��GT�o�Y�ʴ�(���5���|�>[)Pe��0��6�O���bZwϹs�֮��6((�„D�29�@``������2N��#�d/�x�FG+(|�3V�{ƫ��*�9w0�>�&���V�ۇW@���v;���nގ9�LM�(�7ϒ������@�c
`a��r110��h���0
T�ᶅU�z)��A/�/��cYFk	TZ���"f�����3�w_J/�b뿥���t���?��~��	�}2�R�\RR �+K�V�C�l(.�^3��픛u�X
����Sb�@��ō�T<9�y5Gu�Æ�?�S�A���jfaa&ٹ�)��'N}��bu���7��;ۛ�
 4����@���ړ�P���$�o@3|I�h����?���B:==���Wғ��vmL��l�X��Ù#`w�@�h����74�Gd��U
��XK_���^_��R07$�"48�7a��+�Yw/ZQ�uZ[^W�\�U\H'�Z����g���%$�X�Gxo���l,��?]WH��N�\m)�r����vޕ�Z�a��yw�e���˴3^�M��P���[5 ���G�bFV�HGH/���A���kf�g�a�P��Si^�B��bK0�
�{N�/���{zzjyKă�JɁ��	��1�;媁q�/%/���Ї�6:;���8܀!�_� ��/Yx�_-~|r�ݻ��n�=|{� 2��}��@Ҁ~�����w���`����*���S��,��0�6y��5��j
��������'���=��s���A��cA��'�VR�6�P��R��l^�f�9_�A����ᚘ�&@��y;��їE�w��R�.X>���N�v�{�8j;��#*���.~��#���>�\�vD4U?t�Z��'�����jnn��-�6[�-�ŗ�v��їˌ�yP�-�0~Px	��P,�+���1r�6v�7�{ԕX�����?8��\"���Dd>�p�$f媶�[O��٢��5b��=� �Ͼ��^J%���͓�+��X\"Gd\(��@���v>0;���<�G������ץ���w�P���r���j���L5�q�T,��~t%b6s#&��
7�r?�sQ9>����TWk$S���9g�V�V��xd<��(���gy`��++&��`Q���݀t��{���T	�:m��N�"��	�����T`�0���H�?���������^�@��>�.߱c��x,F����}�D��vBQQ��$����2%�~2`1���V�M��|��C�����d�]r�3�/�=�04Ylsƹ9�o41��\��.�i�3��l2�9��B��b��Z^#&͞��$x��W$'MZ�EY'[m-Yj���9r����z��3�b\�p��E��e�O_�L�
~g����''�m�3ÓF|��8�o�f�Y�6#l6�ܘ���o�>�i�<g��0�f�{?��]���T򫖏�L�e�zVG�x؋������:aC��d\:�@gL(F�Bg����#�AD�̩΁�}���ث��`N�
[_��T��l'v�͒Jb�J"���W�����6{4�e�y�,�0���bw��>\U�ᛣ3km{�~R��W\���;�v~�r�\���}9Je[h��x۪�e/�����
�A@��d�^Kί"�*�m����v�% �@�j�Q��Yݨ�� ~;9�79�v��&Lά�YZ_��!��F����`��e�-�������DY���>踯�l���Ň0�:p)Y�#9�rJ���zQ�j�V���1g�y�)�v��2�y^�0_�!��FR�BT�H.���'��x1�v2��˱)ҝx��F����؆'�9L����})��n�N�^�kO�3��q�Vs��s4
�{�	��>/O)��7u��6�s�����f��<�y�w�%~��:
����Y �*��~�3��?�
ف%-���|���1� �.�tCw��E8j���V���e@���E��5.��!�o{�P`�S�4�.g/ +8	�f�Ɣ��D��M���s��+%�UI���]�z����3	jBQ���@�O �%��}���*�[�Z���.�8�
�+�/�c�p��?�0~�^ݵ��n�ȳ���6;�.Мo�Z�&ӽ�pd_k�ȀU�CZ`�$I4��%`�{3�9D�8��)��[�z����$�!�t���!��y��!��,���pi�9U`�zF�Z&]��9F���~���c '�o��>z�2bBJ���<�Pg܎
��W�*���mG3�T��i��[+ ����l���n�:k����R���e��[[��)�rߝ0��tB?�y�R>`�v��{�!����:�$�Ԅ-�K�+�n�
x��=PYBW2p�l�,����)�g���m6��;��9w�p���
��^Bi�8b�O��S(��@��4r�JF@��ϲ��u����r0��	>dӿ���*%�(��-%vPtT�/��:���}���CO2�w?�q��	^)9�X4f&�5�d@�f�U�C�WX�UTd��/�x�����}	����FnR����n���-)ޑL���(H~WVT9�*�Z�Ծ��������"%��(�?8"i�d�
/������=��ҟ!���P��P�!e��dQ~�)� �1%������|�p�W��ߗ����U-@3������<<����;��^��"$�� A)�4+{M�ū��$"�r�kS�Z2�#pM �2O�GڥxD�6�$m��������ߑ~|r���G����M������{t3�G�ͦG7��~꿽��A��g�o�R�/�3#b
��M�X����J�++���˄���* ,��	���Z��!n�P�/X%Ʒ��J?U f���,m�o�i���[��`
� r��0���!�]�+�
�0�nIy���B��>��;���Fw��'�Gݜ��?:��x>�w���l���{t�.g�;��~��V���0���F`A�֟߿���G6��H���Z�'JR���ؓ�{~Hg~�{��\�����i��Oϝ�ƳIڹ�G����.:@��'㷓	��o�ޓ��v;=���hO�'�Lp�9`�`��`운{�� _�ͨ�3�ڦݯ��O�.	L�1	W��E�[�Y}Cl�*oi�8���wd:w��A��+���F��X�o=
J�JK��{c���=�8�}�K�+��B��{?���{�
���dt�qJ�h��Gͺ�Y2K�hB�gh��w&��9R*�S�J!��r/�<�����ʿ>���~�����S9k�+�q�Zzjf,�s��`��(�D�^���(鐻�ka�6iǴ��A��^ܸ��\g�<f��C��e�P	`�#� �k�@���P`{�`~����7SBJ��H�|.Xzuj�C2�IS��P�yU1h�����d�
P��Z57`0��U��5�T[�ƭe��pAU@��~����҅x~�I��l5"|!J�����P�6�Qf�
6��DZH�t�Kտ
Yb΀E#5_���>=�;�Vۮ�9��қ�mm��+[b�I&`�|�t�;\�2���?=�C���`�k���)�(Ey�_�1Vg����tZ�������A�1�m>�L8��hE�;_�le��٢�=M�k�V�~^�<���A��`�rZ� �j�#ӯ�&��3
��/s*޹�|a�NJ0���>j��)�v����)4��{(�!��M�1�*HA"'�0�?z1���A?���E�q�����<�ʬ_�
�����n�$I0[���`��������C�N��h��i��?���+V}��׫��O�~5Mnn&�/��|�G�}Z�����ew̏�d���P�I ����z��쬩�<+�c�Ծ9���z��?徽@�����[��<��s:� lQ�89�h_��(��xY՘��% ���<��K/>�"��Bi�\�_�>A���S��|���?C�ӧ�i�;��fd6��OҴ;�����%�e[�܅�KZ��B:\���C�
?�E�*��}}�^����tDV8����>�i���T-�;��?�ސ������F��Xb/�QD��"CL@zF��D
Lc��7A�(-���/w	��Q��H����g{�/�
��j;}�F���-�
�PW��[֏�խ�y���j_���-��2E����grJ�W�8�?7�A����7��S��@-@��^�D��e�ǐ�iJ
�@BX���L���\4�C�/�x@�&@"~G�-T݁+t[�[�‹mr��"_�L��?�?� �L���M��e���u�����{ �ݠ��~�P)����3�@p��@�������߷�~�h��	(����W-��ٰ�v�l�)9��j���޵�ƍt��'C`0Ɖ�%�f�nl�:!��"�E�&�Zt&ЛaVYh�x�k���~�<@^�?�NU��T�n�c�#�Z�ҵ�|�թ���4F5F��A*\x�︽)0"@��l�d��(V��0`y��?�@�%�����	����GD�h|Z���h��f�O	H���26B���?s�����������{�A����a���Ζ��޽`~��j�5ƃ���	�A�ǐ�gCT����jH+_��3j���*+��?�����3R)@����p[�@��{�`��yn�X5�\�Bn ��M���o��,���1@����ւ�k�*-HL�w�j��s�
��Q����0OX���Ӽ*��	��A�'z��)��S֯9@����?�C�usaQ6��
�q79j���G-@Ш.�3�������V߀��7���WfCXp`�?d����f_�42�a��,��S�K�����B��y>���0Ψ]�^m�B���`�m�o��-��6�ϳgٞ��PL�N���e��9*��@�_R�!�TU���9��D'øPMyX@7��1:	��Sl��1/ZWr%{��<�'gdg�=@�慀�P�}������`8�����rx������R'�5\QG"�{a�1�`���Y9�bt�We�?'��q\�|����p���p*`��U�4�����K��`Z��	u
!Z?�G����w�r�\h�B�&����?h����x1�!�7�sP��!Xb�2"o
,�D���\�(���s�K�����X+8�8;)��!R�����P{�|�@p|L�Pw��@������i^�j��'�	��%�o4�+
��f��يW��>��~��f���l����������	[	�S�{cw��`�<�;"L@@Q�Yԏ�ݍ�gX�ϊ��>�n�D��c_��B �^@Yz��{�8��ϗ�쓫/���5�)�}�fG ���=�=�PA^k�_ka���P7�h8��?���e����
��@8�G7�S�H�NE�;,E3 �>~|K�Q�u!Ս�`���Fa��~�>.����<�� ���ο
@�f.7@m�f���u@�P���}��,0��?f��bUq��}���0=<���Ԫ��P��WY�=��j?y�n�jN��c47b�#�2�9(Ae�Z�`�>��A��8F}��f�a{i�'�y��Z�+T��ہi��
�1�>����gB�a�>����	��ǧ���iQ�����z_��߬:��!�e���`(oa��q�6�1qۈ@��6-���N8�+R�}]�N��3ՙ��[7�ki���4�s�#�gY��
B�`f���O�ޥ4�
��{p�ͯ'���W��O�Z\�������0��z��J��Q4�:.����O�2+����@��}1�W\����3q�Z����('�}�7��6��᦭)�C�
7�q��GI��D\o�H�Ӭ�V�K_�ۚ,(�ꊾ��5)�
_�k�^.=�4�Z[[Ay��克�����q��C^
P�@�a?=;韤c��8�/�1�_V��Ei���”J�84�'�	�p�
�ntMYW�Ø�h�ƽ�6�\a]��6����BA�t��`T_X�7���Ay�wZ���k��׵?'�K7�yV���H���;�NP�WV�\��?�G;L��6�)���`@1��a��������.��@��0�1"����7�*ճ�����H�!�1�A,KTژ�;0��Le߈��g�w�����=�8t�Y��g"�I[�QD���j�lw��Q���a�/#���:eD3�1FJֻ2�L#��\.;�H~tt���
�C�#�l��SK@�?�8��]��?�Ӵ(�4��,�%��-�K�92����A��G}��"4��n���#����î#B��-�9C�Os@WƝ��yui�U#�� �?|n���}_��w�sJ�7���k���_�o��/?���H�\����'=q�e-�O!p��
�@�4����n�c���M�OJ�b��c��Ӳ���t4M�F��
�k�����SDeQ��;

C��I�[n#���7�L���V�[`K�T6�����␞�w_�G�f(c���.E��T�C��P��{
l�+�c��p�U�EH�B@�v�0��ȡRMne;��1���U|����[rG|_�nɓ��on�'����u	@e58M(�#�K>g������y���
�O)�`�N�A�[,�]U�
M��о�%��~q�u9���qD�R��:w��&H��h:�
ػ�
Z����*x#f_�i�x�2�Cp3��s�0��OdX���*�E��j�u]n~�1�:�B���qx���
Wq�
p,4/��q_ع}t~q�fX0�/eN���P�������#</:oV��	H2QF�|g��|S���n�m���unz[����K|����w5Q䪱򤒰Y�H&	���
��ۆ���������qs�q��j��������I2���6�
�о�r�%�zf��'56�퉱u�vʕ2��*S�c&����)����`m�o*���ju�ov�j�f�7e��n5D��2���f��Zx�K-Qi�K�=It$�J�t6O�l�f�$	��mq�x���������x�+H��;�w�S�.���B&uzQЁv�B�k5�i����;�����7K��`��u���we��[Yю�e�7����G��TdOXun$yN��
.�����R����:�'څd����c�Ê�9��ʊ��t�Hh��x��~�>q)��|
���)b��5[�v��]K`�к��z+�TI��k�x�3����c��@X];F�0PknP7r|� �z;:ܒ(���@d)u�S3ҁ����YH������
qqp�y��<�'�-��I�<��+2�:�I��ց{ba�-�Ė�*q�;�mW�r��D��~����=���:睁�[�T�v���}����d~*�u���1fO>I��ޥ'w�Bo�-ܡ{���z���뵼IO	F!�ms�2����0�c�A�����N;�Q�I��¢�������jS�U�X#�|[Pg�߶�z���`p�^Pe���R�y�d�H�|�wW��i�wkHOސO��vh�]��I.f\G}���	��m=d
~ӈ�3�h&�F"�~�d"�)�LLP��J��UV��x��a�1,�:"�-)����+�6N�M.�v��Ȇ�kD�H�ʹy�?{W��F���HjY�;�"�3r�*dQ�Ȥ���Y1@�7�
����,&
ў6g��9���f�6`��1bW��^}����U��ޫ�V��%�u�?�������W�Jݴ�ǯ�ʊ�2�iq�ao��I�����Ӊ�&P�"A�X|R-A�o2i�}D'PKF��4��P��4D����Ũ�h?o���oП��fÉ�������� ^#��[*Ø4`
�7��o�=����A�*O��Ӫoٓ�~@�K�P.J���d��~�_&���^��0�h-΢Q��e�4�t�������f �B��fX<d��n3X6��pm��O�%�-��_	VU���oZ�,B{W`��`&�a�Rx|���P!�Q�i� @
ʫ�����H�шX� #��k�'���T1�����>N}�ͤ�����_t��%�S��m?02��݈��|E�&�� �,K��W����$���?� �P�H`v�]fШ���5�z�,ڌyw�h�)�=;�.^��w��=�� ���$r�䎯#GW��L���1Q/���TOP�3D�@�c�m#����C(ml���h�'a��o�Jű�ظx'x���@��gN�8,9�,l�j\j��n6l�)T�{�C���b|�� �*%���0���D�9>��&�B��M�չ-5�5\� F��C�yS
8?œ�⃡����Jc�q&��/�x�`���!m0�l�V5����
�o&�N���M2m?��l��eO�ǾGW[��[�z�fs
�7�.�A����F�&���x���9���P!J��?6To
G��� }��Wp����J��ym�H������և]�Gr��9&ζأI�p�BW�`K�
	����qB̊�;����`�
��l��>�:�	ȇ&�8me]�;~%6-��!�,�p�P)��/6/̖>f/�z6@(�d���<��GZ��1qq8��j!���q}l89�z�Էͺ��C�df�J��V��5��d��P�'wXq�B�Vg�5�wr�y�B�� �|�L�a�u"�/f�����9� 7 ���&0�	�~�IDreo�=�7�ex�����M�����T�M�t
B~|b�4Z
�E���)Aړݤ� ��DI���?@��}S�`��_&��999y�|�A�ຎ�<�V%`�,��b&`=� �Z�
����n@%0lU�Cg�v���dZ�!���$���*L���R�}����7���	$xzD�p��y
️�o�Z��w�s�G?w.C�UO����/��>{�Wi)���Wf,	�]�_2����T!H�RG��O��#���I�!�<�%�V׉\�����t�u��lљԁ]4��X�^��m#�b��H�j��b����՚����A�*���n<��
�P>o��^�������3�q��c��z`[�XA������k�.<Q�w�el��h�9d-\��$����]��D^f��t��D;���z�2�aй��@P�'I��9��σ��X
B�ә[|��c�K u@�
@&C@�J�6��P���mS��lʩߠ�B�����g\ �v���ѵn� A	m�ʶ$ˠ�Q��e�Eg���*H�1��K�u�l��=��m4�c�D�R���Q3��������$����\,�yI3S������*Հx]�N�iP��0{.��і�\�]����Iֆ_���v��i�Ca�*ݝ��t��ش��R,��෣��
����4@I�
`�/�)Z
���
xZP�J�����R��H���_��1-�'����x{m0W�Z{mVVVµr�׎�$X��B}�8��!7��[ό��>&Iqˊ�;�}�+�v����
�E;%YS�C7M(��e2��������s�wL/@k�5��$@+����w�{�������SS�)�ꢗ�+y��Ǣ�X3��M/���W�6h���
���F�	��%��|�ЖfyD�V��V
А6�na��E B��CD����ݟC
 t@���F���T�1�a�je���^r0�"@�����Vg@W�
�m�z�A���#A�ڻ���_�i6�Ҷj�v2��B�j�-Ҵ���7�	�O(�_�m�5��h
�FJ�m.(p���Td�;a�M������$�P�	����p�O
ܿ�T|�@{��Ub�L���*�9A;ǧ�%��:�
�
�$�`0���%�\<�(��3��LW�i��˙2�N��֯:(q)���	�S{(�.�<�G&�x|3��?�B�Ÿ@/��v��e�2
���Ǒ{t$+#�@?��N0�c �ς��r �i����T�>I��y�CW��:�A|ڢ�#X�|z?�ZvӜ�*�s� ����>@�T��0��0��@
�Yw��R�F積��U�YJ@��`L��HU� i�%���)�r��zt�uSgq�sͨ\� �Œ�؂�y0�r�t���J\TN�>pQ���?�S�a`<�%g;�Px��WB
p<�]����G~�ld�U
�=kpV)$_\8O��b
�w{��J��.)�N,��
0����vLr� ã����+H���T�2�]n�Vշ�7s=T�\�ּNһ[��Z>d�ԟ�&*;�����\�0
�@����V���[[[��ޝz����<O���-�����|��{���@Lw�_^n������Q�-|��hlo��Շ���O�;=]���+�e����ϲ�#3z�M�J��(;���\PvY�U4��wp!�U��T��:&�����c7�t���ׄ`!([Za9Z��c���b��5k�K�a�e�x�,)�?0�`W�H��e�B�Ph��������~�;�5���`oio�V��XR�l.�o�1�zn�m�lggqq���~'�~�����|�(���=|4����eww�Y��?�����뻻���:���b/g��'jŗϷ
�'"�Ԟ#��k��R�Qc���3�
��uCN��Կ
���޿޾y���7o�{�{ͥ��~mii�K��f���z㯵�o�Xܩ�j������;l���~���O�"�Gj�A���=���=c`�]�z��֛a�\	�oK���td�c7_,�*[2�j�9O�~��~��Ɉ�%��3��I�3dʝ�����蠪����d8�������P�\�"0�������B/x��WL�z{{\,�z�dicc�����=�_E�}�
�������|��U��=���m����ٳ��|su���ɓ�닋O�s5�T*�ʴ�H=Kl��wR���[9�U&��H/:4�J�VF9:�IwR�CzŎ����Uv��p�Z}po�^��]�k�/�^��,d$��.K4h�`��l�`�[��������r��[nk��ed}	�h�BdZP@��? ��ҟU�^����h��G��~������U�k)��ş^�x����9��〇��q"~L�T��&���~*~��c�>/��_��� �Irݻ79;9?�<��:9�Ã�O�;9�:9����=ɸ������~U��v�	����oT�'��(g}4��u}�<0� ��I@�	,T�;���w3��_O�|�����g�?��r�/���y�&�A*RU����I�	�'?&I�?y�����{���	yr��
�?���d���맧�>8�2ٿJ�/O�<��L�A�ٛ��ޟL���	�7�n"�7��XJm�dT�?(��@�q�l��S�|Wz�NϷ����2��5�_ZD��{72L.�w�z�`�%��[��Ը�jyq�I���R�� ��� ��K���}�ٳ�����G�7o^c�ͣo�ͳ�z���˃���//˳�����.�xyq���8�΀f.����\^~yyqpxqq�uG�3;�q��4�'���
���
��*ځ�c���&��4�MpK��1� ��ń�|���ɿ+Pm�"�ɴYZ<*K�3�&��LT��"Ac\�Z1/��pAhg1`�������=KY߯[�J�E��H=@��~����Ά;����Q��^�E�d�0��Ä>J���d�H}�c�<�('�1��G?l�~�y@���x6+�)�_�~4����rΧ�AE�U�0��%�8g��r����R��p�b��_*$s���,^\��FŃ��o�P1��20.7�Mg�u2�_8�,O"u7����l~�|��a��zM~c�Ipm[�뗰F�4(:�t�ngs*%@ڿ#m֍G�E%_o�c��4F/:��#ۚ@�.Ņ���ǒA���p�8�D�v1���WDפ{�Ԍ0���P���+��{�$�����{W��x���rGJ9&���']l�#2��P����ϧ�`�s���A���_c�	&�]��r�q�t�#�������hk
�z(ՆÅ*W�v�$ Mu@K�]��҂x�Ul�a~:EI�ԆY�g
�T�G`���c���FO=U��̘M� P����l��'e��+H
����K���Q��쿻7<ڼa=�й���Ko%|�.�KU.X��
�C����?��ys+��"`7�esng9�Q��]v���u�v���N���=���>⋗���.�β[�qW�;�)� �*�b�ĭm>?Je���q���%�'w���x7����.��n�J��%Bj:=ں)-�ƃ����[���@�9Z�y{���lp�1�1����1��1�S�O�����:6�<�!@p�]O�[��@y�{csvt4�s�s�{o�
�?�mm������?��4��66o?J�G��P^�a����G���K,q8���Ow�|v��Zny��X���-��N_��Ӏ�`&r�C�ٲ�w~r���!���Y���Y驼� �Ù�h�bI�x��/n��qS7�.�X�uU�ъ��r$�oN�@�k�L�[?]<w�*)5�������.���@�:�[��W��W/� ��u�Ek��[��5�U��B�Z@�@8���.be�"4�wc�����g�\3"9 ۀ���E��B�k�Q����@mJ�Ssf���a���	}�#����+c5��{�_���?o�e�,�=�$و�eAm�s=2:͓A/�Gv?����|$E�#&Iɰ|��Nʮ2��V��+��
gx�b������Oz]h�pJ)��Ct�/�Ao(�o��ŷ�KŤ��ce��״����j:�qw��&-O���X�0�N��+��y@�p�b����Ÿ���i9��eW��2y�ʒ;��vV����I�tp��i��������eQ��C�yHA3?��F�,H��""�e�(7\�mTX-LD8_�.'�~,��KVa���G�,����/��l`��˖E��?�<�K5'���mx�������_���{xh��&����W�j�1Y�I/��Q�3��G5ۤ
z��Js����1]�LvH�W�SW�-7E��G��#�����p����@p��x�,�"T6߲HЪ���5�[9��.�AT-"������f^�����m��&삏���V�N�uX�P3�lK�,�㜸9�%c��/���U�u����<w-5M�G�u�(g���<gCp}6g_?rj
�/f���s��$����1�
�����kVp��`��N�X��h~��_)k�h!�д�B���&D,��Z�����t�#���.��E+X
��XGgoV�p�"�rT��	��J/\5���ſ�I��񺇑'�ti&��p,u7�.hW�����MH�+��>�V���K��m%��:�.܀��p�7��jA5�`*����Q��Rj$�u���K|��b����MFڧr�jj��:��ݶ�Z�x�&�J�w�J��M�m[^�7�.�+R���C4^��=ap�E�;�n�#�T��ou��j�Q��6�H� M`;B�L�i���/9���>���xFx���\�2;$MI��^T�,�䛖Q(��
I|��YP�տQF�Phu����~��Q���.�xH-6���Ul+@r��nG[=2wp^�n�J�Z�?F+#L:p�"bM����e�E��<L1�m�:Ѝ��:�ŔLo��_M�]'n۴��\�m��jS	,�j���&=�E��NQY ���4f=�L�h�,q�����fs|����&��c<ࢆ���zV7�ۉ#��+�Q�ЙML�tR��թA
�����0����2�+���fѷ��`����Č�<�V�o�d���hmW�{�&��{���1��X���o��:��<ЊSjƁP�;�)C������;��΅�U��t� �^3���5�d�Е��W1\�rlt�4~��R�i���(���f��S(zu��<1�L�A���(��FP'�z%y�=ghN)�h�u
�S݀�J�o��].5DG�;PXr`����X��9[l0f�:H��N���k��K���J��R����l3�%�Vڣ���n4s��ÿ�W tx�zV�B�����e�@��ƿ���q��7<���ץ:�+�?��K�6fu�t�Gdk7��*.b#
����I�47�1�wVR8�TN9!��g�h��c�bĠ�f
�h�8P���#˃�_m�@,���m���CX�@5Cv�K��R�`yDˊ00B�}�H
h���������>L��n�*�jz��G�	ujC;��Q�mX-E���jw���\�<K�xt�6^��\�z3��GQ�R��Tw����u���<�n�h7�r��25�*�ɍ��ϻ�Շ�}������/9�=+c���0x�|��
v����tq�f���/������k��nyaEm7��j`���M�|�ʫq�cq��/"|����K�?T��L���Y;]����@��E�
<���L��](So��U��9��+���C�6�u0f���e_����N'hН������6���sP�.��7��8��rcm��]���L_�fW=�먺5@���v�[^�WOY:{���·gD5x�:��ޙ��@�n��ck��ذ��x������Y1:
#3�yb;C����<$�C(��z���k��	�V��d���ޤz�M�?���e���(z��5�3$Ժk�'�n������H$�e���=c�IEND�B`�assets/css/style.css000064400001273165152425655550010545 0ustar00@charset "UTF-8";

:root {
    --bloglo-black: #000000;
    --bloglo-white: #ffffff;
    --bloglo-gray: #c2c2c2;
    --bloglo-gray-light: #f3f3f3;
    --bloglo-primary: #0554f2;
    --bloglo-secondary: #232323;
    --bloglo-secondary_38: #383838;
    --bloglo-gradient: linear-gradient(220deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
    --bloglo-full-radius: 10rem;
    --bloglo-normal-radius: 0.3rem;
    --bloglo-font-awesome: "Font Awesome 5 Free";
    --bloglo-font-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --bloglo-transition-primary: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.page-links em,
.post_format-post-format-quote .bloglo-blog-entry-content .quote-inner .author,
.bloglo-btn.btn-uppercase,
.site-content .page-links em,
.widget.widget_calendar table>caption {
    text-transform: uppercase;
    letter-spacing: 0.16rem;
}

.clearfix:after,
.clearfix:before,
.entry-meta:after,
.entry-meta:before,
.navigation:after,
.navigation:before,
.page-links:after,
.page-links:before,
.bloglo-entry:after,
.bloglo-entry:before,
.bloglo-hover-slider:after,
.bloglo-hover-slider:before,
.single .post-tags .cat-links:after,
.single .post-tags .cat-links:before,
.single .post-tags:after,
.single .post-tags:before,
.site-content .page-links:after,
.site-content .page-links:before,
.tagcloud:after,
.tagcloud:before,
.wp-block-tag-cloud:after,
.wp-block-tag-cloud:before,
.widget:after,
.widget:before {
    content: "";
    display: table;
    clear: both;
}

.bloglo-header-widgets .bloglo-search-simple {
    position: absolute;
    right: -1.5rem;
    top: 100%;
    z-index: 9;
    border-top-width: 0.2rem;
    border-top-style: solid;
}

.bloglo-header-widgets .bloglo-search-simple:after {
    bottom: 100%;
    right: 1.6rem;
    content: "";
    width: 0;
    height: 0;
    margin-left: -0.7rem;
    border: 0.7rem solid transparent;
    position: absolute;
    pointer-events: none;
    z-index: -1;
}

#bloglo-copyright .bloglo-copyright-widget__text a,
#bloglo-topbar .bloglo-topbar-widget__text a,
.bloglo-breadcrumbs a,
.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a>span,
.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a>span,
.widget.widget_icon_list ul li a,
.widget.widget_meta ul li a {
    display: inline-block;
    position: relative;
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
}

#bloglo-copyright .bloglo-copyright-widget__text a:before,
#bloglo-topbar .bloglo-topbar-widget__text a:before,
.bloglo-breadcrumbs a:before,
.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a>span:before,
.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a>span:before,
.widget.widget_icon_list ul li a:before,
.widget.widget_meta ul li a:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.2rem;
    background: currentColor;
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: scale(0, 1) translateZ(0.1rem);
    transform: scale(0, 1) translateZ(0.1rem);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    will-change: scale;
}

.using-keyboard #bloglo-copyright .bloglo-copyright-widget__text a:focus:before,
.using-keyboard #bloglo-topbar .bloglo-topbar-widget__text a:focus:before,
.using-keyboard .bloglo-breadcrumbs a:focus:before,
.using-keyboard.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a:focus>span:before,
.using-keyboard.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a:focus>span:before,
.using-keyboard .widget.widget_icon_list ul li a:focus:before,
.using-keyboard .widget.widget_meta ul li a:focus:before,
#bloglo-copyright .bloglo-copyright-widget__text a:hover:before,
#bloglo-topbar .bloglo-topbar-widget__text a:hover:before,
.bloglo-breadcrumbs a:hover:before,
.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a>span:hover:before,
.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a>span:hover:before,
.widget.widget_icon_list ul li a:hover:before,
.widget.widget_meta ul li a:hover:before {
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    -webkit-transform: scale(1, 1) translateZ(0.1rem);
    transform: scale(1, 1) translateZ(0.1rem);
}

#colophon:after,
#bloglo-preloader,
#bloglo-scroll-top .bloglo-icon,
#bloglo-scroll-top .bloglo-scroll-icon,
#bloglo-scroll-top:before,
#bloglo-header-inner:after,
.entry-media>a .entry-media-icon .entry-media-icon-wrapper,
.entry-media>a .entry-media-icon .bloglo-icon,
.entry-media>a .entry-media-icon:before,
.entry-media>a .entry-media-icon svg,
.page-header.bloglo-page-title-has-bg-img:after,
.page-header:after,
.post_format-post-format-quote .bloglo-blog-entry-content .entry-content .quote-link,
.post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg,
.post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg:after,
.preloader-1,
.bloglo-hover-slider .hover-slide-bg,
.bloglo-hover-slider .hover-slider-backgrounds,
.bloglo-hover-slider.slider-overlay-1 .hover-slider-backgrounds:after,
.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer:after,
.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer:before,
.bloglo-spinner>div,
.bloglo-tsp-header.bloglo-single-title-in-page-header #masthead:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#comments .comment-body,
#comments .comment_container,
.author-box,
.bloglo-layout__boxed #page,
.bloglo-layout__boxed-separated #content,
.bloglo-layout__boxed-separated.author .author-box,
.bloglo-layout__boxed-separated.archive .bloglo-article,
.bloglo-layout__boxed-separated.blog .bloglo-article,
.bloglo-layout__boxed-separated.category .bloglo-article,
.bloglo-layout__boxed-separated.search-results .bloglo-article,
.bloglo-layout__boxed-separated .pyml-slider-items,
.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget {
    border-radius: 0;
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
}

#comments .bypostauthor-badge,
#infinite-handle span.disabled,
#infinite-handle span:disabled,
.error-404 .page-header h1,
.bloglo-btn.disabled,
.bloglo-btn:disabled,
.site-main .woocommerce #respond input#submit.disabled,
.site-main .woocommerce #respond input#submit:disabled,
.site-main .woocommerce a.button.disabled,
.site-main .woocommerce a.button:disabled,
.site-main .woocommerce button.button.disabled,
.site-main .woocommerce button.button:disabled,
.site-main .woocommerce input.button.disabled,
.site-main .woocommerce input.button:disabled,
.woocommerce #review_form #respond .form-submit input.disabled,
.woocommerce #review_form #respond .form-submit input:disabled,
.woocommerce div.product form.cart .button.disabled,
.woocommerce div.product form.cart .button:disabled,
.woocommerce ul.products li.product .added_to_cart.disabled,
.woocommerce ul.products li.product .added_to_cart:disabled,
.woocommerce ul.products li.product .button.disabled,
.woocommerce ul.products li.product .button:disabled,
body:not(.wp-customizer) input.disabled[type="submit"],
body:not(.wp-customizer) input[type="submit"]:disabled {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#comments .comments-title-wrapper .comments-title,
#comments .comments-title-wrapper p,
#main .entry-header .entry-title,
#respond .comment-reply-title,
#bloglo-pre-footer .h1,
#bloglo-pre-footer .h2,
#bloglo-pre-footer .h3,
.error-404 .page-header,
.error-404 .page-header h1,
.error-404 .page-header p,
.navigation,
.navigation .nav-links .page-numbers,
.page-links span,
.post_format-post-format-quote .bloglo-blog-entry-content .entry-content h3,
.bloglo-breadcrumbs p,
.bloglo-form-label,
.bloglo-hover-slider .slide-inner h3,
.bloglo-nav>ul,
.bloglo-social-nav>ul,
.site-content .page-links span,
.widget-title,
button.bloglo-animate-arrow,
dl,
figure,
ol,
ul {
    margin: 0;
    padding: 0;
}

#comments .bypostauthor-badge,
#comments .comment-actions,
#comments .comment-header,
#main>.bloglo-container,
#page .gallery,
#respond .comment-reply-title,
#bloglo-scroll-top,
#bloglo-scroll-top .bloglo-icon,
#bloglo-copyright>.bloglo-container>.bloglo-flex-row>div,
#bloglo-header-inner .bloglo-widget-wrapper,
#bloglo-header-inner>.bloglo-container,
#bloglo-topbar .bloglo-topbar-left,
#bloglo-topbar .bloglo-topbar-right,
#bloglo-topbar>.bloglo-container>.bloglo-flex-row>div,
.author-box,
.comment-form,
.entry-media>a .entry-media-icon,
.entry-media>a .entry-media-icon .bloglo-icon,
.entry-media>a .entry-media-icon svg,
.entry-meta .entry-meta-elements,
.error404 #primary,
.mejs-container .mejs-inner .mejs-controls .mejs-button,
.mejs-container .mejs-inner .mejs-controls .mejs-time,
.page-header .bloglo-page-header-wrapper,
.page-header>.bloglo-container,
.preloader-1,
.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper,
.bloglo-header-element,
.bloglo-header-widgets,
.bloglo-header-widgets .bloglo-cart,
.bloglo-header-widgets .bloglo-header-widget,
.bloglo-header-widgets .bloglo-search,
.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button,
.bloglo-hover-slider .hover-slide-item,
.bloglo-input-supported .comment-form-cookies-consent,
.bloglo-has-comments-toggle #bloglo-comments-toggle,
.bloglo-header-layout-3 .bloglo-logo-container .bloglo-logo>.logo-inner,
.bloglo-header-layout-3 .bloglo-logo-container>.bloglo-container,
.bloglo-header-layout-3 .bloglo-nav-container>.bloglo-container,
.bloglo-logo a,
.single .entry-footer,
.single .post-nav,
.single .post-nav .nav-content {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#comments .comment-list,
#comments .comment-list ol,
#comments .comment-list ul,
#bloglo-copyright .bloglo-copyright-widget:not(.bloglo-copyright-widget__nav) ul,
#bloglo-topbar .bloglo-topbar-widget__text ul,
.bloglo-breadcrumbs ol,
.bloglo-breadcrumbs ul,
.bloglo-nav .children li,
.bloglo-nav .sub-menu li,
.bloglo-nav>ul,
.bloglo-social-nav>ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

#infinite-handle span,
#main .entry-header .entry-title a,
#bloglo-scroll-top,
#bloglo-copyright .bloglo-copyright-widget:not(.bloglo-copyright-widget__text) a,
#bloglo-topbar .bloglo-topbar-widget:not(.bloglo-topbar-widget__text) a,
.entry-meta a,
.navigation .nav-links .page-numbers,
.page-links a,
.post_format-post-format-quote .bloglo-blog-entry-content .entry-content a,
.bloglo-breadcrumbs a,
.bloglo-btn,
.bloglo-header-widgets a:not(.bloglo-btn),
.bloglo-hover-slider .slide-inner .read-more,
.bloglo-hover-slider .slide-inner h3 a,
.bloglo-logo a,
.bloglo-nav .children li a,
.bloglo-nav .sub-menu li a,
.bloglo-nav>ul>li>a,
.bloglo-social-nav>ul>li>a,
.single .post-tags a,
.site-content .page-links a,
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.tagcloud a,
.wp-block-tag-cloud a,
.woocommerce #review_form #respond .form-submit input,
.woocommerce div.product form.cart .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
a,
body:not(.wp-customizer) input[type="submit"] {
    text-decoration: none;
}

#add_payment_method table.cart td.actions .coupon .input-text,
#comments a,
#infinite-handle span,
#bloglo-topbar a,
.page-links span,
.post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg,
.post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg:after,
.bloglo-btn,
.bloglo-input-supported input[type="checkbox"],
.bloglo-input-supported input[type="checkbox"]:before,
.bloglo-input-supported input[type="radio"],
.bloglo-input-supported input[type="radio"]:before,
.bloglo-nav .children li a,
.bloglo-nav .sub-menu li a,
.single .post-tags a,
.site-content .page-links span,
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.tagcloud a,
.wp-block-tag-cloud a,
.widget .wp-block-archives li>span,
.widget .wp-block-categories li>span,
.widget.widget_archive li>span,
.widget.widget_categories li>span,
.woocommerce #review_form #respond .form-submit input,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text,
.woocommerce div.product form.cart .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
body:not(.wp-customizer) input[type="submit"],
input[type="reset"],
input[type="date"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
textarea,
a {
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
}

#add_payment_method table.cart td.actions .coupon .input-text,
#colophon .search-form .search-submit,
#infinite-handle span,
#main .search-form .search-submit,
.bloglo-btn,
.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button,
.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form input,
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.woocommerce #review_form #respond .form-submit input,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text,
.woocommerce div.product form.cart .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
body:not(.wp-customizer) input[type="submit"],
input[type="reset"],
input[type="date"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
textarea {
    outline: none;
    border: none;
    margin: 0;
    padding: 0;
    text-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.bloglo-icon {
    display: inline-block;
    fill: currentColor;
    width: auto;
}

.breadcrumb-trail .trail-items li:after,
.widget.widget_icon_list ul li:before,
.widget.widget_meta ul li:before,
.widget.widget_recent_entries .post-date:before {
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: currentColor;
    width: 1.6rem;
    height: 1.6rem;
}

/*****************************************/
/* Responsive styles.
/*****************************************/
/* 
  ##Device = Most of the smartphones (portrait)
  ##Screen = 480px and under.
*/
@media screen and (max-width: 480px) {}

/* 
  ##Device = Most of the tablets (portrait)
  ##Screen = Between 481px and 768px.
*/
@media screen and (min-width: 481px) and (max-width: 768px) {}

/* 
  ##Device = Most of the tablets and smartphones
  ##Screen = 768px and under.
*/
@media screen and (max-width: 768px) {}

/* 
  ##Device = Desktops and landscape tablets
  ##Screen = 769px and upper.
*/
@media screen and (min-width: 769px) {}

/* 
  ##Device = Large desktops and upper (incl. iPad Pro in landscape mode)
  ##Screen = 1281px and upper.
*/
@media screen and (min-width: 1281px) {}

td,
th {
    text-align: left;
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
    overflow-x: hidden;
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
    background-color: #f2f2f2;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
    font-size: 3.2rem;
    margin: 1.1rem 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1.6rem;
    /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: 600;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1.6rem;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.4rem;
}

sup {
    top: -0.8rem;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
    border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
[type="button"],
[type="reset"],
[type="submit"],
button {
    -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
    outline: 0.1rem dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.56rem 1.2rem 1rem;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -0.2rem;
    /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}

/*****************************************/
/* General base styles
/*****************************************/
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-y: scroll;
    max-width: 100%;
    /*font-size: 62.5%;*/
}

/*
  ##Device = Large desktops and upper (big screen & landscape mode)
  ##Screen = 1921px and upper.
*/
/*@media (min-width: 120.063em) {
    html {
        font-size: 75%; 
    }
}*/
/*
  ##Device = Most of the screen
  ##Screen = 1200px and under.
*/
/*@media only screen and (max-width: 75em) {
    html {
        font-size: 56.25%;
    }
}*/
/* 
  ##Device = Most of the tablets
  ##Screen = 960px and under.
*/
/*@media screen and (max-width: 60em) {
    html {
        font-size: 53%; 
    }
}*/
/* 
  ##Device = Most of the smartphones (portrait)
  ##Screen = 480px and under.
*/
/*@media screen and (max-width: 30em) {
    html {
        font-size: 50%; 
    }
}*/

*,
*::before,
*::after {
    box-sizing: inherit;
    -webkit-box-sizing: inherit;
    -webkit-font-smoothing: antialiased;
    word-break: break-word;
    word-wrap: break-word;
}

a,
area,
button,
input,
label,
select,
summary,
textarea {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

.using-keyboard a:not(.bloglo-btn, .elementor-button, .button):focus {
    outline: 0;
    text-underline-offset: 0.3rem;
    text-decoration-skip-ink: none;
    text-decoration: underline 0.1rem dotted currentColor;
}

.using-keyboard :focus,
.using-keyboard .bloglo-logo a:focus,
.bloglo-is-mobile #bloglo-header-inner .bloglo-nav>ul>li>a:focus {
    outline: thin dotted;
    outline-offset: -0.3rem;
}

.using-keyboard .bloglo-btn:not(.btn-white):focus {
    outline-color: var(--bloglo-gray);
}

.using-keyboard .bloglo-btn.btn-white:focus {
    outline-color: var(--bloglo-secondary);
}

.using-keyboard #bloglo-copyright .bloglo-copyright-widget__text a:focus,
.using-keyboard #bloglo-topbar .bloglo-topbar-widget__text a:focus,
.using-keyboard .bloglo-breadcrumbs a:focus,
.using-keyboard.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a:focus,
.using-keyboard.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a:focus,
.using-keyboard .widget.widget_icon_list ul li a:focus,
.using-keyboard .widget.widget_meta ul li a:focus {
    text-decoration: none;
}

.bloglo-entry .elementor p,
.elementor p,
.elementor h1,
.elementor h2,
.elementor h3,
.elementor h4,
.elementor h5,
.elementor h6 {
    margin: 0;
}

.sup-sub b {
    position: relative;
    z-index: 0;
}

.sup-sub b:before {
    content: "";
    display: block;
    width: 100%;
    height: 2.1rem;
    position: absolute;
    bottom: 0px;
    left: 1.2rem;
    background-color: rgba(255, 255, 255, 0.25);
    z-index: 0;
}

p {
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
}

q {
    font-style: italic;
}

mark,
span.highlight {
    color: inherit;
    position: relative;
    padding: 0 0.3rem 0.2rem 0.3rem;
    border-radius: var(--bloglo-normal-radius);
}

svg:not(:root) {
    overflow: hidden;
}

p:empty {
    display: none;
}

p a,
.content-area a:not(.bloglo-btn, .wp-block-button__link, .page-numbers, [rel^=category]):hover,
.content-area .bloglo-entry a,
.wp-block-archives a:hover,
.wp-block-categories a:hover,
.wp-block-latest-posts a:hover,
.wp-block-latest-comments a:hover,
.wp-block-archives a:focus,
.wp-block-categories a:focus,
.wp-block-latest-posts a:focus,
.wp-block-latest-comments a:focus,
#main .content-area .entry-meta a:hover {
    text-decoration: underline;
    text-underline-offset: 0.1rem;
}

.content-area .bloglo-entry a:hover,
.content-area .bloglo-entry a:focus,
p a:hover:hover,
p a:focus:focus {
    text-decoration: none;
}

a {
    color: inherit;
    -webkit-text-decoration-skip: objects;
}

hr {
    margin-top: 3.2rem;
    margin-bottom: 3.2rem;
    border: 0;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.2);
}

table:not(.variations):not(.shop_table) {
    border-collapse: collapse;
    width: 100%;
    margin: 2rem auto;
    border-radius: 0;
    background-color: rgba(190, 190, 190, 0.2);
}

table:not(.variations):not(.shop_table) tbody,
table:not(.variations):not(.shop_table) tfoot,
table:not(.variations):not(.shop_table) thead {
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
    color: inherit;
}

table:not(.variations):not(.shop_table) caption,
table:not(.variations):not(.shop_table) td,
table:not(.variations):not(.shop_table) tr {
    text-align: left;
}

table:not(.variations):not(.shop_table) th {
    font-weight: 600;
}

table:not(.variations):not(.shop_table) td,
table:not(.variations):not(.shop_table) th {
    padding: 1rem;
}

table:not(.variations):not(.shop_table) tbody tr:nth-child(odd) {
    border-bottom: 0;
    background-color: var(--bloglo-white);
}

table:not(.variations):not(.shop_table) thead tr,
table:not(.variations):not(.shop_table) tfoot tr {
    background: transparent;
}

table:not(.variations):not(.shop_table) tfoot td,
table:not(.variations):not(.shop_table) tfoot th,
table:not(.variations):not(.shop_table) thead td,
table:not(.variations):not(.shop_table) thead th {
    font-weight: 500;
    text-align: left;
}

table:not(.variations):not(.shop_table) caption {
    font-weight: 500;
}

.wp-block-calendar tbody td,
.wp-block-calendar th {
    border-color: rgba(190, 190, 190, 0.3);
}

.wp-block-calendar table th {
    background: rgba(190, 190, 190, 0.3);
}

dt:before {
    content: "";
    display: block;
}

dd:before {
    content: " ";
}

/*****************************************/
/* Typography
/*****************************************/
.bloglo-logo .site-title {
    line-height: 1.25;
}

.h1,
.h2,
.h3,
h1,
h2,
h3 {
    margin-top: 2rem;
    margin-bottom: 1.2rem;
}

.h4,
h4,
h5,
h6 {
    margin-top: 2.4rem;
    margin-bottom: 0.8rem;
}

.error-404 .page-header h1,
.h1,
.h2,
.h3,
.h4,
.bloglo-logo .site-title,
h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
}

figure {
    max-width: 100%;
}

code,
kbd,
pre,
samp,
tt,
var {
    font-family: Menlo, Monaco, Consolas, Courier New, monospace;
}

code,
kbd,
samp,
tt,
var {
    font-style: normal;
    padding: 0.16rem 0.48rem;
    font-size: 90%;
    border-radius: var(--bloglo-normal-radius);
    overflow-wrap: break-word;
    word-wrap: break-word;
}

code.block {
    margin: 2rem 0;
    display: block;
    padding: 2.5rem 4rem;
    border-radius: var(--bloglo-normal-radius);
}

.wp-block-code code {
    background: none;
}

pre {
    display: block;
    page-break-inside: avoid;
    overflow: auto;
    word-break: break-all;
    word-wrap: break-word;
}

pre>h2:first-child {
    margin-top: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    display: inline-block;
    vertical-align: baseline;
}

cite:before {
    content: "—";
    display: inline-block;
    margin-right: 0.6rem;
}

.bloglo-entry .wp-block-quote,
blockquote {
    margin: 2rem 0;
    padding: 0.8rem 2.4rem;
    border-style: none;
    border-left-style: solid;
    border-width: 0.4rem;
    font-size: 1.6rem;
    line-height: inherit;
    position: relative;
    border-radius: var(--bloglo-normal-radius);
    background-color: rgba(0, 0, 0, 0.04);
}

.bloglo-entry .wp-block-quote>p,
blockquote>p {
    font-size: inherit;
    line-height: inherit;
    font-style: normal;
}

.bloglo-entry .wp-block-quote>p:first-child,
blockquote>p:first-child {
    margin-top: 0;
    margin-bottom: 1.6rem;
}

.bloglo-entry .wp-block-quote>p:last-child,
blockquote>p:last-child {
    margin-bottom: 0;
}

.bloglo-entry .wp-block-quote.has-text-align-center,
blockquote.has-text-align-center {
    border: none;
}

.bloglo-entry .wp-block-quote.has-text-align-right,
blockquote.has-text-align-right {
    border-left-style: none;
    border-right-style: solid;
}

.bloglo-entry .wp-block-quote cite,
blockquote cite {
    display: block;
    margin-top: 1.6rem;
    text-align: inherit;
    font-size: 1.4rem;
}

.bloglo-entry .wp-block-quote.is-large,
.bloglo-entry .wp-block-quote.is-style-large {
    font-size: 1.8rem;
    line-height: 1.5;
    position: relative;
    background-color: rgba(35, 35, 35, 0.04);
    padding: 3rem 4rem;
}

.bloglo-entry .wp-block-quote.is-large cite,
.bloglo-entry .wp-block-quote.is-style-large cite {
    font-size: 1.333rem;
}

.bloglo-entry .wp-block-quote.is-large:before,
.bloglo-entry .wp-block-quote.is-style-large:before {
    content: "";
    position: absolute;
    width: 3.2rem;
    height: 3.2rem;
    top: 1.2rem;
    left: 2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 123.961 123.961'%3E%3Cpath d='M49.8,29.032c3.1-1.3,4.4-5,3-8l-4.9-10.3c-1.4-2.899-4.8-4.2-7.8-2.899c-8.5,3.6-15.8,8.3-21.6,14 C11.4,28.532,6.6,36.232,4,44.732c-2.6,8.601-4,20.3-4,35.2v30.7c0,3.3,2.7,6,6,6h39.3c3.3,0,6-2.7,6-6v-39.3c0-3.301-2.7-6-6-6 H26.5c0.2-10.101,2.6-18.2,7-24.301C37.1,36.133,42.5,32.133,49.8,29.032z'/%3E%3Cpath d='M120.4,29.032c3.1-1.3,4.399-5,3-8l-4.9-10.199c-1.4-2.9-4.8-4.2-7.8-2.9c-8.4,3.6-15.601,8.3-21.5,13.9 c-7.101,6.8-12,14.5-14.601,23c-2.6,8.399-3.899,20.1-3.899,35.1v30.7c0,3.3,2.7,6,6,6H116c3.3,0,6-2.7,6-6v-39.3 c0-3.301-2.7-6-6-6H97.1c0.2-10.101,2.601-18.2,7-24.301C107.7,36.133,113.1,32.133,120.4,29.032z'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: 3.2rem;
    pointer-events: none;
    opacity: 0.1;
}

.bloglo-entry p.has-background {
    padding: 3rem 3.5rem;
    border-radius: var(--bloglo-normal-radius);
}

.wp-block-quote[style*="text-align:center"],
.wp-block-quote[style*="text-align: center"] {
    border: 0 !important;
    padding-left: 3rem;
    padding-right: 3rem;
}

.wp-block-quote[style*="text-align:center"] cite,
.wp-block-quote[style*="text-align: center"] cite {
    text-align: center;
}

.bloglo-entry .wp-block-quote[style*='text-align:right'],
.bloglo-entry .wp-block-quote[style*='text-align: right'] {
    border-left: none;
    border-right-style: solid;
    padding: 0.6rem 4rem 0.6rem 0;
}

.bloglo-entry .wp-block-quote[style*='text-align:right'] cite,
.bloglo-entry .wp-block-quote[style*='text-align: right'] cite {
    text-align: right;
}

.bloglo-entry .wp-block-pullquote.is-style-solid-color {
    border-radius: var(--bloglo-normal-radius);
}

.bloglo-entry .wp-block-pullquote blockquote {
    padding: 0;
    border: 0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.bloglo-entry .wp-block-pullquote blockquote p {
    font-size: 2.4rem;
    line-height: 1.4;
}

.bloglo-entry .wp-block-pullquote cite {
    margin-top: 3.2rem;
    color: inherit !important;
    opacity: 0.75;
}

.has-drop-cap:not(:focus)::after {
    padding-top: 0;
}

[type="checkbox"],
[type="radio"] {
    margin-right: 1rem;
}

#page .aligncenter,
#page .alignleft,
#page .alignright,
#page .bypostauthor,
#page .sticky,
#page .gallery-caption,
#page .wp-caption {
    color: inherit;
}

#page .alignright {
    float: right;
    margin: 0.6rem 0 1.6rem 3.2rem;
}

#page .alignleft {
    float: left;
    margin: 0.6rem 3.2rem 1.6rem 0;
}

#page .aligncenter img,
#page .alignleft img,
#page .alignright img {
    max-width: 100%;
}

#page img.center {
    margin: 0 auto;
    display: block;
}

#page img.full {
    width: 100%;
}

#page .aligncenter {
    clear: both;
    margin-left: auto;
    margin-right: auto;
}

body:not(.elementor-page) #page .wp-caption {
    max-width: 100% !important;
}

body:not(.elementor-page) #page .wp-caption .wp-caption-text {
    display: block;
    margin: 0.6rem 0 0 0;
    font-size: 1.4rem;
    text-align: center;
}

#page .gallery {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    float: none;
    /*margin-left: -rem(4px);
    margin-right: -rem(4px);*/
    clear: both;
}

.bloglo-iflex-center {
    -js-display: inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.bloglo-flex-center {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.bloglo-flex-justify-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.bloglo-flex-justify-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bloglo-flex-justify-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.bloglo-text-align-left {
    text-align: left;
}

.bloglo-text-align-center {
    text-align: center;
}

.bloglo-text-align-right {
    text-align: right;
}

/*.gallery .wp-caption-text {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: 0.7rem;
    margin-bottom: 1.4rem;
}*/

.gallery figure {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 100%;
    max-width: 100%;
    /*padding: 0 0.4rem 0.8rem;*/
    margin: 0 !important;
}

.gallery figure img {
    display: block;
    border-radius: var(--bloglo-normal-radius);
}

.gallery.gallery-columns-1 figure {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}

.gallery.gallery-columns-2 figure {
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
}

.gallery.gallery-columns-3 figure {
    max-width: 33.33%;
    -ms-flex-preferred-size: 33.33%;
    flex-basis: 33.33%;
}

.gallery.gallery-columns-4 figure {
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
}

.gallery.gallery-columns-5 figure {
    max-width: 20%;
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
}

.gallery.gallery-columns-6 figure {
    max-width: 16.66%;
    -ms-flex-preferred-size: 16.66%;
    flex-basis: 16.66%;
}

.gallery.gallery-columns-7 figure {
    max-width: 14.285%;
    -ms-flex-preferred-size: 14.285%;
    flex-basis: 14.285%;
}

.gallery.gallery-columns-8 figure {
    max-width: 12.5%;
    -ms-flex-preferred-size: 12.5%;
    flex-basis: 12.5%;
}

.gallery.gallery-columns-9 figure {
    max-width: 11.11%;
    -ms-flex-preferred-size: 11.11%;
    flex-basis: 11.11%;
}

/*****************************************/
/* General
/*****************************************/
img {
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}

textarea {
    resize: vertical;
}

.bloglo-hide {
    display: none !important;
}

/*****************************************/
/* WordPress specific
/*****************************************/
.screen-reader-text {
    border: 0;
    clip: rect(0.1rem, 0.1rem, 0.1rem, 0.1rem);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 0.1rem;
    margin: -0.1rem;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 0.1rem;
    word-wrap: normal !important;
    word-break: normal;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: var(--bloglo-normal-radius);
    -webkit-box-shadow: 0 0 0.2rem 0.2rem rgba(0, 0, 0, 0.6);
    box-shadow: 0 0 0.2rem 0.2rem rgba(0, 0, 0, 0.6);
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 1.4rem;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    right: 0.5rem;
    line-height: normal;
    padding: 1.5rem 2.3rem 1.4rem;
    text-decoration: none;
    top: 0.5rem;
    width: auto;
    z-index: 100000;
}

.skip-link {
    top: 4rem;
    z-index: 999999999;
    text-decoration: underline;
}

.skip-link:focus {
    display: block;
    left: 0.6rem;
    top: 0.7rem;
    font-size: 1.4rem;
    font-weight: 600;
    text-decoration: none;
    line-height: normal;
    padding: 1.5rem 2.3rem 1.4rem;
    z-index: 100000;
    right: auto;
}

.wp-smiley {
    margin-bottom: 0 !important;
}

.has-text-align-left {
    text-align: left !important;
}

.has-text-align-center {
    text-align: center !important;
}

.has-text-align-right {
    text-align: right !important;
}

/*****************************************/
/* Visibility classes
/*****************************************/

/*****************************************/
/* Layout
/*****************************************/
#page {
    position: relative;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 100vh;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.admin-bar #page {
    min-height: calc(100vh - 32px);
}

.alignfull.bloglo-contained.has-background {
    padding-left: 0;
    padding-right: 0;
}

.alignfull.bloglo-wrap-content>div,
.bloglo-container,
.bloglo-container-fluid,
.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer>ul {
    padding: 0 5rem;
    margin: 0 auto;
    width: 100%;
}

.alignfull.bloglo-stretch>div,
.alignfull>.wp-block-embed__wrapper {
    max-width: 100% !important;
}

.bloglo-container__wide.bloglo-container,
.bloglo-container__wide .bloglo-header-container,
.bloglo-container__wide .bloglo-logo-container>.bloglo-container,
.bloglo-container__wide .bloglo-nav-container>.bloglo-container,
.bloglo-container__wide>.bloglo-container,
.bloglo-layout__fw-stretched.bloglo-container,
.bloglo-layout__fw-stretched .bloglo-container,
.bloglo-layout__fw-stretched .bloglo-header-container,
.bloglo-layout__fw-stretched .bloglo-logo-container>.bloglo-container,
.bloglo-layout__fw-stretched .bloglo-nav-container>.bloglo-container,
.bloglo-layout__fw-stretched>.bloglo-container {
    max-width: 100%;
}

.bloglo-layout__boxed #page,
.bloglo-layout__boxed-separated #page {
    margin: 0 auto;
}

.bloglo-layout__boxed #page {
    border: 0;
    -webkit-box-shadow: 0 0 3rem rgba(50, 52, 54, 0.06);
    box-shadow: 0 0 3rem rgba(50, 52, 54, 0.06);
    border-radius: 0;
}

.bloglo-layout__boxed-separated #primary,
.bloglo-layout__boxed-separated #secondary {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

@media only screen and (min-width: 961px) {

    .bloglo-layout__boxed-separated #primary,
    .bloglo-layout__boxed-separated #secondary {
        margin-top: 5rem;
        margin-bottom: 5rem;
    }
}

.bloglo-layout__boxed-separated.bloglo-sidebar-position__right-sidebar #primary {
    padding-right: 5rem;
}

.bloglo-layout__boxed-separated.bloglo-sidebar-position__right-sidebar.bloglo-sidebar-style-3 #primary {
    padding-right: 3.5rem;
}

.bloglo-layout__boxed-separated.bloglo-sidebar-position__left-sidebar #primary {
    padding-left: 5rem;
}

.bloglo-layout__boxed-separated.bloglo-sidebar-position__left-sidebar.bloglo-sidebar-style-3 #primary {
    padding-left: 3.5rem;
}

.bloglo-layout__boxed-separated #page {
    background: none;
}

.bloglo-layout__boxed-separated #content {
    padding: 3rem;
}

.bloglo-layout__boxed-separated #content .entry-content>.alignfull:first-child {
    margin-top: -3rem;
}

.bloglo-layout__boxed-separated:not(.comments-open) #content .entry-content>.alignfull:last-child {
    margin-bottom: -3rem;
}

.bloglo-layout__boxed-separated.archive #content,
.bloglo-layout__boxed-separated.blog #content,
.bloglo-layout__boxed-separated.category #content,
.bloglo-layout__boxed-separated.search-results #content {
    padding: 0;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: none;
}

.bloglo-layout__boxed-separated .pyml-slider-items,
.bloglo-layout__boxed-separated.archive .bloglo-article,
.bloglo-layout__boxed-separated.blog .bloglo-article,
.bloglo-layout__boxed-separated.category .bloglo-article,
.bloglo-layout__boxed-separated.search-results .bloglo-article {
    padding: 2.2rem;
    transition: var(--bloglo-transition-primary);
}

.bloglo-layout__boxed-separated.archive .bloglo-article,
.bloglo-layout__boxed-separated.blog .bloglo-article,
.bloglo-layout__boxed-separated.category .bloglo-article,
.bloglo-layout__boxed-separated.search-results .bloglo-article {
    margin-bottom: 3rem;
}

.bloglo-layout__boxed-separated.archive.bloglo-blog-horizontal .bloglo-pagination,
.bloglo-layout__boxed-separated.blog.bloglo-blog-horizontal .bloglo-pagination,
.bloglo-layout__boxed-separated.category.bloglo-blog-horizontal .bloglo-pagination,
.bloglo-layout__boxed-separated.search-results.bloglo-blog-horizontal .bloglo-pagination {
    margin-top: 4rem;
}

.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget {
    margin-bottom: 2rem;
}

.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget.widget_media_image {
    padding: 0;
    overflow: hidden;
}

.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .widget_media_image .widget-title {
    padding-left: 2.5rem;
    margin-left: 0;
    margin-top: 2rem;
}

/*****************************************/
/* Layout Shadow
/*****************************************/

.bloglo-article.post.sticky {
    outline: 3px solid var(--bloglo-primary_15);
}

.bloglo-layout-shadow #comments .comment-body,
.bloglo-layout-shadow #comments .comment_container,
.bloglo-layout-shadow .author-box,
.bloglo-layout-shadow.bloglo-layout__boxed #page,
.bloglo-layout-shadow.bloglo-layout__boxed-separated:not(.archive, .blog, .category, .search-results) #content,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.author .author-box,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.blog .bloglo-article,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.category .bloglo-article,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.search-results .bloglo-article,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget,
.bloglo-layout-shadow.bloglo-layout__boxed-separated .pyml-slider-items,
.bloglo-layout-shadow.bloglo-layout__boxed-separated .ticker-slider-items,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.archive article.bloglo-article,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.blog article.bloglo-article,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.category article.bloglo-article,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.search-results article.bloglo-article {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
    border-color: transparent;
}

.bloglo-layout-shadow.bloglo-layout__boxed-separated .pyml-slider-items:hover,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.archive article.bloglo-article:hover,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.blog article.bloglo-article:hover,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.category article.bloglo-article:hover,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.search-results article.bloglo-article:hover {
    box-shadow: rgba(0, 0, 0, 0.14) 0 0 2.5rem 0;
}

.bloglo-layout-shadow.bloglo-layout__boxed-separated.archive .col-xs-12>.bloglo-article,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.blog .col-xs-12>.bloglo-article,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.category .col-xs-12>.bloglo-article,
.bloglo-layout-shadow.bloglo-layout__boxed-separated.search-results .col-xs-12>.bloglo-article {
    margin-bottom: 0;
}

.bloglo-layout__framed #page {
    z-index: 0;
    margin: 3rem 4.5rem 0;
    overflow: hidden;
    border-radius: 1rem 1rem 0 0;
    background-color: var(--bloglo-white);
    -webkit-box-shadow: 0 0 3rem rgba(50, 52, 54, 0.18);
    box-shadow: 0 0 3rem rgba(50, 52, 54, 0.18);
}

.bloglo-layout__framed.bloglo-sticky-header #page #bloglo-header-inner {
    margin: 0 5rem 0;
}

#main iframe {
    max-width: 100%;
}

.wp-block-embed__wrapper {
    overflow: hidden;
    border-radius: var(--bloglo-normal-radius);
}

.wp-block-embed__wrapper.alignfull {
    border-radius: 0;
}

/*****************************************/
/* Flexbox Grid
/*****************************************/
.bloglo-flex-row {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    --bloglo-gutter-x: 2.4rem;
    --bloglo-gutter-y: 0;
    margin-top: calc(var(--bloglo-gutter-y) * -1);
    margin-right: calc(var(--bloglo-gutter-x) / -2);
    margin-left: calc(var(--bloglo-gutter-x) / -2);
}

.bloglo-flex-row.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.bloglo-flex-row div[class^="col-"],
.bloglo-flex-row div[class*="col-"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 100%;
    padding-right: calc(var(--bloglo-gutter-x) / 2);
    padding-left: calc(var(--bloglo-gutter-x) / 2);
    margin-top: var(--bloglo-gutter-y);
}

.g-0,
.gx-0 {
    --bloglo-gutter-x: 0;
}

.g-0,
.gy-0 {
    --bloglo-gutter-y: 0;
}

.g-1,
.gx-1 {
    --bloglo-gutter-x: 0.4rem;
}

.g-1,
.gy-1 {
    --bloglo-gutter-y: 0.4rem;
}

.g-2,
.gx-2 {
    --bloglo-gutter-x: 0.8rem;
}

.g-2,
.gy-2 {
    --bloglo-gutter-y: 0.8rem;
}

.g-3,
.gx-3 {
    --bloglo-gutter-x: 1.6rem;
}

.g-3,
.gy-3 {
    --bloglo-gutter-y: 1.6rem;
}

.g-4,
.gx-4 {
    --bloglo-gutter-x: 2.4rem;
}

.g-4,
.gy-4 {
    --bloglo-gutter-y: 2.4rem;
}

.g-5,
.gx-5 {
    --bloglo-gutter-x: 4.8rem;
}

.g-5,
.gy-5 {
    --bloglo-gutter-y: 4.8rem;
}

.g-6,
.gx-6 {
    --bloglo-gutter-x: 6.5rem;
}

.g-6,
.gy-6 {
    --bloglo-gutter-y: 6.5rem;
}

/*****************************************/
/* Extra Small (599px and less)
/*****************************************/
.site .bloglo-flex-row .col-xs {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    max-width: 100%;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
}

.site .bloglo-flex-row .col-xs.flex-basis-auto {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

.site .bloglo-flex-row .col-xs-1 {
    -ms-flex-preferred-size: 8.33333%;
    flex-basis: 8.33333%;
    max-width: 8.33333%;
}

.site .bloglo-flex-row .col-xs-2 {
    -ms-flex-preferred-size: 16.66667%;
    flex-basis: 16.66667%;
    max-width: 16.66667%;
}

.site .bloglo-flex-row .col-xs-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
}

.site .bloglo-flex-row .col-xs-4 {
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%;
    max-width: 33.33333%;
}

.site .bloglo-flex-row .col-xs-5 {
    -ms-flex-preferred-size: 41.66667%;
    flex-basis: 41.66667%;
    max-width: 41.66667%;
}

.site .bloglo-flex-row .col-xs-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
}

.site .bloglo-flex-row .col-xs-7 {
    -ms-flex-preferred-size: 58.33333%;
    flex-basis: 58.33333%;
    max-width: 58.33333%;
}

.site .bloglo-flex-row .col-xs-8 {
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%;
    max-width: 66.66667%;
}

.site .bloglo-flex-row .col-xs-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
}

.site .bloglo-flex-row .col-xs-10 {
    -ms-flex-preferred-size: 83.33333%;
    flex-basis: 83.33333%;
    max-width: 83.33333%;
}

.site .bloglo-flex-row .col-xs-11 {
    -ms-flex-preferred-size: 91.66667%;
    flex-basis: 91.66667%;
    max-width: 91.66667%;
}

.site .bloglo-flex-row .col-xs-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
}

.site .bloglo-flex-row .col-xs-offset-0 {
    margin-left: 0%;
}

.site .bloglo-flex-row .col-xs-offset-1 {
    margin-left: 8.33333%;
}

.site .bloglo-flex-row .col-xs-offset-2 {
    margin-left: 16.66667%;
}

.site .bloglo-flex-row .col-xs-offset-3 {
    margin-left: 25%;
}

.site .bloglo-flex-row .col-xs-offset-4 {
    margin-left: 33.33333%;
}

.site .bloglo-flex-row .col-xs-offset-5 {
    margin-left: 41.66667%;
}

.site .bloglo-flex-row .col-xs-offset-6 {
    margin-left: 50%;
}

.site .bloglo-flex-row .col-xs-offset-7 {
    margin-left: 58.33333%;
}

.site .bloglo-flex-row .col-xs-offset-8 {
    margin-left: 66.66667%;
}

.site .bloglo-flex-row .col-xs-offset-9 {
    margin-left: 75%;
}

.site .bloglo-flex-row .col-xs-offset-10 {
    margin-left: 83.33333%;
}

.site .bloglo-flex-row .col-xs-offset-11 {
    margin-left: 91.66667%;
}

.site .bloglo-flex-row .first-xs {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
}

.site .bloglo-flex-row .last-xs {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.site .bloglo-flex-row.start-xs,
.site .bloglo-flex-row .start-xs {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    text-align: left;
}

.site .bloglo-flex-row.center-xs,
.site .bloglo-flex-row .center-xs {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
}

.site .bloglo-flex-row.end-xs,
.site .bloglo-flex-row .end-xs {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: end;
    margin-left: auto;
}

.site .bloglo-flex-row.top-xs,
.site .bloglo-flex-row .top-xs {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.site .bloglo-flex-row.middle-xs,
.site .bloglo-flex-row .middle-xs {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.site .bloglo-flex-row.bottom-xs,
.site .bloglo-flex-row .bottom-xs {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.site .bloglo-flex-row.stretch-xs,
.site .bloglo-flex-row .stretch-xs {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.site .bloglo-flex-row.around-xs {
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.site .bloglo-flex-row.between-xs {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.site .bloglo-flex-row>div:not(.col-xs-12),
.site .bloglo-flex-row>iframe {
    width: 100%;
}

/*****************************************/
/* Small (600px +)
/*****************************************/

/*****************************************/
/* Medium (782px +)
/*****************************************/

/*****************************************/
/* Large (1200px +)
/*****************************************/

/*****************************************/
/* Gutenberg specific styles
/*****************************************/
/* Columns */
.wp-block-columns {
    margin-bottom: 0;
}

.wp-block-columns .wp-block-column {
    margin-bottom: 3.2rem;
}

.wp-block-columns .wp-block-column:empty {
    margin-bottom: 0;
}

/* 781 and up */

/* Buttons */
#main .wp-block-buttons {
    margin-bottom: -0.8rem;
}

.wp-block-button__link {
    line-height: 1.4;
    font-size: inherit;
    padding: 1.2rem 3.2rem;
    min-height: 5rem;
    -js-display: inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.wp-block-button__link,
.content-area .bloglo-entry a.wp-block-button__link {
    text-decoration: none;
    border: 0.2rem solid;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:active {
    border-color: transparent !important;
    background-color: var(--bloglo-secondary) !important;
    color: var(--bloglo-white) !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
    border-color: currentColor !important;
    background-color: transparent !important;
    color: inherit !important;
}

.alignwide {
    margin-right: -3rem;
    margin-left: -3rem;
    max-width: unset;
    width: unset;
}

.alignfull,
.alignwide {
    max-width: unset;
    width: unset;
}

.alignfull,
.alignwide,
.wp-block-cover {
    margin-top: 3.2rem;
    margin-bottom: 3.2rem;
}

.has-medium-font-size {
    line-height: 1.5;
}

.has-huge-font-size,
.has-large-font-size {
    line-height: 1.25;
}

.wp-block-button.is-style-squared .wp-block-button__link {
    border-radius: var(--bloglo-normal-radius);
    border: 0.1rem solid rgba(0, 0, 0, 0.12);
}

.wp-block-media-text {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.wp-block-media-text__content p:first-child {
    margin-top: 0;
}

.wp-block-media-text__content p:last-child {
    margin-bottom: 0;
}

.wp-block-media-text__content p.has-large-font-size {
    margin-bottom: 1.6rem;
}

/* Social links */
#page .wp-block-social-links {
    margin-top: 3.2rem;
    margin-bottom: 3.2rem;
    margin-left: 0;
}

#page .wp-block-social-links .wp-social-link a,
#page .wp-block-social-links .wp-social-link a:hover {
    color: inherit;
}

/*****************************************/
/* Animations and keyframes
/*****************************************/
@-webkit-keyframes slideToLeft {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes slideToLeft {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

@-webkit-keyframes slideToRight {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes slideToRight {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@-webkit-keyframes slideFromLeft {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes slideFromLeft {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@-webkit-keyframes slideFromRight {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes slideFromRight {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@-webkit-keyframes slideFromRightToLeft {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@keyframes slideFromRightToLeft {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@-webkit-keyframes ai_bounce {

    0%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes ai_bounce {

    0%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes bloglo-scaleout {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0;
    }
}

@keyframes bloglo-scaleout {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0;
    }
}

/*****************************************/
/* Button styles.
/*****************************************/
#infinite-handle span,
.bloglo-btn,
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.woocommerce #review_form #respond .form-submit input,
.woocommerce div.product form.cart .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
body:not(.wp-customizer) input[type="submit"],
input[type="reset"] {
    -js-display: inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    max-width: 100%;
    cursor: pointer;
    -moz-appearance: none;
    -webkit-appearance: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-style: solid;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: inherit;
    min-height: 5rem;
    padding: 1rem 3.2rem;
}

input[type="reset"] {
    background: var(--bloglo-secondary);
    color: #ffffff;
    border-color: var(--bloglo-secondary);
}

input[type="reset"]:hover,
.using-keyboard input[type="reset"]:focus {
    border-color: var(--bloglo-primary);
}

/* max-width > 782px */
@media (max-width: 48.875em) {

    #infinite-handle span,
    .bloglo-btn,
    .site-main .woocommerce #respond input#submit,
    .site-main .woocommerce a.button,
    .site-main .woocommerce button.button,
    .site-main .woocommerce input.button,
    .woocommerce #review_form #respond .form-submit input,
    .woocommerce div.product form.cart .button,
    .woocommerce ul.products li.product .added_to_cart,
    .woocommerce ul.products li.product .button,
    body:not(.wp-customizer) input[type="submit"],
    input[type="reset"] {
        padding: 0.99rem 2.3rem;
        min-height: 4.5rem;
    }
}

#infinite-handle span span,
.bloglo-btn span,
.site-main .woocommerce #respond input#submit span,
.site-main .woocommerce a.button span,
.site-main .woocommerce button.button span,
.site-main .woocommerce input.button span,
.woocommerce #review_form #respond .form-submit input span,
.woocommerce div.product form.cart .button span,
.woocommerce ul.products li.product .added_to_cart span,
.woocommerce ul.products li.product .button span,
body:not(.wp-customizer) input[type="submit"] span {
    z-index: 2;
    position: relative;
}

#infinite-handle span.disabled,
#infinite-handle span:disabled,
.bloglo-btn.disabled,
.bloglo-btn:disabled,
.site-main .woocommerce #respond input#submit.disabled,
.site-main .woocommerce #respond input#submit:disabled,
.site-main .woocommerce a.button.disabled,
.site-main .woocommerce a.button:disabled,
.site-main .woocommerce button.button.disabled,
.site-main .woocommerce button.button:disabled,
.site-main .woocommerce input.button.disabled,
.site-main .woocommerce input.button:disabled,
.woocommerce #review_form #respond .form-submit input.disabled,
.woocommerce #review_form #respond .form-submit input:disabled,
.woocommerce div.product form.cart .button.disabled,
.woocommerce div.product form.cart .button:disabled,
.woocommerce ul.products li.product .added_to_cart.disabled,
.woocommerce ul.products li.product .added_to_cart:disabled,
.woocommerce ul.products li.product .button.disabled,
.woocommerce ul.products li.product .button:disabled,
body:not(.wp-customizer) input[type="submit"].disabled,
body:not(.wp-customizer) input[type="submit"]:disabled {
    cursor: not-allowed !important;
}

#infinite-handle span.disabled>span,
#infinite-handle span.disabled>svg,
#infinite-handle span:disabled>span,
#infinite-handle span:disabled>svg,
.bloglo-btn.disabled>span,
.bloglo-btn.disabled>svg,
.bloglo-btn:disabled>span,
.bloglo-btn:disabled>svg,
.site-main .woocommerce #respond input#submit.disabled>span,
.site-main .woocommerce #respond input#submit.disabled>svg,
.site-main .woocommerce #respond input#submit:disabled>span,
.site-main .woocommerce #respond input#submit:disabled>svg,
.site-main .woocommerce a.button.disabled>span,
.site-main .woocommerce a.button.disabled>svg,
.site-main .woocommerce a.button:disabled>span,
.site-main .woocommerce a.button:disabled>svg,
.site-main .woocommerce button.button.disabled>span,
.site-main .woocommerce button.button.disabled>svg,
.site-main .woocommerce button.button:disabled>span,
.site-main .woocommerce button.button:disabled>svg,
.site-main .woocommerce input.button.disabled>span,
.site-main .woocommerce input.button.disabled>svg,
.site-main .woocommerce input.button:disabled>span,
.site-main .woocommerce input.button:disabled>svg,
.woocommerce #review_form #respond .form-submit input.disabled>span,
.woocommerce #review_form #respond .form-submit input.disabled>svg,
.woocommerce #review_form #respond .form-submit input:disabled>span,
.woocommerce #review_form #respond .form-submit input:disabled>svg,
.woocommerce div.product form.cart .button.disabled>span,
.woocommerce div.product form.cart .button.disabled>svg,
.woocommerce div.product form.cart .button:disabled>span,
.woocommerce div.product form.cart .button:disabled>svg,
.woocommerce ul.products li.product .added_to_cart.disabled>span,
.woocommerce ul.products li.product .added_to_cart.disabled>svg,
.woocommerce ul.products li.product .added_to_cart:disabled>span,
.woocommerce ul.products li.product .added_to_cart:disabled>svg,
.woocommerce ul.products li.product .button.disabled>span,
.woocommerce ul.products li.product .button.disabled>svg,
.woocommerce ul.products li.product .button:disabled>span,
.woocommerce ul.products li.product .button:disabled>svg,
body:not(.wp-customizer) input[type="submit"].disabled>span,
body:not(.wp-customizer) input[type="submit"].disabled>svg,
body:not(.wp-customizer) input[type="submit"]:disabled>span,
body:not(.wp-customizer) input[type="submit"]:disabled>svg,
button.bloglo-btn:disabled {
    opacity: 0.5;
}

#secondary .woocommerce a.button,
#secondary .woocommerce button.button,
#secondary .woocommerce input.button,
.btn-small,
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce .shipping-calculator-form .button,
.site-main .woocommerce .woocommerce-orders-table a.button,
.site-main .woocommerce .woocommerce-Pagination a.button,
.site-main .woocommerce .woocommerce-table a.button,
.woocommerce #secondary .widget_price_filter .price_slider_amount .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button {
    font-size: 90% !important;
    min-height: 4rem;
    padding: 0.8rem 2.4rem;
}

#place_order,
.btn-large {
    min-height: 5.7rem;
    font-size: 108% !important;
}

.btn-xlarge {
    font-size: 130% !important;
    min-height: 6.9rem;
    font-weight: 600;
}

.btn-fw {
    width: 100%;
    text-align: center;
}

.btn-large-radius {
    border-radius: 5rem;
}

.btn-left-icon,
.btn-right-icon {
    position: relative;
}

.btn-left-icon>svg,
.btn-right-icon>svg {
    height: 1.76rem;
}

.btn-left-icon.btn-reveal>svg,
.btn-right-icon.btn-reveal>svg {
    -webkit-transition: opacity 0.1s ease, -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: opacity 0.1s ease, -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.1s ease;
    transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.1s ease, -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    opacity: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
}

.btn-left-icon.btn-reveal>span,
.btn-right-icon.btn-reveal>span {
    -webkit-transition: padding 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), margin 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: padding 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), margin 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: padding, margin;
}

.btn-left-icon.btn-svg>svg,
.btn-right-icon.btn-svg>svg {
    height: 1.6rem !important;
    width: auto !important;
    vertical-align: middle;
    fill: currentColor;
}

.btn-left-icon>svg {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-right: 1.04em;
    margin-left: -1.04em;
}

.btn-left-icon>span {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.btn-left-icon.btn-reveal>svg {
    left: 0.8em;
    -webkit-transform: translate3d(1rem, -50%, 0);
    transform: translate3d(1rem, -50%, 0);
    margin-left: 0;
    margin-right: 0;
}

.btn-left-icon.btn-reveal:hover>span {
    padding-left: 1.6rem;
    margin-right: -1.6rem;
}

.btn-left-icon.btn-reveal:hover>svg {
    opacity: 1;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
}

.btn-right-icon>svg {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-left: 10.4rem;
    margin-right: -10.4rem;
}

.btn-right-icon.btn-reveal>svg {
    right: 1.28rem;
    -webkit-transform: translate3d(-1rem, -50%, 0);
    transform: translate3d(-1rem, -50%, 0);
    margin-left: 0;
    margin-right: 0;
}

.btn-right-icon.btn-reveal:hover>span {
    padding-right: 1.6rem;
    margin-left: -1.6rem;
}

.btn-right-icon.btn-reveal:hover>svg {
    opacity: 1;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
}

.bloglo-btn.btn-white {
    background: var(--bloglo-white);
    border-color: var(--bloglo-white);
    color: var(--bloglo-secondary);
}

.bloglo-btn.btn-white:hover,
.bloglo-btn.btn-white:focus,
.using-keyboard .bloglo-btn.btn-white:focus {
    color: var(--bloglo-primary);
    background: var(--bloglo-white);
}

.bloglo-btn.btn-white.btn-outline {
    border-color: var(--bloglo-white);
    color: var(--bloglo-white);
}

.bloglo-btn.btn-white.btn-outline:hover,
.using-keyboard .bloglo-btn.btn-white.btn-outline:focus {
    background: var(--bloglo-white);
    color: var(--bloglo-secondary);
}

.bloglo-btn.btn-outline,
.bloglo-btn.btn-secondary.btn-outline {
    background-color: transparent;
}

.bloglo-btn.btn-secondary.btn-outline {
    border-color: var(--bloglo-secondary);
    color: var(--bloglo-secondary);
}

.bloglo-btn.btn-secondary.btn-outline:hover,
.using-keyboard .bloglo-btn.btn-secondary.btn-outline:focus {
    background: var(--bloglo-secondary);
    color: #ffffff;
}

.bloglo-btn.btn-with-shadow {
    -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.bloglo-btn.btn-with-shadow:hover {
    -webkit-box-shadow: 0 0.5rem 2.5rem rgba(0, 0, 0, 0.175);
    box-shadow: 0 0.5rem 2.5rem rgba(0, 0, 0, 0.175);
    -webkit-transform: translateY(-0.2rem);
    -ms-transform: translateY(-0.2rem);
    transform: translateY(-0.2rem);
}

.bloglo-btn.btn-text-1 {
    padding: 0 !important;
    min-height: 0;
    height: auto;
    background: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: none !important;
    font-weight: 500;
}

.bloglo-btn.btn-text-1 span {
    padding: 0;
}

.bloglo-btn.btn-text-1 span:before {
    content: "";
    position: absolute;
    bottom: -0.1rem;
    left: 0;
    width: 100%;
    height: 0.1rem;
    border-radius: 0;
}

.bloglo-btn.btn-text-1 span:before {
    background: currentColor;
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: scale;
    z-index: 1;
}

.bloglo-btn.btn-text-1:hover>span:before,
.using-keyboard .bloglo-btn.btn-text-1:focus-within>span:before {
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}

.bloglo-btn.btn-text-1.btn-left-icon>span,
.bloglo-btn.btn-text-1.btn-right-icon>span {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/*****************************************/
/* Form Styles
/*****************************************/
#add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text,
input[type=date],
input[type=email],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
textarea {
    font-size: inherit;
    font-weight: 400;
    font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    border: 0.2rem solid rgba(190, 190, 190, 0.3);
    background-color: var(--bloglo-white);
    padding: 0.9rem 1.6rem;
    color: #66717f;
    width: 100%;
    border-radius: var(--bloglo-normal-radius);
    line-height: 1 !important;
    min-height: 5rem;
}

#add_payment_method table.cart td.actions .coupon .input-text:focus,
.woocommerce-cart table.cart td.actions .coupon .input-text:focus,
.woocommerce-checkout table.cart td.actions .coupon .input-text:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="url"]:focus,
textarea:focus {
    color: var(--bloglo-black);
}

#add_payment_method table.cart td.actions .coupon .input-text.bloglo-invalid,
.woocommerce-cart table.cart td.actions .coupon .input-text.bloglo-invalid,
.woocommerce-checkout table.cart td.actions .coupon .input-text.bloglo-invalid,
input[type="date"].bloglo-invalid,
input[type="email"].bloglo-invalid,
input[type="password"].bloglo-invalid,
input[type="search"].bloglo-invalid,
input[type="tel"].bloglo-invalid,
input[type="text"].bloglo-invalid,
input[type="url"].bloglo-invalid,
textarea.bloglo-invalid {
    border-color: #f33;
}

fieldset {
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
    margin: 2.4rem 0.2rem;
    padding: 1rem 2.5rem 2rem;
    border-radius: var(--bloglo-normal-radius);
}

fieldset legend+p {
    margin-top: 0;
}

fieldset p:last-child {
    margin-bottom: 0;
}

legend {
    font-size: inherit;
    display: table;
    max-width: 100%;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    white-space: normal;
    font-weight: 400;
}

.select2-container .select2-selection--single {
    height: 4.5rem;
    border: 0.2rem solid rgba(190, 190, 190, 0.3);
    border-radius: var(--bloglo-normal-radius);
    margin-bottom: 0.2rem;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 4.4rem;
    color: #66717f;
    padding-left: 1.5rem;
    padding-right: 3rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    width: 3rem;
    height: 4.5rem;
}

.select2-container--default .select2-search--dropdown {
    padding: 1rem 1rem 0.5rem 1rem;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    padding: 0.8rem 1.6rem;
    border-color: rgba(190, 190, 190, 0.3);
    border-radius: var(--bloglo-normal-radius);
    background-color: rgba(190, 190, 190, 0.2);
}

.select2-container--default .select2-results>.select2-results__options {
    padding-bottom: 1rem;
}

.select2-container--default .select2-results__option[data-selected="true"] {
    background-color: rgba(190, 190, 190, 0.2);
}

.select2-dropdown {
    border-color: rgba(190, 190, 190, 0.3);
    border-width: 0.2rem;
    border-radius: var(--bloglo-normal-radius);
    top: -0.2rem;
}

.select2-container--open .select2-dropdown {
    -webkit-box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.15);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.15);
}

.select2-results__option {
    padding: 0.6rem 1.5rem;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    outline: none !important;
    margin: 0 1rem;
    border-radius: var(--bloglo-normal-radius);
}

label {
    display: inline-block;
    font-weight: 600;
    /*margin-bottom: 3rem;*/
}

.nsu-checkbox label,
input[type="checkbox"]+label,
input[type="radio"]+label {
    display: inline;
    margin-bottom: 0;
    font-weight: 400;
}

textarea {
    line-height: 1.5 !important;
    min-height: 18.72rem;
    max-height: 60rem;
}

select {
    line-height: 1.2;
    height: 4.5rem;
    padding: 1rem 1.8rem;
    background: none;
    border: 0.2rem solid rgba(190, 190, 190, 0.3);
    -o-border-image: initial;
    border-image: initial;
    border-radius: var(--bloglo-normal-radius);
    font-size: inherit;
    color: inherit;
    font-family: inherit;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1em;
}

select:focus {
    outline: none;
}

[data-theme="dark"] select {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-color: var(--bloglo-white);
    color: var(--bloglo-secondary);
}

input:-webkit-autofill {
    animation-name: autofill;
    -webkit-animation-name: autofill;
    animation-fill-mode: both;
    -webkit-animation-fill-mode: both;
}

.bloglo-input-supported input[type="checkbox"],
.bloglo-input-supported input[type="radio"] {
    position: relative;
    border: 0.2rem solid currentColor;
    border-radius: var(--bloglo-normal-radius);
    background: none;
    clear: none;
    cursor: pointer;
    display: inline-block !important;
    line-height: 0;
    margin: 0 0.96em 0 0;
    outline: 0;
    padding: 0 !important;
    text-align: center;
    vertical-align: text-top;
    height: 2rem;
    width: 2rem;
    min-width: 2rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    opacity: 0.5;
}

.bloglo-input-supported input[type="checkbox"]+label,
.bloglo-input-supported input[type="radio"]+label {
    cursor: pointer;
    font-weight: 400;
    font-size: 1.5rem;
}

.bloglo-input-supported input[type="checkbox"]:not([id^='wpforms-']):before,
.bloglo-input-supported input[type="radio"]:not([id^='wpforms-']):before {
    content: "";
    opacity: 0;
    position: absolute;
}

.bloglo-input-supported input[type="checkbox"]:checked,
.bloglo-input-supported input[type="checkbox"]:checked:before,
.bloglo-input-supported input[type="checkbox"]:focus,
.bloglo-input-supported input[type="checkbox"]:hover,
.bloglo-input-supported input[type="radio"]:checked,
.bloglo-input-supported input[type="radio"]:checked:before,
.bloglo-input-supported input[type="radio"]:focus,
.bloglo-input-supported input[type="radio"]:hover {
    opacity: 1;
}

.bloglo-input-supported input[type="checkbox"] {
    -webkit-box-shadow: inset 0 0 0 0;
    box-shadow: inset 0 0 0 0;
}

.bloglo-input-supported input[type="checkbox"]:not([id^='wpforms-']):before {
    left: 0.6rem;
    top: 0.2rem;
    width: 0.5rem;
    height: 1rem;
    border: solid var(--bloglo-white);
    border-width: 0 0.2rem 0.2rem 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    z-index: 2;
}

.bloglo-input-supported input[type="checkbox"]:focus,
.bloglo-input-supported input[type="checkbox"]:hover {
    -webkit-box-shadow: inset 0 0 0 0.2rem;
    box-shadow: inset 0 0 0 0.2rem;
}

.bloglo-input-supported input[type="checkbox"]:not([id^='wpforms-']):checked {
    opacity: 1;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.bloglo-input-supported input[type="checkbox"]:not([id^='wpforms-']):checked:before {
    -webkit-transform: rotate(45deg) scale(1);
    -ms-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
}

.bloglo-input-supported input[type="radio"] {
    border-radius: 50%;
}

.bloglo-input-supported input[type="radio"]:not([id^='wpforms-']):before {
    width: 1rem;
    height: 1rem;
    top: 50%;
    left: 0.3rem;
    margin-top: -0.5rem;
    border-radius: 50%;
}

.bloglo-input-supported .comment-subscription-form #subscribe_blog,
.bloglo-input-supported .comment-subscription-form #subscribe_comments {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

.bloglo-input-supported .comment-form-cookies-consent {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/*****************************************/
/* Social links styles.
/*****************************************/
.bloglo-social-nav {
    -ms-flex-align: center;
    align-items: center;
}

.bloglo-social-nav,
.bloglo-social-nav>ul {
    height: 100%;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.bloglo-social-nav>ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
}

.bloglo-social-nav>ul>li {
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    height: 100%;
}

.bloglo-social-nav>ul>li:last-child>a {
    margin-right: 0;
}

.bloglo-social-nav>ul>li>a {
    display: block;
    margin-right: 1.6rem;
}

.bloglo-social-nav>ul>li>a>span:not(.screen-reader-text) {
    display: block;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    color: inherit;
    font-weight: 400;
    overflow-y: hidden;
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
}

.bloglo-social-nav>ul>li>a .bloglo-icon {
    padding-left: 0.2rem;
    padding-right: 0.2rem;
}

.bloglo-social-nav>ul>li>a:before {
    display: none !important;
}

.bloglo-social-nav>ul>li>a:hover .bloglo-icon,
.bloglo-social-nav>ul>li>a:focus-within .bloglo-icon {
    -webkit-transform: translateY(-225%);
    -ms-transform: translateY(-225%);
    transform: translateY(-225%);
}

.bloglo-social-nav>ul>li>a:hover .bloglo-icon.bottom-icon,
.bloglo-social-nav>ul>li>a:focus-within .bloglo-icon.bottom-icon {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

.bloglo-social-nav>ul>li>a .bloglo-icon {
    -js-display: inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: -webkit-transform 0.22s;
    transition: -webkit-transform 0.22s;
    transition: transform 0.22s;
    transition: transform 0.22s, -webkit-transform 0.22s;
    opacity: 1;
    will-change: transform;
}

.bloglo-social-nav>ul>li>a .bloglo-icon.bottom-icon {
    position: absolute;
    -webkit-transform: translate3d(0, 225%, 0);
    transform: translate3d(0, 225%, 0);
}

.bloglo-social-nav>ul>li>a span {
    position: relative;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span:not(.screen-reader-text),
.bloglo-social-nav.rounded>ul>li>a>span:not(.screen-reader-text) {
    margin-right: 0.8rem;
    background-color: rgba(0, 0, 0, 0.15);
    border-radius: 50%;
    padding: 0;
}

.bloglo-social-nav.rounded-fill>ul>li>a .bloglo-icon,
.bloglo-social-nav.rounded>ul>li>a .bloglo-icon {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bloglo-social-nav.rounded-fill>ul>li>a,
.bloglo-social-nav.rounded>ul>li>a,
.bloglo-social-nav.rounded-fill>ul>li:last-child>a,
.bloglo-social-nav.rounded>ul>li:last-child>a {
    margin-right: 0;
}

.bloglo-social-nav>ul>li>a .bloglo-icon {
    height: 1.6rem;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span:not(.screen-reader-text),
.bloglo-social-nav.rounded>ul>li>a>span:not(.screen-reader-text) {
    width: 3.6rem;
    height: 3.6rem;
}

.bloglo-social-nav.bloglo-small>ul>li>a .bloglo-icon {
    height: 1.4rem;
}

.bloglo-social-nav.bloglo-small.rounded-fill>ul>li>a>span:not(.screen-reader-text),
.bloglo-social-nav.bloglo-small.rounded>ul>li>a>span:not(.screen-reader-text) {
    width: 3.2rem;
    height: 3.2rem;
}

.bloglo-social-nav.bloglo-large>ul>li>a .bloglo-icon {
    height: 2rem;
}

.bloglo-social-nav.bloglo-large.rounded-fill>ul>li>a>span:not(.screen-reader-text),
.bloglo-social-nav.bloglo-large.rounded>ul>li>a>span:not(.screen-reader-text) {
    width: 4.4rem;
    height: 4.4rem;
}

.bloglo-social-nav.bloglo-xlarge>ul>li>a .bloglo-icon {
    height: 2.8rem;
}

.bloglo-social-nav.bloglo-xlarge.rounded-fill>ul>li>a>span:not(.screen-reader-text),
.bloglo-social-nav.bloglo-xlarge.rounded>ul>li>a>span:not(.screen-reader-text) {
    width: 5.1rem;
    height: 5.1rem;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.dribbble {
    color: #d97aa6;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.facebook {
    color: #175beb;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.stackoverflow {
    color: #e77b23;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.github {
    color: #0d1117;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.twitter {
    color: #000000;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.instagram {
    color: #ef00a2;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.linkedin {
    color: #0077b5;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.pinterest {
    color: #ee3e52;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.tumblr {
    color: #5f7990;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.youtube {
    color: #fb5555;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.flickr {
    color: #ef3998;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.twitch {
    color: #8551e6;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.vk {
    color: #6299dc;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.telegram {
    color: #08c;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.discord {
    color: #5865f2;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.wechat {
    color: #09B83E;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.qq {
    color: #09f;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.bilibili {
    color: #06B6F2;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.threads {
    color: #101010;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.rss {
    color: #f59f23;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.tiktok {
    color: #010101;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.linktree {
    color: #4ae767;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.rumble {
    color: #85c742;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.mastodon {
    color: #6364ff;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.bluesky {
    color: #1185fe;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.gemspace {
    color: #FF4545;
}

.bloglo-social-nav.minimal-fill>ul>li>a>span.lifegroupchat {
    color: #E76F0E;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span:not(.screen-reader-text) {
    margin-right: 0.8rem;
    border-radius: 50%;
    padding: 0;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span:not(.screen-reader-text),
.bloglo-social-nav.rounded-fill>ul>li>a .bloglo-icon.bottom-icon {
    color: #fff;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.dribbble {
    background-color: #d97aa6;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.facebook {
    background-color: #175beb;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.stackoverflow {
    background-color: #e77b23;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.github {
    background-color: #0d1117;
    outline: 1px solid rgba(190, 190, 190, 0.3);
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.twitter {
    background-color: #000000;
    outline: 1px solid rgba(190, 190, 190, 0.3);
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.instagram {
    background-color: #ef00a2;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.linkedin {
    background-color: #0077b5;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.pinterest {
    background-color: #ee3e52;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.tumblr {
    background-color: #5f7990;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.youtube {
    background-color: #fb5555;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.flickr {
    background-color: #ef3998;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.twitch {
    background-color: #8551e6;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.vk {
    background-color: #6299dc;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.telegram {
    background-color: #08c;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.discord {
    background-color: #5865f2;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.wechat {
    background-color: #09B83E;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.qq {
    background-color: #09f;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.bilibili {
    background-color: #06B6F2;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.threads {
    background-color: #101010;
    outline: 1px solid rgba(190, 190, 190, 0.3);
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.rss {
    background-color: #f59f23;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.tiktok {
    background-color: #010101;
    outline: 1px solid rgba(190, 190, 190, 0.3);
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.linktree {
    background-color: #4ae767;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.rumble {
    background-color: #85c742;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.mastodon {
    background-color: #6364ff;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.bluesky {
    background-color: #1185fe;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.gemspace {
    background-color: #FF4545;
}

.bloglo-social-nav.rounded-fill>ul>li>a>span.lifegroupchat {
    background-color: #E76F0E;
}

/*****************************************/
/* Topbar layout styles
/*****************************************/
#bloglo-topbar {
    border-style: solid;
    border-left: none;
    border-right: none;
    border-width: 0;
    font-size: 1.3rem;
    z-index: 6;
}

#bloglo-topbar,
#bloglo-topbar>.bloglo-container {
    position: relative;
}

#bloglo-topbar>.bloglo-container>.bloglo-flex-row {
    position: relative;
    margin-top: 0;
    margin-bottom: 0;
    min-height: 5rem;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

#bloglo-topbar>.bloglo-container>.bloglo-flex-row>div {
    width: auto;
    max-width: 100%;
}

#bloglo-topbar>.bloglo-container>.bloglo-flex-row>div:empty {
    display: none;
}

#bloglo-topbar .bloglo-topbar-left,
#bloglo-topbar .bloglo-topbar-right {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

#bloglo-topbar .bloglo-topbar-right {
    margin-left: auto;
}

#bloglo-topbar .bloglo-topbar-right .bloglo-topbar-widget:first-child {
    margin-left: 0;
}

#bloglo-topbar .bloglo-topbar-widget {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-left: 1rem;
    padding-right: 1rem;
    position: relative;
    z-index: 5;
}

#bloglo-topbar .bloglo-topbar-widget:first-child {
    padding-left: 0;
    border-left: 0;
}

#bloglo-topbar .bloglo-topbar-widget:last-child {
    padding-right: 0;
    border-right: 0 !important;
}

#bloglo-topbar .bloglo-topbar-widget:last-child:after {
    display: none !important;
}

#bloglo-topbar .bloglo-topbar-widget__text .bloglo-icon {
    margin: 0 0.7rem 0 0;
    height: 1.84rem;
    position: relative;
    vertical-align: middle;
}

#bloglo-topbar .bloglo-social-nav>ul>li>a .bloglo-icon {
    height: 1.4rem;
}

.bloglo-topbar__separators-regular #bloglo-topbar .bloglo-topbar-widget:after,
.bloglo-topbar__separators-slanted #bloglo-topbar .bloglo-topbar-widget:after {
    content: "";
    width: 0.1rem;
    height: 1.6rem;
    display: inline-block;
    position: relative;
    right: -0.5rem;
    margin: -1.6rem 0 -1.6rem 1rem;
}

.bloglo-topbar__separators-slanted #bloglo-topbar .bloglo-topbar-widget:after {
    -webkit-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    transform: rotate(20deg);
}

.bloglo-topbar__separators-slanted #bloglo-topbar .bloglo-topbar-widget.bloglo-topbar-widget__socials {
    padding-left: 0.5rem;
}

.bloglo-topbar-widget:after {
    background-color: rgba(190, 190, 190, 0.3);
}

/*****************************************/
/* Header layout styles
/*****************************************/
#bloglo-header {
    position: relative;
}

#bloglo-header-inner {
    border-style: solid;
    border-left: none;
    border-right: none;
    border-width: 0;
}

#bloglo-header-inner:after {
    content: "";
}

#bloglo-header-inner>.bloglo-container {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

#bloglo-header-inner .bloglo-widget-wrapper {
    position: relative;
    height: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.bloglo-header-element:not(.bloglo-mobile-nav) {
    position: relative;
}

.bloglo-header-element {
    z-index: 99;
}

.bloglo-header-element>.bloglo-header-widget:first-child {
    margin-left: 1.8rem;
}

.bloglo-header-element.bloglo-header-widgets {
    z-index: 5;
}

.bloglo-header-element:empty,
.bloglo-header-element:first-child {
    margin-left: 0;
}

/*****************************************/
/* Sticky Header
/*****************************************/
.bloglo-sticky-header.bloglo-tsp-header #bloglo-header,
.bloglo-sticky-header.bloglo-tsp-header .bloglo-header-widgets a:not(.bloglo-btn),
.bloglo-sticky-header.bloglo-tsp-header .bloglo-logo a,
.bloglo-sticky-header.bloglo-tsp-header .bloglo-hamburger,
.bloglo-sticky-header.bloglo-tsp-header #bloglo-header-inner .bloglo-nav>ul>li>a {
    color: inherit;
}

.bloglo-sticky-header.bloglo-tsp-header .bloglo-header-widgets a:not(.bloglo-btn):hover,
.bloglo-sticky-header.bloglo-tsp-header .bloglo-logo a:hover,
.bloglo-sticky-header.bloglo-tsp-header .bloglo-hamburger:hover,
.bloglo-sticky-header.bloglo-tsp-header #bloglo-header-inner .bloglo-nav>ul>li.hovered>a,
.bloglo-sticky-header.bloglo-tsp-header #bloglo-header-inner .bloglo-nav>ul>li.current_page_item>a,
.bloglo-sticky-header.bloglo-tsp-header #bloglo-header-inner .bloglo-nav>ul>li>a:hover {
    color: var(--bloglo-primary);
}

.bloglo-sticky-header.bloglo-is-mobile #bloglo-header-inner,
.bloglo-sticky-header:not(.bloglo-header-layout-3, .bloglo-header-layout-4) #bloglo-header-inner,
.bloglo-sticky-header:not(.bloglo-is-mobile).bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container>.bloglo-container,
.bloglo-sticky-header:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container>.bloglo-container {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 999;
    margin: 0 auto;
    background-color: var(--bloglo-white);
    -webkit-box-shadow: 0 0.4rem 3rem 0 rgba(0, 0, 0, 0.08);
    box-shadow: 0 0.4rem 3rem 0 rgba(0, 0, 0, 0.08);
    -webkit-animation: 1s ease-in-out normal none 1 running fadeInDown;
    animation: 1s ease-in-out normal none 1 running fadeInDown;
}

.bloglo-sticky-header.bloglo-header-layout-4:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav-container>.bloglo-container,
.bloglo-sticky-header.bloglo-header-layout-3:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav-container>.bloglo-container {
    background-color: inherit;
    border: inherit;
}

.bloglo-sticky-header.bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container>.bloglo-container,
.bloglo-sticky-header.bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container>.bloglo-container {
    max-width: 100%;
}

.bloglo-sticky-header.admin-bar.bloglo-is-mobile #bloglo-header-inner,
.bloglo-sticky-header.admin-bar:not(.bloglo-header-layout-3, .bloglo-header-layout-4) #bloglo-header-inner,
.bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container>.bloglo-container,
.bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container>.bloglo-container {
    top: 32px;
}

/*****************************************/
/* Header Widgets
/*****************************************/
.bloglo-header-widgets .bloglo-header-widget .bloglo-darkmode input {
    display: none !important;
}

.bloglo-header-widgets .bloglo-header-widget .bloglo-darkmode input::before {
    opacity: 0;
    visibility: hidden;
}

.bloglo-header-widgets .bloglo-header-widget .bloglo-darkmode .bloglo-darkmode-toogle {
    --size: 1.8rem;
    appearance: none;
    outline: none;
    cursor: pointer;
    width: var(--size);
    height: var(--size);
    box-shadow: inset calc(var(--size) * 0.33) calc(var(--size) * -0.25) 0;
    border-radius: 100rem;
    color: var(--bloglo-secondary);
    border: none;
    margin: 0 0 1px;
    min-width: unset;
    opacity: 1;
    vertical-align: middle;
    -webkit-transition: all 500ms;
    transition: all 500ms;
}

html[data-theme="dark"] .bloglo-header-widgets .bloglo-header-widget .bloglo-darkmode .bloglo-darkmode-toogle {
    --size: 1.375em;
    --ray-size: calc(var(--size) * -0.4);
    --offset-orthogonal: calc(var(--size) * 0.65);
    --offset-diagonal: calc(var(--size) * 0.45);
    transform: scale(0.75);
    color: var(--bloglo-primary);
    box-shadow: inset 0 0 0 var(--size),
        calc(var(--offset-orthogonal) * -1) 0 0 var(--ray-size),
        var(--offset-orthogonal) 0 0 var(--ray-size),
        0 calc(var(--offset-orthogonal) * -1) 0 var(--ray-size),
        0 var(--offset-orthogonal) 0 var(--ray-size),
        calc(var(--offset-diagonal) * -1) calc(var(--offset-diagonal) * -1) 0 var(--ray-size),
        var(--offset-diagonal) var(--offset-diagonal) 0 var(--ray-size),
        calc(var(--offset-diagonal) * -1) var(--offset-diagonal) 0 var(--ray-size),
        var(--offset-diagonal) calc(var(--offset-diagonal) * -1) 0 var(--ray-size) !important;
}

.bloglo-header-widgets .bloglo-header-widget .bloglo-darkmode input:hover+.bloglo-darkmode-toogle {
    color: var(--bloglo-primary);
}

.bloglo-header-widgets a:not(.bloglo-btn) {
    color: inherit;
}

.bloglo-header-widgets .bloglo-header-widget {
    height: 100%;
    max-height: 9rem;
    position: relative;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
}

.bloglo-header-widgets .bloglo-header-widget.bloglo-header-widget__button {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
}

.bloglo-header-widgets .bloglo-header-widget.dropdown-visible .dropdown-item:not(.bloglo-search-container),
.bloglo-header-widgets .bloglo-header-widget .bloglo-widget-wrapper.dropdown-visible .dropdown-item,
.bloglo-header-widgets .bloglo-header-widget>.bloglo-widget-wrapper:hover .dropdown-item:not(.bloglo-search-container) {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
}

.bloglo-header-widgets .bloglo-header-widget:not(.bloglo-header-widget__button, .bloglo-header-widget__socials) .bloglo-icon {
    height: 2.057rem;
    width: auto;
}

.bloglo-header-widgets .bloglo-header-widget:not(.bloglo-header-widget__button, .bloglo-header-widget__socials) .bloglo-icon path {
    fill: currentColor;
    fill-rule: evenodd;
}

body header.site-header div:not(.bloglo-header-widget__button) .bloglo-empty-cart svg.bloglo-icon {
    width: 100%;
    height: 8rem;
    clear: both;
}

.bloglo-header-widgets .bloglo-cart,
.bloglo-header-widgets .bloglo-search {
    position: relative;
}

.bloglo-header-widgets .bloglo-cart .bloglo-cart-count {
    font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    font-size: 1.1rem;
    -js-display: inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 1.9rem;
    width: 1.9rem;
    margin-left: -0.6rem;
    margin-right: -0.6rem;
    margin-top: -1.5rem;
    border-radius: 50%;
    position: relative;
    line-height: 1;
    color: var(--bloglo-white);
    font-weight: 500;
    letter-spacing: 0;
}

.bloglo-header-widgets .dropdown-item {
    width: 28rem;
    background-color: var(--bloglo-white);
    -webkit-box-shadow: 0 1rem 3.5rem -0.3rem rgba(0, 0, 0, 0.12);
    box-shadow: 0 1rem 3.5rem -0.3rem rgba(0, 0, 0, 0.12);
    border-radius: 0 0 0.3rem 0.3rem;
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
    border-top-width: 0.2rem;
}

.bloglo-header-widgets .dropdown-item:not(.bloglo-search-container) {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(0.5rem);
    -ms-transform: translateY(0.5rem);
    transform: translateY(0.5rem);
    z-index: 9991;
    pointer-events: none;
}

.bloglo-header-widgets .dropdown-item:not(.bloglo-search-container):hover {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}

.bloglo-header-widget:after {
    width: 0.1rem;
    height: 1.6rem;
    background-color: rgba(190, 190, 190, 0.3);
    display: inline-block;
    position: relative;
    right: -0.5rem;
    margin: -1.6rem 0 -1.6rem 1rem;
}

.bloglo-header__separators-regular .bloglo-header-widget,
.bloglo-header__separators-slanted .bloglo-header-widget {
    padding-left: 1rem;
    padding-right: 1rem;
}

.bloglo-header__separators-regular .bloglo-header-widget:after,
.bloglo-header__separators-slanted .bloglo-header-widget:after {
    content: "";
}

.bloglo-header__separators-slanted .bloglo-header-widget:after {
    -webkit-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    transform: rotate(20deg);
}

.bloglo-header__separators-slanted .bloglo-header-widget.bloglo-topbar-widget__socials {
    padding-left: 0.5rem;
}

.bloglo-header-layout-3 .bloglo-widget-location-left .dropdown-item {
    right: auto;
    left: -0.7rem;
}

.bloglo-header-layout-3 .bloglo-widget-location-left .dropdown-item:after {
    right: auto;
    left: 1.6rem;
}

/*****************************************/
/* Header layouts
/*****************************************/
.bloglo-header-layout-1 .bloglo-logo,
.bloglo-header-layout-2 .bloglo-logo {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bloglo-header-layout-1 .bloglo-header-widget:last-of-type,
.bloglo-header-layout-2 .bloglo-header-widget:last-of-type {
    padding-right: 0;
}

.bloglo-header-layout-1 .bloglo-header-widget:last-of-type:after,
.bloglo-header-layout-2 .bloglo-header-widget:last-of-type:after {
    display: none;
}

.bloglo-header-layout-1 .bloglo-header-container .bloglo-logo {
    margin-right: auto;
}

.bloglo-header-layout-1 .bloglo-header-container .bloglo-nav {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.bloglo-header-layout-1 .bloglo-header-container .bloglo-nav>ul {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

/*****************************************/
/* Header layout 2
/*****************************************/
.bloglo-header-layout-2 .bloglo-header-container .bloglo-logo {
    margin-right: 3.2rem;
}

.bloglo-header-layout-2 .bloglo-header-container .bloglo-nav {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.bloglo-header-layout-2 .bloglo-header-container .bloglo-header-widgets {
    margin-left: auto;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.bloglo-header-layout-2 .bloglo-header-container .bloglo-header-widgets:last-child {
    margin-right: 0;
}

.bloglo-header-layout-2.bloglo-is-mobile .bloglo-header-container .bloglo-header-widgets {
    margin-left: 0;
}

.bloglo-header-layout-2.bloglo-is-mobile .bloglo-header-container .bloglo-logo {
    margin-right: auto;
}

/*****************************************/
/* Header layout 3
/*****************************************/
.bloglo-header-layout-3 .bloglo-header-widget__cart .dropdown-item {
    right: -1.4rem;
}

.bloglo-header-layout-3 .bloglo-logo-container>.bloglo-container,
.bloglo-header-layout-3 .bloglo-nav-container>.bloglo-container {
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav>ul>li>a {
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
}

.bloglo-header-layout-3 .bloglo-logo-container>.bloglo-container {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.bloglo-header-layout-3 .bloglo-logo-container .bloglo-header-element {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33%;
    flex: 0 0 33.33%;
}

.bloglo-header-layout-3 .bloglo-logo-container .bloglo-logo {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin: 0 auto;
    padding: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.bloglo-header-layout-3 .bloglo-logo-container .bloglo-logo>.logo-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-left {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-left: 0;
    margin-right: auto;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-left .bloglo-header-widget:first-child {
    padding-left: 0;
    margin-left: 0;
}

.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-left .bloglo-header-widget:last-of-type {
    padding-right: 0;
}

.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-left .bloglo-header-widget:last-of-type:after {
    display: none;
}

.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-right {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-right: 0;
    margin-left: auto;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-right .bloglo-header-widget:last-of-type {
    padding-right: 0;
}

.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-right .bloglo-header-widget:last-of-type:after {
    display: none;
}

.bloglo-header-layout-3 .bloglo-mobile-nav,
.bloglo-header-layout-3 .bloglo-widget-wrapper {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
}

.bloglo-header-layout-3 .bloglo-nav-container {
    position: relative;
    z-index: 3;
    border-width: 0;
    margin-bottom: -0.1rem;
}

/*****************************************/
/* Header layout 4
/*****************************************/
.bloglo-header-layout-4 .bloglo-header-widgets .bloglo-header-widget {
    max-height: none;
}

.bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav>ul,
.bloglo-header-layout-4 .bloglo-header-widgets .bloglo-header-widget {
    min-height: 6.2rem;
}

.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo>.logo-inner,
.bloglo-header-layout-4 .bloglo-logo-container>.bloglo-container,
.bloglo-header-layout-4 .bloglo-nav-container>.bloglo-container {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo>.logo-inner {
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
}

.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo>.logo-inner .site-description {
    font-size: 90%;
}

.bloglo-header-layout-4 .bloglo-widget-location-left .dropdown-item {
    right: auto;
    left: -0.7rem;
}

.bloglo-header-layout-4 .bloglo-widget-location-left .dropdown-item:after {
    right: auto;
    left: 1.6rem;
}

.bloglo-header-layout-4 .bloglo-header-widget__cart .dropdown-item {
    right: -1.4rem;
}

.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-right: auto;
}

.bloglo-header-layout-4 .bloglo-header-widget:last-of-type {
    padding-right: 0;
}

.bloglo-header-layout-4 .bloglo-logo-container .bloglo-widget-location-right:not(.bloglo-header-widgets-two),
.bloglo-header-layout-4 .bloglo-header-widget:last-of-type:after {
    display: none;
}

.bloglo-header-layout-4 .bloglo-mobile-nav,
.bloglo-header-layout-4 .bloglo-widget-wrapper,
.bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav>ul>li>a {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.bloglo-header-layout-4 .bloglo-nav-container>.bloglo-container {
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav>ul>li {
    margin-left: 1.6rem;
}

.bloglo-header-layout-4 .bloglo-nav-container {
    position: relative;
    z-index: 3;
    border-width: 0;
    margin-bottom: -0.1rem;
}

.bloglo-header-layout-4 .bloglo-nav-container .bloglo-header-element {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 22%;
    flex: 0 0 22%;
}

.bloglo-header-layout-4 .bloglo-nav-container .bloglo-nav {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin: 0 auto;
    padding: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.bloglo-header-layout-4 .bloglo-nav-container .bloglo-nav>ul {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-left {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-left: 0;
    margin-right: auto;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-left .bloglo-header-widget:first-child {
    padding-left: 0;
    margin-left: 0;
}

.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-left .bloglo-header-widget:last-of-type {
    padding-right: 0;
}

.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-left .bloglo-header-widget:last-of-type:after {
    display: none;
}

.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-right {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-right: 0;
    margin-left: auto;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-right .bloglo-header-widget:last-of-type {
    padding-right: 0;
}

.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-right .bloglo-header-widget:last-of-type:after {
    display: none;
}

.page-header {
    position: relative;
    border-width: 0;
}

.page-header:empty {
    display: none;
}

.page-header>.bloglo-container>div,
.page-header>.bloglo-container>nav {
    z-index: 2;
}

.page-header.bloglo-has-breadcrumbs.bloglo-align-left .bloglo-page-header-wrapper {
    padding-right: 3rem;
}

.page-header.bloglo-has-breadcrumbs.bloglo-align-right .bloglo-page-header-wrapper {
    padding-left: 3rem;
}

.page-header .bloglo-page-header-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

.page-header .bloglo-page-header-description {
    font-size: 1.707rem;
    margin: 0;
    margin-top: 0.8rem;
}

.page-header h1.page-title,
.page-header .page-title {
    margin: 0;
}

.page-header:after {
    content: "";
    pointer-events: none;
}

.bloglo-page-title-align-left .page-header.bloglo-has-page-title .bloglo-page-header-wrapper {
    margin-right: auto;
}

.bloglo-page-title-align-right .page-header.bloglo-has-page-title .bloglo-page-header-wrapper {
    margin-left: auto;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.bloglo-page-title-align-right .page-header.bloglo-has-page-title .bloglo-breadcrumbs {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.bloglo-page-title-align-center .page-header.bloglo-has-page-title>.bloglo-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.bloglo-page-title-align-center .page-header.bloglo-has-page-title>.bloglo-container .bloglo-page-header-wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

.bloglo-page-title-align-center .page-header.bloglo-has-page-title>.bloglo-container .bloglo-breadcrumbs {
    text-align: center;
    width: 100%;
}

/*****************************************/
/* Transparent header layout styles
/*****************************************/
.bloglo-tsp-header #bloglo-header-inner,
.bloglo-tsp-header .page-header {
    background: none;
    background-color: rgba(0, 0, 0, 0);
}

.bloglo-tsp-header .site-header {
    position: relative;
}

.bloglo-tsp-header #bloglo-header-inner {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.bloglo-tsp-header .page-header {
    position: relative;
    z-index: 1;
}

.bloglo-tsp-header.bloglo-single-title-in-page-header .page-header.bloglo-page-title-has-bg-img:after {
    background: none;
}

.bloglo-tsp-header.bloglo-single-title-in-page-header #masthead:before {
    content: "";
    pointer-events: none;
    background-color: #232323;
    opacity: 0.65;
}

.bloglo-tsp-absolute .site-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    background-color: transparent;
}

/*****************************************/
/* Fullwidth section
/*****************************************/
body:not(.bloglo-layout__boxed) .bloglo_section_extra .alignfull,
body:not(.bloglo-layout__boxed) .bloglo_section_extra .bloglo-fw-section,
body:not(.bloglo-layout__boxed).bloglo-no-sidebar .entry-content .alignfull,
body:not(.bloglo-layout__boxed).bloglo-no-sidebar .bloglo-fw-section {
    position: relative;
    width: 100vw;
    left: 50%;
    margin-left: -50vw;
    max-width: var(--bloglo-screen-width, 100vw);
}

body.bloglo-layout__boxed .bloglo_section_extra .alignfull,
body.bloglo-layout__boxed .bloglo_section_extra .bloglo-fw-section,
body.bloglo-layout__boxed.bloglo-no-sidebar .entry-content .alignfull,
body.bloglo-layout__boxed.bloglo-no-sidebar .bloglo-fw-section {
    margin-left: -10rem;
    margin-right: -10rem;
}

body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .elementor-section.elementor-section-stretched,
body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .entry-content .alignfull,
body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .bloglo-fw-section {
    left: 0 !important;
    width: auto !important;
    max-width: unset;
    margin-left: -3rem !important;
    margin-right: -3rem !important;
}

.bloglo-layout__boxed .bloglo_section_extra .alignfull,
.bloglo-layout__boxed .bloglo_section_extra .bloglo-fw-section,
.bloglo-layout__boxed.bloglo-no-sidebar .elementor-section.elementor-section-stretched,
.bloglo-layout__boxed.bloglo-no-sidebar .entry-content .alignfull,
.bloglo-layout__boxed.bloglo-no-sidebar .bloglo-fw-section {
    left: 0 !important;
    width: auto !important;
    margin-left: -10rem !important;
    margin-right: -10rem !important;
}

.bloglo-layout__boxed.page-template-elementor_header_footer .elementor-section.elementor-section-stretched,
.bloglo-layout__boxed.page-template-elementor_header_footer .entry-content .alignfull,
.bloglo-layout__boxed.page-template-elementor_header_footer .bloglo-fw-section,
.bloglo-layout__boxed.page-template-template-bloglo-fullwidth .elementor-section.elementor-section-stretched,
.bloglo-layout__boxed.page-template-template-bloglo-fullwidth .entry-content .alignfull,
.bloglo-layout__boxed.page-template-template-bloglo-fullwidth .bloglo-fw-section {
    left: 0 !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .elementor-section.elementor-section-stretched,
.bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .entry-content .alignfull,
.bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .bloglo-fw-section {
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: 0 !important;
    max-width: 100%;
}

body:not(.bloglo-has-sidebar):not(.bloglo-single-title-in-content) #content .entry-content>.alignfull:first-child {
    margin-top: -5rem;
}

body:not(.bloglo-has-sidebar):not(.bloglo-single-title-in-content):not(.comments-open) #content .entry-content>.alignfull:last-child {
    margin-bottom: -7rem;
}

.wp-block-group.alignfull.has-background {
    padding-left: 0;
    padding-right: 0;
}

#page .alignfull .alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: 0 !important;
}

/*****************************************/
/* Hero styles
/*****************************************/
#hero {
    position: relative;
    z-index: 1;
}

.bloglo-horizontal-slider .horizontal-slider-items.swiper,
.bloglo-vertical-slider .vertical-slider-items.swiper {
    padding-bottom: 1.6rem;
}

.bloglo-vertical-slider,
.bloglo-horizontal-slider,
.bloglo-hover-slider {
    position: relative;
    overflow: hidden;
}

.bloglo-hover-slider {
    background-color: var(--bloglo-secondary);
}

.bloglo-hover-slider .hover-slider-backgrounds {
    opacity: 0;
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -webkit-transition: all 0.7s ease-in-out;
    transition: all 0.7s ease-in-out;
    z-index: 1;
    will-change: scale;
}

.bloglo-hover-slider .hover-slider-backgrounds.loaded {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.bloglo-hover-slider .hover-slide-bg {
    z-index: 1;
    opacity: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-transition: opacity 0.25s ease-in-out;
    transition: opacity 0.25s ease-in-out;
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    will-change: opacity;
}

.bloglo-hover-slider .hover-slide-bg.active {
    opacity: 1;
    z-index: 2;
}

.bloglo-hover-slider.slider-overlay-1 .hover-slider-backgrounds:after {
    content: "";
    background-color: #232323;
    opacity: 0.65;
    z-index: 3;
}

.bloglo-hover-slider.slider-overlay-2 .hover-slider-backgrounds:after {
    content: "";
    width: 100%;
    height: 70%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(1%, rgba(35, 40, 45, 0)), color-stop(20%, rgba(35, 40, 45, 0.05)), color-stop(40%, rgba(35, 40, 45, 0.15)), color-stop(60%, rgba(35, 40, 45, 0.55)), to(rgba(0, 0, 0, 0.65)));
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(35, 40, 45, 0) 1%, rgba(35, 40, 45, 0.05) 20%, rgba(35, 40, 45, 0.15) 40%, rgba(35, 40, 45, 0.55) 60%, rgba(0, 0, 0, 0.65) 100%);
}

.bloglo-vertical-slider .bloglo-container,
.bloglo-vertical-slider .bloglo-container__wide,
.bloglo-horizontal-slider .bloglo-container,
.bloglo-horizontal-slider .bloglo-container__wide,
.bloglo-hover-slider .bloglo-hero-container {
    position: relative;
    z-index: 2;
}

.bloglo-vertical-slider .bloglo-spinner,
.bloglo-horizontal-slider .bloglo-spinner,
.bloglo-hover-slider .bloglo-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -2rem;
    margin-left: -2rem;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    z-index: 1;
}

.bloglo-hover-slider .hover-slide-item {
    position: relative;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    color: var(--bloglo-white);
}

.bloglo-hover-slider .hover-slide-item .entry-meta .entry-meta-elements>span:before {
    background: rgba(255, 255, 255, 0.4);
}

.bloglo-hover-slider .hover-slider-items>div {
    border-right: 0.1rem solid rgba(255, 255, 255, 0.2);
}

.bloglo-hover-slider .hover-slider-items>div:last-child {
    border-right: 0;
}

.bloglo-hover-slider .hover-slider-items>div:last-child .slide-inner {
    margin-right: 0;
}

.bloglo-hover-slider .hover-slider-items>div:first-child .slide-inner {
    margin-left: 0;
}

.bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner {
    -webkit-transform: translate3d(0, -9rem, 0);
    transform: translate3d(0, -9rem, 0);
}

.bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner .read-more {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.bloglo-hover-slider .slide-inner {
    position: absolute;
    bottom: 2.5rem;
    left: 0;
    right: 0;
    margin: 0 1rem;
    -webkit-transition: all 0.25s cubic-bezier(0.05, 0.2, 0.1, 1);
    transition: all 0.25s cubic-bezier(0.05, 0.2, 0.1, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    max-width: 55rem;
}

.bloglo-hover-slider .slide-inner h3 {
    margin-bottom: 0.2rem;
    color: #fff;
}

.bloglo-hover-slider .slide-inner h3 a {
    color: inherit;
}

.bloglo-hover-slider .slide-inner h3 a:hover {
    text-decoration: underline;
}

.bloglo-hover-slider .slide-inner .post-category {
    text-align: start;
}

.bloglo-hover-slider .slide-inner .read-more {
    font-size: 75% !important;
    position: absolute;
    -webkit-transform: translate3d(0, 2rem, 0);
    transform: translate3d(0, 2rem, 0);
    left: 0;
    opacity: 0;
    top: 100%;
    margin-top: 3rem;
    border: 0.2rem solid #fff;
    color: #fff;
    -webkit-transition: all 0.15s cubic-bezier(0.05, 0.2, 0.1, 1);
    transition: all 0.15s cubic-bezier(0.05, 0.2, 0.1, 1);
}

.bloglo-hover-slider .slide-inner .read-more:hover {
    background: #fff;
    color: #232323;
}

.bloglo-hover-slider .entry-meta {
    text-align: left !important;
    color: rgba(255, 255, 255, 0.7);
}

.bloglo-hover-slider .entry-meta .entry-meta-elements>span:first-child {
    padding-left: 0 !important;
}

.bloglo-hover-slider .entry-meta .entry-meta-elements>span:before {
    opacity: 0.75;
}

.site .bloglo-hover-slider .entry-meta a:hover {
    color: #fff;
}

@-webkit-keyframes bloglo-kenburns {
    0% {
        -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    50% {
        -webkit-transform: scale3d(1.42, 1.42, 1.42) translate3d(0, 0, 0);
        transform: scale3d(1.42, 1.42, 1.42) translate3d(0, 0, 0);
    }

    100% {
        -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
    }
}

@keyframes bloglo-kenburns {
    0% {
        -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    50% {
        -webkit-transform: scale3d(1.42, 1.42, 1.42) translate3d(0, 0, 0);
        transform: scale3d(1.42, 1.42, 1.42) translate3d(0, 0, 0);
    }

    100% {
        -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
    }
}

/*****************************************/
/* Hero Horizontal Slider Styles
/*****************************************/
.bloglo-blog-horizontal .bloglo-horizontal-slider .bloglo-article .entry-media,
.bloglo-blog-layout-1 .bloglo-vertical-slider .bloglo-article .entry-media {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.bloglo-vertical-slider .bloglo-article:not(.format-quote),
.bloglo-horizontal-slider .bloglo-article:not(.format-quote) {
    margin: 1.6rem;
}

.bloglo-horizontal-slider .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .post-gallery.entry-media,
.bloglo-horizontal-slider .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .entry-media {
    -ms-flex-preferred-size: 50% !important;
    flex-basis: 50% !important;
}

.bloglo-vertical-slider a:not(.bloglo-btn, .wp-block-button__link, .page-numbers),
.bloglo-horizontal-slider a:not(.bloglo-btn, .wp-block-button__link, .page-numbers) {
    color: var(--bloglo-primary);
}

.bloglo-vertical-slider a:not(.bloglo-btn):not(.wp-block-button__link):hover,
.using-keyboard .bloglo-vertical-slider a:not(.bloglo-btn):not(.wp-block-button__link):focus,
.bloglo-horizontal-slider a:not(.bloglo-btn):not(.wp-block-button__link):hover,
.using-keyboard .bloglo-horizontal-slider a:not(.bloglo-btn):not(.wp-block-button__link):focus {
    color: var(--bloglo-secondary);
}

.bloglo-vertical-slider .entry-header .entry-title a,
.bloglo-horizontal-slider .entry-header .entry-title a {
    color: inherit;
}

.bloglo-vertical-slider .entry-header .entry-title a:hover,
.using-keyboard .bloglo-vertical-slider .entry-header .entry-title a:focus,
.bloglo-horizontal-slider .entry-header .entry-title a:hover,
.using-keyboard .bloglo-horizontal-slider .entry-header .entry-title a:focus {
    color: var(--bloglo-primary);
}

.bloglo-vertical-slider .bloglo-entry-content-wrapper .bloglo-btn.btn-text-1,
.bloglo-horizontal-slider .bloglo-entry-content-wrapper .bloglo-btn.btn-text-1 {
    font-size: 1.5rem;
}

.bloglo-vertical-slider .bloglo-entry-content-wrapper .bloglo-btn.btn-text-1::after,
.bloglo-horizontal-slider .bloglo-entry-content-wrapper .bloglo-btn.btn-text-1::after {
    content: "\f105";
    color: inherit;
    font-family: "Font Awesome 5 Free";
    margin-left: 0.8rem;
    margin-top: 0.5rem;
}

.bloglo-vertical-slider .horizontal-slider-items,
.bloglo-horizontal-slider .horizontal-slider-items {
    padding: 1rem 1rem 1.8rem;
}

.bloglo-vertical-slider .swiper-button-prev,
.bloglo-vertical-slider .swiper-button-next,
.bloglo-horizontal-slider .swiper-button-prev,
.bloglo-horizontal-slider .swiper-button-next {
    width: 5rem;
    height: 5rem;
}

.bloglo-post-gallery .swiper-button-prev,
.bloglo-post-gallery .swiper-button-next,
.bloglo-vertical-slider .swiper-button-prev,
.bloglo-vertical-slider .swiper-button-next,
.bloglo-horizontal-slider .swiper-button-prev,
.bloglo-horizontal-slider .swiper-button-next {
    border-radius: 50%;
    outline: none;
    border: 0.1rem solid transparent;
    color: var(--bloglo-secondary);
    background-color: var(--bloglo-white);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
}

.bloglo-post-gallery .swiper-button-prev:hover,
.bloglo-post-gallery .swiper-button-next:hover,
.bloglo-vertical-slider .swiper-button-prev:hover,
.bloglo-vertical-slider .swiper-button-next:hover,
.bloglo-horizontal-slider .swiper-button-prev:hover,
.bloglo-horizontal-slider .swiper-button-next:hover {
    color: var(--bloglo-white);
    background-color: var(--bloglo-secondary);
    box-shadow: rgba(0, 0, 0, 0.09) 0 0 1.5rem 0;
}

.bloglo-vertical-slider .swiper-button-prev,
.bloglo-horizontal-slider .swiper-button-prev {
    left: 0.58rem;
}

.bloglo-vertical-slider .swiper-button-next,
.bloglo-horizontal-slider .swiper-button-next {
    right: 0.58rem;
}

.bloglo-post-gallery .swiper-button-prev::after,
.bloglo-vertical-slider .swiper-button-prev::after,
.bloglo-horizontal-slider .swiper-button-prev::after {
    content: "\f104";
}

.bloglo-post-gallery .swiper-button-next::after,
.bloglo-vertical-slider .swiper-button-next::after,
.bloglo-horizontal-slider .swiper-button-next::after {
    content: "\f105";
}

.bloglo-post-gallery .swiper-button-prev::after,
.bloglo-post-gallery .swiper-button-next::after,
.bloglo-vertical-slider .swiper-button-prev::after,
.bloglo-vertical-slider .swiper-button-next::after,
.bloglo-horizontal-slider .swiper-button-prev::after,
.bloglo-horizontal-slider .swiper-button-next::after {
    font-size: 2rem;
    font-weight: bolder;
    color: inherit;
    font-family: "Font Awesome 5 Free";
}

/*****************************************/
/* Hero Four TO Eight Slider Styles
/*****************************************/
#hero .bloglo-grid-row {
    display: grid;
    grid-template-columns: auto auto;
    grid-gap: 0.5rem;
    padding: 0;
}

.hero-eight-slider .hover-slider-backgrounds,
.hero-seven-slider .hover-slider-backgrounds,
.hero-six-slider .hover-slider-backgrounds,
.hero-five-slider .hover-slider-backgrounds,
.hero-four-slider .hover-slider-backgrounds {
    display: none;
}

.hero-eight-slider .bloglo-hover-slider,
.hero-seven-slider .bloglo-hover-slider,
.hero-six-slider .bloglo-hover-slider,
.hero-five-slider .bloglo-hover-slider,
.hero-four-slider .bloglo-hover-slider {
    background: none;
}

#hero .hero-four-slider .bloglo-grid-row .hover-slider-item-wrapper:first-child {
    grid-area: 1 / 1 / span 2 / span 2;
}

#hero .hero-six-slider .bloglo-grid-row {
    grid-template-columns: auto;
}

@media screen and (max-width: 960px) {
    #hero .bloglo-grid-row {
        grid-template-columns: auto;
    }

    #hero .hero-four-slider .bloglo-grid-row .hover-slider-item-wrapper:first-child {
        grid-area: unset;
    }
}

.hero-eight-slider .bloglo-hover-slider .hover-slider-item-wrapper,
.hero-seven-slider .bloglo-hover-slider .hover-slider-item-wrapper,
.hero-six-slider .bloglo-hover-slider .hover-slider-item-wrapper,
.hero-five-slider .bloglo-hover-slider .hover-slider-item-wrapper,
.hero-four-slider .bloglo-hover-slider .hover-slider-item-wrapper {
    position: relative;
    background-color: #232323;
    background-image: var(--bg-image);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    border-radius: var(--bloglo-normal-radius);
    overflow: hidden;
    border-right: none;
    margin-bottom: 0;
}

.hero-eight-slider .bloglo-hover-slider .hover-slider-item-wrapper:after,
.hero-seven-slider .bloglo-hover-slider .hover-slider-item-wrapper:after,
.hero-six-slider .bloglo-hover-slider .hover-slider-item-wrapper:after,
.hero-five-slider .bloglo-hover-slider .hover-slider-item-wrapper:after,
.hero-four-slider .bloglo-hover-slider .hover-slider-item-wrapper:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    background-color: #232323;
    opacity: 0.65;
    z-index: 3;
}

.hero-eight-slider .bloglo-hover-slider .hover-slide-item,
.hero-seven-slider .bloglo-hover-slider .hover-slide-item,
.hero-six-slider .bloglo-hover-slider .hover-slide-item,
.hero-five-slider .bloglo-hover-slider .hover-slide-item,
.hero-four-slider .bloglo-hover-slider .hover-slide-item {
    padding: 2.5rem;
    min-height: 23.5rem;
    z-index: 4;
    -webkit-box-pack: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
}

.hero-eight-slider .bloglo-hover-slider .hover-slide-item .slide-inner,
.hero-seven-slider .bloglo-hover-slider .hover-slide-item .slide-inner,
.hero-six-slider .bloglo-hover-slider .hover-slide-item .slide-inner,
.hero-five-slider .bloglo-hover-slider .hover-slide-item .slide-inner,
.hero-four-slider .bloglo-hover-slider .hover-slide-item .slide-inner {
    position: relative;
    bottom: 0;
    max-width: 100%;
    padding: 0;
    margin: 0;
    text-align: left;
}

.hero-eight-slider .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner,
.hero-seven-slider .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner,
.hero-six-slider .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner,
.hero-five-slider .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner,
.hero-four-slider .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

.hero-eight-slider .bloglo-hover-slider .hover-slide-item .slide-inner h3,
.hero-seven-slider .bloglo-hover-slider .hover-slide-item .slide-inner h3,
.hero-six-slider .bloglo-hover-slider .hover-slide-item .slide-inner h3,
.hero-five-slider .bloglo-hover-slider .hover-slide-item .slide-inner h3,
.hero-four-slider .bloglo-hover-slider .hover-slide-item .slide-inner h3 {
    font-size: 2rem;
    letter-spacing: 0.04rem;
}

.hero-eight-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category,
.hero-seven-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category,
.hero-six-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category,
.hero-five-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category,
.hero-four-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category {
    text-align: start;
}

.hero-eight-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item,
.hero-seven-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item,
.hero-six-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item,
.hero-five-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item,
.hero-four-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item,
.hero-eight-slider .bloglo-hover-slider .entry-meta .entry-meta-elements,
.hero-seven-slider .bloglo-hover-slider .entry-meta .entry-meta-elements,
.hero-six-slider .bloglo-hover-slider .entry-meta .entry-meta-elements,
.hero-five-slider .bloglo-hover-slider .entry-meta .entry-meta-elements,
.hero-four-slider .bloglo-hover-slider .entry-meta .entry-meta-elements {
    -webkit-box-pack: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
}

.hero-eight-slider .bloglo-hover-slider .hover-slide-item .slide-inner .read-more,
.hero-seven-slider .bloglo-hover-slider .hover-slide-item .slide-inner .read-more,
.hero-six-slider .bloglo-hover-slider .hover-slide-item .slide-inner .read-more,
.hero-five-slider .bloglo-hover-slider .hover-slide-item .slide-inner .read-more,
.hero-four-slider .bloglo-hover-slider .hover-slide-item .slide-inner .read-more {
    position: static;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
}

/*****************************************/
/* Search
/*****************************************/
.bloglo-header-widgets .bloglo-search-simple .bloglo-form-label {
    display: block;
    width: 100%;
}

.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form input {
    background-color: rgba(0, 0, 0, 0) !important;
}

.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form input {
    font-size: 1.5rem;
    color: var(--bloglo-secondary);
    display: block;
    width: 100%;
    padding: 1.6rem 4.5rem 1.6rem 2rem;
    /* 9rem */
}

.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 3.2rem;
    height: 3.2rem;
    padding: 0.8rem;
    border-radius: 10rem;
    margin: auto 0;
    cursor: pointer;
}

.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button:not(.bloglo-search-close) {
    right: 5.6rem;
    /*right: 1.6rem;*/
    color: var(--bloglo-white);
    background-color: var(--bloglo-primary);
}

.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button:not(.bloglo-search-close) svg {
    fill: currentColor;
}

.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close {
    right: 1.6rem;
}

.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close svg {
    display: inline-block;
    vertical-align: middle;
}

.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close svg,
.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close svg path {
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
}

.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close:hover svg,
.using-keyboard .bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close:focus svg {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close:hover svg path,
.using-keyboard .bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close:focus svg path {
    fill: var(--bloglo-primary);
}

.bloglo-search-simple {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(0.5rem);
    -ms-transform: translateY(0.5rem);
    transform: translateY(0.5rem);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.bloglo-search-visible .bloglo-search-simple {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

#main .search-form,
#colophon .search-form {
    max-width: 36rem;
}

#main .search-form>div,
#colophon .search-form>div {
    display: block;
    position: relative;
}

#colophon .search-form .search-submit,
#main .search-form .search-submit {
    position: absolute;
    top: 0;
    right: 0.8rem;
    bottom: 0;
    width: 3.5rem;
    height: 3.5rem;
    background-color: var(--bloglo-primary);
    color: var(--bloglo-white);
    margin: auto;
    border-radius: var(--bloglo-full-radius);
}

#colophon .search-form .search-submit:hover,
#main .search-form .search-submit:hover {
    cursor: pointer;
}

#colophon .search-form .search-submit svg,
#main .search-form .search-submit svg {
    height: 2.056rem;
    width: auto;
    top: -0.1rem;
    vertical-align: middle;
}

#colophon .search-form .search-field,
#main .search-form .search-field {
    display: block;
    width: 100%;
    padding-right: 4.5rem;
    border-radius: var(--bloglo-full-radius);
    border-width: 0.1rem;
    box-shadow: -0.32rem 0 3.2rem -1.6rem rgba(0, 0, 0, 0.15);
}

.wp-block-search input[type="search"] {
    min-height: 4rem;
}

#colophon .search-form .search-field:focus,
#main .search-form .search-field:focus {
    outline: none;
}

#main .error-404 .search-form {
    margin-left: auto;
    margin-right: auto;
}

.wp-block-search .wp-block-search__button {
    background-color: var(--bloglo-primary);
    border-color: var(--bloglo-primary);
    color: var(--bloglo-white);
    cursor: pointer;
}

.wp-block-search .wp-block-search__button svg {
    fill: currentColor;
}

.using-keyboard .wp-block-search .wp-block-search__button:focus {
    outline: 0.1rem dotted;
    outline-offset: -0.4rem;
}

.wp-block-search .wp-block-search__label {
    margin-bottom: 1.2rem;
}

/*****************************************/
/* Logo styles
/*****************************************/
.bloglo-logo {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.bloglo-logo .site-description,
.bloglo-logo .site-title {
    margin: 0;
}

.bloglo-logo a {
    -webkit-transition: color 0.2s linear;
    transition: color 0.2s linear;
}

.bloglo-logo a img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
}

.bloglo-logo a img.bloglo-svg-logo {
    max-width: 100% !important;
}

.bloglo-logo .site-description {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 0.4rem;
}

/*****************************************/
/* General Navigation
/*****************************************/
.bloglo-nav .children li.current_page_ancestor>a,
.bloglo-nav .children li.current_page_item>a,
.bloglo-nav .children li:hover>a,
.bloglo-nav .sub-menu li.current-menu-ancestor>a,
.bloglo-nav .sub-menu li.current-menu-item>a,
.bloglo-nav .sub-menu li:hover>a {
    color: #232323 !important;
    background-color: rgba(0, 0, 0, 0.05);
}

.bloglo-nav {
    max-width: 100%;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-font-smoothing: antialiased;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

.bloglo-nav>ul {
    width: 100%;
    height: 100%;
}

.bloglo-nav>ul,
.bloglo-nav>ul>li {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.bloglo-nav>ul>li {
    position: relative;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 1.6rem;
}

.bloglo-nav>ul>li:first-child,
.bloglo-nav>ul>li:first-of-type {
    margin-left: 0 !important;
}

.bloglo-nav>ul>li>a {
    display: block;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
}

.bloglo-nav>ul>li:last-child {
    margin-right: 0 !important;
}

/*****************************************/
/* Dropdowns.
/*****************************************/
.bloglo-nav>ul>li.opens-left>.children,
.bloglo-nav>ul>li.opens-left>.sub-menu {
    left: auto;
    right: 0;
}

.bloglo-nav>ul>li.opens-right>.children,
.bloglo-nav>ul>li.opens-right>.sub-menu {
    right: auto;
    left: -2.856rem;
}

.bloglo-nav li:hover .children,
.bloglo-nav li:hover .sub-menu {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

.bloglo-nav .sub-menu {
    color: var(--bloglo-secondary);
}

.bloglo-nav .large-dropdown>.sub-menu {
    min-width: 31rem;
}

.bloglo-nav .children,
.bloglo-nav .sub-menu {
    position: absolute;
    top: 100%;
    left: -2.856rem;
    min-width: 23rem;
    visibility: hidden;
    opacity: 0;
    background-color: var(--bloglo-white);
    border: 0 solid rgba(190, 190, 190, 0.3);
    border-top-width: 0.2rem;
    border-top-style: solid;
    padding: 0.5rem 0;
    line-height: 1.5;
    text-align: left;
    -webkit-transform: translateY(1rem);
    -ms-transform: translateY(1rem);
    transform: translateY(1rem);
    -webkit-transition: all 0.25s;
    transition: all 0.25s;
    z-index: 998;
    border-radius: 0 0 0.3rem 0.3rem;
    -webkit-box-shadow: 0 1.5rem 3rem -0.5rem rgba(0, 0, 0, 0.07);
    box-shadow: 0 1.5rem 3rem -0.5rem rgba(0, 0, 0, 0.07);
    pointer-events: none;
    font-size: 1.6rem;
}

.bloglo-nav .children li,
.bloglo-nav .sub-menu li {
    position: relative;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.bloglo-nav .children li a,
.bloglo-nav .sub-menu li a {
    font-weight: 400;
    display: block;
    padding: 1.2rem 1.62rem;
    letter-spacing: 0;
    position: relative;
}

.bloglo-nav .children li a:hover,
.bloglo-nav .sub-menu li a:hover {
    color: #000;
}

.bloglo-nav .children li:last-child a,
.bloglo-nav .sub-menu li:last-child a {
    border-bottom: none;
}

.bloglo-nav .children li.opens-left .children,
.bloglo-nav .children li.opens-left .sub-menu,
.bloglo-nav .sub-menu li.opens-left .children,
.bloglo-nav .sub-menu li.opens-left .sub-menu {
    left: auto;
    right: 100%;
    margin-left: 0;
    margin-right: 0.5rem;
}

.bloglo-nav .children li.opens-left .children:before,
.bloglo-nav .children li.opens-left .sub-menu:before,
.bloglo-nav .sub-menu li.opens-left .children:before,
.bloglo-nav .sub-menu li.opens-left .sub-menu:before {
    left: auto;
    right: -0.5rem;
}

.bloglo-nav .children li.opens-right .children,
.bloglo-nav .children li.opens-right .sub-menu,
.bloglo-nav .sub-menu li.opens-right .children,
.bloglo-nav .sub-menu li.opens-right .sub-menu {
    right: auto;
    left: 100%;
    margin-right: 0;
    margin-left: 0.5rem;
}

.bloglo-nav .children li.opens-right .children:before,
.bloglo-nav .children li.opens-right .sub-menu:before,
.bloglo-nav .sub-menu li.opens-right .children:before,
.bloglo-nav .sub-menu li.opens-right .sub-menu:before {
    left: auto;
    right: -0.5rem;
}

.bloglo-nav .children .children,
.bloglo-nav .children .sub-menu,
.bloglo-nav .sub-menu .children,
.bloglo-nav .sub-menu .sub-menu {
    border-radius: var(--bloglo-normal-radius);
    left: 100%;
    top: -0.2rem;
    margin-left: 0.5rem;
}

.bloglo-nav .children .children:before,
.bloglo-nav .children .sub-menu:before,
.bloglo-nav .sub-menu .children:before,
.bloglo-nav .sub-menu .sub-menu:before {
    content: "";
    position: absolute;
    z-index: 1;
    width: 0.5rem;
    top: 0;
    left: -0.5rem;
    height: 100%;
}

/*.bloglo-nav .children .description,
.bloglo-nav .sub-menu .description */
html body #bloglo-header-inner .bloglo-nav ul li span.description {
    display: block;
    font-size: 1.2rem;
    color: inherit;
    opacity: 0.6;
    line-height: 1.4;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
}

html body #bloglo-header-inner .bloglo-nav>ul>li>a>span>span.description {
    color: var(--bloglo-secondary);
    margin-top: -3px;
}

.bloglo-nav .menu-item-has-children.hovered>.sub-menu,
.bloglo-nav .menu-item-has-children:hover>.sub-menu,
.using-keyboard .bloglo-nav .menu-item-has-children a:focus+.sub-menu,
.bloglo-nav .page_item_has_children.hovered>.children,
.bloglo-nav .page_item_has_children:hover>.children,
.using-keyboard .bloglo-nav .page_item_has_children a:focus+.children {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    pointer-events: auto;
    z-index: 999;
}

.bloglo-nav .menu-item-has-children>a>.bloglo-icon,
.bloglo-nav .page_item_has_children>a>.bloglo-icon {
    height: 1.92rem;
    margin-left: 0.4rem;
    margin-right: 0;
}

.bloglo-nav .children .page_item_has_children>a>.bloglo-icon,
.bloglo-nav .sub-menu .menu-item-has-children>a>.bloglo-icon {
    position: absolute;
    right: 1.3rem;
    top: 45%;
    -webkit-transform: translateY(-50%) rotate(-90deg);
    -ms-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg);
}

#bloglo-header-inner .bloglo-nav>ul>.menu-item-has-children>a:after,
#bloglo-header-inner .bloglo-nav>ul>.page_item_has_children>a:after,
#bloglo-topbar .bloglo-nav>ul>.menu-item-has-children>a:after,
#bloglo-topbar .bloglo-nav>ul>.page_item_has_children>a:after {
    top: 0.24rem;
}

.bloglo-mobile-toggen {
    display: none;
}

/*****************************************/
/* Top Bar Navigation
/*****************************************/
#bloglo-topbar .bloglo-nav,
.bloglo-topbar-widget__nav {
    height: auto;
}

/*****************************************/
/* Main Navigation
/*****************************************/
#bloglo-header-inner .bloglo-nav>ul {
    min-height: 9rem;
}

#bloglo-header-inner .bloglo-nav>ul>li {
    margin-left: 2.8rem;
}

/* md > 961px || 1030px */
@media screen and (min-width: 60.063em) and (max-width: 64.375em) {
    #bloglo-header-inner .bloglo-nav>ul>li {
        margin-left: 2rem;
    }
}

#bloglo-header-inner .bloglo-nav>ul>li>a {
    font-size: inherit;
    font-weight: 500;
}

/*****************************************/
/* Copyright Bar navigation.
/*****************************************/
#bloglo-copyright .bloglo-nav>ul>li {
    margin-left: 1.6rem;
}

#bloglo-copyright .bloglo-nav>ul>li:first-child {
    margin-left: 0;
}

#bloglo-copyright .bloglo-nav .sub-menu a {
    color: #232323;
}

#bloglo-copyright .bloglo-nav>ul>li>.sub-menu {
    bottom: 100%;
}

#bloglo-copyright .bloglo-nav>ul>li>.sub-menu .sub-menu {
    bottom: 0 !important;
    margin-bottom: -1rem;
}

#bloglo-copyright .bloglo-nav>ul .sub-menu {
    top: auto !important;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    margin-bottom: 1.6rem;
    border-radius: var(--bloglo-normal-radius);
}

#bloglo-copyright .bloglo-nav>ul .sub-menu a:before {
    display: none;
}

#bloglo-copyright .bloglo-nav>ul>li.menu-item-has-children li.menu-item-has-children.hovered>.sub-menu,
#bloglo-copyright .bloglo-nav>ul>li.menu-item-has-children li.menu-item-has-children:hover>.sub-menu {
    bottom: auto;
    top: -1rem;
}

#bloglo-copyright .bloglo-nav>ul>li.menu-item-has-children>a:after {
    position: relative;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    top: 0.1rem;
}

#bloglo-copyright .bloglo-nav>ul>li.menu-item-has-children:after {
    content: "";
    position: absolute;
    width: 100%;
    left: 0;
    top: -1rem;
    height: 1rem;
}

#bloglo-copyright .bloglo-nav>ul>li>a {
    padding-top: 0;
    padding-bottom: 0;
}

/*****************************************/
/* Navigation item hover styles.
/*****************************************/

/* Underline */

.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a>span {
    padding: 0.2rem 0;
}

.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a>span,
.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a>span {
    position: relative;
}

.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li.menu-item-has-children:hover>a>span:before,
.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li.page_item_has_children:hover>a>span:before,
.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a:hover>span:before,
.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li.current-menu-item>a>span:before,
.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li.current_page_item>a>span:before,
.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:hover>a>span:before,
.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li.page_item_has_children:hover>a>span:before,
.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a:hover>span:before {
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}

/* Square Box */

.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li {
    margin-left: 0.1rem;
}

.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a {
    padding: 0.6rem 1.4rem;
}

body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a:hover,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li>a:focus,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:hover>a,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:focus>a,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current-menu-item>a,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current-menu-ancestor>a,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.page_item_has_children:hover>a,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current_page_item>a,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current_page_ancestor>a,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li>a:hover,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile).using-keyboard #bloglo-topbar .bloglo-nav>ul>li>a:focus,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.menu-item-has-children:hover>a,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.current-menu-item>a,
body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.current-menu-ancestor>a {
    background-color: var(--bloglo-primary);
    color: #fff;
}

/* Square Border */

.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li {
    margin-left: 1.5rem;
}

.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a {
    padding: 0.6rem 1.4rem;
    border: 0.1rem solid transparent;
}

.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a:hover,
.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li>a:focus,
.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:hover>a,
.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:focus>a,
.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.page_item_has_children:hover>a,
.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li>a:hover,
.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile).using-keyboard #bloglo-topbar .bloglo-nav>ul>li>a:focus,
.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.menu-item-has-children:hover>a {
    border-color: var(--bloglo-primary);
}

/* Focus Menu */

.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a {
    height: 100%;
}

.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav:hover>ul>li>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile).using-keyboard #bloglo-topbar .bloglo-nav:focus-within>ul>li>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav:hover>ul>li>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav:focus-within>ul>li>a {
    opacity: 0.35;
}

.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a:hover,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li>a:focus,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:hover>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:focus>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.page_item_has_children:hover>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li>a:hover,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile).using-keyboard #bloglo-topbar .bloglo-nav>ul>li>a:focus,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.menu-item-has-children:hover>a {
    opacity: 1;
}

.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current-menu-item>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current-menu-ancestor>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current_page_item>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current_page_ancestor>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.current-menu-item>a,
.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.current-menu-ancestor>a {
    opacity: 0.8;
}

/*****************************************/
/* Main container styles
/*****************************************/
.bloglo-sticky-sidebar {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
}

.bloglo-sticky-sidebar .bloglo-sidebar-inner {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    position: -webkit-sticky;
    position: sticky;
    top: var(--bloglo-sticky-h-offset, 2rem);
}

.bloglo-sticky-sidebar.admin-bar .bloglo-sidebar-inner {
    top: calc(var(--bloglo-sticky-h-offset, 2rem) + 32px);
}

.bloglo-sticky-last-widget #secondary .bloglo-sidebar-inner {
    height: 100%;
}

.bloglo-sticky-last-widget #secondary .bloglo-sidebar-inner>.widget:last-child {
    position: -webkit-sticky;
    position: sticky;
    top: var(--bloglo-sticky-h-offset, 2rem);
}

.bloglo-sticky-last-widget.admin-bar #secondary .bloglo-sidebar-inner>.widget:last-child {
    top: calc(var(--bloglo-sticky-h-offset, 2rem) + 32px);
}

.bloglo-no-sidebar #primary,
.bloglo-sidebar-position__no-sidebar #primary {
    width: 100%;
}

#primary,
#secondary {
    margin-top: 5rem;
    margin-bottom: 7rem;
}

.is-section-heading-init-s2 #featured_links .bloglo-featured-items .widget-title {
    margin-bottom: 2.5rem;
}

.is-section-heading-init-s1 .bloglo-featured-items .widget-title,
.is-section-heading-init-s2:not(.bloglo-sidebar-style-1) .pyml-slider-items .widget-title,
.is-section-heading-init-s1 .pyml-slider-items .widget-title,
.bloglo-sidebar-style-3:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .wp-block-search .wp-block-search__label,
.bloglo-sidebar-style-2:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .wp-block-search .wp-block-search__label,
.bloglo-sidebar-style-3:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .wp-block-heading,
.bloglo-sidebar-style-2:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .wp-block-heading,
.bloglo-sidebar-style-3:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .widget-title,
.bloglo-sidebar-style-2:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .widget-title {
    padding-bottom: 2rem;
    margin-bottom: 2.5rem;
}

.is-section-heading-init-s1 .bloglo-featured-items .widget-title::before,
.is-section-heading-init-s1 .bloglo-featured-items .widget-title::after,
.is-section-heading-init-s1 .pyml-slider-items .widget-title::before,
.is-section-heading-init-s1 .pyml-slider-items .widget-title::after,
.is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .wp-block-search .wp-block-search__label::before,
.is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .wp-block-search .wp-block-search__label::after,
.is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .wp-block-heading::before,
.is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .wp-block-heading::after,
.is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .widget-title::before,
.is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .widget-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    height: 0.2rem;
    background-color: var(--bloglo-primary);
    z-index: 1;
}

.is-section-heading-init-s1 .bloglo-featured-items .widget-title::before,
.is-section-heading-init-s1 .pyml-slider-items .widget-title::before,
.bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label::before,
.bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .wp-block-heading::before,
.bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .widget-title::before {
    width: 6rem;
    left: 0;
}

.is-section-heading-init-s1 .bloglo-featured-items .widget-title::after,
.is-section-heading-init-s1 .pyml-slider-items .widget-title::after,
.bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label::after,
.bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .wp-block-heading::after,
.bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .widget-title::after {
    width: 2rem;
    left: 7rem;
}

.bloglo-sidebar-style-3 #secondary .bloglo-widget {
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
    border-radius: var(--bloglo-normal-radius);
    margin-bottom: 2rem;
    padding: 2.5rem;
}

.bloglo-sidebar-style-3 #secondary .bloglo-widget:last-child {
    margin-bottom: 0;
}

.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-heading,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .widget-title {
    padding: 2rem 2.5rem;
    margin: -2.5rem -2.5rem 2.8rem;
}

.bloglo-sidebar-style-3.is-section-heading-init-s1 .pyml-slider-items .widget-title,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-heading,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .widget-title {
    border-bottom: 0.1rem solid rgba(190, 190, 190, 0.3);
}

.bloglo-sidebar-style-3.is-section-heading-init-s1 .pyml-slider-items .widget-title::before,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label::before,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-heading::before,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .widget-title::before {
    width: 6rem;
    left: 2.5rem;
}

.bloglo-sidebar-style-3.is-section-heading-init-s1 .pyml-slider-items .widget-title::after,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label::after,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-heading::after,
.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .widget-title::after {
    width: 2rem;
    left: 9.5rem;
}

#main {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    word-break: break-word;
}

#main>.bloglo-container {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

#main>.bloglo-container #primary {
    min-width: 0;
    min-height: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

#main>.bloglo-container #secondary {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
}

.bloglo-widget .wp-block-search .wp-block-search__label,
.bloglo-widget .wp-block-heading,
.bloglo-widget .widget-title {
    position: relative;
    overflow: hidden;
}

.bloglo-sidebar-position__left-sidebar #primary {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    padding-left: 5rem;
}

.bloglo-sidebar-position__left-sidebar #secondary {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.bloglo-sidebar-position__right-sidebar #primary {
    padding-right: 5rem;
}

/*****************************************/
/* Blog Layouts
/*****************************************/
.bloglo-blog-masonry .bloglo-article,
.bloglo-blog-horizontal .bloglo-article,
.bloglo-blog-layout-1 .bloglo-article {
    margin-bottom: 5rem;
}

.bloglo-blog-masonry .bloglo-article .bloglo-blog-entry-content>:first-child,
.bloglo-blog-horizontal .bloglo-article .bloglo-blog-entry-content>:first-child,
.bloglo-blog-layout-1 .bloglo-article .bloglo-blog-entry-content>:first-child {
    margin-top: 0 !important;
}

.bloglo-blog-masonry .bloglo-article:last-child,
.bloglo-blog-horizontal .bloglo-article:last-child,
.bloglo-blog-layout-1 .bloglo-article:last-child {
    margin-bottom: 0;
}

.bloglo-blog-masonry .bloglo-article .entry-media,
.bloglo-blog-horizontal .bloglo-article .entry-media,
.bloglo-blog-layout-1 .bloglo-article .entry-media {
    position: relative;
    -webkit-box-shadow: 0 1.6rem 3.8rem -1.2rem rgba(0, 0, 0, 0.5);
    box-shadow: 0 1.6rem 3.8rem -1.2rem rgba(0, 0, 0, 0.5);
}

.bloglo-layout__boxed-separated.bloglo-blog-masonry .bloglo-article .entry-media,
.bloglo-layout__boxed-separated.bloglo-blog-horizontal .bloglo-article .entry-media,
.bloglo-layout__boxed-separated.bloglo-blog-layout-1 .bloglo-article .entry-media {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.pyml-slide-item .pyml-slider-backgrounds a:hover .pyml-slide-bg img,
.pyml-slide-item .pyml-slider-backgrounds a:focus .pyml-slide-bg img,
.bloglo-blog-masonry .bloglo-article .entry-media:hover>a>img,
.bloglo-blog-horizontal .bloglo-article .entry-media:hover>a>img,
.bloglo-blog-layout-1 .bloglo-article .entry-media:hover>a>img,
.bloglo-blog-masonry .bloglo-article .entry-media:focus>a>img,
.bloglo-blog-horizontal .bloglo-article .entry-media:focus>a>img,
.bloglo-blog-layout-1 .bloglo-article .entry-media:focus>a>img {
    -webkit-transform: scale3d(1.1, 1.1, 1);
    transform: scale3d(1.1, 1.1, 1);
}

.bloglo-blog-masonry .bloglo-article .entry-media img,
.bloglo-blog-horizontal .bloglo-article .entry-media img,
.bloglo-blog-layout-1 .bloglo-article .entry-media img {
    margin-left: 0;
    margin-right: 0;
    display: block;
    -webkit-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;
    transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;
}

.bloglo-blog-masonry .bloglo-article .entry-summary,
.bloglo-blog-horizontal .bloglo-article .entry-summary,
.bloglo-blog-layout-1 .bloglo-article .entry-summary {
    margin: 1.6rem 0;
}

.bloglo-blog-masonry .bloglo-article .entry-footer,
.bloglo-blog-horizontal .bloglo-article .entry-footer,
.bloglo-blog-layout-1 .bloglo-article .entry-footer {
    margin-top: 1.6rem;
}

.using-keyboard.bloglo-blog-masonry .bloglo-article .entry-title:focus-within,
.using-keyboard.bloglo-blog-horizontal .bloglo-article .entry-title:focus-within,
.using-keyboard.bloglo-blog-layout-1 .bloglo-article .entry-title:focus-within {
    color: var(--bloglo-primary);
    text-decoration: underline;
}

.bloglo-blog-masonry .bloglo-article .entry-meta span:first-child,
.bloglo-blog-horizontal .bloglo-article .entry-meta span:first-child,
.bloglo-blog-layout-1 .bloglo-article .entry-meta span:first-child {
    padding-left: 0;
}

.bloglo-blog-masonry.bloglo-layout__boxed-separated .bloglo-article.format-quote,
.bloglo-blog-horizontal.bloglo-layout__boxed-separated .bloglo-article.format-quote,
.bloglo-blog-layout-1.bloglo-layout__boxed-separated .bloglo-article.format-quote {
    padding: 0;
}

.sticky .entry-title .bloglo-icon {
    opacity: 0.3;
    margin-right: 0.7rem;
}

.bloglo-blog-layout-1 .bloglo-article .entry-media {
    margin-bottom: 2.128rem;
    margin-top: 2rem;
}

.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .entry-media {
    margin: 0;
}

.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-right .entry-media {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-left: 3rem;
}

.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-left .entry-media {
    margin-right: 3rem;
}

.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .post-gallery,
.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .post-thumb {
    -ms-flex-preferred-size: 42%;
    flex-basis: 42%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    overflow: hidden;
}

.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .bloglo-entry-content-wrapper {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .post-category {
    font-weight: 500;
    font-size: 1.6rem;
    margin-bottom: 0.8rem;
}

.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .entry-meta {
    margin-top: 2.4rem;
}

.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .entry-footer {
    margin: 0.8rem 0 1.6rem 0;
}

.bloglo-hover-slider .hover-slider-item-wrapper .hover-slide-item .post-category a:nth-child(4n + 1),
.bloglo-hover-slider .hover-slider-item-wrapper:nth-child(4n + 1) .hover-slide-item .post-category a,
.bloglo-vertical-slider .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 1),
.bloglo-vertical-slider .swiper-slide:nth-child(4n + 1) .bloglo-article:not(.format-quote) .post-category .cat-links a,
.col-xs-12 .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 1),
.col-xs-12:nth-child(4n + 1) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a,
.pyml-slider-carousel .swiper-slide .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 1),
.pyml-slider-carousel .swiper-slide:nth-child(4n + 1) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a,
.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 1),
.bloglo-blog-horizontal .bloglo-article:not(.format-quote):nth-child(4n + 1) .post-category .cat-links a,
.bloglo-blog-horizontal .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 1),
.bloglo-blog-horizontal .swiper-slide:nth-child(4n + 1) .bloglo-article:not(.format-quote) .post-category .cat-links a,
.bloglo-blog-horizontal .col-xs-12 .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 1),
.bloglo-blog-horizontal .col-xs-12:nth-child(4n + 1) .bloglo-article:not(.format-quote) .post-category .cat-links a {
    background-color: #6178df;
}

.bloglo-hover-slider .hover-slider-item-wrapper .hover-slide-item .post-category a:nth-child(4n + 2),
.bloglo-hover-slider .hover-slider-item-wrapper:nth-child(4n + 2) .hover-slide-item .post-category a,
.bloglo-vertical-slider .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 2),
.bloglo-vertical-slider .swiper-slide:nth-child(4n + 2) .bloglo-article:not(.format-quote) .post-category .cat-links a,
.col-xs-12 .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 2),
.col-xs-12:nth-child(4n + 2) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a,
.pyml-slider-carousel .swiper-slide .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 2),
.pyml-slider-carousel .swiper-slide:nth-child(4n + 2) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a,
.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 2),
.bloglo-blog-horizontal .bloglo-article:not(.format-quote):nth-child(4n + 2) .post-category .cat-links a,
.bloglo-blog-horizontal .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 2),
.bloglo-blog-horizontal .swiper-slide:nth-child(4n + 2) .bloglo-article:not(.format-quote) .post-category .cat-links a,
.bloglo-blog-horizontal .col-xs-12 .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 2),
.bloglo-blog-horizontal .col-xs-12:nth-child(4n + 2) .bloglo-article:not(.format-quote) .post-category .cat-links a {
    background-color: #48aab1;
}

.bloglo-hover-slider .hover-slider-item-wrapper .hover-slide-item .post-category a:nth-child(4n + 3),
.bloglo-hover-slider .hover-slider-item-wrapper:nth-child(4n + 3) .hover-slide-item .post-category a,
.bloglo-vertical-slider .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 3),
.bloglo-vertical-slider .swiper-slide:nth-child(4n + 3) .bloglo-article:not(.format-quote) .post-category .cat-links a,
.col-xs-12 .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 3),
.col-xs-12:nth-child(4n + 3) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a,
.pyml-slider-carousel .swiper-slide .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 3),
.pyml-slider-carousel .swiper-slide:nth-child(4n + 3) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a,
.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 3),
.bloglo-blog-horizontal .bloglo-article:not(.format-quote):nth-child(4n + 3) .post-category .cat-links a,
.bloglo-blog-horizontal .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 3),
.bloglo-blog-horizontal .swiper-slide:nth-child(4n + 3) .bloglo-article:not(.format-quote) .post-category .cat-links a,
.bloglo-blog-horizontal .col-xs-12 .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 3),
.bloglo-blog-horizontal .col-xs-12:nth-child(4n + 3) .bloglo-article:not(.format-quote) .post-category .cat-links a {
    background-color: #a95edf;
}

.entry-thumb-image {
    position: relative;
    z-index: 0;
}

.bloglo-article .entry-media .entry-image-link {
    /*min-height: 26rem;*/
    background-color: rgba(0, 0, 0, 0.18);
}

.bloglo-blog-layout-1 .bloglo-article .entry-thumb-image img,
.bloglo-blog-layout-1 .bloglo-article .entry-thumb-image {
    min-height: 22.9rem;
    background-color: rgba(0, 0, 0, 0.18);
    object-fit: cover;
}

.bloglo-blog-layout-1 .bloglo-article .entry-thumb-image .entry-media {
    margin-top: 0;
}

.entry-thumb-image .post-category {
    position: absolute;
    top: 2rem;
    left: 2.3rem;
    z-index: 2;
}

/*****************************************/
/* Breadcrumbs styles.
/*****************************************/
.breadcrumbs {
    max-width: 100%;
}

.breadcrumb-trail {
    width: 100%;
}

.breadcrumb-trail .trail-items li {
    display: inline;
}

.breadcrumb-trail .trail-items li:after {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M20.954 14.487l-8.008-8.008c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l8.008-8.008a1.29 1.29 0 000-1.868z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M20.954 14.487l-8.008-8.008c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l8.008-8.008a1.29 1.29 0 000-1.868z"/></svg>');
    content: "";
    margin: 0 0.4rem;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.breadcrumb-trail .trail-items li:last-child:after {
    display: none;
}

.bloglo-breadcrumbs {
    font-size: 1.4rem;
    border-width: 0;
}

.bloglo-breadcrumbs .separator {
    margin: 0 0.3rem;
}

#page .page-header .bloglo-breadcrumbs a>span {
    color: inherit;
}

/*****************************************/
/* Pre-Footer styles.
/*****************************************/
#bloglo-pre-footer {
    position: relative;
    z-index: 2;
}

#bloglo-pre-footer .bloglo-flex-row>div:empty {
    display: none;
}

.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer {
    margin-bottom: -5rem;
}

.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row {
    position: relative;
}

.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row>div {
    position: relative;
    z-index: 3;
}

.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:after,
.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:before {
    content: "";
    position: absolute;
    top: 0;
    left: 1.5rem;
    right: 1.5rem;
    height: 100%;
    z-index: 1;
    border-radius: var(--bloglo-normal-radius);
}

.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:before {
    border-width: 0;
    z-index: 2;
}

.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:after {
    -webkit-box-shadow: 0 0 3rem rgba(0, 0, 0, 0.22);
    box-shadow: 0 0 3rem rgba(0, 0, 0, 0.22);
}

.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row {
    padding: 5rem 7rem;
}

.bloglo-pre-footer-cta-style-1 #colophon {
    padding-top: 5rem;
}

.bloglo-pre-footer-cta-style-1.bloglo-pre-footer-no-margin #bloglo-pre-footer {
    margin-bottom: 5rem;
}

.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer .bloglo-flex-row {
    padding-top: 5rem;
    padding-bottom: 5rem;
    position: relative;
    z-index: 3;
}

.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer:after,
.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer:before {
    content: "";
    z-index: 1;
}

.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer:before {
    border-width: 0;
    z-index: 2;
}

/*****************************************/
/* Footer layout styles
/*****************************************/
#colophon a:before {
    bottom: -0.2rem !important;
}

#colophon #bloglo-copyright a:before,
#bloglo-copyright a>span:before {
    bottom: -0.1rem !important;
}

#colophon {
    --elementBorderColor: rgba(255, 255, 255, 0.15);
    position: relative;
    z-index: 1;
}

#colophon:after {
    content: "";
    z-index: 1;
    pointer-events: none;
}

#colophon .widget-title {
    margin-bottom: 2rem;
}

#colophon>* {
    position: relative;
    z-index: 2;
}

.site-footer a {
    color: inherit;
}

#bloglo-footer .bloglo-flex-row {
    margin-top: 0;
    margin-bottom: 0;
}

#bloglo-footer .bloglo-footer-column {
    padding-top: 7rem;
    padding-bottom: 7rem;
}

#bloglo-footer .bloglo-footer-column .bloglo-widget {
    margin-bottom: 4rem;
}

#bloglo-footer .no-widget-text,
#bloglo-footer .bloglo-footer-column .bloglo-widget:last-child {
    margin-bottom: 0;
}

#colophon,
#bloglo-footer {
    border-width: 0;
}

#page #bloglo-footer .center-text .title-shape {
    right: 0;
    margin: 0 auto;
}

/*****************************************/
/* Copyright styles
/*****************************************/
#bloglo-copyright .bloglo-flex-row>div:empty {
    display: none;
}

#bloglo-copyright.fw-separator {
    border-top-width: 0.1rem;
    border-top-style: solid;
}

#bloglo-copyright.contained-separator {
    border-top: none;
}

#bloglo-copyright.contained-separator>.bloglo-container:before {
    content: "";
    display: block;
    height: 0.1rem;
    position: absolute;
    top: 0;
    left: 5rem;
    right: 5rem;
}

#bloglo-copyright>.bloglo-container {
    position: relative;
}

#bloglo-copyright>.bloglo-container>.bloglo-flex-row {
    padding-top: 1.9rem;
    padding-bottom: 1.9rem;
    position: relative;
    margin-bottom: 0;
}

#bloglo-copyright>.bloglo-container>.bloglo-flex-row>div {
    width: auto;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
}

#bloglo-copyright .bloglo-copyright-widget {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: inherit;
    -ms-flex-pack: inherit;
    justify-content: inherit;
    padding-left: 2rem;
    padding-right: 2rem;
}

#bloglo-copyright .bloglo-copyright-widget:first-child {
    padding-left: 0;
    border-left: 0;
}

#bloglo-copyright .bloglo-copyright-widget:last-child {
    padding-right: 0;
    border-right: 0 !important;
}

#bloglo-copyright .bloglo-copyright-widget:last-child:after {
    display: none !important;
}

#bloglo-copyright .bloglo-copyright-widget .bloglo-nav {
    -webkit-box-pack: inherit;
    -ms-flex-pack: inherit;
    justify-content: inherit;
    max-width: 100%;
}

#bloglo-copyright .bloglo-copyright-widget .bloglo-nav>ul {
    -webkit-box-pack: inherit;
    -ms-flex-pack: inherit;
    justify-content: inherit;
}

#bloglo-copyright .bloglo-social-nav>ul>li>a .bloglo-icon {
    font-size: 1.722rem;
}

.bloglo-copyright-layout-1 #bloglo-copyright>.bloglo-container>.bloglo-flex-row>div {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bloglo-copyright-layout-1 .bloglo-copyright-widget__text {
    text-align: center;
}

/*****************************************/
/* Scroll to Top styles.
/*****************************************/
#bloglo-scroll-top {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: fixed;
    bottom: 2.5rem;
    right: 2rem;
    z-index: 997;
    width: 4rem;
    height: 4rem;
    opacity: 0;
    -webkit-transform: translate3d(0, 3rem, 0);
    transform: translate3d(0, 3rem, 0);
    -webkit-transition: opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}

#bloglo-scroll-top.bloglo-visible {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

#bloglo-scroll-top .bloglo-scroll-icon {
    overflow: hidden;
    z-index: 2;
}

#bloglo-scroll-top .bloglo-icon {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 2rem;
    color: var(--bloglo-white);
    -webkit-transform: translateY(1.1rem);
    -ms-transform: translateY(1.1rem);
    transform: translateY(1.1rem);
    -webkit-transition: -webkit-transform 0.35s ease-out;
    transition: -webkit-transform 0.35s ease-out;
    transition: transform 0.35s ease-out;
    transition: transform 0.35s ease-out, -webkit-transform 0.35s ease-out;
}

#bloglo-scroll-top .bloglo-icon.top-icon {
    -webkit-transform: translate(0, 5.2rem);
    -ms-transform: translate(0, 5.2rem);
    transform: translate(0, 5.2rem);
}

#bloglo-scroll-top:before {
    content: "";
    z-index: 1;
    border-radius: 10rem;
    background-color: var(--bloglo-primary);
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
}

#bloglo-scroll-top:hover {
    cursor: pointer;
}

#bloglo-scroll-top:hover:before {
    background-color: var(--bloglo-white);
    box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.22);
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

#bloglo-scroll-top:hover .bloglo-icon {
    -webkit-transform: translate(0, -5.2rem);
    -ms-transform: translate(0, -5.2rem);
    transform: translate(0, -5.2rem);
}

#bloglo-scroll-top:hover .bloglo-icon.top-icon {
    -webkit-transform: translate(0, 1.1rem);
    -ms-transform: translate(0, 1.1rem);
    transform: translate(0, 1.1rem);
}

#bloglo-scroll-top .bloglo-animated-arrow {
    position: relative;
    z-index: 2;
}

#bloglo-scroll-top svg {
    fill: var(--bloglo-white);
}

#bloglo-scroll-top:hover svg {
    fill: var(--bloglo-primary);
}

/*****************************************/
/* Pagination navigation.
/*****************************************/
.infinite-scroll .bloglo-pagination {
    display: none;
}

.bloglo-pagination {
    margin: 5rem 0 0;
}

.woocommerce .nav-links,
.navigation {
    display: block;
    text-align: center;
}

.page-links,
.site-content .page-links {
    margin: 4rem 0;
    text-align: center;
}

.page-links em,
.site-content .page-links em {
    font-size: 1.2rem;
    font-style: normal;
    margin-right: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 0.256rem;
}

.navigation .nav-links .bloglo-animate-arrow,
.navigation .nav-links .page-numbers:not(.prev, .next),
.page-links span,
.page-links a {
    width: 4.4rem;
    height: 4.4rem;
    text-decoration: none;
}

.navigation .nav-links .bloglo-animate-arrow,
.navigation .nav-links .page-numbers,
.page-links span {
    text-transform: uppercase;
    -js-display: inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.4rem;
    vertical-align: middle;
    font-weight: 600;
    text-align: center;
    vertical-align: middle;
    color: inherit;
    border-radius: var(--bloglo-full-radius);
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
}

.navigation .nav-links .bloglo-animate-arrow,
.navigation .nav-links .page-numbers,
.page-links>span {
    background-color: var(--bloglo-white);
}

.navigation .nav-links .bloglo-animate-arrow,
.navigation .nav-links .page-numbers:not(.prev, .next),
.page-links a span {
    border: 0.2rem solid rgba(190, 190, 190, 0.3);
}

.navigation .nav-links .next.page-numbers {
    margin-left: 1rem;
}

.navigation .nav-links .prev.page-numbers {
    margin-right: 1rem;
}

.navigation .nav-links .bloglo-animate-arrow svg {
    width: 2rem;
    position: relative;
    vertical-align: middle;
    -webkit-transition: color .35s ease-in-out, background-color .35s ease-in-out, border-color .35s ease-in-out, box-shadow .35s ease-in-out;
    transition: color .35s ease-in-out, background-color .35s ease-in-out, border-color .35s ease-in-out, box-shadow .35s ease-in-out;
}

.navigation .nav-links .page-numbers.dots {
    pointer-events: none;
    opacity: 0.8;
}

.page-links>span,
.site-content .page-links>span,
.navigation .nav-links .page-numbers.current {
    pointer-events: none;
    cursor: default;
    margin: 0;
}

.navigation .nav-links .page-numbers.prev {
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.navigation .nav-links .page-numbers.next {
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.navigation .nav-links .page-numbers.next i,
.navigation .nav-links .page-numbers.prev i {
    font-size: 1.8rem;
}

.navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow,
.using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow,
.navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow,
.using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow {
    cursor: pointer;
}

.navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow .arrow-handle,
.using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow .arrow-handle,
.navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow .arrow-handle,
.using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow .arrow-handle {
    transform: translateX(0);
}

.navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow .arrow-bar,
.using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow .arrow-bar,
.navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow .arrow-bar,
.using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow .arrow-bar {
    transform: scaleX(1);
}

.comments-pagination {
    margin: 4rem 0 0;
}

.comments-pagination .next,
.comments-pagination .prev {
    display: none !important;
}

.content-area .page-links a,
.content-area .site-content .page-links a {
    color: inherit;
}

.navigation .nav-links .page-numbers:hover svg,
.using-keyboard .navigation .nav-links .page-numbers:focus svg {
    fill: var(--bloglo-white);
}

.navigation .nav-links .page-numbers:hover button,
.using-keyboard .navigation .nav-links .page-numbers:focus button,
.navigation .nav-links .page-numbers:not(.prev, .next).current,
.navigation .nav-links .page-numbers:not(.prev, .next):hover,
.using-keyboard .navigation .nav-links .page-numbers:not(.prev, .next):focus,
.page-links a:hover span,
.using-keyboard .page-links a:focus span,
.page-links>span {
    color: var(--bloglo-white);
    background-color: var(--bloglo-primary);
    border-color: var(--bloglo-primary);
}

/*****************************************/
/* Widget styles.
/*****************************************/
#page .bloglo-widget .gallery,
.widget.bloglo-entry .textwidget>p:first-child {
    margin-top: 0;
}

.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul,
.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ol {
    list-style: none;
    margin-left: 0;
    margin-right: 0;
}

.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul ul,
.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul ol,
.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ol ul,
.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ol ol {
    margin: 1.6rem 0 1.6rem 1.968rem;
}

.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul ul:last-child,
.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul ol:last-child,
.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ol ul:last-child,
.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ol ol:last-child {
    margin-bottom: 0;
}

.bloglo-widget.widget_text ul,
.bloglo-widget.widget_text ol {
    margin: 1.6rem 0 1.6rem 1.968rem;
}

.bloglo-widget.widget_text ul:last-child,
.bloglo-widget.widget_text ol:last-child {
    margin-bottom: 0;
}

.bloglo-widget.widget_text>ul:first-child,
.bloglo-widget.widget_text>ol:first-child {
    margin-top: 0;
}

.bloglo-sidebar-container .widget.bloglo-widget .wp-block-social-links .wp-social-link {
    padding-top: 0;
    margin-bottom: 0;
}

#main .bloglo-widget {
    margin-bottom: 4rem;
}

#main .bloglo-widget .no-widget-text,
#main .bloglo-widget:last-child {
    margin-bottom: 0;
}

.widget-title,
.wp-block-heading,
.wp-block-search .wp-block-search__label {
    margin-top: 0;
    position: relative;
    display: block;
    margin-bottom: 1.8rem;
}

.wp-block-search .wp-block-search__label {
    line-height: 1.2;
}

#colophon .widget-title {
    color: var(--bloglo-white);
}

.tagcloud a,
.wp-block-tag-cloud a {
    font-size: 1.3rem !important;
}

.widget .tagcloud,
.widget .wp-block-tag-cloud {
    margin-top: -0.8rem;
}

.widget .wp-block-archives select,
.widget .wp-block-categories select,
.widget.widget_archive select,
.widget.widget_categories select {
    width: 100%;
}

.widget .wp-block-archives ul.children>li>a,
.widget .wp-block-categories ul.children>li>a,
.widget.widget_archive ul.children>li>a,
.widget.widget_categories ul.children>li>a {
    padding-right: 4.4rem;
}

.widget ol,
.widget ul {
    line-height: 1.5;
}

.widget ol:last-child,
.widget ul:last-child {
    margin-bottom: 0;
}

.widget ol li,
.widget ul:not(.wp-block-social-links) li {
    margin-bottom: 1rem;
}

.widget ol li:last-child,
.widget ul:not(.wp-block-social-links) li:last-child {
    margin-bottom: 0;
}

.widget ol li.current_page_item>a,
.widget ul li.current_page_item>a {
    font-weight: 600;
}

.widget ol.children,
.widget ol.sub-menu,
.widget ul.children,
.widget ul.sub-menu {
    margin: 1.2rem 0 0 3.2rem;
}

.widget ol.children ul ul ul ul,
.widget ol.sub-menu ul ul ul ul,
.widget ul.children ul ul ul ul,
.widget ul.sub-menu ul ul ul ul {
    margin-left: 0;
}

.widget ol.children>li>a,
.widget ol.sub-menu>li>a,
.widget ul.children>li>a,
.widget ul.sub-menu>li>a,
.widget ul.submenu-container>li>a {
    position: relative;
}

.widget ol.children>li>a:after,
.widget ol.sub-menu>li>a:after,
.widget ul.children>li>a:after,
.widget ul.sub-menu>li>a:after,
.widget ul.submenu-container>li>a:after {
    position: absolute;
    top: 0;
    left: -0.8rem;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    content: "\2014";
    display: inline-block;
    line-height: 1.3;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 0.4;
}

.widget.bloglo-entry p {
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
}

.widget.bloglo-entry p:last-child {
    margin-bottom: 0;
}

.widget .wp-block-archives li,
.widget .wp-block-categories li,
.widget.widget_archive li,
.widget.widget_categories li {
    display: block;
    position: relative;
}

.widget .wp-block-archives li a,
.widget .wp-block-categories li a,
.widget.widget_archive li a,
.widget.widget_categories li a {
    display: block;
}

.widget.widget_block li a,
.widget.widget_meta li a,
.widget.widget_pages li a,
.widget.widget_nav_menu li a,
.widget.widget_archive li a,
.widget.widget_categories li a {
    position: relative;
    z-index: 0;
}

.widget_block ul:not(.submenu-container, .wp-block-social-links, .wp-block-latest-posts__list)>li>a::before,
.widget.widget_archive ul:not(.children)>li>a::before,
.widget.widget_categories ul:not(.children)>li>a::before,
.widget.widget.widget_pages ul:not(.sub-menu)>li>a::before,
.widget.widget_nav_menu ul:not(.sub-menu)>li>a::before {
    content: "";
    width: 0;
    height: 0.8rem;
    display: inline-block;
    vertical-align: middle;
    margin-top: -0.2rem;
    border-radius: var(--bloglo-full-radius);
    opacity: 0;
    visibility: hidden;
    background-color: var(--bloglo-primary);
    -webkit-transform: translateX(-1.6rem);
    transform: translateX(-1.6rem);
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
}

.widget.widget_block ul:not(.submenu-container, .wp-block-social-links, .wp-block-latest-posts__list)>li>a:hover::before,
.using-keyboard .widget.widget_block ul:not(.submenu-container, .wp-block-social-links, .wp-block-latest-posts__list)>li>a:focus::before,
.widget.widget_archive ul:not(.children)>li>a:hover::before,
.using-keyboard .widget.widget_archive ul:not(.children)>li>a:focus::before,
.widget.widget_categories ul:not(.children)>li>a:hover::before,
.using-keyboard .widget.widget_categories ul:not(.children)>li>a:focus::before,
.widget.widget.widget_pages ul:not(.sub-menu)>li>a:hover::before,
.using-keyboard .widget.widget.widget_pages ul:not(.sub-menu)>li>a:focus::before,
.widget.widget_nav_menu ul:not(.sub-menu)>li>a:hover::before,
.using-keyboard .widget.widget_nav_menu ul:not(.sub-menu)>li>a:focus::before {
    opacity: 1;
    visibility: visible;
    margin-right: 1.2rem;
    width: 0.8rem;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.widget .wp-block-archives ul.children>li>a::before,
.widget .wp-block-categories ul.children>li>a::before {
    display: none;
}

.bloglo-sidebar-container .widget ul:not(.bloglo-socials-menu)>li:not(:first-child) {
    padding-top: 1rem;
    border-top: 0.1rem solid rgba(190, 190, 190, 0.3);
}

.bloglo-sidebar-container .widget:not(.woocommerce) ul:not(.bloglo-socials-menu)>li:not(:first-child) span {
    top: 1.15rem;
}

.bloglo-sidebar-container .widget ul>:not(.bloglo-socials-menu, .children, .submenu-container) li,
.bloglo-sidebar-container .widget ul>:not(.bloglo-socials-menu, .sub-menu, .submenu-container) li {
    padding: 0;
    border: 0;
}

.widget .wp-block-archives li a:hover+span,
.widget .wp-block-categories li a:hover+span,
.widget.widget_archive li a:hover+span,
.widget.widget_categories li a:hover+span {
    color: var(--bloglo-white);
}

.widget .wp-block-archives li.current-cat a,
.widget .wp-block-categories li.current-cat a,
.widget.widget_archive li.current-cat a,
.widget.widget_categories li.current-cat a {
    font-weight: 600;
}

.widget .wp-block-archives li.current-cat a+span,
.widget .wp-block-categories li.current-cat a+span,
.widget.widget_archive li.current-cat a+span,
.widget.widget_categories li.current-cat a+span {
    color: var(--bloglo-white);
}

.widget .wp-block-archives li>span,
.widget .wp-block-categories li>span,
.widget.widget_archive li>span,
.widget.widget_categories li>span {
    font-style: normal;
    margin-left: auto;
    -js-display: inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    position: absolute;
    right: 0;
    top: 0.3rem;
    background-color: rgba(145, 145, 145, 0.1);
    min-width: 2.4rem;
    min-height: 2.4rem;
    padding: 0.5rem 0.8rem;
    border-radius: 4rem;
    line-height: 1;
    font-size: 1.386rem;
    font-weight: 400;
    pointer-events: none;
}

.widget.widget_archive li a,
.widget.widget_media_image img {
    display: inline-block;
}

.widget.widget_recent_comments li {
    margin-bottom: 1.6rem;
}

.widget.widget_recent_comments li:last-child {
    margin-bottom: 0;
}

.widget.widget_recent_entries a {
    display: block;
}

.widget.widget_recent_entries span {
    font-size: 1.3rem;
}

.widget.widget_recent_entries>ul>li {
    margin-bottom: 2rem;
}

.widget.widget_recent_entries>ul>li>a {
    margin-bottom: 0.6rem;
    font-weight: 600;
}

.widget.widget_recent_entries .post-date {
    -js-display: inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.widget.widget_recent_entries .post-date:before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm5.872-10.544L17.35 14.62V7.413c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.008c0 .534.267.934.801 1.201l5.339 2.669c.133.133.267.133.534.133.534 0 .934-.267 1.201-.801s0-1.335-.667-1.735z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm5.872-10.544L17.35 14.62V7.413c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.008c0 .534.267.934.801 1.201l5.339 2.669c.133.133.267.133.534.133.534 0 .934-.267 1.201-.801s0-1.335-.667-1.735z"/></svg>');
    content: "";
    margin-right: 0.6rem;
}

.wp-block-calendar table:not(.variations):not(.shop_table).wp-calendar-table {
    margin-top: 0;
    margin-bottom: 0;
}

.wp-block-calendar table:not(.variations):not(.shop_table).wp-calendar-table caption {
    font-size: 1.4rem;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    font-weight: 500;
    caption-side: top;
    padding: 1.5rem;
    background-color: var(--bloglo-white);
    color: inherit;
    border-width: 0;
    border-style: solid;
    border-color: var(--bloglo-gray-light);
    border-left-width: 0.1rem;
    border-right-width: 0.1rem;
    border-top-width: 0.3rem;
    border-top-color: var(--bloglo-primary);
}

.wp-block-calendar table:not(.variations):not(.shop_table).wp-calendar-table #today {
    font-weight: 700;
}

.wp-block-calendar a {
    font-weight: 500;
}

.wp-block-calendar #today,
.wp-block-calendar a:hover,
.using-keyboard .wp-block-calendar a:focus {
    color: var(--bloglo-primary);
}

.wp-calendar-nav {
    font-size: 1.3rem;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    letter-spacing: 0.05rem;
    background-color: rgba(190, 190, 190, 0.05);
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
    border-top: 0;
}

.widget.widget_meta ul li:before,
.widget.widget_icon_list ul li:before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.362 14.087h-5.339c-.534 0-1.068.4-1.201.934l-2.803 8.141-6.807-20.153c-.133-.534-.667-.934-1.201-.934s-1.068.4-1.201.934L7.073 14.086H2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.534 0 1.068-.4 1.201-.934l2.803-8.141 6.807 20.286c.133.534.667.934 1.201.934s1.068-.4 1.201-.934l3.737-11.077h4.404c.801 0 1.335-.534 1.335-1.335s-.534-1.468-1.335-1.468z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.362 14.087h-5.339c-.534 0-1.068.4-1.201.934l-2.803 8.141-6.807-20.153c-.133-.534-.667-.934-1.201-.934s-1.068.4-1.201.934L7.073 14.086H2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.534 0 1.068-.4 1.201-.934l2.803-8.141 6.807 20.286c.133.534.667.934 1.201.934s1.068-.4 1.201-.934l3.737-11.077h4.404c.801 0 1.335-.534 1.335-1.335s-.534-1.468-1.335-1.468z"/></svg>');
    content: "";
    display: inline-block;
    margin-right: 0.7rem;
    width: 2rem;
    vertical-align: text-bottom;
}

.widget.widget_icon_list ul li a:before,
.widget.widget_meta ul li a:before {
    bottom: -0.2rem;
}

.widget.widget_meta ul li:first-child:before,
.widget.widget_icon_list ul li:first-child:before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.358 2.075h-5.339c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.801 0 1.335.534 1.335 1.335v18.685c0 .801-.534 1.335-1.335 1.335h-5.339c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c2.269 0 4.004-1.735 4.004-4.004V6.081c0-2.269-1.735-4.004-4.004-4.004zm-4.137 13.88c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H4.004c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.358 2.075h-5.339c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.801 0 1.335.534 1.335 1.335v18.685c0 .801-.534 1.335-1.335 1.335h-5.339c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c2.269 0 4.004-1.735 4.004-4.004V6.081c0-2.269-1.735-4.004-4.004-4.004zm-4.137 13.88c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H4.004c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');
}

.widget.widget_meta ul li:nth-child(2):before,
.widget.widget_icon_list ul li:nth-child(2):before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M12.012 26.098H6.673c-.801 0-1.335-.534-1.335-1.335V6.078c0-.801.534-1.335 1.335-1.335h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.673c-2.269 0-4.004 1.735-4.004 4.004v18.685c0 2.269 1.735 4.004 4.004 4.004h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm17.217-10.143c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H12.012c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M12.012 26.098H6.673c-.801 0-1.335-.534-1.335-1.335V6.078c0-.801.534-1.335 1.335-1.335h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.673c-2.269 0-4.004 1.735-4.004 4.004v18.685c0 2.269 1.735 4.004 4.004 4.004h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm17.217-10.143c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H12.012c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');
}

.widget.widget_meta ul li:nth-child(3):before,
.widget.widget_icon_list ul li:nth-child(3):before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M27.894 9.549c-.133-.133-.133-.267-.267-.4l-8.008-8.008c-.133-.133-.267-.267-.4-.267-.133-.133-.4-.133-.534-.133H8.008c-2.269 0-4.004 1.735-4.004 4.004v21.354c0 2.269 1.735 4.004 4.004 4.004h16.016c2.269 0 4.004-1.735 4.004-4.004V10.083c0-.133 0-.4-.133-.534zM20.02 5.278l3.47 3.47h-3.47v-3.47zm4.003 22.155H8.007c-.801 0-1.335-.534-1.335-1.335V4.744c0-.801.534-1.335 1.335-1.335h9.342v6.673c0 .801.534 1.335 1.335 1.335h6.673v14.681c0 .801-.534 1.335-1.335 1.335zm-2.669-12.012H10.677c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h10.677c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm0 5.339H10.677c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h10.677c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm-10.677-8.008h2.669c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335h-2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M27.894 9.549c-.133-.133-.133-.267-.267-.4l-8.008-8.008c-.133-.133-.267-.267-.4-.267-.133-.133-.4-.133-.534-.133H8.008c-2.269 0-4.004 1.735-4.004 4.004v21.354c0 2.269 1.735 4.004 4.004 4.004h16.016c2.269 0 4.004-1.735 4.004-4.004V10.083c0-.133 0-.4-.133-.534zM20.02 5.278l3.47 3.47h-3.47v-3.47zm4.003 22.155H8.007c-.801 0-1.335-.534-1.335-1.335V4.744c0-.801.534-1.335 1.335-1.335h9.342v6.673c0 .801.534 1.335 1.335 1.335h6.673v14.681c0 .801-.534 1.335-1.335 1.335zm-2.669-12.012H10.677c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h10.677c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm0 5.339H10.677c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h10.677c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm-10.677-8.008h2.669c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335h-2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335z"/></svg>');
}

.widget.widget_meta ul li:nth-child(4):before,
.widget.widget_icon_list ul li:nth-child(4):before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.358 2.075H6.673c-2.269 0-4.004 1.735-4.004 4.004v21.354c0 .534.267 1.068.801 1.201.133.133.4.133.534.133.4 0 .667-.133.934-.4l4.938-4.938h15.482c2.269 0 4.004-1.735 4.004-4.004V6.079c0-2.269-1.735-4.004-4.004-4.004zm1.335 17.35c0 .801-.534 1.335-1.335 1.335H9.342c-.4 0-.667.133-.934.4l-3.07 3.07V6.079c0-.801.534-1.335 1.335-1.335h18.685c.801 0 1.335.534 1.335 1.335v13.346z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.358 2.075H6.673c-2.269 0-4.004 1.735-4.004 4.004v21.354c0 .534.267 1.068.801 1.201.133.133.4.133.534.133.4 0 .667-.133.934-.4l4.938-4.938h15.482c2.269 0 4.004-1.735 4.004-4.004V6.079c0-2.269-1.735-4.004-4.004-4.004zm1.335 17.35c0 .801-.534 1.335-1.335 1.335H9.342c-.4 0-.667.133-.934.4l-3.07 3.07V6.079c0-.801.534-1.335 1.335-1.335h18.685c.801 0 1.335.534 1.335 1.335v13.346z"/></svg>');
}

.widget.widget_meta ul li:nth-child(5):before,
.widget.widget_icon_list ul li:nth-child(5):before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.023 15.421c-.801 0-1.335.534-1.335 1.335v8.008c0 .801-.534 1.335-1.335 1.335H6.672c-.801 0-1.335-.534-1.335-1.335V10.083c0-.801.534-1.335 1.335-1.335h8.008c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.672c-2.269 0-4.004 1.735-4.004 4.004v14.681c0 2.269 1.735 4.004 4.004 4.004h14.681c2.269 0 4.004-1.735 4.004-4.004v-8.008c0-.801-.534-1.335-1.335-1.335zm5.206-12.545a1.6 1.6 0 00-.667-.667c-.133-.133-.4-.133-.534-.133H20.02c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h4.805L12.413 17.158a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4L26.693 6.614v4.805c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335V3.411c0-.133 0-.4-.133-.534z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.023 15.421c-.801 0-1.335.534-1.335 1.335v8.008c0 .801-.534 1.335-1.335 1.335H6.672c-.801 0-1.335-.534-1.335-1.335V10.083c0-.801.534-1.335 1.335-1.335h8.008c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.672c-2.269 0-4.004 1.735-4.004 4.004v14.681c0 2.269 1.735 4.004 4.004 4.004h14.681c2.269 0 4.004-1.735 4.004-4.004v-8.008c0-.801-.534-1.335-1.335-1.335zm5.206-12.545a1.6 1.6 0 00-.667-.667c-.133-.133-.4-.133-.534-.133H20.02c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h4.805L12.413 17.158a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4L26.693 6.614v4.805c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335V3.411c0-.133 0-.4-.133-.534z"/></svg>');
}

.bloglo-sidebar-style-3 #secondary .hester-core-social-links-widget {
    padding-bottom: 1.5rem;
}

/*****************************************/
/* 404 page styles.
/*****************************************/
#page .error-404 .page-header h1.page-title {
    font-size: 30rem;
    letter-spacing: -0.08em;
    font-weight: 700;
    line-height: 1;
    color: var(--bloglo-primary);
}

.error-404 {
    max-width: 60rem;
    margin: -2rem auto 0 auto;
    padding: 2rem 0 0 0;
}

.error-404 .page-header {
    background: none;
    border: none;
    position: relative;
}

.error-404 .page-header:after {
    display: none;
}

.error-404 .page-header h1 {
    position: relative;
    opacity: 0.05;
    z-index: 1;
}

.error-404 .page-header p {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -10%);
    -ms-transform: translate(-50%, -10%);
    transform: translate(-50%, -10%);
    z-index: 2;
    line-height: 1;
}

.error-404 .page-content p {
    font-size: 1.6rem;
    max-width: 38rem;
    margin: 4rem auto;
}

.error-404 .page-content .bloglo-btn {
    margin: 5rem 0 0 0;
}

.error-404 input[type="search"] {
    padding-top: 1.3rem;
    padding-bottom: 1.3rem;
}

.error404 #main>.bloglo-container {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.error404 #content {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    text-align: center;
}

/*****************************************/
/* Entry styles.
/*****************************************/
/* Content links */
.comment-content>:first-child,
.bloglo-entry>:first-child,
.wp-block-column>:first-child,
.wp-block-cover>:first-child,
.wp-block-cover__inner-container>:first-child,
.wp-block-group__inner-container>:first-child {
    margin-top: 0;
}

.comment-content>:last-child,
.bloglo-entry>:last-child,
.wp-block-column>:last-child,
.wp-block-cover>:last-child,
.wp-block-cover__inner-container>:last-child,
.wp-block-group__inner-container>:last-child {
    margin-bottom: 0;
}

.bloglo-entry>.alignfull:first-child {
    margin-top: 0;
}

.bloglo-entry>.alignfull:last-child,
.wp-block-cover__inner-container>:first-child:last-child,
.wp-block-group__inner-container>:first-child:last-child {
    margin-bottom: 0;
}

.entry-content ol li,
.entry-content ul:not(.wp-block-latest-posts) li {
    margin-bottom: 0.64rem;
}

.entry-content .tablepress {
    word-break: normal;
}

.bloglo-entry ul:not(.wp-block-latest-posts) {
    list-style: disc;
}

.bloglo-entry ul ul {
    list-style: circle;
}

.bloglo-entry ol,
.bloglo-entry ul:not(.wp-block-latest-posts) {
    margin-left: 4rem;
}

.bloglo-entry ol li:not(.blocks-gallery-item):last-child,
.bloglo-entry ul:not(.wp-block-social-links) li:not(.blocks-gallery-item):last-child {
    margin-bottom: 0;
}

.bloglo-entry ol ol,
.bloglo-entry ol ul,
.bloglo-entry ul ol,
.bloglo-entry ul ul {
    margin-top: 0.64rem;
    margin-bottom: 0;
}

.bloglo-entry ol,
.bloglo-entry ul:not(.wp-block-latest-posts) {
    margin-bottom: 2rem;
    margin-top: 2rem;
}

.bloglo-entry .gallery,
.bloglo-entry blockquote,
.bloglo-entry dl,
.bloglo-entry p,
.bloglo-entry pre,
.bloglo-entry table {
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}

.bloglo-entry .wp-block-post-template {
    margin: 0;
    list-style: none;
}

.bloglo-entry ul.bloglo-socials-menu {
    margin-top: 0;
}

.bloglo-entry .wp-block-image figure.alignleft,
.bloglo-entry .wp-block-image figure.alignright {
    display: table;
}

.bloglo-entry .wp-block-image figure.alignleft figcaption,
.bloglo-entry .wp-block-image figure.alignright figcaption {
    display: table-caption;
    caption-side: bottom;
}

.bloglo-entry figure {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.bloglo-entry figure.wp-block-gallery {
    margin-bottom: calc(2rem - 16px);
}

.bloglo-entry .wp-block-embed figcaption,
.bloglo-entry .wp-block-image figcaption {
    margin-top: 1.2rem;
    margin-bottom: 0;
    font-size: 1.3rem;
}

.bloglo-entry cite {
    font-style: normal;
    color: #66717f;
    font-size: 1.4rem;
}

.bloglo-entry .twitter-tweet {
    -js-display: flex !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100% !important;
    margin-top: 0 !important;
    margin-top: 0 !important;
}

.bloglo-entry .post-password-form {
    text-align: center;
}

.bloglo-entry .wp-block-gallery.aligncenter {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#page ul.blocks-gallery-grid {
    margin: 0;
}

.post_format-post-format-quote .bloglo-blog-entry-content {
    position: relative;
    border-radius: var(--bloglo-normal-radius);
    overflow: hidden;
}

.post_format-post-format-quote .bloglo-blog-entry-content:hover .quote-post-bg,
.post_format-post-format-quote .bloglo-blog-entry-content:hover .quote-post-bg:after {
    opacity: 1;
}

.post_format-post-format-quote .bloglo-blog-entry-content .entry-content h3 {
    line-height: 1.4;
    color: #fff;
}

.post_format-post-format-quote .bloglo-blog-entry-content .entry-content a {
    color: var(--bloglo-white);
}

.post_format-post-format-quote .bloglo-blog-entry-content .entry-content .quote-link {
    z-index: 3;
}

.post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg {
    display: block;
    z-index: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-size: cover;
    opacity: 0.88;
}

.post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg:after {
    content: "";
    background-color: #232323;
    opacity: 0.8795;
}

.post_format-post-format-quote .bloglo-blog-entry-content .quote-inner {
    position: relative;
    text-align: left;
    padding: 10% 12%;
    overflow: hidden;
    z-index: 2;
}

.post_format-post-format-quote .bloglo-blog-entry-content .quote-inner .author {
    margin-top: 1.6rem;
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
}

.post_format-post-format-quote .bloglo-blog-entry-content .quote-inner .author:before {
    content: "\2014";
    display: inline-block;
    margin-right: 0.6rem;
}

.post_format-post-format-quote .bloglo-blog-entry-content .bloglo-icon.icon-quote {
    position: relative;
    width: 2.2rem;
    height: 2.2rem;
    margin-bottom: 2.5rem;
    z-index: 2;
    fill: #fff;
}

/* Post Format Gallery */

.bloglo-post-gallery .swiper-slide img {
    width: 100%;
    height: auto;
}

.bloglo-post-gallery .swiper-button-prev,
.bloglo-post-gallery .swiper-button-next {
    width: 4rem;
    height: 4rem;
}

.horizontal-slider-items.swiper .bloglo-post-gallery .swiper-button-prev,
.horizontal-slider-items.swiper .bloglo-post-gallery .swiper-button-next {
    display: none;
}

.bloglo-post-gallery.swiper-horizontal .swiper-pagination {
    bottom: 1.5rem;
}

.bloglo-post-gallery .swiper-pagination .swiper-pagination-bullet {
    cursor: pointer;
    width: 0.9rem;
    height: 0.9rem;
}

.bloglo-post-gallery .swiper-pagination .swiper-pagination-bullet-active {
    background: var(--bloglo-primary);
}

/* // */

.bloglo-post-audio-wrapper audio {
    width: 100%;
}

.author-avatar img {
    border-radius: var(--bloglo-full-radius);
    width: 3rem;
    vertical-align: middle;
    margin-right: 0.8rem;
    display: inline-block;
}

#main .wp-block-file__button {
    color: var(--bloglo-white);
}

#main .content-area .entry-meta a {
    color: inherit;
}

.entry-meta {
    font-size: 1.4rem;
    margin-top: 1.2rem;
}

.entry-meta .bloglo-icon {
    height: 1.827rem;
    margin-right: 0.7rem;
    vertical-align: text-bottom;
}

.entry-meta .entry-meta-elements>span {
    padding: 0 1.1rem;
    line-height: 1.8;
}

.entry-meta .entry-meta-elements>span,
.entry-meta .entry-meta-elements>span .posted-by {
    -js-display: inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.entry-meta .entry-meta-elements>span:first-child {
    padding-left: 0;
}

.entry-meta .entry-meta-elements>span:last-child {
    margin-right: 0;
    padding-right: 0;
}

.entry-meta .entry-meta-elements>span:before {
    content: "";
    height: 1.6rem;
    width: 0.1rem;
    background-color: rgba(0, 0, 0, 0.25);
    position: relative;
    left: -1.1rem;
}

.entry-meta .entry-meta-elements>span:first-child:before {
    display: none;
}

.entry-media>a {
    position: relative;
    display: block;
    overflow: hidden;
}

.entry-media>a .entry-media-icon {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 5rem;
    height: 5rem;
}

.entry-media>a .entry-media-icon .entry-media-icon-wrapper {
    overflow: hidden;
    border-radius: 50%;
}

.entry-media>a .entry-media-icon:before {
    content: "";
    z-index: 1;
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    border-radius: 50%;
    background-color: #232323;
}

.entry-media>a .entry-media-icon.is_sticky:before {
    background-color: var(--bloglo-primary);
}

.entry-media>a .entry-media-icon .bloglo-icon,
.entry-media>a .entry-media-icon svg {
    color: var(--bloglo-white);
    fill: var(--bloglo-white);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transform: translate3d(0, 1.7rem, 0);
    transform: translate3d(0, 1.7rem, 0);
    -webkit-transition: -webkit-transform 0.22s ease;
    transition: -webkit-transform 0.22s ease;
    transition: transform 0.22s ease;
    transition: transform 0.22s ease, -webkit-transform 0.22s ease;
    z-index: 2;
    height: 1.6rem;
}

.entry-media>a .entry-media-icon .bloglo-icon.top-icon,
.entry-media>a .entry-media-icon svg.top-icon {
    -webkit-transform: translate(0, 6.7rem);
    -ms-transform: translate(0, 6.7rem);
    transform: translate(0, 6.7rem);
}

.entry-media>a .entry-media-icon .bloglo-icon.bloglo-play:before,
.entry-media>a .entry-media-icon svg.bloglo-play:before {
    position: relative;
    right: -0.1rem;
}

.entry-media>a:hover .entry-media-icon:before {
    -webkit-transform: scale(1.25);
    -ms-transform: scale(1.25);
    transform: scale(1.25);
}

.entry-media>a:hover .entry-media-icon .bloglo-icon,
.entry-media>a:hover .entry-media-icon svg {
    -webkit-transform: translate(0, -6.7rem);
    -ms-transform: translate(0, -6.7rem);
    transform: translate(0, -6.7rem);
}

.entry-media>a:hover .entry-media-icon .bloglo-icon.top-icon,
.entry-media>a:hover .entry-media-icon svg.top-icon {
    -webkit-transform: translate(0, 1.7rem);
    -ms-transform: translate(0, 1.7rem);
    transform: translate(0, 1.7rem);
}

/*****************************************/
/* Single post styles.
/*****************************************/
.single-post.narrow-content .entry-content>ol,
.single-post.narrow-content .entry-content>ul {
    padding-left: 4rem;
}

.posted-on .published:not(.updated) {
    display: none;
}

#main .entry-header .entry-title a {
    color: inherit;
}

#main .entry-header .entry-title a:hover,
.using-keyboard #main .entry-header .entry-title a:focus {
    color: var(--bloglo-primary);
}

.single .entry-footer {
    margin-top: 4rem;
}

.single .entry-footer:empty {
    display: none;
}

.single .entry-footer .post-tags {
    margin-right: auto;
    padding-right: 2rem;
}

.single .entry-footer .last-updated {
    margin-top: 0.4rem;
    font-size: 1.493rem;
}

.single .entry-footer .last-updated .bloglo-icon {
    height: 1.6rem;
    margin-right: 0.6rem;
}

.single .post_format-post-format-quote .bloglo-blog-entry-content {
    margin-bottom: 5rem;
}

.post-thumb-caption {
    margin-top: 0.8rem;
    text-align: center;
    font-size: 1.4rem;
}

.entry-media {
    margin-bottom: 3rem;
}

.entry-media img {
    margin: 0 auto;
    display: block;
    border-radius: var(--bloglo-normal-radius);
}

.single-post .entry-media,
.single-post .entry-content {
    margin-top: 4rem;
}

.single-post .entry-media {
    margin-bottom: 4rem;
}

.single .entry-content img {
    margin: 0 auto;
    display: block;
}

.single .entry-content p img {
    display: inline-block;
    vertical-align: text-bottom;
}

.single .post-tags {
    margin-bottom: -0.5rem;
}

.single .post-tags .cat-links {
    display: inline-block;
}

.bloglo-hover-slider .post-category,
.single .post-category {
    margin-bottom: 0.3rem;
    font-size: 1.4rem;
}

.post-category a {
    -js-display: inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-weight: 500;
    padding: 0.6rem 1rem;
    line-height: 1;
    border-radius: var(--bloglo-normal-radius);
    text-decoration: none;
    margin: 0 0 0.8rem 0.4rem;
    color: #fff;
    background-color: var(--bloglo-primary);
}

.post-category a:first-of-type {
    margin-left: 0;
}

.bloglo-hover-slider .entry-header,
.single .entry-header {
    text-align: left;
    margin-bottom: 1rem;
}

.bloglo-hover-slider .entry-meta,
.single .entry-meta {
    text-align: left;
    margin-top: 1.6rem;
}

.bloglo-hover-slider .entry-content,
.single .entry-content {
    margin-bottom: 5rem;
}

.bloglo-hover-slider .entry-content>:last-child,
.single .entry-content>:last-child {
    margin-bottom: 0 !important;
}

.single #main .post-nav a {
    color: inherit;
    display: block;
}

.single .post-nav {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 2.5rem;
}

.single .post-nav>div {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
}

.single .post-nav .nav-title {
    margin-top: 0;
    margin-bottom: 1.6rem;
}

.single .post-nav .nav-content {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.5;
    font-weight: 500;
}

.single .post-nav .nav-content>div {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.single .post-nav .nav-content span em {
    font-style: normal;
}

.single .post-nav img {
    border-radius: var(--bloglo-normal-radius);
}

.single .post-nav .nav-previous {
    margin-right: auto;
}

.single .post-nav .nav-previous .nav-content span {
    padding-right: 2rem;
}

.single .post-nav .nav-previous .nav-content img {
    margin-right: 2rem;
}

.single .post-nav .nav-next {
    margin-left: auto;
}

.single .post-nav .nav-next .nav-title {
    text-align: right;
}

.single .post-nav .nav-next .nav-content {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.single .post-nav .nav-next .nav-content span:not(.ss-on-media-image-wrap) {
    text-align: right;
    padding-left: 2rem;
}

.single .post-nav .nav-next .nav-content img {
    margin-left: 2rem;
}

.single.single-format-quote .entry-content {
    margin-top: 0;
    margin-bottom: 0;
}

#main .post-tags a,
#main .tagcloud a,
#main .wp-block-tag-cloud a {
    color: inherit;
}

.single .post-tags a,
.tagcloud a,
.wp-block-tag-cloud a {
    display: block;
    float: left;
    text-transform: none;
    letter-spacing: 0;
    border-radius: var(--bloglo-full-radius);
    padding: 0.8rem 1.4rem;
    margin: 0.8rem 0.8rem 0 0;
    background-color: rgba(190, 190, 190, 0.12);
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
    line-height: 1;
    font-size: 1.3rem;
}

.single .post-tags a:after,
.tagcloud a:after,
.wp-block-tag-cloud a:after {
    display: none !important;
}

.using-keyboard.single .post-tags .cat-links a:focus,
.single .post-tags .cat-links a:hover,
.using-keyboard .tagcloud a:focus,
.tagcloud a:hover,
.using-keyboard .wp-block-tag-cloud a:focus,
.wp-block-tag-cloud a:hover {
    color: var(--bloglo-white) !important;
}

.post-password-form {
    background-color: rgba(0, 0, 0, 0.02);
    padding: 4rem 3rem;
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
}

.post-password-form>p:first-child {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
}

.post-password-form label {
    font-size: 1.5rem;
    text-align: left;
}

.post-password-form input[type="password"] {
    min-width: 25rem;
    margin-top: 0.7rem;
}

.post-password-form input[type="submit"] {
    position: relative;
    top: -0.1rem;
    margin-left: 0.6rem;
    padding: 0 3.2rem;
}

.single.bloglo-page-title-align-left .page-header.bloglo-has-page-title,
.single.bloglo-page-title-align-left .bloglo-article>.entry-header,
.single.bloglo-page-title-align-left .bloglo-article>.post-category {
    text-align: left;
}

.single.bloglo-page-title-align-left .bloglo-article>.entry-meta>.entry-meta-elements {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.single.bloglo-page-title-align-center .page-header.bloglo-has-page-title,
.single.bloglo-page-title-align-center .bloglo-article>.entry-header,
.single.bloglo-page-title-align-center .bloglo-article>.post-category {
    text-align: center;
}

.single.bloglo-page-title-align-center .bloglo-article>.entry-meta>.entry-meta-elements {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.single.bloglo-page-title-align-right .page-header.bloglo-has-page-title,
.single.bloglo-page-title-align-right .bloglo-article>.entry-header,
.single.bloglo-page-title-align-right .bloglo-article>.post-category {
    text-align: right;
}

.single.bloglo-page-title-align-right .bloglo-article>.entry-meta>.entry-meta-elements {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.single.bloglo-single-title-in-page-header .entry-content,
.single.bloglo-single-title-in-page-header .hentry>div:first-child {
    margin-top: 0;
}

.single.bloglo-single-title-in-page-header #page .page-header .page-title {
    color: #fff;
    font-size: 4.8rem;
}

.single.bloglo-single-title-in-page-header .page-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.single.bloglo-single-title-in-page-header .page-header .entry-meta {
    color: rgba(255, 255, 255, 0.75);
    margin-top: 0;
}

.using-keyboard.single.bloglo-single-title-in-page-header .page-header .entry-meta a:focus,
.single.bloglo-single-title-in-page-header .page-header .entry-meta a:hover {
    color: #fff;
}

.single.bloglo-single-title-in-page-header .page-header .entry-meta .entry-meta-elements>span:before {
    background-color: rgba(255, 255, 255, 0.5);
    left: -1.3rem;
    bottom: 0;
}

.single.bloglo-single-title-in-page-header .page-header .post-category {
    margin-bottom: 1.6rem;
}

.single.bloglo-single-title-in-page-header .page-header .post-category a {
    color: #fff;
    font-size: 1.5rem;
}

.single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs .breadcrumb-trail .trail-items li:after,
.single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs .separator,
.single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs a,
.single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs span {
    color: rgba(255, 255, 255, 0.75);
}

.using-keyboard.single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs a:focus,
.single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs a:hover {
    color: #fff;
}

.single.bloglo-single-title-in-page-header .page-header.bloglo-has-page-title .entry-meta {
    margin-top: 3.2rem;
}

.page-header.bloglo-page-title-has-bg-img {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
}

.page-header.bloglo-page-title-has-bg-img:after {
    content: "";
    pointer-events: none;
    background-color: #232323;
    opacity: 0.65;
}

.page-header.bloglo-page-title-has-bg-img.bloglo-bg-attachment-fixed {
    background-attachment: fixed;
}

/*****************************************/
/* Author box - about the author.
/*****************************************/
body.author .author-box {
    margin-bottom: 4rem;
    margin-top: 0;
}

#main .author-box-title a {
    color: inherit;
}

.author-box {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding: 4rem;
    margin: 3rem auto;
}

.author-box .author-box-avatar,
.author-box .author-box-meta {
    min-width: 0;
    min-height: 0;
}

.author-box .author-box-avatar {
    -ms-flex-item-align: start;
    align-self: flex-start;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    margin-right: 2.5rem;
}

.author-box .author-box-avatar img {
    display: block;
    border-radius: 50%;
}

.author-box .author-box-meta {
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
}

.author-box .author-box-title {
    margin-top: 0;
    margin-bottom: 0.8rem;
}

.author-box .author-box-content {
    line-height: 1.6;
}

.author-box .more-posts-button {
    margin-top: 1.6rem;
}

/*****************************************/
/* Comment styles.
/*****************************************/
.bloglo-has-comments-toggle #comments {
    display: none;
    margin-top: 4rem;
}

.bloglo-has-comments-toggle.comments-visible #comments {
    display: block;
}

.bloglo-has-comments-toggle #bloglo-comments-toggle {
    font-size: inherit;
    margin-top: 4rem;
}

.bloglo-has-comments-toggle #bloglo-comments-toggle .bloglo-icon {
    width: 2.2rem;
    height: 2.2rem;
    margin-right: 0.8rem;
}

#comments {
    margin-top: 5rem;
}

#comments .comments-title-wrapper {
    margin: 0 0 4rem 0;
}

#comments .comments-title-wrapper p {
    text-align: center;
    margin-top: 0.6rem;
    font-size: 1.6rem;
}

#comments .comment-list ol,
#comments .comment-list ul {
    margin-left: 5rem;
}

#comments .comment-list #respond {
    position: relative;
    margin: 4rem 0 4rem 0;
}

#comments .comment-list .children {
    position: relative;
}

#comments .comment-list .children #respond {
    position: relative;
    margin-bottom: 2.5rem;
}

#comments .comment-list .children>li {
    position: relative;
}

#comments .comment-list .children>li:before {
    position: absolute;
    content: "";
    height: calc(100% + 15px);
    width: 0.1rem;
    background-color: rgba(190, 190, 190, 0.3);
    left: -2.5rem;
    top: -1.5rem;
}

#comments .comment-list .children>li:after {
    position: absolute;
    content: "";
    height: 0.1rem;
    width: 2.5rem;
    background-color: rgba(190, 190, 190, 0.3);
    left: -2.5rem;
    top: 5.5rem;
}

#comments .comment-list .children>li:last-child:before {
    height: 7rem;
}

#comments .comment-list .children:before {
    position: absolute;
    content: "";
    height: 0;
    width: 0.1rem;
    background-color: rgba(190, 190, 190, 0.3);
    left: -2.5rem;
    top: -1.5rem;
}

#comments .comment-list .children #respond:before {
    position: absolute;
    content: "";
    height: calc(100% + 20px);
    width: 0.1rem;
    background-color: rgba(190, 190, 190, 0.3);
    left: -2.5rem;
    top: -4rem;
}

#comments .comment-list .children #respond .form-submit {
    position: relative;
}

#comments .comment-list .children #respond .form-submit:before {
    position: absolute;
    content: "";
    width: 2.5rem;
    height: 0.1rem;
    background-color: rgba(190, 190, 190, 0.3);
    left: -2.5rem;
    bottom: 2rem;
}

#comments .comment {
    margin: 0 0 1.5rem 0;
}

#comments .comment-body,
#comments .comment_container {
    position: relative;
    padding: 2rem 2.5rem 2.5rem 10rem;
    min-height: 10rem;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

#comments .comment-content ol,
#comments .comment-content ul {
    margin: 1.6em 3.5rem;
}

#comments .comment-content ol li,
#comments .comment-content ul li {
    margin-bottom: 0.5rem;
}

#comments .comment-content ol ol,
#comments .comment-content ol ul,
#comments .comment-content ul ol,
#comments .comment-content ul ul {
    margin-top: 0;
}

#comments .comment-content ul {
    list-style: disc;
}

#comments .comment-content ol {
    list-style: decimal;
}

#comments .bloglo-pingback {
    position: relative;
    padding: 1.2rem 2.5rem;
    border-radius: var(--bloglo-normal-radius);
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
    margin-bottom: 0.7rem;
    border-radius: 0;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

#comments .bloglo-pingback>p {
    margin: 0;
}

#comments .comment-author-avatar {
    display: block;
    position: absolute;
    z-index: 1;
    left: 2.5rem;
    top: 2.5rem;
    max-width: 6rem;
    width: 5rem;
    height: 5rem;
    background-color: rgba(0, 0, 0, 0.03);
    border-radius: 50%;
}

#comments .comment-author-avatar img {
    border-radius: 50%;
}

#comments .bypostauthor-badge {
    font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    position: absolute;
    top: -0.2rem;
    right: -1.1rem;
    width: 2.2rem;
    height: 2.2rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    border: 0.2rem solid var(--bloglo-white);
    color: var(--bloglo-white);
    font-size: 1.1rem;
    font-weight: 600;
    z-index: 9;
    line-height: 0;
}

#comments .comment-author-meta cite {
    font-style: normal;
    font-weight: 600;
}

#comments .comment-author-meta cite:before {
    content: none;
}

#comments .comment-author-meta cite a {
    text-decoration: none;
    color: inherit;
}

#comments .comment-author-meta cite a:hover {
    text-decoration: underline;
}

#comments .comment-actions,
#comments .comment-meta {
    font-size: 1.493rem;
}

#comments .comment-meta {
    line-height: 1.5;
}

#comments .comment-meta a {
    color: inherit;
    text-decoration: none;
}

#comments .comment-meta a:hover {
    text-decoration: underline;
}

#comments .comment-actions {
    margin-left: auto;
}

#comments .comment-actions a {
    position: relative;
    text-decoration: none;
    color: #232323;
}

#comments .comment-actions .bloglo-comment-sep {
    width: 0.1rem;
    height: 1.6rem;
    margin: 0 0.9rem -0.2rem 1rem;
    display: inline-block;
    background-color: rgba(0, 0, 0, 0.25);
}

#comments .comment-header {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#comments .comment-content {
    margin-top: 1.6rem;
}

#comments .comment-content img,
#comments .comment-content p {
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
}

#comments .comment-content img:first-child,
#comments .comment-content p:first-child {
    margin-top: 0;
}

#comments .comment-content blockquote:last-child,
#comments .comment-content code:last-child,
#comments .comment-content img:last-child,
#comments .comment-content ol:last-child,
#comments .comment-content p:last-child,
#comments .comment-content pre:last-child,
#comments .comment-content ul:last-child {
    margin-bottom: 0;
}

.comments-closed {
    margin: 4rem 0 0;
}

#respond {
    margin-top: 4rem;
}

#respond .comment-reply-title {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#respond .must-log-in {
    text-align: center;
    color: #66717f;
    margin-top: 0.6rem;
}

#respond .required-field {
    border-bottom-color: #f00;
}

#cancel-comment-reply-link {
    font-size: 1.3rem;
    border-radius: var(--bloglo-normal-radius);
    border: 0.2rem solid currentColor;
    font-weight: 500;
    padding: 0.4rem 0.7rem;
    line-height: 1;
    text-decoration: none;
    text-transform: capitalize;
    margin-left: 1.4rem;
    color: inherit;
}

.comment-form {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.comment-form span.required {
    font-weight: 700;
}

.comment-form .comment-notes {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    text-align: center;
    font-size: 1.6rem;
    margin-top: 0.6rem;
    margin-bottom: 1.6rem;
}

.comment-form>div,
.comment-form>p {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-top: 0;
    margin-bottom: 0.8em;
}

.comment-form>div.comment-form-author,
.comment-form>div.comment-form-email,
.comment-form>div.comment-form-url,
.comment-form>p.comment-form-author,
.comment-form>p.comment-form-email,
.comment-form>p.comment-form-url {
    -ms-flex-preferred-size: 33.33%;
    flex-basis: 33.33%;
    max-width: 33.33%;
    margin-bottom: 2.4rem;
    margin-top: 1.6rem;
}

.comment-form>div.comment-form-email,
.comment-form>div.comment-form-url,
.comment-form>p.comment-form-email,
.comment-form>p.comment-form-url {
    padding-left: 1.5rem;
}

.comment-form>div.form-submit,
.comment-form>p.form-submit {
    margin-top: 1em;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-bottom: 0;
}

.comment-form>div .bloglo-submit-form-button,
.comment-form>p .bloglo-submit-form-button {
    display: block;
}

.comment-form>div.comment-textarea,
.comment-form>p.comment-textarea {
    margin-top: 2.4rem;
}

.comment-form textarea {
    height: 19.2rem;
}

.comments-area .akismet_comment_form_privacy_notice,
.comments-area .logged-in-as {
    margin-bottom: 0;
}

.comments-area .logged-in-as {
    margin-top: 3.2rem;
}

.comments-area .logged-in-as>a:first-child:after {
    content: "|";
    display: inline-block;
    padding-left: 0.5rem;
    padding-right: 0.4rem;
}

/*****************************************/
/* Spinner styles
/*****************************************/
.bloglo-spinner {
    width: 4rem;
    height: 4rem;
    position: relative;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    opacity: 0;
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.bloglo-spinner.visible {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

.bloglo-spinner>div {
    border-radius: 50%;
    background-color: #767676;
    opacity: 0.6;
    -webkit-animation: ai_bounce 1.6s infinite ease-in-out;
    animation: ai_bounce 1.6s infinite ease-in-out;
}

.bloglo-spinner>div:last-child {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s;
}

/*****************************************/
/* Preloader styles
/*****************************************/
#bloglo-preloader {
    position: fixed;
    z-index: 99991;
    overflow: hidden;
}

.bloglo-loading #bloglo-preloader .preloader-1 {
    opacity: 0;
}

.bloglo-loaded #bloglo-preloader {
    display: none;
}

/*****************************************/
/* Style 1 - "Spinner".
/*****************************************/
.preloader-1 {
    position: absolute;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: var(--bloglo-white);
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
    opacity: 1;
}

.preloader-1>div {
    display: inline-block;
    border: 0.3rem solid rgba(0, 0, 0, 0.1);
    border-top-color: rgba(0, 0, 0, 0.2);
    -webkit-animation: ai_spin 0.65s infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
    animation: ai_spin 0.65s infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
    width: 5rem;
    height: 5rem;
    border-radius: 100%;
    will-change: transform;
}

/*****************************************/
/* Preloader Animation Keyframes
/*****************************************/
@-webkit-keyframes ai_spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes ai_spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.mejs-container .mejs-controls,
.mejs-embed,
.mejs-embed body {
    background-color: #232323;
    height: 5rem !important;
}

.mejs-container .mejs-inner.mejs-audio {
    background-color: transparent;
}

.mejs-container .mejs-inner .mejs-controls {
    padding: 0 2rem;
    background-image: none;
}

.mejs-container .mejs-inner .mejs-controls .mejs-time-float {
    display: none !important;
}

.mejs-container .mejs-inner .mejs-controls .mejs-button {
    height: 100%;
}

.mejs-container .mejs-inner .mejs-controls .mejs-button>button {
    margin: 0;
}

.mejs-container .mejs-inner .mejs-controls .mejs-horizontal-volume-slider,
.mejs-container .mejs-inner .mejs-controls .mejs-time-rail {
    height: 100%;
    padding: 0;
}

.mejs-container .mejs-inner .mejs-controls .mejs-horizontal-volume-total,
.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total,
.mejs-container .mejs-inner .mejs-controls .mejs-volume-button .mejs-volume-slider,
.mejs-container .mejs-inner .mejs-controls button {
    outline: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.mejs-container .mejs-inner .mejs-controls .mejs-time {
    font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    height: 100%;
    padding: 0;
    margin: 0 2rem;
    color: #cacaca;
    font-size: 1.3rem;
}

.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-handle {
    top: -0.4rem;
}

.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-handle .mejs-time-handle-content {
    height: 1.4rem;
    width: 1.4rem;
    top: -0.6rem;
    background-color: var(--bloglo-white);
}

.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-handle span {
    border-radius: 50%;
}

.mejs-horizontal-volume-slider {
    height: 100%;
}

.mejs-container .mejs-inner .mejs-controls .mejs-horizontal-volume-total,
.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total {
    height: 0.2rem;
    margin: 0;
    top: 50%;
    background-image: none;
    background-color: #666;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total:before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 1rem;
    position: absolute;
    top: -0.5rem;
    left: 0;
    z-index: 0;
}

.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total span {
    height: 100%;
}

.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total .mejs-time-current,
.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total .mejs-time-loaded {
    background-image: none;
}

.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total .mejs-time-loaded {
    background-color: #898989;
}

/*****************************************/
/* Misc Styles
/*****************************************/
button.bloglo-animate-arrow {
    -webkit-appearance: none;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: none;
    outline: none;
}

.btn-svg .arrow-bar,
.flex-next .arrow-bar,
.flex-prev .arrow-bar,
.bloglo-animate-arrow .arrow-bar {
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
}

.btn-svg .arrow-bar,
.btn-svg .arrow-handle,
.flex-next .arrow-bar,
.flex-next .arrow-handle,
.flex-prev .arrow-bar,
.flex-prev .arrow-handle,
.bloglo-animate-arrow .arrow-bar,
.bloglo-animate-arrow .arrow-handle {
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
}

.btn-svg svg,
.flex-next svg,
.flex-prev svg,
.bloglo-animate-arrow svg {
    vertical-align: middle;
}

.btn-svg:focus,
.btn-svg:hover,
.flex-next:focus,
.flex-next:hover,
.flex-prev:focus,
.flex-prev:hover,
.bloglo-animate-arrow:focus,
.bloglo-animate-arrow:hover {
    cursor: pointer;
}

.btn-svg:focus .arrow-handle,
.btn-svg:hover .arrow-handle,
.flex-next:focus .arrow-handle,
.flex-next:hover .arrow-handle,
.flex-prev:focus .arrow-handle,
.flex-prev:hover .arrow-handle,
.bloglo-animate-arrow:focus .arrow-handle,
.bloglo-animate-arrow:hover .arrow-handle {
    -webkit-transform: translateX(0) !important;
    -ms-transform: translateX(0) !important;
    transform: translateX(0) !important;
}

.btn-svg:focus .arrow-bar,
.btn-svg:hover .arrow-bar,
.flex-next:focus .arrow-bar,
.flex-next:hover .arrow-bar,
.flex-prev:focus .arrow-bar,
.flex-prev:hover .arrow-bar,
.bloglo-animate-arrow:focus .arrow-bar,
.bloglo-animate-arrow:hover .arrow-bar {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
}

.btn-svg.btn-left-icon .arrow-bar,
.btn-svg.has-left-icon .arrow-bar,
.btn-svg.left-arrow .arrow-bar,
.flex-next.btn-left-icon .arrow-bar,
.flex-next.has-left-icon .arrow-bar,
.flex-next.left-arrow .arrow-bar,
.flex-prev.btn-left-icon .arrow-bar,
.flex-prev.has-left-icon .arrow-bar,
.flex-prev.left-arrow .arrow-bar,
.bloglo-animate-arrow.btn-left-icon .arrow-bar,
.bloglo-animate-arrow.has-left-icon .arrow-bar,
.bloglo-animate-arrow.left-arrow .arrow-bar {
    -webkit-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    transform-origin: 100% 0;
}

.btn-svg.btn-left-icon .arrow-handle,
.btn-svg.has-left-icon .arrow-handle,
.btn-svg.left-arrow .arrow-handle,
.flex-next.btn-left-icon .arrow-handle,
.flex-next.has-left-icon .arrow-handle,
.flex-next.left-arrow .arrow-handle,
.flex-prev.btn-left-icon .arrow-handle,
.flex-prev.has-left-icon .arrow-handle,
.flex-prev.left-arrow .arrow-handle,
.bloglo-animate-arrow.btn-left-icon .arrow-handle,
.bloglo-animate-arrow.has-left-icon .arrow-handle,
.bloglo-animate-arrow.left-arrow .arrow-handle {
    -webkit-transform: translateX(0.6rem);
    -ms-transform: translateX(0.6rem);
    transform: translateX(0.6rem);
}

.btn-svg.btn-right-icon svg,
.btn-svg.has-right-icon svg,
.btn-svg.right-arrow svg,
.flex-next.btn-right-icon svg,
.flex-next.has-right-icon svg,
.flex-next.right-arrow svg,
.flex-prev.btn-right-icon svg,
.flex-prev.has-right-icon svg,
.flex-prev.right-arrow svg,
.bloglo-animate-arrow.btn-right-icon svg,
.bloglo-animate-arrow.has-right-icon svg,
.bloglo-animate-arrow.right-arrow svg {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.btn-svg.btn-right-icon .arrow-bar,
.btn-svg.has-right-icon .arrow-bar,
.btn-svg.right-arrow .arrow-bar,
.flex-next.btn-right-icon .arrow-bar,
.flex-next.has-right-icon .arrow-bar,
.flex-next.right-arrow .arrow-bar,
.flex-prev.btn-right-icon .arrow-bar,
.flex-prev.has-right-icon .arrow-bar,
.flex-prev.right-arrow .arrow-bar,
.bloglo-animate-arrow.btn-right-icon .arrow-bar,
.bloglo-animate-arrow.has-right-icon .arrow-bar,
.bloglo-animate-arrow.right-arrow .arrow-bar {
    -webkit-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    transform-origin: 100% 0;
}

.btn-svg.btn-right-icon .arrow-handle,
.btn-svg.has-right-icon .arrow-handle,
.btn-svg.right-arrow .arrow-handle,
.flex-next.btn-right-icon .arrow-handle,
.flex-next.has-right-icon .arrow-handle,
.flex-next.right-arrow .arrow-handle,
.flex-prev.btn-right-icon .arrow-handle,
.flex-prev.has-right-icon .arrow-handle,
.flex-prev.right-arrow .arrow-handle,
.bloglo-animate-arrow.btn-right-icon .arrow-handle,
.bloglo-animate-arrow.has-right-icon .arrow-handle,
.bloglo-animate-arrow.right-arrow .arrow-handle {
    -webkit-transform: translateX(0.6rem);
    -ms-transform: translateX(0.6rem);
    transform: translateX(0.6rem);
}

svg.bloglo-animate-arrow.right-arrow {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

svg.bloglo-animate-arrow.right-arrow .arrow-bar {
    -webkit-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    transform-origin: 100% 0;
}

svg.bloglo-animate-arrow.right-arrow .arrow-handle {
    -webkit-transform: translateX(0.6rem);
    -ms-transform: translateX(0.6rem);
    transform: translateX(0.6rem);
}

#page .uppercase-text {
    text-transform: uppercase;
}

#page .center-text {
    text-align: center;
}

#page .mr-20 {
    margin-right: 2rem;
}

#page .mt--30 {
    margin-top: -3rem;
}

#page .mb--30 {
    margin-bottom: -3rem;
}

#page .bloglo-clear-p {
    padding: 0;
}

#page .bloglo-clear-m {
    margin: 0;
}

#page .bloglo-clear-bm {
    margin-bottom: 0;
}

#page .bloglo-clear-tm {
    margin-top: 0;
}

#page .bloglo-unset-mw,
#page .bloglo-unset-mw>img {
    max-width: unset;
}

#page .bloglo-z-index-99 {
    position: relative;
    z-index: 99;
}

#page .bloglo-br-0,
#page .bloglo-br-0 img {
    border-radius: 0;
}

#page .bloglo-br-3,
#page .bloglo-br-3 img {
    border-radius: var(--bloglo-normal-radius);
}

#page .bloglo-br-6,
#page .bloglo-br-6 img {
    border-radius: 0.6rem;
}

#page .bloglo-br-12,
#page .bloglo-br-12 img {
    border-radius: 1.2rem;
}

#page .bloglo-bs {
    -webkit-box-shadow: 0 1rem 3.5rem -0.3rem rgba(0, 0, 0, 0.12);
    box-shadow: 0 1rem 3.5rem -0.3rem rgba(0, 0, 0, 0.12);
}

.bloglo-entry>.ss-inline-share-wrapper:first-child {
    margin-top: 0;
}

.bloglo-entry>.ss-inline-share-wrapper:last-child {
    margin-top: 4rem;
    margin-bottom: -2rem !important;
}

.wpforms-container label.wpforms-error {
    font-weight: 400;
}

.wpforms-container label.wpforms-error a {
    color: inherit;
    text-decoration: underline;
}

#page .sharedaddy {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

#page .sharedaddy h3.sd-title {
    font-size: inherit;
    font-weight: 500;
}

#page .sharedaddy h3.sd-title:before {
    display: none;
}

ul.swiper-wrapper {
    list-style: none;
    margin-left: 0;
    margin-right: 0;
}

#infinite-footer {
    z-index: 9;
}

.infinite-loader {
    margin: 4rem 0;
}

/*
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 *
 * Bloglo changes: added prefix .si to all HTML elements;
 */
.bloglo-hamburger {
    padding: 0 0;
    display: inline-block;
    cursor: pointer;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible;
}

.hamburger-box {
    width: 2.5rem;
    height: 1.4rem;
    display: inline-block;
    position: relative;
}

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -0.1rem;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 2.8rem;
    height: 2px;
    background-color: #232323;
    border-radius: var(--bloglo-normal-radius);
    position: absolute;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.15s;
    transition-duration: 0.15s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
    content: "";
    display: block;
}

.hamburger-inner::before {
    top: -5px;
}

.hamburger-inner::after {
    bottom: -5px;
}

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
    -webkit-transition-duration: 0.22s;
    transition-duration: 0.22s;
    -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin .hamburger-inner::before {
    -webkit-transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.hamburger--spin .hamburger-inner::after {
    -webkit-transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin.is-active .hamburger-inner {
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
    -webkit-transition-delay: 0.12s;
    transition-delay: 0.12s;
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*****************************************/
/* Is Mobile
/*****************************************/
.bloglo-is-mobile #bloglo-header-inner .bloglo-nav>ul>li>a {
    color: inherit !important;
}

/*****************************************/
/* Mobile navigation styles.
/*****************************************/
.bloglo-mobile-nav {
    display: none;
    margin-left: 2.4rem;
}

.bloglo-hamburger,
.bloglo-mobile-nav {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

body:not(.is-mobile-menu-active) .bloglo-hamburger .hamburger-box .hamburger-inner::before {
    width: 1.5rem;
}

.bloglo-hamburger {
    -js-display: inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    border-radius: var(--bloglo-normal-radius);
}

.bloglo-hamburger .hamburger-label {
    font-size: 1.2rem;
    letter-spacing: 0.16rem;
    margin-right: 1rem;
    font-weight: 500;
    -webkit-transition: color 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: color 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    color: currentColor;
}

.bloglo-hamburger .hamburger-label:empty {
    margin-right: 0;
}

.bloglo-hamburger .hamburger-inner,
.bloglo-hamburger .hamburger-inner::before,
.bloglo-hamburger .hamburger-inner::after {
    background-color: currentColor;
}

button.bloglo-hamburger {
    outline: none;
}

.using-keyboard .bloglo-hamburger:focus {
    outline-offset: 0.5rem;
    border-radius: 0;
}

#bloglo-header:after {
    content: "";
    position: fixed;
    top: 100%;
    left: 0;
    right: 0;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.85);
    z-index: 991;
    opacity: 0;
    visibility: hidden;
    will-change: opacity, visibility;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
    pointer-events: none;
}

.is-mobile-menu-active .hamburger--spin .hamburger-inner {
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
    -webkit-transition-delay: 0.12s;
    transition-delay: 0.12s;
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.is-mobile-menu-active .hamburger--spin .hamburger-inner::before {
    top: 0;
    opacity: 0;
    -webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.is-mobile-menu-active .hamburger--spin .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.is-mobile-menu-active #page:after {
    content: "";
    position: absolute;
    z-index: 9;
    background-color: rgba(0, 0, 0, 0.6);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 1;
    pointer-events: none;
}

/*.is-mobile-menu-active #masthead {
    z-index: 991;
    previously: 99
}*/

.is-mobile-menu-active #bloglo-header {
    position: relative;
    z-index: 99;
}

.is-mobile-menu-active #bloglo-header:after {
    visibility: visible;
    opacity: 1;
    pointer-events: all;
}

.is-mobile-menu-active .bloglo-mobile-nav {
    z-index: 992;
}

.is-mobile-menu-active,
.is-mobile-menu-active body {
    overflow: hidden;
}

/* ==========================================================================
*  Internet Explorer compatibility CSS
*  ========================================================================== */

@media screen and (min-width: 481px) and (max-width: 768px) {
    .bloglo-hide-tablet {
        display: none !important;
    }
}

@media only screen and (min-width: 600px) {

    .g-sm-0,
    .gx-sm-0 {
        --bloglo-gutter-x: 0;
    }

    .g-sm-0,
    .gy-sm-0 {
        --bloglo-gutter-y: 0;
    }

    .g-sm-1,
    .gx-sm-1 {
        --bloglo-gutter-x: 0.4rem;
    }

    .g-sm-1,
    .gy-sm-1 {
        --bloglo-gutter-y: 0.4rem;
    }

    .g-sm-2,
    .gx-sm-2 {
        --bloglo-gutter-x: 0.8rem;
    }

    .g-sm-2,
    .gy-sm-2 {
        --bloglo-gutter-y: 0.8rem;
    }

    .g-sm-3,
    .gx-sm-3 {
        --bloglo-gutter-x: 1.6rem;
    }

    .g-sm-3,
    .gy-sm-3 {
        --bloglo-gutter-y: 1.6rem;
    }

    .g-sm-4,
    .gx-sm-4 {
        --bloglo-gutter-x: 2.4rem;
    }

    .g-sm-4,
    .gy-sm-4 {
        --bloglo-gutter-y: 2.4rem;
    }

    .g-sm-5,
    .gx-sm-5 {
        --bloglo-gutter-x: 4.8rem;
    }

    .g-sm-5,
    .gy-sm-5 {
        --bloglo-gutter-y: 4.8rem;
    }

    .g-sm-6,
    .gx-sm-6 {
        --bloglo-gutter-x: 6.5rem;
    }

    .g-sm-6,
    .gy-sm-6 {
        --bloglo-gutter-y: 6.5rem;
    }

    .site .bloglo-flex-row .col-sm {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        -ms-flex-negative: 1;
        flex-shrink: 1;
        max-width: 100%;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
    }

    .site .bloglo-flex-row .col-sm.flex-basis-auto {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }

    .site .bloglo-flex-row .col-sm-1 {
        -ms-flex-preferred-size: 8.33333%;
        flex-basis: 8.33333%;
        max-width: 8.33333%;
    }

    .site .bloglo-flex-row .col-sm-2 {
        -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%;
        max-width: 16.66667%;
    }

    .site .bloglo-flex-row .col-sm-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%;
    }

    .site .bloglo-flex-row .col-sm-4 {
        -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%;
        max-width: 33.33333%;
    }

    .site .bloglo-flex-row .col-sm-5 {
        -ms-flex-preferred-size: 41.66667%;
        flex-basis: 41.66667%;
        max-width: 41.66667%;
    }

    .site .bloglo-flex-row .col-sm-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }

    .site .bloglo-flex-row .col-sm-7 {
        -ms-flex-preferred-size: 58.33333%;
        flex-basis: 58.33333%;
        max-width: 58.33333%;
    }

    .site .bloglo-flex-row .col-sm-8 {
        -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%;
        max-width: 66.66667%;
    }

    .site .bloglo-flex-row .col-sm-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%;
    }

    .site .bloglo-flex-row .col-sm-10 {
        -ms-flex-preferred-size: 83.33333%;
        flex-basis: 83.33333%;
        max-width: 83.33333%;
    }

    .site .bloglo-flex-row .col-sm-11 {
        -ms-flex-preferred-size: 91.66667%;
        flex-basis: 91.66667%;
        max-width: 91.66667%;
    }

    .site .bloglo-flex-row .col-sm-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }

    .site .bloglo-flex-row .col-sm-offset-0 {
        margin-left: 0%;
    }

    .site .bloglo-flex-row .col-sm-offset-1 {
        margin-left: 8.33333%;
    }

    .site .bloglo-flex-row .col-sm-offset-2 {
        margin-left: 16.66667%;
    }

    .site .bloglo-flex-row .col-sm-offset-3 {
        margin-left: 25%;
    }

    .site .bloglo-flex-row .col-sm-offset-4 {
        margin-left: 33.33333%;
    }

    .site .bloglo-flex-row .col-sm-offset-5 {
        margin-left: 41.66667%;
    }

    .site .bloglo-flex-row .col-sm-offset-6 {
        margin-left: 50%;
    }

    .site .bloglo-flex-row .col-sm-offset-7 {
        margin-left: 58.33333%;
    }

    .site .bloglo-flex-row .col-sm-offset-8 {
        margin-left: 66.66667%;
    }

    .site .bloglo-flex-row .col-sm-offset-9 {
        margin-left: 75%;
    }

    .site .bloglo-flex-row .col-sm-offset-10 {
        margin-left: 83.33333%;
    }

    .site .bloglo-flex-row .col-sm-offset-11 {
        margin-left: 91.66667%;
    }

    .site .bloglo-flex-row .first-sm {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
    }

    .site .bloglo-flex-row .last-sm {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .site .bloglo-flex-row.start-sm,
    .site .bloglo-flex-row .start-sm {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        text-align: left;
    }

    .site .bloglo-flex-row.center-sm,
    .site .bloglo-flex-row .center-sm {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center;
    }

    .site .bloglo-flex-row.end-sm,
    .site .bloglo-flex-row .end-sm {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        text-align: end;
        margin-left: auto;
    }

    .site .bloglo-flex-row.top-sm,
    .site .bloglo-flex-row .top-sm {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .site .bloglo-flex-row.middle-sm,
    .site .bloglo-flex-row .middle-sm {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .site .bloglo-flex-row.stretch-sm,
    .site .bloglo-flex-row .stretch-sm {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }

    .site .bloglo-flex-row.bottom-sm,
    .site .bloglo-flex-row .bottom-sm {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .site .bloglo-flex-row.around-sm {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }

    .site .bloglo-flex-row.between-sm {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media (max-width: 782px) and (min-width: 600px) {
    .wp-block-column:nth-child(even) {
        margin-left: 3rem;
        -ms-flex-preferred-size: calc(50% - 15px) !important;
        flex-basis: calc(50% - 15px) !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 960px) {

    .bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .elementor-section.elementor-section-stretched,
    .bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .entry-content .alignfull,
    .bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .bloglo-fw-section,
    body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .elementor-section.elementor-section-stretched,
    body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .entry-content .alignfull,
    body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .bloglo-fw-section {
        max-width: unset;
        margin-left: -5rem !important;
        margin-right: -5rem !important;
    }
}

@media (min-width: 782px) {
    .wp-block-columns {
        margin-bottom: 3.2rem;
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }

    #main .entry-content .wp-block-buttons,
    #main .bloglo-entry .wp-block-buttons {
        margin-bottom: 1.5rem;
    }

    .wp-block-columns .wp-block-column {
        margin-bottom: 0;
    }

    .wp-block-columns .wp-block-column:not(:first-child) {
        margin-left: 3rem;
    }
}

@media only screen and (min-width: 783px) {

    .g-md-0,
    .gx-md-0 {
        --bloglo-gutter-x: 0;
    }

    .g-md-0,
    .gy-md-0 {
        --bloglo-gutter-y: 0;
    }

    .g-md-1,
    .gx-md-1 {
        --bloglo-gutter-x: 0.4rem;
    }

    .g-md-1,
    .gy-md-1 {
        --bloglo-gutter-y: 0.4rem;
    }

    .g-md-2,
    .gx-md-2 {
        --bloglo-gutter-x: 0.8rem;
    }

    .g-md-2,
    .gy-md-2 {
        --bloglo-gutter-y: 0.8rem;
    }

    .g-md-3,
    .gx-md-3 {
        --bloglo-gutter-x: 1.6rem;
    }

    .g-md-3,
    .gy-md-3 {
        --bloglo-gutter-y: 1.6rem;
    }

    .g-md-4,
    .gx-md-4 {
        --bloglo-gutter-x: 2.4rem;
    }

    .g-md-4,
    .gy-md-4 {
        --bloglo-gutter-y: 2.4rem;
    }

    .g-md-5,
    .gx-md-5 {
        --bloglo-gutter-x: 4.8rem;
    }

    .g-md-5,
    .gy-md-5 {
        --bloglo-gutter-y: 4.8rem;
    }

    .g-md-6,
    .gx-md-6 {
        --bloglo-gutter-x: 6.5rem;
    }

    .g-md-6,
    .gy-md-6 {
        --bloglo-gutter-y: 6.5rem;
    }

    .site .bloglo-flex-row .col-md {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        -ms-flex-negative: 1;
        flex-shrink: 1;
        max-width: 100%;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
    }

    .site .bloglo-flex-row .col-md.flex-basis-auto {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }

    .site .bloglo-flex-row .col-md-1 {
        -ms-flex-preferred-size: 8.33333%;
        flex-basis: 8.33333%;
        max-width: 8.33333%;
    }

    .site .bloglo-flex-row .col-md-2 {
        -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%;
        max-width: 16.66667%;
    }

    .site .bloglo-flex-row .col-md-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%;
    }

    .site .bloglo-flex-row .col-md-4 {
        -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%;
        max-width: 33.33333%;
    }

    .site .bloglo-flex-row .col-md-5 {
        -ms-flex-preferred-size: 41.66667%;
        flex-basis: 41.66667%;
        max-width: 41.66667%;
    }

    .site .bloglo-flex-row .col-md-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }

    .site .bloglo-flex-row .col-md-7 {
        -ms-flex-preferred-size: 58.33333%;
        flex-basis: 58.33333%;
        max-width: 58.33333%;
    }

    .site .bloglo-flex-row .col-md-8 {
        -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%;
        max-width: 66.66667%;
    }

    .site .bloglo-flex-row .col-md-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%;
    }

    .site .bloglo-flex-row .col-md-10 {
        -ms-flex-preferred-size: 83.33333%;
        flex-basis: 83.33333%;
        max-width: 83.33333%;
    }

    .site .bloglo-flex-row .col-md-11 {
        -ms-flex-preferred-size: 91.66667%;
        flex-basis: 91.66667%;
        max-width: 91.66667%;
    }

    .site .bloglo-flex-row .col-md-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }

    .site .bloglo-flex-row .col-md-offset-0 {
        margin-left: 0%;
    }

    .site .bloglo-flex-row .col-md-offset-1 {
        margin-left: 8.33333%;
    }

    .site .bloglo-flex-row .col-md-offset-2 {
        margin-left: 16.66667%;
    }

    .site .bloglo-flex-row .col-md-offset-3 {
        margin-left: 25%;
    }

    .site .bloglo-flex-row .col-md-offset-4 {
        margin-left: 33.33333%;
    }

    .site .bloglo-flex-row .col-md-offset-5 {
        margin-left: 41.66667%;
    }

    .site .bloglo-flex-row .col-md-offset-6 {
        margin-left: 50%;
    }

    .site .bloglo-flex-row .col-md-offset-7 {
        margin-left: 58.33333%;
    }

    .site .bloglo-flex-row .col-md-offset-8 {
        margin-left: 66.66667%;
    }

    .site .bloglo-flex-row .col-md-offset-9 {
        margin-left: 75%;
    }

    .site .bloglo-flex-row .col-md-offset-10 {
        margin-left: 83.33333%;
    }

    .site .bloglo-flex-row .col-md-offset-11 {
        margin-left: 91.66667%;
    }

    .site .bloglo-flex-row .first-md {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
    }

    .site .bloglo-flex-row .last-md {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .site .bloglo-flex-row.start-md,
    .site .bloglo-flex-row .start-md {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        text-align: left;
    }

    .site .bloglo-flex-row.center-md,
    .site .bloglo-flex-row .center-md {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center;
    }

    .site .bloglo-flex-row.end-md,
    .site .bloglo-flex-row .end-md {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        text-align: end;
        margin-left: auto;
    }

    .site .bloglo-flex-row.top-md,
    .site .bloglo-flex-row .top-md {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .site .bloglo-flex-row.middle-md,
    .site .bloglo-flex-row .middle-md {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .site .bloglo-flex-row.stretch-md,
    .site .bloglo-flex-row .stretch-md {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }

    .site .bloglo-flex-row.bottom-md,
    .site .bloglo-flex-row .bottom-md {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .site .bloglo-flex-row.around-md {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }

    .site .bloglo-flex-row.between-md {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media only screen and (min-width: 1200px) {

    .g-lg-0,
    .gx-lg-0 {
        --bloglo-gutter-x: 0;
    }

    .g-lg-0,
    .gy-lg-0 {
        --bloglo-gutter-y: 0;
    }

    .g-lg-1,
    .gx-lg-1 {
        --bloglo-gutter-x: 0.4rem;
    }

    .g-lg-1,
    .gy-lg-1 {
        --bloglo-gutter-y: 0.4rem;
    }

    .g-lg-2,
    .gx-lg-2 {
        --bloglo-gutter-x: 0.8rem;
    }

    .g-lg-2,
    .gy-lg-2 {
        --bloglo-gutter-y: 0.8rem;
    }

    .g-lg-3,
    .gx-lg-3 {
        --bloglo-gutter-x: 1.6rem;
    }

    .g-lg-3,
    .gy-lg-3 {
        --bloglo-gutter-y: 1.6rem;
    }

    .g-lg-4,
    .gx-lg-4 {
        --bloglo-gutter-x: 2.4rem;
    }

    .g-lg-4,
    .gy-lg-4 {
        --bloglo-gutter-y: 2.4rem;
    }

    .g-lg-5,
    .gx-lg-5 {
        --bloglo-gutter-x: 4.8rem;
    }

    .g-lg-5,
    .gy-lg-5 {
        --bloglo-gutter-y: 4.8rem;
    }

    .g-lg-6,
    .gx-lg-6 {
        --bloglo-gutter-x: 6.5rem;
    }

    .g-lg-6,
    .gy-lg-6 {
        --bloglo-gutter-y: 6.5rem;
    }

    .site .bloglo-flex-row .col-lg {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        -ms-flex-negative: 1;
        flex-shrink: 1;
        max-width: 100%;
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
    }

    .site .bloglo-flex-row .col-lg.flex-basis-auto {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }

    .site .bloglo-flex-row .col-lg-1 {
        -ms-flex-preferred-size: 8.33333%;
        flex-basis: 8.33333%;
        max-width: 8.33333%;
    }

    .site .bloglo-flex-row .col-lg-2 {
        -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%;
        max-width: 16.66667%;
    }

    .site .bloglo-flex-row .col-lg-3 {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%;
    }

    .site .bloglo-flex-row .col-lg-4 {
        -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%;
        max-width: 33.33333%;
    }

    .site .bloglo-flex-row .col-lg-5 {
        -ms-flex-preferred-size: 41.66667%;
        flex-basis: 41.66667%;
        max-width: 41.66667%;
    }

    .site .bloglo-flex-row .col-lg-6 {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }

    .site .bloglo-flex-row .col-lg-7 {
        -ms-flex-preferred-size: 58.33333%;
        flex-basis: 58.33333%;
        max-width: 58.33333%;
    }

    .site .bloglo-flex-row .col-lg-8 {
        -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%;
        max-width: 66.66667%;
    }

    .site .bloglo-flex-row .col-lg-9 {
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
        max-width: 75%;
    }

    .site .bloglo-flex-row .col-lg-10 {
        -ms-flex-preferred-size: 83.33333%;
        flex-basis: 83.33333%;
        max-width: 83.33333%;
    }

    .site .bloglo-flex-row .col-lg-11 {
        -ms-flex-preferred-size: 91.66667%;
        flex-basis: 91.66667%;
        max-width: 91.66667%;
    }

    .site .bloglo-flex-row .col-lg-12 {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }

    .site .bloglo-flex-row .col-lg-offset-0 {
        margin-left: 0%;
    }

    .site .bloglo-flex-row .col-lg-offset-1 {
        margin-left: 8.33333%;
    }

    .site .bloglo-flex-row .col-lg-offset-2 {
        margin-left: 16.66667%;
    }

    .site .bloglo-flex-row .col-lg-offset-3 {
        margin-left: 25%;
    }

    .site .bloglo-flex-row .col-lg-offset-4 {
        margin-left: 33.33333%;
    }

    .site .bloglo-flex-row .col-lg-offset-5 {
        margin-left: 41.66667%;
    }

    .site .bloglo-flex-row .col-lg-offset-6 {
        margin-left: 50%;
    }

    .site .bloglo-flex-row .col-lg-offset-7 {
        margin-left: 58.33333%;
    }

    .site .bloglo-flex-row .col-lg-offset-8 {
        margin-left: 66.66667%;
    }

    .site .bloglo-flex-row .col-lg-offset-9 {
        margin-left: 75%;
    }

    .site .bloglo-flex-row .col-lg-offset-10 {
        margin-left: 83.33333%;
    }

    .site .bloglo-flex-row .col-lg-offset-11 {
        margin-left: 91.66667%;
    }

    .site .bloglo-flex-row .first-lg {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
    }

    .site .bloglo-flex-row .last-lg {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .site .bloglo-flex-row.start-lg,
    .site .bloglo-flex-row .start-lg {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        text-align: left;
    }

    .site .bloglo-flex-row.center-lg,
    .site .bloglo-flex-row .center-lg {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center;
    }

    .site .bloglo-flex-row.end-lg,
    .site .bloglo-flex-row .end-lg {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        text-align: end;
        margin-left: auto;
    }

    .site .bloglo-flex-row.top-lg,
    .site .bloglo-flex-row .top-lg {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .site .bloglo-flex-row.middle-lg,
    .site .bloglo-flex-row .middle-lg {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .site .bloglo-flex-row.stretch-lg,
    .site .bloglo-flex-row .stretch-lg {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }

    .site .bloglo-flex-row.bottom-lg,
    .site .bloglo-flex-row .bottom-lg {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .site .bloglo-flex-row.around-lg {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }

    .site .bloglo-flex-row.between-lg {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media screen and (max-width: 768px) {
    .bloglo-entry p.has-background {
        padding: 2.5rem;
    }

    .bloglo-hide-mobile-tablet {
        display: none !important;
    }

    .alignfull.bloglo-wrap-content>div,
    .bloglo-container,
    .bloglo-container-fluid,
    .wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer>ul {
        padding: 0 3rem;
    }

    .bloglo-header-widgets .bloglo-header-widget,
    .bloglo-header-widgets .bloglo-header-widget.bloglo-header-widget__button {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .bloglo-header-widgets .bloglo-header-widget:not(.bloglo-header-widget__button, .bloglo-header-widget__socials) .bloglo-icon {
        font-size: 2.4rem;
    }

    body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-has-sidebar #page .elementor-section.elementor-section-stretched,
    body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-has-sidebar #page .entry-content .alignfull,
    body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-has-sidebar #page .bloglo-fw-section,
    body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-no-sidebar #page .elementor-section.elementor-section-stretched,
    body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-no-sidebar #page .entry-content .alignfull,
    body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-no-sidebar #page .bloglo-fw-section {
        margin-left: -3rem !important;
        margin-right: -3rem !important;
        left: 0;
        max-width: unset;
    }

    .bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper {
        display: block;
    }

    .bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-left .entry-media,
    .bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-right .entry-media {
        margin: 0 0 2.128em 0;
    }

    #bloglo-pre-footer .col-md-4 {
        margin-top: 3rem;
    }

    .bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:after,
    .bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:before {
        left: 0;
        right: 0;
    }

    .bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row {
        padding: 4rem 3rem;
        margin: 0;
    }

    .bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row>div {
        padding-left: 0;
        padding-right: 0;
    }

    #bloglo-copyright.contained-separator>.bloglo-container:before {
        left: 3rem;
        right: 3rem;
    }

    .single.bloglo-single-title-in-page-header #page .page-header .page-title {
        font-size: 3.2rem;
    }

    .single.bloglo-single-title-in-page-header .page-header .post-category a {
        font-size: 1.4rem;
    }

    #page .bloglo-unset-mw,
    #page .bloglo-unset-mw>img {
        max-width: 100%;
    }

    .bloglo-mobile-nav {
        margin-left: 1.6rem;
    }
}

@media screen and (max-width: 599px) {

    #page .alignleft,
    #page .alignright {
        float: none;
        margin: 2rem auto;
    }

    #page .has-text-align-right {
        text-align: left;
    }

    #bloglo-header-inner .bloglo-widget-wrapper,
    .bloglo-header-element,
    .bloglo-header-widgets .bloglo-header-widget {
        position: static;
    }

    .bloglo-header-widgets .dropdown-item:after {
        display: none;
    }

    .page-header>.bloglo-container {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .page-header>.bloglo-container .bloglo-page-header-wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .page-header .bloglo-page-header-wrapper {
        margin-right: 0;
        margin-left: 0;
        width: 100%;
    }

    .bloglo-page-title-align-right .page-header.bloglo-has-page-title .bloglo-page-header-wrapper {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .bloglo-page-title-align-right .page-header.bloglo-has-page-title .bloglo-breadcrumbs {
        -ms-flex-item-align: start;
        align-self: flex-start;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    /*body:not(.bloglo-single-title-in-page-header) .bloglo-has-page-title .bloglo-breadcrumbs {
        padding-bottom: 0;
    }*/

    .bloglo-hover-slider .hover-slide-item {
        padding: 5rem 0;
    }

    #colophon .search-form,
    #main .search-form {
        max-width: 100%;
    }

    .bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-pre-footer-cta {
        padding-left: 0;
        padding-right: 0;
    }

    .bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row {
        margin-left: 0;
        margin-right: 0;
    }

    #bloglo-copyright .bloglo-copyright-widget .bloglo-nav>ul>li {
        margin-top: 0.32rem;
        margin-bottom: 0.32rem;
    }

    #bloglo-copyright .bloglo-copyright-widget {
        padding-left: 0;
        padding-right: 0;
    }

    #page .error-404 .page-header h1.page-title {
        font-size: 20rem;
    }

    .author-avatar img {
        display: none;
    }

    .single .entry-footer {
        display: block;
    }

    .single .entry-footer .last-updated {
        margin-top: 1.6rem;
        display: block;
    }

    .author-box {
        padding: 2.5rem;
    }

    .author-box .author-box-avatar {
        display: none;
    }

    #comments .comment-body,
    #comments .comment_container {
        padding: 2rem 2.5rem 2.5rem 2.5rem;
        min-height: initial;
        min-height: auto;
    }

    #comments .comment-author-avatar {
        display: none;
    }

    .comment-form>div.comment-form-author,
    .comment-form>div.comment-form-email,
    .comment-form>div.comment-form-url,
    .comment-form>p.comment-form-author,
    .comment-form>p.comment-form-email,
    .comment-form>p.comment-form-url {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (max-width: 480px) {
    .bloglo-hide-mobile {
        display: none !important;
    }

    #page {
        min-height: -webkit-fill-available;
    }
}

@media screen and (max-width: 782px) {
    .admin-bar #page {
        min-height: calc(100vh - 46px);
    }

    .bloglo-sticky-header.admin-bar.bloglo-is-mobile #bloglo-header-inner,
    .bloglo-sticky-header.admin-bar:not(.bloglo-header-layout-3, .bloglo-header-layout-4) #bloglo-header-inner,
    .bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container>.bloglo-container,
    .bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container>.bloglo-container {
        top: 46px;
    }

    #bloglo-footer #bloglo-footer-widgets {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    #bloglo-footer .bloglo-footer-column {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
}

@media screen and (max-width: 960px) {
    .bloglo-layout__boxed-separated #content .entry-content>.alignfull:first-child {
        margin-top: -5rem;
    }

    .bloglo-layout__boxed-separated:not(.comments-open) #content .entry-content>.alignfull:last-child {
        margin-bottom: -5rem;
    }

    .bloglo-horizontal-slider .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .bloglo-entry-content-wrapper,
    .bloglo-layout__boxed-separated.blog.bloglo-blog-horizontal .bloglo-article .bloglo-entry-content-wrapper,
    .bloglo-layout__boxed-separated.category.bloglo-blog-horizontal .bloglo-article .bloglo-entry-content-wrapper,
    .bloglo-layout__boxed-separated.search-results.bloglo-blog-horizontal .bloglo-article .bloglo-entry-content-wrapper {
        padding: 0 2.4rem 3rem;
    }

    .bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget {
        margin-bottom: 4rem;
    }

    .bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget .widget-title {
        margin-left: 0;
        padding-left: 1.2rem;
    }

    #bloglo-topbar>.bloglo-container>.bloglo-flex-row>div .bloglo-topbar-widget {
        padding-top: 0.6rem;
        padding-bottom: 0.6rem;
    }

    #bloglo-topbar .bloglo-topbar-widget {
        padding-left: 0.8rem;
        padding-right: 0.8rem;
    }

    .bloglo-topbar__separators-regular #bloglo-topbar .bloglo-topbar-widget:after,
    .bloglo-topbar__separators-slanted #bloglo-topbar .bloglo-topbar-widget:after {
        margin-left: 0.8rem;
    }

    .bloglo-header__separators-regular .bloglo-header-widget,
    .bloglo-header__separators-slanted .bloglo-header-widget {
        padding-left: 0.8rem;
        padding-right: 0.8rem;
    }

    .bloglo-header__separators-regular .bloglo-header-widget:after,
    .bloglo-header__separators-slanted .bloglo-header-widget:after {
        margin-left: 0.8rem;
    }

    body:not(.bloglo-has-sidebar):not(.bloglo-single-title-in-content) #content .entry-content>.alignfull:first-child {
        margin-top: -4rem;
    }

    body:not(.bloglo-has-sidebar):not(.bloglo-single-title-in-content):not(.comments-open).bloglo-layout__boxed #content .entry-content>.alignfull:last-child {
        margin-bottom: -5rem;
    }

    .bloglo-hover-slider {
        background: none;
    }

    .bloglo-hover-slider .bloglo-hero-container {
        margin-top: 5rem;
    }

    .bloglo-hover-slider .hover-slider-backgrounds {
        display: none;
    }

    .bloglo-hover-slider .hover-slider-item-wrapper {
        position: relative;
        background-color: #232323;
        background-image: var(--bg-image);
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        border-radius: var(--bloglo-normal-radius);
        overflow: hidden;
    }

    .bloglo-hover-slider .hover-slider-item-wrapper:after {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        content: "";
        background-color: #232323;
        opacity: 0.65;
        z-index: 3;
    }

    .bloglo-hover-slider .hover-slide-item {
        padding: 5rem 3rem;
        height: auto !important;
        z-index: 4;
    }

    .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner {
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }

    .bloglo-hover-slider .bloglo-flex-row {
        margin-left: 0;
        margin-right: 0;
    }

    .bloglo-hover-slider .hover-slider-items>div {
        border-right: none;
        margin-bottom: 1rem;
        -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    .bloglo-hover-slider .hover-slider-items>div:last-child {
        margin-bottom: 0;
    }

    .bloglo-hover-slider .hover-slider-items>div .slide-inner {
        text-align: center;
    }

    .bloglo-hover-slider .hover-slider-items>div .hover-slide-item {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category {
        text-align: center;
    }

    .bloglo-hover-slider .hover-slider-items>div:last-child {
        border-bottom: none;
    }

    .bloglo-hover-slider .slide-inner {
        position: relative;
        bottom: 0;
        max-width: 100%;
        padding: 0;
        margin: 0;
    }

    .bloglo-hover-slider .slide-inner .read-more {
        position: static;
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
    }

    .bloglo-hover-slider .entry-meta .entry-meta-elements {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    #main>.bloglo-container {
        display: block;
    }

    #primary {
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-top: 4rem;
    }

    .site-main #secondary {
        width: 100%;
        margin-top: 4rem;
    }

    .bloglo-sidebar-r__before-content #main>.bloglo-container {
        -js-display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .bloglo-sidebar-r__before-content .site-main #primary {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        margin-top: 0;
    }

    #comments .comment-list ol .edit,
    #comments .comment-list ul .edit,
    .bloglo-sidebar-r__hide .site-main #secondary,
    .single .post-nav img {
        display: none;
    }

    #comments .comment-list ol ol ol,
    #comments .comment-list ol ol ul,
    #comments .comment-list ol ul ol,
    #comments .comment-list ol ul ul,
    #comments .comment-list ul ol ol,
    #comments .comment-list ul ol ul,
    #comments .comment-list ul ul ol,
    #comments .comment-list ul ul ul {
        margin-left: 0;
    }

    #comments .comment-list ol ol ol:before,
    #comments .comment-list ol ol ul:before,
    #comments .comment-list ol ul ol:before,
    #comments .comment-list ol ul ul:before,
    #comments .comment-list ul ol ol:before,
    #comments .comment-list ul ol ul:before,
    #comments .comment-list ul ul ol:before,
    #comments .comment-list ul ul ul:before {
        display: none;
    }

    #comments .comment-list ol ol ol li:before,
    #comments .comment-list ol ol ul li:before,
    #comments .comment-list ol ul ol li:before,
    #comments .comment-list ol ul ul li:before,
    #comments .comment-list ul ol ol li:before,
    #comments .comment-list ul ol ul li:before,
    #comments .comment-list ul ul ol li:before,
    #comments .comment-list ul ul ul li:before {
        left: 2.5rem !important;
        height: 2.5rem !important;
    }

    #comments .comment-list ol ol ol li:after,
    #comments .comment-list ol ol ul li:after,
    #comments .comment-list ol ul ol li:after,
    #comments .comment-list ol ul ul li:after,
    #comments .comment-list ul ol ol li:after,
    #comments .comment-list ul ol ul li:after,
    #comments .comment-list ul ul ol li:after,
    #comments .comment-list ul ul ul li:after {
        display: none;
    }
}

@media (max-width: 782px) {
    .wp-block-columns .wp-block-column:empty {
        display: none;
    }

    .wp-block-columns .wp-block-column:empty+.wp-block-column {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        margin-left: 0;
    }
}

@media screen and (max-width: 600px) {

    .bloglo-sticky-header.admin-bar.bloglo-is-mobile #bloglo-header-inner,
    .bloglo-sticky-header.admin-bar:not(.bloglo-header-layout-3, .bloglo-header-layout-4) #bloglo-header-inner,
    .bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container>.bloglo-container,
    .bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container>.bloglo-container {
        top: 0;
    }
}

@media only screen and (max-width: 782px) {

    .bloglo-sticky-last-widget #secondary .bloglo-sidebar-inner>.widget:last-child,
    .bloglo-sticky-sidebar.admin-bar .bloglo-sidebar-inner {
        top: calc(var(--bloglo-sticky-h-offset, 20px) + 46px);
    }
}

@media print {

    #main #bloglo-comments-toggle,
    #main .post-nav,
    #page #respond,
    #page .bloglo-header-widgets,
    #page .bloglo-nav,
    #secondary,
    #bloglo-scroll-top,
    #bloglo-footer {
        display: none;
    }
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    .wp-block-button__link {
        height: 3rem;
    }

    .page-header .bloglo-page-header-wrapper:after,
    .site .bloglo-flex-row:after {
        content: "";
        display: block;
        min-height: inherit;
        font-size: 0;
    }

    #infinite-handle span,
    .bloglo-btn,
    .site-main .woocommerce #respond input#submit,
    .site-main .woocommerce a.button,
    .site-main .woocommerce button.button,
    .site-main .woocommerce input.button,
    .woocommerce #review_form #respond .form-submit input,
    .woocommerce div.product form.cart .button,
    .woocommerce ul.products li.product .added_to_cart,
    .woocommerce ul.products li.product .button,
    body:not(.wp-customizer) input[type="submit"] {
        height: 1rem;
    }

    #main>.bloglo-container #primary {
        -ms-flex-preferred-size: 0%;
        flex-basis: 0%;
    }

    .page-header .bloglo-page-header-wrapper {
        height: 10rem;
    }
}

/****
///////////////// Colors ======================>>>>>>>>>>>>>>
****/

.bloglo-btn,
input[type="submit"],
.comment-form input[type="checkbox"]:checked,
#comments .bypostauthor-badge,
.using-keyboard.single .post-tags a:focus,
.single .post-tags a:hover,
.using-keyboard .tagcloud a:focus,
.tagcloud a:hover,
.using-keyboard .wp-block-tag-cloud a:focus,
.wp-block-tag-cloud a:hover,
#main .mejs-controls .mejs-time-rail .mejs-time-current,
.bloglo-btn.bloglo-read-more::after,
.post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg::after,
.entry-media>a:hover .entry-media-icon::before,
.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::after,
.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::after,
.select2-container--default .select2-results__option--highlighted[aria-selected],
.bloglo-input-supported input[type="radio"]:not([id^='wpforms-']):checked::before,
.bloglo-input-supported input[type="checkbox"]:not([id^='wpforms-']):checked,
.bloglo-sidebar-style-2 #secondary .widget-title::before,
.bloglo-sidebar-style-2 .elementor-widget-sidebar .widget-title::before,
.widget .cat-item a:hover+span,
.widget_archive li a:hover+span,
.widget .cat-item.current-cat a+span,
#bloglo-footer .widget .cat-item a:hover+span,
#bloglo-footer .widget_archive li a:hover+span,
#bloglo-footer .widget .cat-item.current-cat a+span,
.bloglo-btn.btn-outline:hover,
#infinite-handle span {
    background-color: var(--bloglo-primary);
}

.bloglo-btn:hover,
#infinite-handle span:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="reset"]:focus,
.bloglo-btn:focus,
input[type="submit"]:focus {
    background-color: var(--bloglo-primary_15);
}

mark,
span.highlight,
code,
kbd,
var,
samp,
tt {
    background-color: var(--bloglo-primary_09);
}

code.block {
    background-color: var(--bloglo-primary_04);
}

.content-area a:not(.bloglo-btn, .wp-block-button__link, .page-numbers, [rel^=category]),
#secondary .hester-core-custom-list-widget .bloglo-entry a:not(.bloglo-btn),
#secondary a:not(.bloglo-btn):hover,
.using-keyboard #secondary a:not(.bloglo-btn):focus,
.bloglo-header-widgets .bloglo-header-widget.bloglo-active .bloglo-icon.bloglo-search,
.bloglo-logo .site-title a:hover,
.using-keyboard .site-title a:focus,
#bloglo-header-inner .bloglo-nav>ul>li>a:hover,
.using-keyboard #bloglo-header-inner .bloglo-nav>ul>li>a:focus,
#bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:hover>a,
.using-keyboard #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:focus>a,
#bloglo-header-inner .bloglo-nav>ul>li.current-menu-item>a,
#bloglo-header-inner .bloglo-nav>ul>li.current-menu-ancestor>a,
#bloglo-header-inner .bloglo-nav>ul>li.page_item_has_children:hover>a,
#bloglo-header-inner .bloglo-nav>ul>li.current_page_item>a,
#bloglo-header-inner .bloglo-nav>ul>li.current_page_ancestor>a,
#bloglo-topbar .bloglo-nav>ul>li>a:hover,
.using-keyboard #bloglo-topbar .bloglo-nav>ul>li>a:focus,
#bloglo-topbar .bloglo-nav>ul>li.menu-item-has-children:hover>a,
#bloglo-topbar .bloglo-nav>ul>li.current-menu-item>a,
#bloglo-topbar .bloglo-nav>ul>li.current-menu-ancestor>a,
.bloglo-social-nav>ul>li>a .bloglo-icon.bottom-icon,
.bloglo-header-widgets a:not(.bloglo-btn):hover,
.using-keyboard .bloglo-header-widgets a:not(.bloglo-btn):focus,
#bloglo-header-inner .bloglo-header-widgets .bloglo-active,
.widget .cat-item.current-cat>a,
.widget ul li.current_page_item>a,
#cancel-comment-reply-link:hover,
.using-keyboard #cancel-comment-reply-link:focus,
.comment-form .required,
#main .entry-meta a:hover,
.using-keyboard #main .entry-meta a:focus,
#main .author-box-title a:hover,
.using-keyboard #main .author-box-title a:focus,
.bloglo-btn.btn-outline,
code,
kbd,
var,
samp,
tt,
.is-mobile-menu-active .bloglo-hamburger,
.bloglo-hamburger:hover,
.single #main .post-nav a:hover,
.using-keyboard .single #main .post-nav a:focus,
#bloglo-topbar .bloglo-topbar-widget__text .bloglo-icon {
    color: var(--bloglo-primary);
}

#page ::-moz-selection {
    background-color: var(--bloglo-primary);
    color: var(--bloglo-white);
}

#page ::selection {
    background-color: var(--bloglo-primary);
    color: var(--bloglo-white);
}

input[type="search"]:focus,
#comments .comment-actions .reply a:hover,
.comment-form input[type="checkbox"]:checked,
.comment-form input[type="checkbox"]:focus,
.comment-form input[type="radio"]:checked,
.comment-form input[type="radio"]:focus,
#colophon,
.elementor-widget-sidebar .widget-title,
.bloglo-entry blockquote,
.wp-block-quote.is-style-large,
.wp-block-quote.is-large,
.wp-block-quote.has-text-align-right,
.bloglo-input-supported input[type="radio"]:checked,
.bloglo-input-supported input[type="checkbox"]:checked,
.bloglo-btn.btn-outline {
    border-color: var(--bloglo-primary);
}

#masthead .bloglo-header-widgets .dropdown-item::after,
.bloglo-nav>ul .sub-menu::after,
textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="date"]:focus {
    border-bottom-color: var(--bloglo-primary);
    outline: none !important;
}

.bloglo-header-widgets .dropdown-item,
.preloader-1>div,
.bloglo-nav .sub-menu {
    border-top-color: var(--bloglo-primary);
}

.bloglo-input-supported input[type="checkbox"]:focus:hover {
    box-shadow: inset 0 0 0 0.2rem var(--bloglo-primary);
}

/* Woocommerce Colors */
.bloglo-header-widgets .bloglo-cart .bloglo-cart-count,
.bloglo-woo-steps .bloglo-step.is-active>span:first-child,
.woocommerce div.product form.cart .button,
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale,
.woocommerce-store-notice,
p.demo_store,
.woocommerce ul.products li.product .button,
.widget.woocommerce .wc-layered-nav-term:hover .count,
.widget.woocommerce .product-categories li a:hover~.count,
.widget.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item.chosen a:before,
.woocommerce .widget_rating_filter ul li.chosen a::before,
.widget.woocommerce .wc-layered-nav-term.chosen .count,
.widget.woocommerce .product-categories li.current-cat>.count,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:after,
.woocommerce .widget_layered_nav_filters ul li a:hover,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover:before,
.woocommerce #review_form #respond .form-submit input {
    background-color: var(--bloglo-primary);
}

.woocommerce #review_form #respond .form-submit input:hover,
.using-keyboard .woocommerce #review_form #respond .form-submit input:focus,
.woocommerce div.product form.cart .button:hover,
.using-keyboard .woocommerce div.product form.cart .button:focus,
.site-main .woocommerce #respond input#submit:hover,
.using-keyboard .site-main .woocommerce #respond input#submit:focus,
.site-main .woocommerce a.button:hover,
.using-keyboard .site-main .woocommerce a.button:focus,
.site-main .woocommerce button.button:hover,
.using-keyboard .site-main .woocommerce button.button:focus,
.site-main .woocommerce input.button:hover,
.using-keyboard .site-main .woocommerce input.button:focus,
.woocommerce ul.products li.product .button:hover,
.using-keyboard .woocommerce ul.products li.product .button:focus,
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.widget.woocommerce .wc-layered-nav-rating a:hover em,
.widget.woocommerce .wc-layered-nav-rating.chosen a em {
    background-color: var(--bloglo-primary_15);
}

.woocommerce #yith-wcwl-form table.shop_table .product-subtotal .amount,
.woocommerce .woocommerce-cart-form table.shop_table .product-subtotal .amount,
.woocommerce ul.products li.product .price,
.woocommerce .woocommerce-checkout-review-order .order-total .woocommerce-Price-amount.amount,
#main .woocommerce-MyAccount-navigation li.is-active,
.woocommerce .star-rating span::before,
.widget.woocommerce .wc-layered-nav-term:hover a,
.using-keyboard .widget.woocommerce .wc-layered-nav-term:focus a,
.widget.woocommerce .wc-layered-nav-term a:hover,
.using-keyboard .widget.woocommerce .wc-layered-nav-term a:focus,
.widget.woocommerce .product-categories li a:hover,
.using-keyboard .widget.woocommerce .product-categories li a:focus,
.widget.woocommerce .product-categories li.current-cat>a,
.woocommerce ins .amount,
.woocommerce .widget_rating_filter ul li.chosen a::before,
.widget.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item.chosen,
.woocommerce .widget_shopping_cart .total .amount,
.woocommerce .widget_shopping_cart .total .tax_label,
.woocommerce.widget_shopping_cart .total .amount,
.woocommerce.widget_shopping_cart .total .tax_label,
.woocommerce .widget_shopping_cart .cart_list li a.remove:hover:before,
.using-keyboard .woocommerce .widget_shopping_cart .cart_list li a.remove:focus:before,
.woocommerce.widget_shopping_cart .cart_list li a.remove:hover:before,
.using-keyboard .woocommerce.widget_shopping_cart .cart_list li a.remove:focus:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active>a,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product #reviews .comment-form-rating .stars a,
.woocommerce div.product .woocommerce-pagination ul li span.current,
.woocommerce div.product .woocommerce-pagination ul li a:hover,
.using-keyboard .woocommerce div.product .woocommerce-pagination ul li a:focus,
.wc-cart-widget-header .bloglo-cart-subtotal span,
.bloglo-header-widget__cart:hover>a,
.bloglo-woo-steps .bloglo-step.is-active,
.cart_totals .order-total td {
    color: var(--bloglo-primary);
}

.wc-layered-nav-rating a:hover .star-rating span:before {
    color: var(--bloglo-primary_15);
}

.widget.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item.chosen a:before,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product .woocommerce-pagination ul li span.current {
    border-color: var(--bloglo-primary);
}

.using-keyboard .woocommerce-cart table.cart td.actions .coupon .input-text:focus,
.using-keyboard .woocommerce-checkout table.cart td.actions .coupon .input-text:focus,
.using-keyboard #add_payment_method table.cart td.actions .coupon .input-text:focus {
    border-bottom-color: var(--bloglo-primary);
}

/* -------------------------------------------------------------------------- */
/*  Some Basic Home Sections Setup
/* -------------------------------------------------------------------------- */

::-webkit-selection {
    background-color: var(--bloglo-primary);
    color: var(--bloglo-white);
}

::selection {
    background-color: var(--bloglo-primary);
    color: var(--bloglo-white);
}

/* Scrollbar */

* {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

::-webkit-scrollbar {
    width: 0.7rem;
    height: 0.7rem;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.4);
}

.b-r-0,
.b-r-0>*,
.b-r-0 .gallery-inner {
    border-radius: 0 !important;
}

.b-r-d,
.b-r-d>*,
.b-r-d .gallery-inner {
    border-radius: 0.5rem !important;
}

.list-none {
    list-style: none;
    padding: 0;
    margin: 0;
}

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.mt-auto {
    margin-top: auto;
}

.mb-auto {
    margin-bottom: auto;
}

.mt-0 {
    margin-top: 0;
}

.mr-0 {
    margin-right: 0;
}

.mb-0 {
    margin-bottom: 0;
}

.ml-0 {
    margin-left: 0;
}

.mt-1 {
    margin-top: 0.4rem;
}

.mr-1 {
    margin-right: 0.4rem;
}

.mb-1 {
    margin-bottom: 0.4rem;
}

.ml-1 {
    margin-left: 0.4rem;
}

.mt-2 {
    margin-top: 0.8rem;
}

.mr-2 {
    margin-right: 0.8rem;
}

.mb-2 {
    margin-bottom: 0.8rem;
}

.ml-2 {
    margin-left: 0.8rem;
}

.mt-3 {
    margin-top: 1.6rem;
}

.mr-3 {
    margin-right: 1.6rem;
}

.mb-3 {
    margin-bottom: 1.6rem;
}

.ml-3 {
    margin-left: 1.6rem;
}

.mt-4 {
    margin-top: 2.4rem;
}

.mr-4 {
    margin-right: 2.4rem;
}

.mb-4 {
    margin-bottom: 2.4rem;
}

.ml-4 {
    margin-left: 2.4rem;
}

.mt-5 {
    margin-top: 4.8rem;
}

.mr-5 {
    margin-right: 4.8rem;
}

.mb-5 {
    margin-bottom: 4.8rem;
}

.ml-5 {
    margin-left: 4.8rem;
}

.mb-h {
    margin-bottom: 6rem;
}

.p-0 {
    padding: 0;
}

.pt-0 {
    padding-top: 0;
}

.pr-0 {
    padding-right: 0;
}

.pb-0 {
    padding-bottom: 0;
}

.pl-0 {
    padding-left: 0;
}

.pt-1 {
    padding-top: 0.4rem;
}

.pr-1 {
    padding-right: 0.4rem;
}

.pb-1 {
    padding-bottom: 0.4rem;
}

.pl-1 {
    padding-left: 0.4rem;
}

.pt-2 {
    padding-top: 0.8rem;
}

.pr-2 {
    padding-right: 0.8rem;
}

.pb-2 {
    padding-bottom: 0.8rem;
}

.pl-2 {
    padding-left: 0.8rem;
}

.pt-3 {
    padding-top: 1.6rem;
}

.pr-3 {
    padding-right: 1.6rem;
}

.pb-3 {
    padding-bottom: 1.6rem;
}

.pl-3 {
    padding-left: 1.6rem;
}

.pt-4 {
    padding-top: 2.4rem;
}

.pr-4 {
    padding-right: 2.4rem;
}

.pb-4 {
    padding-bottom: 2.4rem;
}

.pl-4 {
    padding-left: 2.4rem;
}

.pt-5 {
    padding-top: 4.8rem;
}

.pr-5 {
    padding-right: 4.8rem;
}

.pb-5 {
    padding-bottom: 4.8rem;
}

.pl-5 {
    padding-left: 4.8rem;
}

.d-inline-block {
    display: inline-block;
}

.d-block {
    display: block;
}

.d-inline-flex {
    display: inline-flex;
}

.d-flex {
    display: flex;
}

.d-none {
    display: none;
}

/* lg > 1200px */
@media only screen and (min-width: 75em) {
    .my-lg-auto {
        margin-top: auto;
        margin-bottom: auto;
    }

    .mx-lg-auto {
        margin-left: auto;
        margin-right: auto;
    }

    .mt-lg-auto {
        margin-top: auto;
    }

    .mb-lg-auto {
        margin-bottom: auto;
    }

    .mt-lg-0 {
        margin-top: 0;
    }

    .mr-lg-0 {
        margin-right: 0;
    }

    .mb-lg-0 {
        margin-bottom: 0;
    }

    .ml-lg-0 {
        margin-left: 0;
    }

    .mt-lg-1 {
        margin-top: 0.4rem;
    }

    .mr-lg-1 {
        margin-right: 0.4rem;
    }

    .mb-lg-1 {
        margin-bottom: 0.4rem;
    }

    .ml-lg-1 {
        margin-left: 0.4rem;
    }

    .mt-lg-2 {
        margin-top: 0.8rem;
    }

    .mr-lg-2 {
        margin-right: 0.8rem;
    }

    .mb-lg-2 {
        margin-bottom: 0.8rem;
    }

    .ml-lg-2 {
        margin-left: 0.8rem;
    }

    .mt-lg-3 {
        margin-top: 1.6rem;
    }

    .mr-lg-3 {
        margin-right: 1.6rem;
    }

    .mb-lg-3 {
        margin-bottom: 1.6rem;
    }

    .ml-lg-3 {
        margin-left: 1.6rem;
    }

    .mt-lg-4 {
        margin-top: 2.4rem;
    }

    .mr-lg-4 {
        margin-right: 2.4rem;
    }

    .mb-lg-4 {
        margin-bottom: 2.4rem;
    }

    .ml-lg-4 {
        margin-left: 2.4rem;
    }

    .mt-lg-5 {
        margin-top: 4.8rem;
    }

    .mr-lg-5 {
        margin-right: 4.8rem;
    }

    .mb-lg-5 {
        margin-bottom: 4.8rem;
    }

    .ml-lg-5 {
        margin-left: 4.8rem;
    }

    .pt-lg-0 {
        padding-top: 0;
    }

    .pr-lg-0 {
        padding-right: 0;
    }

    .pb-lg-0 {
        padding-bottom: 0;
    }

    .pl-lg-0 {
        padding-left: 0;
    }

    .pt-lg-1 {
        padding-top: 0.4rem;
    }

    .pr-lg-1 {
        padding-right: 0.4rem;
    }

    .pb-lg-1 {
        padding-bottom: 0.4rem;
    }

    .pl-lg-1 {
        padding-left: 0.4rem;
    }

    .pt-lg-2 {
        padding-top: 0.8rem;
    }

    .pr-lg-2 {
        padding-right: 0.8rem;
    }

    .pb-lg-2 {
        padding-bottom: 0.8rem;
    }

    .pl-lg-2 {
        padding-left: 0.8rem;
    }

    .pt-lg-3 {
        padding-top: 1.6rem;
    }

    .pr-lg-3 {
        padding-right: 1.6rem;
    }

    .pb-lg-3 {
        padding-bottom: 1.6rem;
    }

    .pl-lg-3 {
        padding-left: 1.6rem;
    }

    .pt-lg-4 {
        padding-top: 2.4rem;
    }

    .pr-lg-4 {
        padding-right: 2.4rem;
    }

    .pb-lg-4 {
        padding-bottom: 2.4rem;
    }

    .pl-lg-4 {
        padding-left: 2.4rem;
    }

    .pt-lg-5 {
        padding-top: 4.8rem;
    }

    .pr-lg-5 {
        padding-right: 4.8rem;
    }

    .pb-lg-5 {
        padding-bottom: 4.8rem;
    }

    .pl-lg-5 {
        padding-left: 4.8rem;
    }

    .d-lg-inline-block {
        display: inline-block;
    }

    .d-lg-block {
        display: block;
    }

    .d-lg-inline-flex {
        display: inline-flex;
    }

    .d-lg-flex {
        display: flex;
    }

    .d-lg-none {
        display: none;
    }
}

/* md > 783px */
@media only screen and (min-width: 48.938em) {
    .my-md-auto {
        margin-top: auto;
        margin-bottom: auto;
    }

    .mx-md-auto {
        margin-left: auto;
        margin-right: auto;
    }

    .mt-md-auto {
        margin-top: auto;
    }

    .mb-md-auto {
        margin-bottom: auto;
    }

    .mt-md-0 {
        margin-top: 0;
    }

    .mr-md-0 {
        margin-right: 0;
    }

    .mb-md-0 {
        margin-bottom: 0;
    }

    .ml-md-0 {
        margin-left: 0;
    }

    .mt-md-1 {
        margin-top: 0.4rem;
    }

    .mr-md-1 {
        margin-right: 0.4rem;
    }

    .mb-md-1 {
        margin-bottom: 0.4rem;
    }

    .ml-md-1 {
        margin-left: 0.4rem;
    }

    .mt-md-2 {
        margin-top: 0.8rem;
    }

    .mr-md-2 {
        margin-right: 0.8rem;
    }

    .mb-md-2 {
        margin-bottom: 0.8rem;
    }

    .ml-md-2 {
        margin-left: 0.8rem;
    }

    .mt-md-3 {
        margin-top: 1.6rem;
    }

    .mr-md-3 {
        margin-right: 1.6rem;
    }

    .mb-md-3 {
        margin-bottom: 1.6rem;
    }

    .ml-md-3 {
        margin-left: 1.6rem;
    }

    .mt-md-4 {
        margin-top: 2.4rem;
    }

    .mr-md-4 {
        margin-right: 2.4rem;
    }

    .mb-md-4 {
        margin-bottom: 2.4rem;
    }

    .ml-md-4 {
        margin-left: 2.4rem;
    }

    .mt-md-5 {
        margin-top: 4.8rem;
    }

    .mr-md-5 {
        margin-right: 4.8rem;
    }

    .mb-md-5 {
        margin-bottom: 4.8rem;
    }

    .ml-md-5 {
        margin-left: 4.8rem;
    }

    .pt-md-0 {
        padding-top: 0;
    }

    .pr-md-0 {
        padding-right: 0;
    }

    .pb-md-0 {
        padding-bottom: 0;
    }

    .pl-md-0 {
        padding-left: 0;
    }

    .pt-md-1 {
        padding-top: 0.4rem;
    }

    .pr-md-1 {
        padding-right: 0.4rem;
    }

    .pb-md-1 {
        padding-bottom: 0.4rem;
    }

    .pl-md-1 {
        padding-left: 0.4rem;
    }

    .pt-md-2 {
        padding-top: 0.8rem;
    }

    .pr-md-2 {
        padding-right: 0.8rem;
    }

    .pb-md-2 {
        padding-bottom: 0.8rem;
    }

    .pl-md-2 {
        padding-left: 0.8rem;
    }

    .pt-md-3 {
        padding-top: 1.6rem;
    }

    .pr-md-3 {
        padding-right: 1.6rem;
    }

    .pb-md-3 {
        padding-bottom: 1.6rem;
    }

    .pl-md-3 {
        padding-left: 1.6rem;
    }

    .pt-md-4 {
        padding-top: 2.4rem;
    }

    .pr-md-4 {
        padding-right: 2.4rem;
    }

    .pb-md-4 {
        padding-bottom: 2.4rem;
    }

    .pl-md-4 {
        padding-left: 2.4rem;
    }

    .pt-md-5 {
        padding-top: 4.8rem;
    }

    .pr-md-5 {
        padding-right: 4.8rem;
    }

    .pb-md-5 {
        padding-bottom: 4.8rem;
    }

    .pl-md-5 {
        padding-left: 4.8rem;
    }

    .d-md-inline-block {
        display: inline-block;
    }

    .d-md-block {
        display: block;
    }

    .d-md-inline-flex {
        display: inline-flex;
    }

    .d-md-flex {
        display: flex;
    }

    .d-md-none {
        display: none;
    }
}

/* sm > 600px */
@media only screen and (min-width: 37.5rem) {
    .my-sm-auto {
        margin-top: auto;
        margin-bottom: auto;
    }

    .mx-sm-auto {
        margin-left: auto;
        margin-right: auto;
    }

    .mt-sm-auto {
        margin-top: auto;
    }

    .mb-sm-auto {
        margin-bottom: auto;
    }

    .mt-sm-0 {
        margin-top: 0;
    }

    .mr-sm-0 {
        margin-right: 0;
    }

    .mb-sm-0 {
        margin-bottom: 0;
    }

    .ml-sm-0 {
        margin-left: 0;
    }

    .mt-sm-1 {
        margin-top: 0.4rem;
    }

    .mr-sm-1 {
        margin-right: 0.4rem;
    }

    .mb-sm-1 {
        margin-bottom: 0.4rem;
    }

    .ml-sm-1 {
        margin-left: 0.4rem;
    }

    .mt-sm-2 {
        margin-top: 0.8rem;
    }

    .mr-sm-2 {
        margin-right: 0.8rem;
    }

    .mb-sm-2 {
        margin-bottom: 0.8rem;
    }

    .ml-sm-2 {
        margin-left: 0.8rem;
    }

    .mt-sm-3 {
        margin-top: 1.6rem;
    }

    .mr-sm-3 {
        margin-right: 1.6rem;
    }

    .mb-sm-3 {
        margin-bottom: 1.6rem;
    }

    .ml-sm-3 {
        margin-left: 1.6rem;
    }

    .mt-sm-4 {
        margin-top: 2.4rem;
    }

    .mr-sm-4 {
        margin-right: 2.4rem;
    }

    .mb-sm-4 {
        margin-bottom: 2.4rem;
    }

    .ml-sm-4 {
        margin-left: 2.4rem;
    }

    .mt-sm-5 {
        margin-top: 4.8rem;
    }

    .mr-sm-5 {
        margin-right: 4.8rem;
    }

    .mb-sm-5 {
        margin-bottom: 4.8rem;
    }

    .ml-sm-5 {
        margin-left: 4.8rem;
    }

    .pt-sm-0 {
        padding-top: 0;
    }

    .pr-sm-0 {
        padding-right: 0;
    }

    .pb-sm-0 {
        padding-bottom: 0;
    }

    .pl-sm-0 {
        padding-left: 0;
    }

    .pt-sm-1 {
        padding-top: 0.4rem;
    }

    .pr-sm-1 {
        padding-right: 0.4rem;
    }

    .pb-sm-1 {
        padding-bottom: 0.4rem;
    }

    .pl-sm-1 {
        padding-left: 0.4rem;
    }

    .pt-sm-2 {
        padding-top: 0.8rem;
    }

    .pr-sm-2 {
        padding-right: 0.8rem;
    }

    .pb-sm-2 {
        padding-bottom: 0.8rem;
    }

    .pl-sm-2 {
        padding-left: 0.8rem;
    }

    .pt-sm-3 {
        padding-top: 1.6rem;
    }

    .pr-sm-3 {
        padding-right: 1.6rem;
    }

    .pb-sm-3 {
        padding-bottom: 1.6rem;
    }

    .pl-sm-3 {
        padding-left: 1.6rem;
    }

    .pt-sm-4 {
        padding-top: 2.4rem;
    }

    .pr-sm-4 {
        padding-right: 2.4rem;
    }

    .pb-sm-4 {
        padding-bottom: 2.4rem;
    }

    .pl-sm-4 {
        padding-left: 2.4rem;
    }

    .pt-sm-5 {
        padding-top: 4.8rem;
    }

    .pr-sm-5 {
        padding-right: 4.8rem;
    }

    .pb-sm-5 {
        padding-bottom: 4.8rem;
    }

    .pl-sm-5 {
        padding-left: 4.8rem;
    }

    .d-sm-inline-block {
        display: inline-block;
    }

    .d-sm-block {
        display: block;
    }

    .d-sm-inline-flex {
        display: inline-flex;
    }

    .d-sm-flex {
        display: flex;
    }

    .d-sm-none {
        display: none;
    }
}

.overflow-hidden {
    overflow: hidden;
}

[class*="is-overlay-"] {
    overflow: hidden;
    position: relative;
    z-index: 0;
}

[class*="is-overlay-"]::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.75;
    z-index: -1;
}

.is-overlay-inherit::before {
    background: inherit;
}

.is-overlay-primary::before {
    background-color: var(--bloglo-primary);
}

.is-overlay-secondary::before {
    background-color: var(--bloglo-black);
    opacity: 0.65;
}

.is-overlay-white::before {
    background-color: var(--bloglo--bg-white);
}

a.bloglo-btn i,
button.bloglo-btn i {
    font-size: 105%;
    vertical-align: baseline;
}

a.bloglo-btn i::before,
button.bloglo-btn i::before {
    display: inline-block;
    vertical-align: middle;
}

a.bloglo-btn span,
button.bloglo-btn span {
    vertical-align: baseline;
}

a.bloglo-btn span+i,
button.bloglo-btn span+i,
a.bloglo-btn i+span,
button.bloglo-btn i+span {
    margin-left: 0.75rem;
}

/* Is Left Button
a.bloglo-btn i, button.bloglo-btn i {
    margin-right: 0.8rem;
}
Is Right Button Icon
a.bloglo-btn i, button.bloglo-btn i {
    margin-left: 0.8rem;
}
*/

.bg-primary {
    background-color: var(--bloglo-primary);
}

.bg-primary-light {
    background-color: var(--bloglo-primary_04);
}

.bg-secondary {
    background-color: var(--bloglo-secondary);
}

.text-primary {
    color: var(--bloglo-primary);
}

.text-white {
    color: var(--bloglo-white);
}

/* Clearing ---------------------------------- */

.clearing::after {
    content: "";
    display: table;
    clear: both;
}

/* Accessibility Settings -------------------- */

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0s !important;
        transition-duration: 0s !important;
    }
}

/* -------------------------------------------------------------------------- */

/*  Helper Classes
/* -------------------------------------------------------------------------- */

/* Layout ------------------------------------ */

.no-margin {
    margin: 0;
}

.no-padding {
    padding: 0;
}

.screen-height {
    min-height: 100vh;
}

.admin-bar .screen-height {
    min-height: calc(100vh - 32px);
}

@media (max-width: 782px) {
    .admin-bar .screen-height {
        min-height: calc(100vh - 46px);
    }
}

.screen-width {
    position: relative;
    left: calc(50% - 50vw);
    width: 100vw;
}

/* Image Classes ----------------------------- */

.bg-image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.bg-attachment-fixed {
    background-attachment: fixed;
}

@supports (-webkit-overflow-scrolling: touch) {
    .bg-attachment-fixed {
        background-attachment: scroll;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bg-attachment-fixed {
        background-attachment: scroll;
    }
}

.wp-block-image.is-resized {
    margin-left: auto;
    margin-right: auto;
}

/* Newsletter wpcf7 ------------------------------------ */

.wpcf7 .wpcf7-form p+p {
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}

.form-newsletter {
    margin-top: -1.6rem;
    text-align: left;
}

.form-newsletter .wpcf7-form {
    display: flex;
    align-items: center;
    justify-content: end;
    margin-bottom: -1.6rem;
}

.form-newsletter .wpcf7-form>*:not(div) {
    flex: 1 1 auto;
}

.form-newsletter .wpcf7-form .form-control {
    border-radius: 10rem;
}

.form-newsletter .wpcf7-form>p:nth-child(3) {
    max-width: max-content;
    flex-basis: auto;
}

.form-newsletter .wpcf7-form .wpcf7-submit {
    margin-left: 1rem;
    white-space: nowrap;
}

.form-newsletter .wpcf7-form .wpcf7-submit:hover,
.form-newsletter .wpcf7-form .wpcf7-submit:focus {
    background-color: var(--bs-white);
    color: var(--bs-primary);
}

@media (max-width: 61.938em) {
    .form-newsletter .wpcf7-form .form-control {
        min-height: 3.356rem;
        padding: 0.786rem 2rem;
    }
}

/* WPforms full  */

[data-theme="dark"] div.wpforms-container .wpforms-field-label-inline,
[data-theme="dark"] div.wpforms-container .wpforms-field-label {
    color: #fff;
}

.wpcf7 p,
.wpcf7 label {
    margin-bottom: 0;
}

.wpcf7 label {
    width: 100%;
}

.wpcf7 div+p {
    margin-top: 0;
}

/* -------------------------------------------------------------------------- */

/*  Starter Shapes

    *. Animation keyframes
/* -------------------------------------------------------------------------- */

/* Fade In Down ------------------------------------ */
@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

/* ---//--- */


/* -------------------------------------------------------------------------- */

/*  Starter Heading
/* -------------------------------------------------------------------------- */

.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading,
.is-footer-heading-init-s1 #bloglo-footer .widget-title {
    padding-bottom: 2rem;
}

.is-footer-heading-init-s1 #bloglo-footer .start-xs .widget-title::after {
    left: 7rem;
    right: unset;
    transform: none;
}

.is-footer-heading-init-s1 #bloglo-footer .start-xs .widget-title::before {
    left: 0;
    right: unset;
    transform: none;
}

.is-footer-heading-init-s1 #bloglo-footer .center-xs .widget-title::before,
.is-footer-heading-init-s1 #bloglo-footer .center-xs .widget-title::after {
    right: 0;
    left: 0;
    margin: auto;
}

.is-footer-heading-init-s1 #bloglo-footer .center-xs .widget-title::before {
    transform: translateX(-2.6rem);
}

.is-footer-heading-init-s1 #bloglo-footer .center-xs .widget-title::after {
    transform: translateX(2.6rem);
}

.is-footer-heading-init-s1 #bloglo-footer .end-xs .widget-title::after {
    right: 7rem;
    left: unset;
    transform: none;
}

.is-footer-heading-init-s1 #bloglo-footer .end-xs .widget-title::before {
    right: 0;
    left: unset;
    transform: none;
}

/* lg > 1200px */
@media (min-width: 75em) {
    .is-footer-heading-init-s1 #bloglo-footer .start-lg .widget-title::after {
        left: 7rem;
        right: unset;
        transform: none;
    }

    .is-footer-heading-init-s1 #bloglo-footer .start-lg .widget-title::before {
        left: 0;
        right: unset;
        transform: none;
    }

    .is-footer-heading-init-s1 #bloglo-footer .center-lg .widget-title::before,
    .is-footer-heading-init-s1 #bloglo-footer .center-lg .widget-title::after {
        right: 0;
        left: 0;
        margin: auto;
    }

    .is-footer-heading-init-s1 #bloglo-footer .center-lg .widget-title::before {
        transform: translateX(-2.6rem);
    }

    .is-footer-heading-init-s1 #bloglo-footer .center-lg .widget-title::after {
        transform: translateX(2.6rem);
    }

    .is-footer-heading-init-s1 #bloglo-footer .end-lg .widget-title::after {
        right: 7rem;
        left: unset;
        transform: none;
    }

    .is-footer-heading-init-s1 #bloglo-footer .end-lg .widget-title::before {
        right: 0;
        left: unset;
        transform: none;
    }
}

/* md > 783px */
@media (min-width: 48.938em) {
    .is-footer-heading-init-s1 #bloglo-footer .start-md .widget-title::after {
        left: 7rem;
        right: unset;
        transform: none;
    }

    .is-footer-heading-init-s1 #bloglo-footer .start-md .widget-title::before {
        left: 0;
        right: unset;
        transform: none;
    }

    .is-footer-heading-init-s1 #bloglo-footer .center-md .widget-title::before,
    .is-footer-heading-init-s1 #bloglo-footer .center-md .widget-title::after {
        right: 0;
        left: 0;
        margin: auto;
    }

    .is-footer-heading-init-s1 #bloglo-footer .center-md .widget-title::before {
        transform: translateX(-2.6rem);
    }

    .is-footer-heading-init-s1 #bloglo-footer .center-md .widget-title::after {
        transform: translateX(2.6rem);
    }

    .is-footer-heading-init-s1 #bloglo-footer .end-md .widget-title::after {
        right: 7rem;
        left: unset;
        transform: none;
    }

    .is-footer-heading-init-s1 #bloglo-footer .end-md .widget-title::before {
        right: 0;
        left: unset;
        transform: none;
    }
}

.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading::before,
.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading::after,
.is-footer-heading-init-s1 #bloglo-footer .widget-title::before,
.is-footer-heading-init-s1 #bloglo-footer .widget-title::after,
.is-section-heading-init-s1 .comments-title::before,
.is-section-heading-init-s1 .comments-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    height: 0.2rem;
    background-color: var(--bloglo-primary);
    z-index: 1;
}

.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading::before,
.is-footer-heading-init-s1 #bloglo-footer .widget-title::before,
.is-section-heading-init-s1 .comments-title::before {
    width: 6rem;
    left: 0;
}

.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading::after,
.is-footer-heading-init-s1 #bloglo-footer .widget-title::after,
.is-section-heading-init-s1 .comments-title::after {
    width: 2rem;
    left: 7rem;
}

/* -------------------------------------------------------------------------- */

/*  Site Elements
/* -------------------------------------------------------------------------- */

/* Footer Parallax ------------------------------------ */

.is-parallax-footer #main {
    background: var(--bloglo-white);
    box-shadow: 0 0.3rem 3rem rgba(0, 0, 0, 0.02), 0 1rem 3rem rgba(0, 0, 0, 0.07);
}

/* Cursor Dot ------------------------------------ */

.bloglo-cursor {
    visibility: hidden;
    position: fixed;
    pointer-events: none;
    z-index: 10000;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
    pointer-events: none;
    top: 0;
    left: 0;
}

.bloglo-cursor .bloglo-cursor-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.bloglo-cursor .bloglo-cursor--follower {
    position: absolute;
    background-color: var(--bloglo-primary);
    opacity: 0.35;
    border-radius: 100%;
    width: 2.4rem;
    height: 2.4rem;
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), background-color 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.bloglo-cursor .bloglo-cursor--label {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--bloglo-white);
    letter-spacing: 0.08em;
    transform: scale(0);
    will-change: transform, opacity;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.bloglo-cursor .bloglo-cursor--icon {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--bloglo-white);
    transform: scale(0);
    will-change: transform, opacity;
    transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    color: rgba(255, 255, 255, 0.76);
}

.bloglo-cursor .bloglo-cursor--icon:before {
    content: "\f061";
    font-family: var(--bloglo-font-awesome);
    font-size: 2.4rem;
}

.bloglo-cursor.is-enabled {
    visibility: visible;
}

.bloglo-cursor.is-hidden .bloglo-cursor-wrapper {
    transform: scale(0) !important;
}

.bloglo-cursor.is-mouse-down .bloglo-cursor-wrapper {
    transform: scale(0.8);
}

.bloglo-cursor.is-active .bloglo-cursor--follower {
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.7);
    transform: scale(3.6);
    opacity: 0;
}

.bloglo-cursor.is-active.has-label .bloglo-cursor--follower {
    background-color: var(--bloglo-black);
    opacity: 0.8;
}

.bloglo-cursor.is-active.has-label .bloglo-cursor--label {
    transform: scale(1);
}

.bloglo-cursor.is-active.has-icon .bloglo-cursor--follower {
    background-color: var(--bloglo-black);
    opacity: 0.8;
}

.bloglo-cursor.is-active.has-icon .bloglo-cursor--icon {
    transform: scale(1);
}

/* wpform & block plugin support css */

div.wpforms-container-full form.wpforms-form button[type="submit"] {
    background: var(--bloglo-primary);
    color: var(--bloglo-white);
    border-color: var(--bloglo-primary);
}

div.wpforms-container-full form.wpforms-form button[type="submit"]:hover,
.using-keyboard div.wpforms-container-full form.wpforms-form button[type="submit"]:focus {
    background: var(--bloglo-primary_15);
    border-color: var(--bloglo-primary_15);
}

.wpforms-container.wpforms-container-full {
    width: 100%;
}

.wpforms-container.wpforms-container-full button.wpforms-submit-button-full-width {
    display: block;
    width: 100%;
}

div.wpforms-container-full .wpforms-form .wpforms-field textarea,
div.wpforms-container-full .wpforms-form .wpforms-field input[type="password"],
div.wpforms-container-full .wpforms-form .wpforms-field input[type="tel"],
div.wpforms-container-full .wpforms-form .wpforms-field input[type="url"],
div.wpforms-container-full .wpforms-form .wpforms-field input[type="date"],
div.wpforms-container-full .wpforms-form .wpforms-field input[type="text"],
div.wpforms-container-full .wpforms-form .wpforms-field input[type="email"],
div.wpforms-container-full .wpforms-form .wpforms-field input[type="number"],
div.wpforms-container-full .wpforms-form .wpforms-field select {
    min-height: 50px;
    padding: 12px 18px;
}

.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="password"],
.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="tel"],
.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="url"],
.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="date"],
.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="number"],
.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="email"],
.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field textarea,
.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="text"],
.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field select {
    color: inherit;
    background-color: rgba(16, 20, 23, 0.05);
    border-color: rgba(225, 232, 237, 0);
}

.white-button div.wpforms-container-full form.wpforms-form button[type="submit"]:not(:hover) {
    background-color: #fff;
    color: var(--bloglo-primary);
}

.wpform-dark-background *::-webkit-input-placeholder {
    color: #fff;
}

.wpform-dark-background *::-moz-placeholder {
    color: #fff;
}

.wpform-dark-background *:-ms-input-placeholder {
    color: #fff;
}

.wpform-dark-background *:-moz-placeholder {
    color: #fff;
}

.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field select option {
    color: initial;
}

.stk-block-content figure.stk-img-wrapper {
    margin-top: 0;
    margin-bottom: 0;
}

/*----*/


/*****************************************/
/* Bloglo Post ( Sections )
/*****************************************/

#wp-custom-header img {
    width: 100%;
    display: block;
}

.bloglo-banner-imgads img {
    padding: 5px 0;
}

.bloglo-banner-imgads img {
    width: 100%;
    height: auto;
}

.btn-icon.bloglo-btn {
    width: 42px;
    height: 42px;
    padding: 0;
    border: none;
}

a.btn-icon.bloglo-btn i::before,
button.btn-icon.bloglo-btn i::before {
    vertical-align: baseline;
}

.rounded-100 {
    border-radius: 100%;
}

/* Featured Links */
.style-1.bloglo-post-item {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    min-height: 30rem;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.18);
}

.style-1.bloglo-post-item>div {
    flex: 100%;
}

.bloglo-post-item.rounded {
    border-radius: var(--bloglo-radius);
}

.style-1.bloglo-post-item.start {
    align-items: start;
}

.style-1.bloglo-post-item.center {
    align-items: center;
    justify-content: center;
}

.style-1.bloglo-post-item.center .bloglo-post-content {
    text-align: center;
}

.style-1.bloglo-post-item.center .bloglo-post-content .entry-meta-elements {
    justify-content: center;
}

.style-1.bloglo-post-item.end {
    align-items: end;
}

.bloglo-post-content {
    padding: 16px;
    position: relative;
    z-index: 1;
}

.bloglo-post-item .bloglo-post-content .post-category {
    margin-bottom: 1rem;
}

.bloglo-post-item .bloglo-post-content .entry-header .entry-title {
    font-size: 2rem;
    margin-top: 0;
}

.style-1.bloglo-post-item .bloglo-post-content .entry-meta,
.style-1.bloglo-post-item .bloglo-post-content .entry-meta a,
.style-1.bloglo-post-item .bloglo-post-content .entry-header .entry-title a,
.style-1.bloglo-post-item:hover .bloglo-post-content .entry-header .entry-title a,
.using-keyboard .style-1.bloglo-post-item:focus-within .bloglo-post-content .entry-header .entry-title a {
    color: #fff;
}

.bloglo-post-item .bloglo-post-content .bloglo-btn {
    margin-top: 2rem;
}

.bloglo-post-item .bloglo-post-content .bloglo-btn {
    min-height: 4rem;
    padding: 1rem 2rem 0.8rem;
    font-size: 75%;
}

.bloglo-post-thumb {
    position: relative;
    z-index: 0;
}

.bloglo-post-thumb a,
.style-1 .bloglo-post-thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.bloglo-post-thumb a {
    z-index: 1;
}

.slider-overlay-1 .bloglo-post-thumb .inner:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .6) 59%, rgba(0, 0, 0, .8) 100%);
}

.bloglo-post-thumb .inner img,
.bloglo-post-thumb .inner {
    width: 100%;
    height: 100%;
}

.bloglo-post-thumb .inner .entry-media {
    margin-bottom: 0;
}

.bloglo-post-thumb .inner img {
    object-fit: cover;
}

/*******/

.featured-one.slider-overlay-1 .bloglo-post-thumb .inner:after {
    opacity: 0.2;
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
}

.featured-one.slider-overlay-1 .bloglo-post-item.style-1:focus-within .bloglo-post-thumb .inner:after,
.featured-one.slider-overlay-1 .bloglo-post-item.style-1:hover .bloglo-post-thumb .inner:after {
    opacity: 1;
}

.featured-one .bloglo-post-item.style-1 .bloglo-post-thumb::before,
.featured-one .bloglo-post-item.style-1 .bloglo-post-animation {
    position: absolute;
    top: 10px;
    right: 10px;
    bottom: 10px;
    left: 10px;
    z-index: 1;
    overflow: hidden;
}

.featured-one .bloglo-post-item.style-1 .bloglo-post-thumb::before {
    content: "";
    border: 2px solid #fff;
}

.featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::after,
.featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::before,
.featured-one .bloglo-post-item.style-1 .bloglo-post-animation::after,
.featured-one .bloglo-post-item.style-1 .bloglo-post-animation::before {
    content: "";
    position: absolute;
    z-index: 1;
    background-color: var(--bloglo-primary);
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.featured-one .bloglo-post-item.style-1 .bloglo-post-animation::after,
.featured-one .bloglo-post-item.style-1 .bloglo-post-animation::before {
    left: 0;
    width: 100%;
    height: 2px;
}

.featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::after,
.featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::before {
    top: 0;
    width: 2px;
    height: 100%;
}

.featured-one .bloglo-post-item.style-1 .bloglo-post-animation::before {
    top: 0;
    transform: translate3d(-105%, 0, 0);
}

.featured-one .bloglo-post-item.style-1 .bloglo-post-animation::after {
    bottom: 0;
    transform: translate3d(105%, 0, 0);
}

.featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::before {
    left: 0;
    transform: translate3d(0, 105%, 0);
}

.featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::after {
    right: 0;
    transform: translate3d(0, -105%, 0);
}

.featured-one .bloglo-post-item.style-1:hover .bloglo-post-animation::before,
.featured-one .bloglo-post-item.style-1:hover .bloglo-post-animation::after,
.featured-one .bloglo-post-item.style-1:hover .bloglo-post-animation span::before,
.featured-one .bloglo-post-item.style-1:hover .bloglo-post-animation span::after {
    transform: translate3d(0, 0, 0);
}

.featured-one .bloglo-post-item.style-1:hover .bloglo-post-content .bloglo-btn.btn-small,
.featured-one .bloglo-post-item.style-1:focus-within .bloglo-post-content .bloglo-btn.btn-small,
.featured-one .bloglo-post-item.style-1 .bloglo-post-content .bloglo-btn.btn-small:hover,
.featured-one .bloglo-post-item.style-1 .bloglo-post-content .bloglo-btn.btn-small:focus {
    color: #fff;
    background-color: var(--bloglo-primary);
}

.featured-one .bloglo-post-item.style-1 .bloglo-post-content .bloglo-btn.btn-small {
    border: none;
    border-radius: inherit;
    margin-top: 0;
    line-height: 1.6;
}


/* PYML */

#featured_links,
#pyml {
    position: relative;
}

.is-section-heading-init-s1.bloglo-sidebar-style-3 .pyml-slider-items .widget-title {
    margin: 0 -2rem 2.2rem;
    padding-left: 2rem;
    padding-right: 2rem;
}

.bloglo-sidebar-style-3 #pyml .pyml-slider-items .widget-title::before {
    left: 2rem;
}

.bloglo-sidebar-style-3 #pyml .pyml-slider-items .widget-title::after {
    left: 9rem;
}

@-webkit-keyframes shine {
    100% {
        left: 125%;
    }
}

@keyframes shine {
    100% {
        left: 125%;
    }
}

.pyml-slider-items .h4.widget-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pyml-button-buttons {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
}

.pyml-button-buttons .pyml-button-prev,
.pyml-button-buttons .pyml-button-next {
    display: inline-block;
    width: 3.2rem;
    height: 3.2rem;
    line-height: 3.2rem;
    font-size: 1.8rem;
    border-radius: var(--bloglo-normal-radius);
    background-color: var(--bloglo-secondary);
    color: var(--bloglo-white);
    text-align: center;
    cursor: pointer;
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
}

.pyml-button-buttons .pyml-button-prev:hover,
.pyml-button-buttons .pyml-button-next:hover {
    background-color: var(--bloglo-primary);
    color: var(--bloglo-white);
}

.entry-media>a::before,
.pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg::before {
    position: absolute;
    top: 0;
    left: -85%;
    z-index: 2;
    display: block;
    content: "";
    width: 50%;
    height: 100%;
    opacity: 0.6;
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg);
}

[data-theme="dark"] .entry-media>a::before,
[data-theme="dark"] .pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg::before {
    opacity: 0.25;
}

.entry-media>a:hover::before,
.using-keyboard .entry-media>a:focus::before,
.pyml-slide-item .pyml-slider-backgrounds a:hover .pyml-slide-bg::before,
.using-keyboard .pyml-slide-item .pyml-slider-backgrounds a:focus .pyml-slide-bg::before {
    -webkit-animation: shine 1s;
    animation: shine 1s;
}

.pyml-slider-items {
    margin-bottom: 5rem;
}

.pyml-slide-item {
    position: relative;
}

.pyml-slide-item .pyml-slider-backgrounds {
    position: relative;
    height: 22.6rem;
    margin-bottom: 1.4rem;
    transition: var(--bloglo-transition-primary);
}

.pyml-slide-item .pyml-slider-backgrounds>a,
.pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 0.5rem;
}

.pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg {
    position: relative;
    background-color: rgba(0, 0, 0, 0.18);
    z-index: 0;
}

.pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.pyml-slide-item .pyml-slider-backgrounds .post-category {
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 10px;
    text-align: center;
}

.pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span:not(.screen-reader-text) {
    width: 100%;
    display: inline-block;
    vertical-align: middle;
    line-height: normal;
    color: inherit;
    padding: 0;
    margin: 0;
}

.pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a {
    display: inline-block;
    padding: 0.6rem 1rem;
    background: var(--bloglo-primary);
    border: none;
    border-radius: var(--bloglo-normal-radius);
    color: #fff;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-decoration: none;
    line-height: 1;
    text-align: center;
    max-width: max-content;
    margin-bottom: 0.4rem;
}

.pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:hover,
.pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:focus {
    text-decoration: underline;
}

.pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a+a {
    margin-left: 0.4rem;
}

.pyml-slide-item .slide-inner {
    text-align: center;
}

.pyml-slide-item h6 {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.3;
}

.pyml-slide-item h6 a:hover,
.using-keyboard .pyml-slide-item h6 a:focus {
    color: var(--bloglo-primary);
    text-decoration: underline;
}

.pyml-slide-item div.entry-meta {
    margin-top: 0.4rem;
    font-size: 1.3rem;
}

.pyml-slide-item .entry-meta-elements {
    justify-content: center;
}

.pyml-slide-item .entry-meta .entry-meta-elements>span {
    padding: 0 0.6rem;
}

.pyml-slide-item .entry-meta .entry-meta-elements>span::before {
    height: 0.4rem;
    width: 0.4rem;
    border-radius: 50%;
    left: -0.6rem;
}

.pyml-slide-item .entry-meta a:hover,
.using-keyboard .pyml-slide-item .entry-meta a:focus {
    text-decoration: underline;
    text-underline-offset: 0.1rem;
}

.pyml-slide-item .author-avatar img {
    width: 2.4rem;
    margin-right: 0.6rem;
}

/* Ticker News */

#ticker {
    position: relative;
}

@media screen and (max-width: 960px) {

    #ticker,
    #ticker+#hero .bloglo-hover-slider .bloglo-hero-container {
        margin-top: 3rem;
    }
}

.ticker-slider-items {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    margin: 1.8rem 0;
}

.bloglo-layout__boxed-separated .ticker-slider-items {
    padding: 1rem;
    background-color: var(--bloglo-white);
    border: 0.1rem solid rgba(190, 190, 190, 0.3);
}

.ticker-slider-items .ticker-title {
    position: relative;
    flex: 0 0 auto;
    min-height: 5.5rem;
    font-size: 1.6rem;
    line-height: 3.5rem;
    font-weight: 600;
    padding: 1rem 1.6rem;
    margin-right: 0;
    text-align: center;
    background-color: var(--bloglo-primary);
    color: #fff;
}

.ticker-slider-items .ticker-title span.icon {
    margin-right: 0.4rem;
    display: inline-block;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    position: relative;
    line-height: 3rem;
    z-index: 0;
    background-color: #fff;
    color: var(--bloglo-primary);
}

.ticker-slider-items .ticker-title span.icon::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    z-index: -1;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .1);
    -webkit-animation: ripperOnCircle 1.3s ease-out 75ms infinite;
    animation: ripperOnCircle 1.3s ease-out 75ms infinite;
}

.ticker-slider-items .ticker-title span.icon i {
    vertical-align: middle;
}

@-webkit-keyframes ripperOnCircle {
    0% {
        opacity: 0.3;
    }

    40% {
        opacity: 0.5;
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.075), 0 0 0 8px rgba(255, 255, 255, 0.2);
    }

    100% {
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.075), 0 0 0 8px rgba(255, 255, 255, 0.2);
        -webkit-transform: scale(1.35);
        transform: scale(1.35);
        opacity: 0;
    }
}

@keyframes ripperOnCircle {
    0% {
        opacity: 0.3;
    }

    40% {
        opacity: 0.5;
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.075), 0 0 0 8px rgba(255, 255, 255, 0.2);
    }

    100% {
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.075), 0 0 0 8px rgba(255, 255, 255, 0.2);
        -webkit-transform: scale(1.35);
        transform: scale(1.35);
        opacity: 0;
    }
}

@media (max-width: 1025px) {
    .ticker-slider-items .ticker-title span.icon {
        display: none;
    }
}

.ticker-slider-items .ticker-slider-box {
    overflow: hidden;
    flex: 1 1 85%;
    background-color: var(--bloglo-primary_09);
    padding: 5px 0;
    height: 5.5rem;
}

.ticker-slide-item {
    position: relative;
    float: left;
    clear: none;
    display: flex;
    align-items: center;
    margin-right: 2.6rem;
}

.ticker-slide-item .ticker-slider-backgrounds {
    width: 4.6rem;
    height: 4.6rem;
    margin-right: 1.6rem;
}

.ticker-slide-item .ticker-slider-backgrounds a {
    width: 100%;
    height: 100%;
    display: block;
}

.ticker-slide-item .ticker-slider-backgrounds img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.09);
    border: 0.3rem solid #fff;
}

.ticker-slide-item .slide-inner {
    display: flex;
    flex-direction: column;
}

.ticker-slide-item .slide-inner h6 {
    font-size: 1.6rem;
    margin-bottom: 0.2rem;
    margin-top: 0.2rem;
    line-height: 1.3;
}

.ticker-slide-item .slide-inner .entry-meta {
    font-size: 1.2rem;
    color: #8a8a8c;
    margin-top: 0;
}

.ticker-slider-controls .ticker-slider-pause {
    display: inline-block;
    font-size: 1.6rem;
    border: none;
    outline: none;
    color: var(--bloglo-white);
    background-color: var(--bloglo-secondary);
    padding: 1.83rem 1.4rem;
    height: 100%;
    cursor: pointer;
    -webkit-transition: var(--bloglo-transition-primary);
    transition: var(--bloglo-transition-primary);
}

@media (max-width: 610px) {
    .ticker-slider-controls .ticker-slider-pause {
        display: none;
    }
}


/*
Custom Style
*/

.bloglo-audio-wrapper {
    overflow: hidden;
}

.hester-posts-list-widget-thumb a {
    overflow: visible;
}

.hester-posts-list-widget-thumb img {
    border: 0.4rem solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.09);
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
    margin-bottom: 1.6rem;
}

.widget .wp-block-latest-posts.wp-block-latest-posts__list li+li,
.bloglo-sidebar-container .widget .wp-block-latest-posts.wp-block-latest-posts__list li+li {
    padding-top: 0.5rem;
}

.wp-block-latest-posts__featured-image {
    border: 0.7rem solid #fff;
    overflow: hidden;
    border-radius: 50%;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.09);
}

.wp-block-latest-posts__featured-image:not(.alignleft, .alignright) {
    border-radius: 0.8rem;
}

#page .wp-block-latest-posts__featured-image.alignleft {
    margin-right: 1em;
}

#page .wp-block-latest-posts__featured-image.alignright {
    margin-left: 1em;
}

.wp-block-latest-posts__featured-image img {
    border-radius: 0.8rem;
}

.wp-block-latest-posts__post-title {
    margin: 1rem 0 0;
    display: block;
    font-weight: 600;
}

@media screen and (max-width: 599px) {
    #page .wp-block-latest-posts__featured-image {
        width: 100%;
        max-width: max-content;
    }

    #page .wp-block-latest-posts__featured-image.alignleft,
    #page .wp-block-latest-posts__featured-image.alignright {
        margin-left: 0;
        margin-right: 0;
    }
}

.widget_media_image .wp-block-image {
    margin-top: 0;
}

#masthead #hester-header-inner .hester-nav>ul>li>a {
    font-weight: 600;
    letter-spacing: 0.8px;
}

.widget.hester-entry p+pre {
    margin-top: -2rem;
}

.widget_block .wp-block-cover,
.wp-block-heading+.widget .menu {
    margin-top: 0;
}

.hester-posts-list-widget-categories span {
    vertical-align: middle;
}

#page .widget_block+.widget_block .wp-block-social-links {
    margin-top: 0;
}

#ticker+#main .bloglo-container>* {
    margin-top: 1.6rem;
}

#page #colophon .wp-block-social-links {
    margin-bottom: 0;
}

/****/assets/css/editor-style.min.css000064400000000000152425655550012562 0ustar00assets/css/all.css000064400000221135152425655550010142 0ustar00/*!
 * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa,
.fas,
.far,
.fal,
.fad,
.fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1; }

.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -.0667em; }

.fa-xs {
  font-size: .75em; }

.fa-sm {
  font-size: .875em; }

.fa-1x {
  font-size: 1em; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-6x {
  font-size: 6em; }

.fa-7x {
  font-size: 7em; }

.fa-8x {
  font-size: 8em; }

.fa-9x {
  font-size: 9em; }

.fa-10x {
  font-size: 10em; }

.fa-fw {
  text-align: center;
  width: 1.25em; }

.fa-ul {
  list-style-type: none;
  margin-left: 2.5em;
  padding-left: 0; }
  .fa-ul > li {
    position: relative; }

.fa-li {
  left: -2em;
  position: absolute;
  text-align: center;
  width: 2em;
  line-height: inherit; }

.fa-border {
  border: solid 0.08em #eee;
  border-radius: .1em;
  padding: .2em .25em .15em; }

.fa-pull-left {
  float: left; }

.fa-pull-right {
  float: right; }

.fa.fa-pull-left,
.fas.fa-pull-left,
.far.fa-pull-left,
.fal.fa-pull-left,
.fab.fa-pull-left {
  margin-right: .3em; }

.fa.fa-pull-right,
.fas.fa-pull-right,
.far.fa-pull-right,
.fal.fa-pull-right,
.fab.fa-pull-right {
  margin-left: .3em; }

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
          animation: fa-spin 2s infinite linear; }

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
          animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg); }

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1); }

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1); }

.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1); }

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical,
:root .fa-flip-both {
  -webkit-filter: none;
          filter: none; }

.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em; }

.fa-stack-1x,
.fa-stack-2x {
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%; }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: #fff; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-500px:before {
  content: "\f26e"; }

.fa-accessible-icon:before {
  content: "\f368"; }

.fa-accusoft:before {
  content: "\f369"; }

.fa-acquisitions-incorporated:before {
  content: "\f6af"; }

.fa-ad:before {
  content: "\f641"; }

.fa-address-book:before {
  content: "\f2b9"; }

.fa-address-card:before {
  content: "\f2bb"; }

.fa-adjust:before {
  content: "\f042"; }

.fa-adn:before {
  content: "\f170"; }

.fa-adversal:before {
  content: "\f36a"; }

.fa-affiliatetheme:before {
  content: "\f36b"; }

.fa-air-freshener:before {
  content: "\f5d0"; }

.fa-airbnb:before {
  content: "\f834"; }

.fa-algolia:before {
  content: "\f36c"; }

.fa-align-center:before {
  content: "\f037"; }

.fa-align-justify:before {
  content: "\f039"; }

.fa-align-left:before {
  content: "\f036"; }

.fa-align-right:before {
  content: "\f038"; }

.fa-alipay:before {
  content: "\f642"; }

.fa-allergies:before {
  content: "\f461"; }

.fa-amazon:before {
  content: "\f270"; }

.fa-amazon-pay:before {
  content: "\f42c"; }

.fa-ambulance:before {
  content: "\f0f9"; }

.fa-american-sign-language-interpreting:before {
  content: "\f2a3"; }

.fa-amilia:before {
  content: "\f36d"; }

.fa-anchor:before {
  content: "\f13d"; }

.fa-android:before {
  content: "\f17b"; }

.fa-angellist:before {
  content: "\f209"; }

.fa-angle-double-down:before {
  content: "\f103"; }

.fa-angle-double-left:before {
  content: "\f100"; }

.fa-angle-double-right:before {
  content: "\f101"; }

.fa-angle-double-up:before {
  content: "\f102"; }

.fa-angle-down:before {
  content: "\f107"; }

.fa-angle-left:before {
  content: "\f104"; }

.fa-angle-right:before {
  content: "\f105"; }

.fa-angle-up:before {
  content: "\f106"; }

.fa-angry:before {
  content: "\f556"; }

.fa-angrycreative:before {
  content: "\f36e"; }

.fa-angular:before {
  content: "\f420"; }

.fa-ankh:before {
  content: "\f644"; }

.fa-app-store:before {
  content: "\f36f"; }

.fa-app-store-ios:before {
  content: "\f370"; }

.fa-apper:before {
  content: "\f371"; }

.fa-apple:before {
  content: "\f179"; }

.fa-apple-alt:before {
  content: "\f5d1"; }

.fa-apple-pay:before {
  content: "\f415"; }

.fa-archive:before {
  content: "\f187"; }

.fa-archway:before {
  content: "\f557"; }

.fa-arrow-alt-circle-down:before {
  content: "\f358"; }

.fa-arrow-alt-circle-left:before {
  content: "\f359"; }

.fa-arrow-alt-circle-right:before {
  content: "\f35a"; }

.fa-arrow-alt-circle-up:before {
  content: "\f35b"; }

.fa-arrow-circle-down:before {
  content: "\f0ab"; }

.fa-arrow-circle-left:before {
  content: "\f0a8"; }

.fa-arrow-circle-right:before {
  content: "\f0a9"; }

.fa-arrow-circle-up:before {
  content: "\f0aa"; }

.fa-arrow-down:before {
  content: "\f063"; }

.fa-arrow-left:before {
  content: "\f060"; }

.fa-arrow-right:before {
  content: "\f061"; }

.fa-arrow-up:before {
  content: "\f062"; }

.fa-arrows-alt:before {
  content: "\f0b2"; }

.fa-arrows-alt-h:before {
  content: "\f337"; }

.fa-arrows-alt-v:before {
  content: "\f338"; }

.fa-artstation:before {
  content: "\f77a"; }

.fa-assistive-listening-systems:before {
  content: "\f2a2"; }

.fa-asterisk:before {
  content: "\f069"; }

.fa-asymmetrik:before {
  content: "\f372"; }

.fa-at:before {
  content: "\f1fa"; }

.fa-atlas:before {
  content: "\f558"; }

.fa-atlassian:before {
  content: "\f77b"; }

.fa-atom:before {
  content: "\f5d2"; }

.fa-audible:before {
  content: "\f373"; }

.fa-audio-description:before {
  content: "\f29e"; }

.fa-autoprefixer:before {
  content: "\f41c"; }

.fa-avianex:before {
  content: "\f374"; }

.fa-aviato:before {
  content: "\f421"; }

.fa-award:before {
  content: "\f559"; }

.fa-aws:before {
  content: "\f375"; }

.fa-baby:before {
  content: "\f77c"; }

.fa-baby-carriage:before {
  content: "\f77d"; }

.fa-backspace:before {
  content: "\f55a"; }

.fa-backward:before {
  content: "\f04a"; }

.fa-bacon:before {
  content: "\f7e5"; }

.fa-bacteria:before {
  content: "\e059"; }

.fa-bacterium:before {
  content: "\e05a"; }

.fa-bahai:before {
  content: "\f666"; }

.fa-balance-scale:before {
  content: "\f24e"; }

.fa-balance-scale-left:before {
  content: "\f515"; }

.fa-balance-scale-right:before {
  content: "\f516"; }

.fa-ban:before {
  content: "\f05e"; }

.fa-band-aid:before {
  content: "\f462"; }

.fa-bandcamp:before {
  content: "\f2d5"; }

.fa-barcode:before {
  content: "\f02a"; }

.fa-bars:before {
  content: "\f0c9"; }

.fa-baseball-ball:before {
  content: "\f433"; }

.fa-basketball-ball:before {
  content: "\f434"; }

.fa-bath:before {
  content: "\f2cd"; }

.fa-battery-empty:before {
  content: "\f244"; }

.fa-battery-full:before {
  content: "\f240"; }

.fa-battery-half:before {
  content: "\f242"; }

.fa-battery-quarter:before {
  content: "\f243"; }

.fa-battery-three-quarters:before {
  content: "\f241"; }

.fa-battle-net:before {
  content: "\f835"; }

.fa-bed:before {
  content: "\f236"; }

.fa-beer:before {
  content: "\f0fc"; }

.fa-behance:before {
  content: "\f1b4"; }

.fa-behance-square:before {
  content: "\f1b5"; }

.fa-bell:before {
  content: "\f0f3"; }

.fa-bell-slash:before {
  content: "\f1f6"; }

.fa-bezier-curve:before {
  content: "\f55b"; }

.fa-bible:before {
  content: "\f647"; }

.fa-bicycle:before {
  content: "\f206"; }

.fa-biking:before {
  content: "\f84a"; }

.fa-bimobject:before {
  content: "\f378"; }

.fa-binoculars:before {
  content: "\f1e5"; }

.fa-biohazard:before {
  content: "\f780"; }

.fa-birthday-cake:before {
  content: "\f1fd"; }

.fa-bitbucket:before {
  content: "\f171"; }

.fa-bitcoin:before {
  content: "\f379"; }

.fa-bity:before {
  content: "\f37a"; }

.fa-black-tie:before {
  content: "\f27e"; }

.fa-blackberry:before {
  content: "\f37b"; }

.fa-blender:before {
  content: "\f517"; }

.fa-blender-phone:before {
  content: "\f6b6"; }

.fa-blind:before {
  content: "\f29d"; }

.fa-blog:before {
  content: "\f781"; }

.fa-blogger:before {
  content: "\f37c"; }

.fa-blogger-b:before {
  content: "\f37d"; }

.fa-bluetooth:before {
  content: "\f293"; }

.fa-bluetooth-b:before {
  content: "\f294"; }

.fa-bold:before {
  content: "\f032"; }

.fa-bolt:before {
  content: "\f0e7"; }

.fa-bomb:before {
  content: "\f1e2"; }

.fa-bone:before {
  content: "\f5d7"; }

.fa-bong:before {
  content: "\f55c"; }

.fa-book:before {
  content: "\f02d"; }

.fa-book-dead:before {
  content: "\f6b7"; }

.fa-book-medical:before {
  content: "\f7e6"; }

.fa-book-open:before {
  content: "\f518"; }

.fa-book-reader:before {
  content: "\f5da"; }

.fa-bookmark:before {
  content: "\f02e"; }

.fa-bootstrap:before {
  content: "\f836"; }

.fa-border-all:before {
  content: "\f84c"; }

.fa-border-none:before {
  content: "\f850"; }

.fa-border-style:before {
  content: "\f853"; }

.fa-bowling-ball:before {
  content: "\f436"; }

.fa-box:before {
  content: "\f466"; }

.fa-box-open:before {
  content: "\f49e"; }

.fa-box-tissue:before {
  content: "\e05b"; }

.fa-boxes:before {
  content: "\f468"; }

.fa-braille:before {
  content: "\f2a1"; }

.fa-brain:before {
  content: "\f5dc"; }

.fa-bread-slice:before {
  content: "\f7ec"; }

.fa-briefcase:before {
  content: "\f0b1"; }

.fa-briefcase-medical:before {
  content: "\f469"; }

.fa-broadcast-tower:before {
  content: "\f519"; }

.fa-broom:before {
  content: "\f51a"; }

.fa-brush:before {
  content: "\f55d"; }

.fa-btc:before {
  content: "\f15a"; }

.fa-buffer:before {
  content: "\f837"; }

.fa-bug:before {
  content: "\f188"; }

.fa-building:before {
  content: "\f1ad"; }

.fa-bullhorn:before {
  content: "\f0a1"; }

.fa-bullseye:before {
  content: "\f140"; }

.fa-burn:before {
  content: "\f46a"; }

.fa-buromobelexperte:before {
  content: "\f37f"; }

.fa-bus:before {
  content: "\f207"; }

.fa-bus-alt:before {
  content: "\f55e"; }

.fa-business-time:before {
  content: "\f64a"; }

.fa-buy-n-large:before {
  content: "\f8a6"; }

.fa-buysellads:before {
  content: "\f20d"; }

.fa-calculator:before {
  content: "\f1ec"; }

.fa-calendar:before {
  content: "\f133"; }

.fa-calendar-alt:before {
  content: "\f073"; }

.fa-calendar-check:before {
  content: "\f274"; }

.fa-calendar-day:before {
  content: "\f783"; }

.fa-calendar-minus:before {
  content: "\f272"; }

.fa-calendar-plus:before {
  content: "\f271"; }

.fa-calendar-times:before {
  content: "\f273"; }

.fa-calendar-week:before {
  content: "\f784"; }

.fa-camera:before {
  content: "\f030"; }

.fa-camera-retro:before {
  content: "\f083"; }

.fa-campground:before {
  content: "\f6bb"; }

.fa-canadian-maple-leaf:before {
  content: "\f785"; }

.fa-candy-cane:before {
  content: "\f786"; }

.fa-cannabis:before {
  content: "\f55f"; }

.fa-capsules:before {
  content: "\f46b"; }

.fa-car:before {
  content: "\f1b9"; }

.fa-car-alt:before {
  content: "\f5de"; }

.fa-car-battery:before {
  content: "\f5df"; }

.fa-car-crash:before {
  content: "\f5e1"; }

.fa-car-side:before {
  content: "\f5e4"; }

.fa-caravan:before {
  content: "\f8ff"; }

.fa-caret-down:before {
  content: "\f0d7"; }

.fa-caret-left:before {
  content: "\f0d9"; }

.fa-caret-right:before {
  content: "\f0da"; }

.fa-caret-square-down:before {
  content: "\f150"; }

.fa-caret-square-left:before {
  content: "\f191"; }

.fa-caret-square-right:before {
  content: "\f152"; }

.fa-caret-square-up:before {
  content: "\f151"; }

.fa-caret-up:before {
  content: "\f0d8"; }

.fa-carrot:before {
  content: "\f787"; }

.fa-cart-arrow-down:before {
  content: "\f218"; }

.fa-cart-plus:before {
  content: "\f217"; }

.fa-cash-register:before {
  content: "\f788"; }

.fa-cat:before {
  content: "\f6be"; }

.fa-cc-amazon-pay:before {
  content: "\f42d"; }

.fa-cc-amex:before {
  content: "\f1f3"; }

.fa-cc-apple-pay:before {
  content: "\f416"; }

.fa-cc-diners-club:before {
  content: "\f24c"; }

.fa-cc-discover:before {
  content: "\f1f2"; }

.fa-cc-jcb:before {
  content: "\f24b"; }

.fa-cc-mastercard:before {
  content: "\f1f1"; }

.fa-cc-paypal:before {
  content: "\f1f4"; }

.fa-cc-stripe:before {
  content: "\f1f5"; }

.fa-cc-visa:before {
  content: "\f1f0"; }

.fa-centercode:before {
  content: "\f380"; }

.fa-centos:before {
  content: "\f789"; }

.fa-certificate:before {
  content: "\f0a3"; }

.fa-chair:before {
  content: "\f6c0"; }

.fa-chalkboard:before {
  content: "\f51b"; }

.fa-chalkboard-teacher:before {
  content: "\f51c"; }

.fa-charging-station:before {
  content: "\f5e7"; }

.fa-chart-area:before {
  content: "\f1fe"; }

.fa-chart-bar:before {
  content: "\f080"; }

.fa-chart-line:before {
  content: "\f201"; }

.fa-chart-pie:before {
  content: "\f200"; }

.fa-check:before {
  content: "\f00c"; }

.fa-check-circle:before {
  content: "\f058"; }

.fa-check-double:before {
  content: "\f560"; }

.fa-check-square:before {
  content: "\f14a"; }

.fa-cheese:before {
  content: "\f7ef"; }

.fa-chess:before {
  content: "\f439"; }

.fa-chess-bishop:before {
  content: "\f43a"; }

.fa-chess-board:before {
  content: "\f43c"; }

.fa-chess-king:before {
  content: "\f43f"; }

.fa-chess-knight:before {
  content: "\f441"; }

.fa-chess-pawn:before {
  content: "\f443"; }

.fa-chess-queen:before {
  content: "\f445"; }

.fa-chess-rook:before {
  content: "\f447"; }

.fa-chevron-circle-down:before {
  content: "\f13a"; }

.fa-chevron-circle-left:before {
  content: "\f137"; }

.fa-chevron-circle-right:before {
  content: "\f138"; }

.fa-chevron-circle-up:before {
  content: "\f139"; }

.fa-chevron-down:before {
  content: "\f078"; }

.fa-chevron-left:before {
  content: "\f053"; }

.fa-chevron-right:before {
  content: "\f054"; }

.fa-chevron-up:before {
  content: "\f077"; }

.fa-child:before {
  content: "\f1ae"; }

.fa-chrome:before {
  content: "\f268"; }

.fa-chromecast:before {
  content: "\f838"; }

.fa-church:before {
  content: "\f51d"; }

.fa-circle:before {
  content: "\f111"; }

.fa-circle-notch:before {
  content: "\f1ce"; }

.fa-city:before {
  content: "\f64f"; }

.fa-clinic-medical:before {
  content: "\f7f2"; }

.fa-clipboard:before {
  content: "\f328"; }

.fa-clipboard-check:before {
  content: "\f46c"; }

.fa-clipboard-list:before {
  content: "\f46d"; }

.fa-clock:before {
  content: "\f017"; }

.fa-clone:before {
  content: "\f24d"; }

.fa-closed-captioning:before {
  content: "\f20a"; }

.fa-cloud:before {
  content: "\f0c2"; }

.fa-cloud-download-alt:before {
  content: "\f381"; }

.fa-cloud-meatball:before {
  content: "\f73b"; }

.fa-cloud-moon:before {
  content: "\f6c3"; }

.fa-cloud-moon-rain:before {
  content: "\f73c"; }

.fa-cloud-rain:before {
  content: "\f73d"; }

.fa-cloud-showers-heavy:before {
  content: "\f740"; }

.fa-cloud-sun:before {
  content: "\f6c4"; }

.fa-cloud-sun-rain:before {
  content: "\f743"; }

.fa-cloud-upload-alt:before {
  content: "\f382"; }

.fa-cloudflare:before {
  content: "\e07d"; }

.fa-cloudscale:before {
  content: "\f383"; }

.fa-cloudsmith:before {
  content: "\f384"; }

.fa-cloudversify:before {
  content: "\f385"; }

.fa-cocktail:before {
  content: "\f561"; }

.fa-code:before {
  content: "\f121"; }

.fa-code-branch:before {
  content: "\f126"; }

.fa-codepen:before {
  content: "\f1cb"; }

.fa-codiepie:before {
  content: "\f284"; }

.fa-coffee:before {
  content: "\f0f4"; }

.fa-cog:before {
  content: "\f013"; }

.fa-cogs:before {
  content: "\f085"; }

.fa-coins:before {
  content: "\f51e"; }

.fa-columns:before {
  content: "\f0db"; }

.fa-comment:before {
  content: "\f075"; }

.fa-comment-alt:before {
  content: "\f27a"; }

.fa-comment-dollar:before {
  content: "\f651"; }

.fa-comment-dots:before {
  content: "\f4ad"; }

.fa-comment-medical:before {
  content: "\f7f5"; }

.fa-comment-slash:before {
  content: "\f4b3"; }

.fa-comments:before {
  content: "\f086"; }

.fa-comments-dollar:before {
  content: "\f653"; }

.fa-compact-disc:before {
  content: "\f51f"; }

.fa-compass:before {
  content: "\f14e"; }

.fa-compress:before {
  content: "\f066"; }

.fa-compress-alt:before {
  content: "\f422"; }

.fa-compress-arrows-alt:before {
  content: "\f78c"; }

.fa-concierge-bell:before {
  content: "\f562"; }

.fa-confluence:before {
  content: "\f78d"; }

.fa-connectdevelop:before {
  content: "\f20e"; }

.fa-contao:before {
  content: "\f26d"; }

.fa-cookie:before {
  content: "\f563"; }

.fa-cookie-bite:before {
  content: "\f564"; }

.fa-copy:before {
  content: "\f0c5"; }

.fa-copyright:before {
  content: "\f1f9"; }

.fa-cotton-bureau:before {
  content: "\f89e"; }

.fa-couch:before {
  content: "\f4b8"; }

.fa-cpanel:before {
  content: "\f388"; }

.fa-creative-commons:before {
  content: "\f25e"; }

.fa-creative-commons-by:before {
  content: "\f4e7"; }

.fa-creative-commons-nc:before {
  content: "\f4e8"; }

.fa-creative-commons-nc-eu:before {
  content: "\f4e9"; }

.fa-creative-commons-nc-jp:before {
  content: "\f4ea"; }

.fa-creative-commons-nd:before {
  content: "\f4eb"; }

.fa-creative-commons-pd:before {
  content: "\f4ec"; }

.fa-creative-commons-pd-alt:before {
  content: "\f4ed"; }

.fa-creative-commons-remix:before {
  content: "\f4ee"; }

.fa-creative-commons-sa:before {
  content: "\f4ef"; }

.fa-creative-commons-sampling:before {
  content: "\f4f0"; }

.fa-creative-commons-sampling-plus:before {
  content: "\f4f1"; }

.fa-creative-commons-share:before {
  content: "\f4f2"; }

.fa-creative-commons-zero:before {
  content: "\f4f3"; }

.fa-credit-card:before {
  content: "\f09d"; }

.fa-critical-role:before {
  content: "\f6c9"; }

.fa-crop:before {
  content: "\f125"; }

.fa-crop-alt:before {
  content: "\f565"; }

.fa-cross:before {
  content: "\f654"; }

.fa-crosshairs:before {
  content: "\f05b"; }

.fa-crow:before {
  content: "\f520"; }

.fa-crown:before {
  content: "\f521"; }

.fa-crutch:before {
  content: "\f7f7"; }

.fa-css3:before {
  content: "\f13c"; }

.fa-css3-alt:before {
  content: "\f38b"; }

.fa-cube:before {
  content: "\f1b2"; }

.fa-cubes:before {
  content: "\f1b3"; }

.fa-cut:before {
  content: "\f0c4"; }

.fa-cuttlefish:before {
  content: "\f38c"; }

.fa-d-and-d:before {
  content: "\f38d"; }

.fa-d-and-d-beyond:before {
  content: "\f6ca"; }

.fa-dailymotion:before {
  content: "\e052"; }

.fa-dashcube:before {
  content: "\f210"; }

.fa-database:before {
  content: "\f1c0"; }

.fa-deaf:before {
  content: "\f2a4"; }

.fa-deezer:before {
  content: "\e077"; }

.fa-delicious:before {
  content: "\f1a5"; }

.fa-democrat:before {
  content: "\f747"; }

.fa-deploydog:before {
  content: "\f38e"; }

.fa-deskpro:before {
  content: "\f38f"; }

.fa-desktop:before {
  content: "\f108"; }

.fa-dev:before {
  content: "\f6cc"; }

.fa-deviantart:before {
  content: "\f1bd"; }

.fa-dharmachakra:before {
  content: "\f655"; }

.fa-dhl:before {
  content: "\f790"; }

.fa-diagnoses:before {
  content: "\f470"; }

.fa-diaspora:before {
  content: "\f791"; }

.fa-dice:before {
  content: "\f522"; }

.fa-dice-d20:before {
  content: "\f6cf"; }

.fa-dice-d6:before {
  content: "\f6d1"; }

.fa-dice-five:before {
  content: "\f523"; }

.fa-dice-four:before {
  content: "\f524"; }

.fa-dice-one:before {
  content: "\f525"; }

.fa-dice-six:before {
  content: "\f526"; }

.fa-dice-three:before {
  content: "\f527"; }

.fa-dice-two:before {
  content: "\f528"; }

.fa-digg:before {
  content: "\f1a6"; }

.fa-digital-ocean:before {
  content: "\f391"; }

.fa-digital-tachograph:before {
  content: "\f566"; }

.fa-directions:before {
  content: "\f5eb"; }

.fa-discord:before {
  content: "\f392"; }

.fa-discourse:before {
  content: "\f393"; }

.fa-disease:before {
  content: "\f7fa"; }

.fa-divide:before {
  content: "\f529"; }

.fa-dizzy:before {
  content: "\f567"; }

.fa-dna:before {
  content: "\f471"; }

.fa-dochub:before {
  content: "\f394"; }

.fa-docker:before {
  content: "\f395"; }

.fa-dog:before {
  content: "\f6d3"; }

.fa-dollar-sign:before {
  content: "\f155"; }

.fa-dolly:before {
  content: "\f472"; }

.fa-dolly-flatbed:before {
  content: "\f474"; }

.fa-donate:before {
  content: "\f4b9"; }

.fa-door-closed:before {
  content: "\f52a"; }

.fa-door-open:before {
  content: "\f52b"; }

.fa-dot-circle:before {
  content: "\f192"; }

.fa-dove:before {
  content: "\f4ba"; }

.fa-download:before {
  content: "\f019"; }

.fa-draft2digital:before {
  content: "\f396"; }

.fa-drafting-compass:before {
  content: "\f568"; }

.fa-dragon:before {
  content: "\f6d5"; }

.fa-draw-polygon:before {
  content: "\f5ee"; }

.fa-dribbble:before {
  content: "\f17d"; }

.fa-dribbble-square:before {
  content: "\f397"; }

.fa-dropbox:before {
  content: "\f16b"; }

.fa-drum:before {
  content: "\f569"; }

.fa-drum-steelpan:before {
  content: "\f56a"; }

.fa-drumstick-bite:before {
  content: "\f6d7"; }

.fa-drupal:before {
  content: "\f1a9"; }

.fa-dumbbell:before {
  content: "\f44b"; }

.fa-dumpster:before {
  content: "\f793"; }

.fa-dumpster-fire:before {
  content: "\f794"; }

.fa-dungeon:before {
  content: "\f6d9"; }

.fa-dyalog:before {
  content: "\f399"; }

.fa-earlybirds:before {
  content: "\f39a"; }

.fa-ebay:before {
  content: "\f4f4"; }

.fa-edge:before {
  content: "\f282"; }

.fa-edge-legacy:before {
  content: "\e078"; }

.fa-edit:before {
  content: "\f044"; }

.fa-egg:before {
  content: "\f7fb"; }

.fa-eject:before {
  content: "\f052"; }

.fa-elementor:before {
  content: "\f430"; }

.fa-ellipsis-h:before {
  content: "\f141"; }

.fa-ellipsis-v:before {
  content: "\f142"; }

.fa-ello:before {
  content: "\f5f1"; }

.fa-ember:before {
  content: "\f423"; }

.fa-empire:before {
  content: "\f1d1"; }

.fa-envelope:before {
  content: "\f0e0"; }

.fa-envelope-open:before {
  content: "\f2b6"; }

.fa-envelope-open-text:before {
  content: "\f658"; }

.fa-envelope-square:before {
  content: "\f199"; }

.fa-envira:before {
  content: "\f299"; }

.fa-equals:before {
  content: "\f52c"; }

.fa-eraser:before {
  content: "\f12d"; }

.fa-erlang:before {
  content: "\f39d"; }

.fa-ethereum:before {
  content: "\f42e"; }

.fa-ethernet:before {
  content: "\f796"; }

.fa-etsy:before {
  content: "\f2d7"; }

.fa-euro-sign:before {
  content: "\f153"; }

.fa-evernote:before {
  content: "\f839"; }

.fa-exchange-alt:before {
  content: "\f362"; }

.fa-exclamation:before {
  content: "\f12a"; }

.fa-exclamation-circle:before {
  content: "\f06a"; }

.fa-exclamation-triangle:before {
  content: "\f071"; }

.fa-expand:before {
  content: "\f065"; }

.fa-expand-alt:before {
  content: "\f424"; }

.fa-expand-arrows-alt:before {
  content: "\f31e"; }

.fa-expeditedssl:before {
  content: "\f23e"; }

.fa-external-link-alt:before {
  content: "\f35d"; }

.fa-external-link-square-alt:before {
  content: "\f360"; }

.fa-eye:before {
  content: "\f06e"; }

.fa-eye-dropper:before {
  content: "\f1fb"; }

.fa-eye-slash:before {
  content: "\f070"; }

.fa-facebook:before {
  content: "\f09a"; }

.fa-facebook-f:before {
  content: "\f39e"; }

.fa-facebook-messenger:before {
  content: "\f39f"; }

.fa-facebook-square:before {
  content: "\f082"; }

.fa-fan:before {
  content: "\f863"; }

.fa-fantasy-flight-games:before {
  content: "\f6dc"; }

.fa-fast-backward:before {
  content: "\f049"; }

.fa-fast-forward:before {
  content: "\f050"; }

.fa-faucet:before {
  content: "\e005"; }

.fa-fax:before {
  content: "\f1ac"; }

.fa-feather:before {
  content: "\f52d"; }

.fa-feather-alt:before {
  content: "\f56b"; }

.fa-fedex:before {
  content: "\f797"; }

.fa-fedora:before {
  content: "\f798"; }

.fa-female:before {
  content: "\f182"; }

.fa-fighter-jet:before {
  content: "\f0fb"; }

.fa-figma:before {
  content: "\f799"; }

.fa-file:before {
  content: "\f15b"; }

.fa-file-alt:before {
  content: "\f15c"; }

.fa-file-archive:before {
  content: "\f1c6"; }

.fa-file-audio:before {
  content: "\f1c7"; }

.fa-file-code:before {
  content: "\f1c9"; }

.fa-file-contract:before {
  content: "\f56c"; }

.fa-file-csv:before {
  content: "\f6dd"; }

.fa-file-download:before {
  content: "\f56d"; }

.fa-file-excel:before {
  content: "\f1c3"; }

.fa-file-export:before {
  content: "\f56e"; }

.fa-file-image:before {
  content: "\f1c5"; }

.fa-file-import:before {
  content: "\f56f"; }

.fa-file-invoice:before {
  content: "\f570"; }

.fa-file-invoice-dollar:before {
  content: "\f571"; }

.fa-file-medical:before {
  content: "\f477"; }

.fa-file-medical-alt:before {
  content: "\f478"; }

.fa-file-pdf:before {
  content: "\f1c1"; }

.fa-file-powerpoint:before {
  content: "\f1c4"; }

.fa-file-prescription:before {
  content: "\f572"; }

.fa-file-signature:before {
  content: "\f573"; }

.fa-file-upload:before {
  content: "\f574"; }

.fa-file-video:before {
  content: "\f1c8"; }

.fa-file-word:before {
  content: "\f1c2"; }

.fa-fill:before {
  content: "\f575"; }

.fa-fill-drip:before {
  content: "\f576"; }

.fa-film:before {
  content: "\f008"; }

.fa-filter:before {
  content: "\f0b0"; }

.fa-fingerprint:before {
  content: "\f577"; }

.fa-fire:before {
  content: "\f06d"; }

.fa-fire-alt:before {
  content: "\f7e4"; }

.fa-fire-extinguisher:before {
  content: "\f134"; }

.fa-firefox:before {
  content: "\f269"; }

.fa-firefox-browser:before {
  content: "\e007"; }

.fa-first-aid:before {
  content: "\f479"; }

.fa-first-order:before {
  content: "\f2b0"; }

.fa-first-order-alt:before {
  content: "\f50a"; }

.fa-firstdraft:before {
  content: "\f3a1"; }

.fa-fish:before {
  content: "\f578"; }

.fa-fist-raised:before {
  content: "\f6de"; }

.fa-flag:before {
  content: "\f024"; }

.fa-flag-checkered:before {
  content: "\f11e"; }

.fa-flag-usa:before {
  content: "\f74d"; }

.fa-flask:before {
  content: "\f0c3"; }

.fa-flickr:before {
  content: "\f16e"; }

.fa-flipboard:before {
  content: "\f44d"; }

.fa-flushed:before {
  content: "\f579"; }

.fa-fly:before {
  content: "\f417"; }

.fa-folder:before {
  content: "\f07b"; }

.fa-folder-minus:before {
  content: "\f65d"; }

.fa-folder-open:before {
  content: "\f07c"; }

.fa-folder-plus:before {
  content: "\f65e"; }

.fa-font:before {
  content: "\f031"; }

.fa-font-awesome:before {
  content: "\f2b4"; }

.fa-font-awesome-alt:before {
  content: "\f35c"; }

.fa-font-awesome-flag:before {
  content: "\f425"; }

.fa-font-awesome-logo-full:before {
  content: "\f4e6"; }

.fa-fonticons:before {
  content: "\f280"; }

.fa-fonticons-fi:before {
  content: "\f3a2"; }

.fa-football-ball:before {
  content: "\f44e"; }

.fa-fort-awesome:before {
  content: "\f286"; }

.fa-fort-awesome-alt:before {
  content: "\f3a3"; }

.fa-forumbee:before {
  content: "\f211"; }

.fa-forward:before {
  content: "\f04e"; }

.fa-foursquare:before {
  content: "\f180"; }

.fa-free-code-camp:before {
  content: "\f2c5"; }

.fa-freebsd:before {
  content: "\f3a4"; }

.fa-frog:before {
  content: "\f52e"; }

.fa-frown:before {
  content: "\f119"; }

.fa-frown-open:before {
  content: "\f57a"; }

.fa-fulcrum:before {
  content: "\f50b"; }

.fa-funnel-dollar:before {
  content: "\f662"; }

.fa-futbol:before {
  content: "\f1e3"; }

.fa-galactic-republic:before {
  content: "\f50c"; }

.fa-galactic-senate:before {
  content: "\f50d"; }

.fa-gamepad:before {
  content: "\f11b"; }

.fa-gas-pump:before {
  content: "\f52f"; }

.fa-gavel:before {
  content: "\f0e3"; }

.fa-gem:before {
  content: "\f3a5"; }

.fa-genderless:before {
  content: "\f22d"; }

.fa-get-pocket:before {
  content: "\f265"; }

.fa-gg:before {
  content: "\f260"; }

.fa-gg-circle:before {
  content: "\f261"; }

.fa-ghost:before {
  content: "\f6e2"; }

.fa-gift:before {
  content: "\f06b"; }

.fa-gifts:before {
  content: "\f79c"; }

.fa-git:before {
  content: "\f1d3"; }

.fa-git-alt:before {
  content: "\f841"; }

.fa-git-square:before {
  content: "\f1d2"; }

.fa-github:before {
  content: "\f09b"; }

.fa-github-alt:before {
  content: "\f113"; }

.fa-github-square:before {
  content: "\f092"; }

.fa-gitkraken:before {
  content: "\f3a6"; }

.fa-gitlab:before {
  content: "\f296"; }

.fa-gitter:before {
  content: "\f426"; }

.fa-glass-cheers:before {
  content: "\f79f"; }

.fa-glass-martini:before {
  content: "\f000"; }

.fa-glass-martini-alt:before {
  content: "\f57b"; }

.fa-glass-whiskey:before {
  content: "\f7a0"; }

.fa-glasses:before {
  content: "\f530"; }

.fa-glide:before {
  content: "\f2a5"; }

.fa-glide-g:before {
  content: "\f2a6"; }

.fa-globe:before {
  content: "\f0ac"; }

.fa-globe-africa:before {
  content: "\f57c"; }

.fa-globe-americas:before {
  content: "\f57d"; }

.fa-globe-asia:before {
  content: "\f57e"; }

.fa-globe-europe:before {
  content: "\f7a2"; }

.fa-gofore:before {
  content: "\f3a7"; }

.fa-golf-ball:before {
  content: "\f450"; }

.fa-goodreads:before {
  content: "\f3a8"; }

.fa-goodreads-g:before {
  content: "\f3a9"; }

.fa-google:before {
  content: "\f1a0"; }

.fa-google-drive:before {
  content: "\f3aa"; }

.fa-google-pay:before {
  content: "\e079"; }

.fa-google-play:before {
  content: "\f3ab"; }

.fa-google-plus:before {
  content: "\f2b3"; }

.fa-google-plus-g:before {
  content: "\f0d5"; }

.fa-google-plus-square:before {
  content: "\f0d4"; }

.fa-google-wallet:before {
  content: "\f1ee"; }

.fa-gopuram:before {
  content: "\f664"; }

.fa-graduation-cap:before {
  content: "\f19d"; }

.fa-gratipay:before {
  content: "\f184"; }

.fa-grav:before {
  content: "\f2d6"; }

.fa-greater-than:before {
  content: "\f531"; }

.fa-greater-than-equal:before {
  content: "\f532"; }

.fa-grimace:before {
  content: "\f57f"; }

.fa-grin:before {
  content: "\f580"; }

.fa-grin-alt:before {
  content: "\f581"; }

.fa-grin-beam:before {
  content: "\f582"; }

.fa-grin-beam-sweat:before {
  content: "\f583"; }

.fa-grin-hearts:before {
  content: "\f584"; }

.fa-grin-squint:before {
  content: "\f585"; }

.fa-grin-squint-tears:before {
  content: "\f586"; }

.fa-grin-stars:before {
  content: "\f587"; }

.fa-grin-tears:before {
  content: "\f588"; }

.fa-grin-tongue:before {
  content: "\f589"; }

.fa-grin-tongue-squint:before {
  content: "\f58a"; }

.fa-grin-tongue-wink:before {
  content: "\f58b"; }

.fa-grin-wink:before {
  content: "\f58c"; }

.fa-grip-horizontal:before {
  content: "\f58d"; }

.fa-grip-lines:before {
  content: "\f7a4"; }

.fa-grip-lines-vertical:before {
  content: "\f7a5"; }

.fa-grip-vertical:before {
  content: "\f58e"; }

.fa-gripfire:before {
  content: "\f3ac"; }

.fa-grunt:before {
  content: "\f3ad"; }

.fa-guilded:before {
  content: "\e07e"; }

.fa-guitar:before {
  content: "\f7a6"; }

.fa-gulp:before {
  content: "\f3ae"; }

.fa-h-square:before {
  content: "\f0fd"; }

.fa-hacker-news:before {
  content: "\f1d4"; }

.fa-hacker-news-square:before {
  content: "\f3af"; }

.fa-hackerrank:before {
  content: "\f5f7"; }

.fa-hamburger:before {
  content: "\f805"; }

.fa-hammer:before {
  content: "\f6e3"; }

.fa-hamsa:before {
  content: "\f665"; }

.fa-hand-holding:before {
  content: "\f4bd"; }

.fa-hand-holding-heart:before {
  content: "\f4be"; }

.fa-hand-holding-medical:before {
  content: "\e05c"; }

.fa-hand-holding-usd:before {
  content: "\f4c0"; }

.fa-hand-holding-water:before {
  content: "\f4c1"; }

.fa-hand-lizard:before {
  content: "\f258"; }

.fa-hand-middle-finger:before {
  content: "\f806"; }

.fa-hand-paper:before {
  content: "\f256"; }

.fa-hand-peace:before {
  content: "\f25b"; }

.fa-hand-point-down:before {
  content: "\f0a7"; }

.fa-hand-point-left:before {
  content: "\f0a5"; }

.fa-hand-point-right:before {
  content: "\f0a4"; }

.fa-hand-point-up:before {
  content: "\f0a6"; }

.fa-hand-pointer:before {
  content: "\f25a"; }

.fa-hand-rock:before {
  content: "\f255"; }

.fa-hand-scissors:before {
  content: "\f257"; }

.fa-hand-sparkles:before {
  content: "\e05d"; }

.fa-hand-spock:before {
  content: "\f259"; }

.fa-hands:before {
  content: "\f4c2"; }

.fa-hands-helping:before {
  content: "\f4c4"; }

.fa-hands-wash:before {
  content: "\e05e"; }

.fa-handshake:before {
  content: "\f2b5"; }

.fa-handshake-alt-slash:before {
  content: "\e05f"; }

.fa-handshake-slash:before {
  content: "\e060"; }

.fa-hanukiah:before {
  content: "\f6e6"; }

.fa-hard-hat:before {
  content: "\f807"; }

.fa-hashtag:before {
  content: "\f292"; }

.fa-hat-cowboy:before {
  content: "\f8c0"; }

.fa-hat-cowboy-side:before {
  content: "\f8c1"; }

.fa-hat-wizard:before {
  content: "\f6e8"; }

.fa-hdd:before {
  content: "\f0a0"; }

.fa-head-side-cough:before {
  content: "\e061"; }

.fa-head-side-cough-slash:before {
  content: "\e062"; }

.fa-head-side-mask:before {
  content: "\e063"; }

.fa-head-side-virus:before {
  content: "\e064"; }

.fa-heading:before {
  content: "\f1dc"; }

.fa-headphones:before {
  content: "\f025"; }

.fa-headphones-alt:before {
  content: "\f58f"; }

.fa-headset:before {
  content: "\f590"; }

.fa-heart:before {
  content: "\f004"; }

.fa-heart-broken:before {
  content: "\f7a9"; }

.fa-heartbeat:before {
  content: "\f21e"; }

.fa-helicopter:before {
  content: "\f533"; }

.fa-highlighter:before {
  content: "\f591"; }

.fa-hiking:before {
  content: "\f6ec"; }

.fa-hippo:before {
  content: "\f6ed"; }

.fa-hips:before {
  content: "\f452"; }

.fa-hire-a-helper:before {
  content: "\f3b0"; }

.fa-history:before {
  content: "\f1da"; }

.fa-hive:before {
  content: "\e07f"; }

.fa-hockey-puck:before {
  content: "\f453"; }

.fa-holly-berry:before {
  content: "\f7aa"; }

.fa-home:before {
  content: "\f015"; }

.fa-hooli:before {
  content: "\f427"; }

.fa-hornbill:before {
  content: "\f592"; }

.fa-horse:before {
  content: "\f6f0"; }

.fa-horse-head:before {
  content: "\f7ab"; }

.fa-hospital:before {
  content: "\f0f8"; }

.fa-hospital-alt:before {
  content: "\f47d"; }

.fa-hospital-symbol:before {
  content: "\f47e"; }

.fa-hospital-user:before {
  content: "\f80d"; }

.fa-hot-tub:before {
  content: "\f593"; }

.fa-hotdog:before {
  content: "\f80f"; }

.fa-hotel:before {
  content: "\f594"; }

.fa-hotjar:before {
  content: "\f3b1"; }

.fa-hourglass:before {
  content: "\f254"; }

.fa-hourglass-end:before {
  content: "\f253"; }

.fa-hourglass-half:before {
  content: "\f252"; }

.fa-hourglass-start:before {
  content: "\f251"; }

.fa-house-damage:before {
  content: "\f6f1"; }

.fa-house-user:before {
  content: "\e065"; }

.fa-houzz:before {
  content: "\f27c"; }

.fa-hryvnia:before {
  content: "\f6f2"; }

.fa-html5:before {
  content: "\f13b"; }

.fa-hubspot:before {
  content: "\f3b2"; }

.fa-i-cursor:before {
  content: "\f246"; }

.fa-ice-cream:before {
  content: "\f810"; }

.fa-icicles:before {
  content: "\f7ad"; }

.fa-icons:before {
  content: "\f86d"; }

.fa-id-badge:before {
  content: "\f2c1"; }

.fa-id-card:before {
  content: "\f2c2"; }

.fa-id-card-alt:before {
  content: "\f47f"; }

.fa-ideal:before {
  content: "\e013"; }

.fa-igloo:before {
  content: "\f7ae"; }

.fa-image:before {
  content: "\f03e"; }

.fa-images:before {
  content: "\f302"; }

.fa-imdb:before {
  content: "\f2d8"; }

.fa-inbox:before {
  content: "\f01c"; }

.fa-indent:before {
  content: "\f03c"; }

.fa-industry:before {
  content: "\f275"; }

.fa-infinity:before {
  content: "\f534"; }

.fa-info:before {
  content: "\f129"; }

.fa-info-circle:before {
  content: "\f05a"; }

.fa-innosoft:before {
  content: "\e080"; }

.fa-instagram:before {
  content: "\f16d"; }

.fa-instagram-square:before {
  content: "\e055"; }

.fa-instalod:before {
  content: "\e081"; }

.fa-intercom:before {
  content: "\f7af"; }

.fa-internet-explorer:before {
  content: "\f26b"; }

.fa-invision:before {
  content: "\f7b0"; }

.fa-ioxhost:before {
  content: "\f208"; }

.fa-italic:before {
  content: "\f033"; }

.fa-itch-io:before {
  content: "\f83a"; }

.fa-itunes:before {
  content: "\f3b4"; }

.fa-itunes-note:before {
  content: "\f3b5"; }

.fa-java:before {
  content: "\f4e4"; }

.fa-jedi:before {
  content: "\f669"; }

.fa-jedi-order:before {
  content: "\f50e"; }

.fa-jenkins:before {
  content: "\f3b6"; }

.fa-jira:before {
  content: "\f7b1"; }

.fa-joget:before {
  content: "\f3b7"; }

.fa-joint:before {
  content: "\f595"; }

.fa-joomla:before {
  content: "\f1aa"; }

.fa-journal-whills:before {
  content: "\f66a"; }

.fa-js:before {
  content: "\f3b8"; }

.fa-js-square:before {
  content: "\f3b9"; }

.fa-jsfiddle:before {
  content: "\f1cc"; }

.fa-kaaba:before {
  content: "\f66b"; }

.fa-kaggle:before {
  content: "\f5fa"; }

.fa-key:before {
  content: "\f084"; }

.fa-keybase:before {
  content: "\f4f5"; }

.fa-keyboard:before {
  content: "\f11c"; }

.fa-keycdn:before {
  content: "\f3ba"; }

.fa-khanda:before {
  content: "\f66d"; }

.fa-kickstarter:before {
  content: "\f3bb"; }

.fa-kickstarter-k:before {
  content: "\f3bc"; }

.fa-kiss:before {
  content: "\f596"; }

.fa-kiss-beam:before {
  content: "\f597"; }

.fa-kiss-wink-heart:before {
  content: "\f598"; }

.fa-kiwi-bird:before {
  content: "\f535"; }

.fa-korvue:before {
  content: "\f42f"; }

.fa-landmark:before {
  content: "\f66f"; }

.fa-language:before {
  content: "\f1ab"; }

.fa-laptop:before {
  content: "\f109"; }

.fa-laptop-code:before {
  content: "\f5fc"; }

.fa-laptop-house:before {
  content: "\e066"; }

.fa-laptop-medical:before {
  content: "\f812"; }

.fa-laravel:before {
  content: "\f3bd"; }

.fa-lastfm:before {
  content: "\f202"; }

.fa-lastfm-square:before {
  content: "\f203"; }

.fa-laugh:before {
  content: "\f599"; }

.fa-laugh-beam:before {
  content: "\f59a"; }

.fa-laugh-squint:before {
  content: "\f59b"; }

.fa-laugh-wink:before {
  content: "\f59c"; }

.fa-layer-group:before {
  content: "\f5fd"; }

.fa-leaf:before {
  content: "\f06c"; }

.fa-leanpub:before {
  content: "\f212"; }

.fa-lemon:before {
  content: "\f094"; }

.fa-less:before {
  content: "\f41d"; }

.fa-less-than:before {
  content: "\f536"; }

.fa-less-than-equal:before {
  content: "\f537"; }

.fa-level-down-alt:before {
  content: "\f3be"; }

.fa-level-up-alt:before {
  content: "\f3bf"; }

.fa-life-ring:before {
  content: "\f1cd"; }

.fa-lightbulb:before {
  content: "\f0eb"; }

.fa-line:before {
  content: "\f3c0"; }

.fa-link:before {
  content: "\f0c1"; }

.fa-linkedin:before {
  content: "\f08c"; }

.fa-linkedin-in:before {
  content: "\f0e1"; }

.fa-linode:before {
  content: "\f2b8"; }

.fa-linux:before {
  content: "\f17c"; }

.fa-lira-sign:before {
  content: "\f195"; }

.fa-list:before {
  content: "\f03a"; }

.fa-list-alt:before {
  content: "\f022"; }

.fa-list-ol:before {
  content: "\f0cb"; }

.fa-list-ul:before {
  content: "\f0ca"; }

.fa-location-arrow:before {
  content: "\f124"; }

.fa-lock:before {
  content: "\f023"; }

.fa-lock-open:before {
  content: "\f3c1"; }

.fa-long-arrow-alt-down:before {
  content: "\f309"; }

.fa-long-arrow-alt-left:before {
  content: "\f30a"; }

.fa-long-arrow-alt-right:before {
  content: "\f30b"; }

.fa-long-arrow-alt-up:before {
  content: "\f30c"; }

.fa-low-vision:before {
  content: "\f2a8"; }

.fa-luggage-cart:before {
  content: "\f59d"; }

.fa-lungs:before {
  content: "\f604"; }

.fa-lungs-virus:before {
  content: "\e067"; }

.fa-lyft:before {
  content: "\f3c3"; }

.fa-magento:before {
  content: "\f3c4"; }

.fa-magic:before {
  content: "\f0d0"; }

.fa-magnet:before {
  content: "\f076"; }

.fa-mail-bulk:before {
  content: "\f674"; }

.fa-mailchimp:before {
  content: "\f59e"; }

.fa-male:before {
  content: "\f183"; }

.fa-mandalorian:before {
  content: "\f50f"; }

.fa-map:before {
  content: "\f279"; }

.fa-map-marked:before {
  content: "\f59f"; }

.fa-map-marked-alt:before {
  content: "\f5a0"; }

.fa-map-marker:before {
  content: "\f041"; }

.fa-map-marker-alt:before {
  content: "\f3c5"; }

.fa-map-pin:before {
  content: "\f276"; }

.fa-map-signs:before {
  content: "\f277"; }

.fa-markdown:before {
  content: "\f60f"; }

.fa-marker:before {
  content: "\f5a1"; }

.fa-mars:before {
  content: "\f222"; }

.fa-mars-double:before {
  content: "\f227"; }

.fa-mars-stroke:before {
  content: "\f229"; }

.fa-mars-stroke-h:before {
  content: "\f22b"; }

.fa-mars-stroke-v:before {
  content: "\f22a"; }

.fa-mask:before {
  content: "\f6fa"; }

.fa-mastodon:before {
  content: "\f4f6"; }

.fa-maxcdn:before {
  content: "\f136"; }

.fa-mdb:before {
  content: "\f8ca"; }

.fa-medal:before {
  content: "\f5a2"; }

.fa-medapps:before {
  content: "\f3c6"; }

.fa-medium:before {
  content: "\f23a"; }

.fa-medium-m:before {
  content: "\f3c7"; }

.fa-medkit:before {
  content: "\f0fa"; }

.fa-medrt:before {
  content: "\f3c8"; }

.fa-meetup:before {
  content: "\f2e0"; }

.fa-megaport:before {
  content: "\f5a3"; }

.fa-meh:before {
  content: "\f11a"; }

.fa-meh-blank:before {
  content: "\f5a4"; }

.fa-meh-rolling-eyes:before {
  content: "\f5a5"; }

.fa-memory:before {
  content: "\f538"; }

.fa-mendeley:before {
  content: "\f7b3"; }

.fa-menorah:before {
  content: "\f676"; }

.fa-mercury:before {
  content: "\f223"; }

.fa-meteor:before {
  content: "\f753"; }

.fa-microblog:before {
  content: "\e01a"; }

.fa-microchip:before {
  content: "\f2db"; }

.fa-microphone:before {
  content: "\f130"; }

.fa-microphone-alt:before {
  content: "\f3c9"; }

.fa-microphone-alt-slash:before {
  content: "\f539"; }

.fa-microphone-slash:before {
  content: "\f131"; }

.fa-microscope:before {
  content: "\f610"; }

.fa-microsoft:before {
  content: "\f3ca"; }

.fa-minus:before {
  content: "\f068"; }

.fa-minus-circle:before {
  content: "\f056"; }

.fa-minus-square:before {
  content: "\f146"; }

.fa-mitten:before {
  content: "\f7b5"; }

.fa-mix:before {
  content: "\f3cb"; }

.fa-mixcloud:before {
  content: "\f289"; }

.fa-mixer:before {
  content: "\e056"; }

.fa-mizuni:before {
  content: "\f3cc"; }

.fa-mobile:before {
  content: "\f10b"; }

.fa-mobile-alt:before {
  content: "\f3cd"; }

.fa-modx:before {
  content: "\f285"; }

.fa-monero:before {
  content: "\f3d0"; }

.fa-money-bill:before {
  content: "\f0d6"; }

.fa-money-bill-alt:before {
  content: "\f3d1"; }

.fa-money-bill-wave:before {
  content: "\f53a"; }

.fa-money-bill-wave-alt:before {
  content: "\f53b"; }

.fa-money-check:before {
  content: "\f53c"; }

.fa-money-check-alt:before {
  content: "\f53d"; }

.fa-monument:before {
  content: "\f5a6"; }

.fa-moon:before {
  content: "\f186"; }

.fa-mortar-pestle:before {
  content: "\f5a7"; }

.fa-mosque:before {
  content: "\f678"; }

.fa-motorcycle:before {
  content: "\f21c"; }

.fa-mountain:before {
  content: "\f6fc"; }

.fa-mouse:before {
  content: "\f8cc"; }

.fa-mouse-pointer:before {
  content: "\f245"; }

.fa-mug-hot:before {
  content: "\f7b6"; }

.fa-music:before {
  content: "\f001"; }

.fa-napster:before {
  content: "\f3d2"; }

.fa-neos:before {
  content: "\f612"; }

.fa-network-wired:before {
  content: "\f6ff"; }

.fa-neuter:before {
  content: "\f22c"; }

.fa-newspaper:before {
  content: "\f1ea"; }

.fa-nimblr:before {
  content: "\f5a8"; }

.fa-node:before {
  content: "\f419"; }

.fa-node-js:before {
  content: "\f3d3"; }

.fa-not-equal:before {
  content: "\f53e"; }

.fa-notes-medical:before {
  content: "\f481"; }

.fa-npm:before {
  content: "\f3d4"; }

.fa-ns8:before {
  content: "\f3d5"; }

.fa-nutritionix:before {
  content: "\f3d6"; }

.fa-object-group:before {
  content: "\f247"; }

.fa-object-ungroup:before {
  content: "\f248"; }

.fa-octopus-deploy:before {
  content: "\e082"; }

.fa-odnoklassniki:before {
  content: "\f263"; }

.fa-odnoklassniki-square:before {
  content: "\f264"; }

.fa-oil-can:before {
  content: "\f613"; }

.fa-old-republic:before {
  content: "\f510"; }

.fa-om:before {
  content: "\f679"; }

.fa-opencart:before {
  content: "\f23d"; }

.fa-openid:before {
  content: "\f19b"; }

.fa-opera:before {
  content: "\f26a"; }

.fa-optin-monster:before {
  content: "\f23c"; }

.fa-orcid:before {
  content: "\f8d2"; }

.fa-osi:before {
  content: "\f41a"; }

.fa-otter:before {
  content: "\f700"; }

.fa-outdent:before {
  content: "\f03b"; }

.fa-page4:before {
  content: "\f3d7"; }

.fa-pagelines:before {
  content: "\f18c"; }

.fa-pager:before {
  content: "\f815"; }

.fa-paint-brush:before {
  content: "\f1fc"; }

.fa-paint-roller:before {
  content: "\f5aa"; }

.fa-palette:before {
  content: "\f53f"; }

.fa-palfed:before {
  content: "\f3d8"; }

.fa-pallet:before {
  content: "\f482"; }

.fa-paper-plane:before {
  content: "\f1d8"; }

.fa-paperclip:before {
  content: "\f0c6"; }

.fa-parachute-box:before {
  content: "\f4cd"; }

.fa-paragraph:before {
  content: "\f1dd"; }

.fa-parking:before {
  content: "\f540"; }

.fa-passport:before {
  content: "\f5ab"; }

.fa-pastafarianism:before {
  content: "\f67b"; }

.fa-paste:before {
  content: "\f0ea"; }

.fa-patreon:before {
  content: "\f3d9"; }

.fa-pause:before {
  content: "\f04c"; }

.fa-pause-circle:before {
  content: "\f28b"; }

.fa-paw:before {
  content: "\f1b0"; }

.fa-paypal:before {
  content: "\f1ed"; }

.fa-peace:before {
  content: "\f67c"; }

.fa-pen:before {
  content: "\f304"; }

.fa-pen-alt:before {
  content: "\f305"; }

.fa-pen-fancy:before {
  content: "\f5ac"; }

.fa-pen-nib:before {
  content: "\f5ad"; }

.fa-pen-square:before {
  content: "\f14b"; }

.fa-pencil-alt:before {
  content: "\f303"; }

.fa-pencil-ruler:before {
  content: "\f5ae"; }

.fa-penny-arcade:before {
  content: "\f704"; }

.fa-people-arrows:before {
  content: "\e068"; }

.fa-people-carry:before {
  content: "\f4ce"; }

.fa-pepper-hot:before {
  content: "\f816"; }

.fa-perbyte:before {
  content: "\e083"; }

.fa-percent:before {
  content: "\f295"; }

.fa-percentage:before {
  content: "\f541"; }

.fa-periscope:before {
  content: "\f3da"; }

.fa-person-booth:before {
  content: "\f756"; }

.fa-phabricator:before {
  content: "\f3db"; }

.fa-phoenix-framework:before {
  content: "\f3dc"; }

.fa-phoenix-squadron:before {
  content: "\f511"; }

.fa-phone:before {
  content: "\f095"; }

.fa-phone-alt:before {
  content: "\f879"; }

.fa-phone-slash:before {
  content: "\f3dd"; }

.fa-phone-square:before {
  content: "\f098"; }

.fa-phone-square-alt:before {
  content: "\f87b"; }

.fa-phone-volume:before {
  content: "\f2a0"; }

.fa-photo-video:before {
  content: "\f87c"; }

.fa-php:before {
  content: "\f457"; }

.fa-pied-piper:before {
  content: "\f2ae"; }

.fa-pied-piper-alt:before {
  content: "\f1a8"; }

.fa-pied-piper-hat:before {
  content: "\f4e5"; }

.fa-pied-piper-pp:before {
  content: "\f1a7"; }

.fa-pied-piper-square:before {
  content: "\e01e"; }

.fa-piggy-bank:before {
  content: "\f4d3"; }

.fa-pills:before {
  content: "\f484"; }

.fa-pinterest:before {
  content: "\f0d2"; }

.fa-pinterest-p:before {
  content: "\f231"; }

.fa-pinterest-square:before {
  content: "\f0d3"; }

.fa-pizza-slice:before {
  content: "\f818"; }

.fa-place-of-worship:before {
  content: "\f67f"; }

.fa-plane:before {
  content: "\f072"; }

.fa-plane-arrival:before {
  content: "\f5af"; }

.fa-plane-departure:before {
  content: "\f5b0"; }

.fa-plane-slash:before {
  content: "\e069"; }

.fa-play:before {
  content: "\f04b"; }

.fa-play-circle:before {
  content: "\f144"; }

.fa-playstation:before {
  content: "\f3df"; }

.fa-plug:before {
  content: "\f1e6"; }

.fa-plus:before {
  content: "\f067"; }

.fa-plus-circle:before {
  content: "\f055"; }

.fa-plus-square:before {
  content: "\f0fe"; }

.fa-podcast:before {
  content: "\f2ce"; }

.fa-poll:before {
  content: "\f681"; }

.fa-poll-h:before {
  content: "\f682"; }

.fa-poo:before {
  content: "\f2fe"; }

.fa-poo-storm:before {
  content: "\f75a"; }

.fa-poop:before {
  content: "\f619"; }

.fa-portrait:before {
  content: "\f3e0"; }

.fa-pound-sign:before {
  content: "\f154"; }

.fa-power-off:before {
  content: "\f011"; }

.fa-pray:before {
  content: "\f683"; }

.fa-praying-hands:before {
  content: "\f684"; }

.fa-prescription:before {
  content: "\f5b1"; }

.fa-prescription-bottle:before {
  content: "\f485"; }

.fa-prescription-bottle-alt:before {
  content: "\f486"; }

.fa-print:before {
  content: "\f02f"; }

.fa-procedures:before {
  content: "\f487"; }

.fa-product-hunt:before {
  content: "\f288"; }

.fa-project-diagram:before {
  content: "\f542"; }

.fa-pump-medical:before {
  content: "\e06a"; }

.fa-pump-soap:before {
  content: "\e06b"; }

.fa-pushed:before {
  content: "\f3e1"; }

.fa-puzzle-piece:before {
  content: "\f12e"; }

.fa-python:before {
  content: "\f3e2"; }

.fa-qq:before {
  content: "\f1d6"; }

.fa-qrcode:before {
  content: "\f029"; }

.fa-question:before {
  content: "\f128"; }

.fa-question-circle:before {
  content: "\f059"; }

.fa-quidditch:before {
  content: "\f458"; }

.fa-quinscape:before {
  content: "\f459"; }

.fa-quora:before {
  content: "\f2c4"; }

.fa-quote-left:before {
  content: "\f10d"; }

.fa-quote-right:before {
  content: "\f10e"; }

.fa-quran:before {
  content: "\f687"; }

.fa-r-project:before {
  content: "\f4f7"; }

.fa-radiation:before {
  content: "\f7b9"; }

.fa-radiation-alt:before {
  content: "\f7ba"; }

.fa-rainbow:before {
  content: "\f75b"; }

.fa-random:before {
  content: "\f074"; }

.fa-raspberry-pi:before {
  content: "\f7bb"; }

.fa-ravelry:before {
  content: "\f2d9"; }

.fa-react:before {
  content: "\f41b"; }

.fa-reacteurope:before {
  content: "\f75d"; }

.fa-readme:before {
  content: "\f4d5"; }

.fa-rebel:before {
  content: "\f1d0"; }

.fa-receipt:before {
  content: "\f543"; }

.fa-record-vinyl:before {
  content: "\f8d9"; }

.fa-recycle:before {
  content: "\f1b8"; }

.fa-red-river:before {
  content: "\f3e3"; }

.fa-reddit:before {
  content: "\f1a1"; }

.fa-reddit-alien:before {
  content: "\f281"; }

.fa-reddit-square:before {
  content: "\f1a2"; }

.fa-redhat:before {
  content: "\f7bc"; }

.fa-redo:before {
  content: "\f01e"; }

.fa-redo-alt:before {
  content: "\f2f9"; }

.fa-registered:before {
  content: "\f25d"; }

.fa-remove-format:before {
  content: "\f87d"; }

.fa-renren:before {
  content: "\f18b"; }

.fa-reply:before {
  content: "\f3e5"; }

.fa-reply-all:before {
  content: "\f122"; }

.fa-replyd:before {
  content: "\f3e6"; }

.fa-republican:before {
  content: "\f75e"; }

.fa-researchgate:before {
  content: "\f4f8"; }

.fa-resolving:before {
  content: "\f3e7"; }

.fa-restroom:before {
  content: "\f7bd"; }

.fa-retweet:before {
  content: "\f079"; }

.fa-rev:before {
  content: "\f5b2"; }

.fa-ribbon:before {
  content: "\f4d6"; }

.fa-ring:before {
  content: "\f70b"; }

.fa-road:before {
  content: "\f018"; }

.fa-robot:before {
  content: "\f544"; }

.fa-rocket:before {
  content: "\f135"; }

.fa-rocketchat:before {
  content: "\f3e8"; }

.fa-rockrms:before {
  content: "\f3e9"; }

.fa-route:before {
  content: "\f4d7"; }

.fa-rss:before {
  content: "\f09e"; }

.fa-rss-square:before {
  content: "\f143"; }

.fa-ruble-sign:before {
  content: "\f158"; }

.fa-ruler:before {
  content: "\f545"; }

.fa-ruler-combined:before {
  content: "\f546"; }

.fa-ruler-horizontal:before {
  content: "\f547"; }

.fa-ruler-vertical:before {
  content: "\f548"; }

.fa-running:before {
  content: "\f70c"; }

.fa-rupee-sign:before {
  content: "\f156"; }

.fa-rust:before {
  content: "\e07a"; }

.fa-sad-cry:before {
  content: "\f5b3"; }

.fa-sad-tear:before {
  content: "\f5b4"; }

.fa-safari:before {
  content: "\f267"; }

.fa-salesforce:before {
  content: "\f83b"; }

.fa-sass:before {
  content: "\f41e"; }

.fa-satellite:before {
  content: "\f7bf"; }

.fa-satellite-dish:before {
  content: "\f7c0"; }

.fa-save:before {
  content: "\f0c7"; }

.fa-schlix:before {
  content: "\f3ea"; }

.fa-school:before {
  content: "\f549"; }

.fa-screwdriver:before {
  content: "\f54a"; }

.fa-scribd:before {
  content: "\f28a"; }

.fa-scroll:before {
  content: "\f70e"; }

.fa-sd-card:before {
  content: "\f7c2"; }

.fa-search:before {
  content: "\f002"; }

.fa-search-dollar:before {
  content: "\f688"; }

.fa-search-location:before {
  content: "\f689"; }

.fa-search-minus:before {
  content: "\f010"; }

.fa-search-plus:before {
  content: "\f00e"; }

.fa-searchengin:before {
  content: "\f3eb"; }

.fa-seedling:before {
  content: "\f4d8"; }

.fa-sellcast:before {
  content: "\f2da"; }

.fa-sellsy:before {
  content: "\f213"; }

.fa-server:before {
  content: "\f233"; }

.fa-servicestack:before {
  content: "\f3ec"; }

.fa-shapes:before {
  content: "\f61f"; }

.fa-share:before {
  content: "\f064"; }

.fa-share-alt:before {
  content: "\f1e0"; }

.fa-share-alt-square:before {
  content: "\f1e1"; }

.fa-share-square:before {
  content: "\f14d"; }

.fa-shekel-sign:before {
  content: "\f20b"; }

.fa-shield-alt:before {
  content: "\f3ed"; }

.fa-shield-virus:before {
  content: "\e06c"; }

.fa-ship:before {
  content: "\f21a"; }

.fa-shipping-fast:before {
  content: "\f48b"; }

.fa-shirtsinbulk:before {
  content: "\f214"; }

.fa-shoe-prints:before {
  content: "\f54b"; }

.fa-shopify:before {
  content: "\e057"; }

.fa-shopping-bag:before {
  content: "\f290"; }

.fa-shopping-basket:before {
  content: "\f291"; }

.fa-shopping-cart:before {
  content: "\f07a"; }

.fa-shopware:before {
  content: "\f5b5"; }

.fa-shower:before {
  content: "\f2cc"; }

.fa-shuttle-van:before {
  content: "\f5b6"; }

.fa-sign:before {
  content: "\f4d9"; }

.fa-sign-in-alt:before {
  content: "\f2f6"; }

.fa-sign-language:before {
  content: "\f2a7"; }

.fa-sign-out-alt:before {
  content: "\f2f5"; }

.fa-signal:before {
  content: "\f012"; }

.fa-signature:before {
  content: "\f5b7"; }

.fa-sim-card:before {
  content: "\f7c4"; }

.fa-simplybuilt:before {
  content: "\f215"; }

.fa-sink:before {
  content: "\e06d"; }

.fa-sistrix:before {
  content: "\f3ee"; }

.fa-sitemap:before {
  content: "\f0e8"; }

.fa-sith:before {
  content: "\f512"; }

.fa-skating:before {
  content: "\f7c5"; }

.fa-sketch:before {
  content: "\f7c6"; }

.fa-skiing:before {
  content: "\f7c9"; }

.fa-skiing-nordic:before {
  content: "\f7ca"; }

.fa-skull:before {
  content: "\f54c"; }

.fa-skull-crossbones:before {
  content: "\f714"; }

.fa-skyatlas:before {
  content: "\f216"; }

.fa-skype:before {
  content: "\f17e"; }

.fa-slack:before {
  content: "\f198"; }

.fa-slack-hash:before {
  content: "\f3ef"; }

.fa-slash:before {
  content: "\f715"; }

.fa-sleigh:before {
  content: "\f7cc"; }

.fa-sliders-h:before {
  content: "\f1de"; }

.fa-slideshare:before {
  content: "\f1e7"; }

.fa-smile:before {
  content: "\f118"; }

.fa-smile-beam:before {
  content: "\f5b8"; }

.fa-smile-wink:before {
  content: "\f4da"; }

.fa-smog:before {
  content: "\f75f"; }

.fa-smoking:before {
  content: "\f48d"; }

.fa-smoking-ban:before {
  content: "\f54d"; }

.fa-sms:before {
  content: "\f7cd"; }

.fa-snapchat:before {
  content: "\f2ab"; }

.fa-snapchat-ghost:before {
  content: "\f2ac"; }

.fa-snapchat-square:before {
  content: "\f2ad"; }

.fa-snowboarding:before {
  content: "\f7ce"; }

.fa-snowflake:before {
  content: "\f2dc"; }

.fa-snowman:before {
  content: "\f7d0"; }

.fa-snowplow:before {
  content: "\f7d2"; }

.fa-soap:before {
  content: "\e06e"; }

.fa-socks:before {
  content: "\f696"; }

.fa-solar-panel:before {
  content: "\f5ba"; }

.fa-sort:before {
  content: "\f0dc"; }

.fa-sort-alpha-down:before {
  content: "\f15d"; }

.fa-sort-alpha-down-alt:before {
  content: "\f881"; }

.fa-sort-alpha-up:before {
  content: "\f15e"; }

.fa-sort-alpha-up-alt:before {
  content: "\f882"; }

.fa-sort-amount-down:before {
  content: "\f160"; }

.fa-sort-amount-down-alt:before {
  content: "\f884"; }

.fa-sort-amount-up:before {
  content: "\f161"; }

.fa-sort-amount-up-alt:before {
  content: "\f885"; }

.fa-sort-down:before {
  content: "\f0dd"; }

.fa-sort-numeric-down:before {
  content: "\f162"; }

.fa-sort-numeric-down-alt:before {
  content: "\f886"; }

.fa-sort-numeric-up:before {
  content: "\f163"; }

.fa-sort-numeric-up-alt:before {
  content: "\f887"; }

.fa-sort-up:before {
  content: "\f0de"; }

.fa-soundcloud:before {
  content: "\f1be"; }

.fa-sourcetree:before {
  content: "\f7d3"; }

.fa-spa:before {
  content: "\f5bb"; }

.fa-space-shuttle:before {
  content: "\f197"; }

.fa-speakap:before {
  content: "\f3f3"; }

.fa-speaker-deck:before {
  content: "\f83c"; }

.fa-spell-check:before {
  content: "\f891"; }

.fa-spider:before {
  content: "\f717"; }

.fa-spinner:before {
  content: "\f110"; }

.fa-splotch:before {
  content: "\f5bc"; }

.fa-spotify:before {
  content: "\f1bc"; }

.fa-spray-can:before {
  content: "\f5bd"; }

.fa-square:before {
  content: "\f0c8"; }

.fa-square-full:before {
  content: "\f45c"; }

.fa-square-root-alt:before {
  content: "\f698"; }

.fa-squarespace:before {
  content: "\f5be"; }

.fa-stack-exchange:before {
  content: "\f18d"; }

.fa-stack-overflow:before {
  content: "\f16c"; }

.fa-stackpath:before {
  content: "\f842"; }

.fa-stamp:before {
  content: "\f5bf"; }

.fa-star:before {
  content: "\f005"; }

.fa-star-and-crescent:before {
  content: "\f699"; }

.fa-star-half:before {
  content: "\f089"; }

.fa-star-half-alt:before {
  content: "\f5c0"; }

.fa-star-of-david:before {
  content: "\f69a"; }

.fa-star-of-life:before {
  content: "\f621"; }

.fa-staylinked:before {
  content: "\f3f5"; }

.fa-steam:before {
  content: "\f1b6"; }

.fa-steam-square:before {
  content: "\f1b7"; }

.fa-steam-symbol:before {
  content: "\f3f6"; }

.fa-step-backward:before {
  content: "\f048"; }

.fa-step-forward:before {
  content: "\f051"; }

.fa-stethoscope:before {
  content: "\f0f1"; }

.fa-sticker-mule:before {
  content: "\f3f7"; }

.fa-sticky-note:before {
  content: "\f249"; }

.fa-stop:before {
  content: "\f04d"; }

.fa-stop-circle:before {
  content: "\f28d"; }

.fa-stopwatch:before {
  content: "\f2f2"; }

.fa-stopwatch-20:before {
  content: "\e06f"; }

.fa-store:before {
  content: "\f54e"; }

.fa-store-alt:before {
  content: "\f54f"; }

.fa-store-alt-slash:before {
  content: "\e070"; }

.fa-store-slash:before {
  content: "\e071"; }

.fa-strava:before {
  content: "\f428"; }

.fa-stream:before {
  content: "\f550"; }

.fa-street-view:before {
  content: "\f21d"; }

.fa-strikethrough:before {
  content: "\f0cc"; }

.fa-stripe:before {
  content: "\f429"; }

.fa-stripe-s:before {
  content: "\f42a"; }

.fa-stroopwafel:before {
  content: "\f551"; }

.fa-studiovinari:before {
  content: "\f3f8"; }

.fa-stumbleupon:before {
  content: "\f1a4"; }

.fa-stumbleupon-circle:before {
  content: "\f1a3"; }

.fa-subscript:before {
  content: "\f12c"; }

.fa-subway:before {
  content: "\f239"; }

.fa-suitcase:before {
  content: "\f0f2"; }

.fa-suitcase-rolling:before {
  content: "\f5c1"; }

.fa-sun:before {
  content: "\f185"; }

.fa-superpowers:before {
  content: "\f2dd"; }

.fa-superscript:before {
  content: "\f12b"; }

.fa-supple:before {
  content: "\f3f9"; }

.fa-surprise:before {
  content: "\f5c2"; }

.fa-suse:before {
  content: "\f7d6"; }

.fa-swatchbook:before {
  content: "\f5c3"; }

.fa-swift:before {
  content: "\f8e1"; }

.fa-swimmer:before {
  content: "\f5c4"; }

.fa-swimming-pool:before {
  content: "\f5c5"; }

.fa-symfony:before {
  content: "\f83d"; }

.fa-synagogue:before {
  content: "\f69b"; }

.fa-sync:before {
  content: "\f021"; }

.fa-sync-alt:before {
  content: "\f2f1"; }

.fa-syringe:before {
  content: "\f48e"; }

.fa-table:before {
  content: "\f0ce"; }

.fa-table-tennis:before {
  content: "\f45d"; }

.fa-tablet:before {
  content: "\f10a"; }

.fa-tablet-alt:before {
  content: "\f3fa"; }

.fa-tablets:before {
  content: "\f490"; }

.fa-tachometer-alt:before {
  content: "\f3fd"; }

.fa-tag:before {
  content: "\f02b"; }

.fa-tags:before {
  content: "\f02c"; }

.fa-tape:before {
  content: "\f4db"; }

.fa-tasks:before {
  content: "\f0ae"; }

.fa-taxi:before {
  content: "\f1ba"; }

.fa-teamspeak:before {
  content: "\f4f9"; }

.fa-teeth:before {
  content: "\f62e"; }

.fa-teeth-open:before {
  content: "\f62f"; }

.fa-telegram:before {
  content: "\f2c6"; }

.fa-telegram-plane:before {
  content: "\f3fe"; }

.fa-temperature-high:before {
  content: "\f769"; }

.fa-temperature-low:before {
  content: "\f76b"; }

.fa-tencent-weibo:before {
  content: "\f1d5"; }

.fa-tenge:before {
  content: "\f7d7"; }

.fa-terminal:before {
  content: "\f120"; }

.fa-text-height:before {
  content: "\f034"; }

.fa-text-width:before {
  content: "\f035"; }

.fa-th:before {
  content: "\f00a"; }

.fa-th-large:before {
  content: "\f009"; }

.fa-th-list:before {
  content: "\f00b"; }

.fa-the-red-yeti:before {
  content: "\f69d"; }

.fa-theater-masks:before {
  content: "\f630"; }

.fa-themeco:before {
  content: "\f5c6"; }

.fa-themeisle:before {
  content: "\f2b2"; }

.fa-thermometer:before {
  content: "\f491"; }

.fa-thermometer-empty:before {
  content: "\f2cb"; }

.fa-thermometer-full:before {
  content: "\f2c7"; }

.fa-thermometer-half:before {
  content: "\f2c9"; }

.fa-thermometer-quarter:before {
  content: "\f2ca"; }

.fa-thermometer-three-quarters:before {
  content: "\f2c8"; }

.fa-think-peaks:before {
  content: "\f731"; }

.fa-thumbs-down:before {
  content: "\f165"; }

.fa-thumbs-up:before {
  content: "\f164"; }

.fa-thumbtack:before {
  content: "\f08d"; }

.fa-ticket-alt:before {
  content: "\f3ff"; }

.fa-tiktok:before {
  content: "\e07b"; }

.fa-times:before {
  content: "\f00d"; }

.fa-times-circle:before {
  content: "\f057"; }

.fa-tint:before {
  content: "\f043"; }

.fa-tint-slash:before {
  content: "\f5c7"; }

.fa-tired:before {
  content: "\f5c8"; }

.fa-toggle-off:before {
  content: "\f204"; }

.fa-toggle-on:before {
  content: "\f205"; }

.fa-toilet:before {
  content: "\f7d8"; }

.fa-toilet-paper:before {
  content: "\f71e"; }

.fa-toilet-paper-slash:before {
  content: "\e072"; }

.fa-toolbox:before {
  content: "\f552"; }

.fa-tools:before {
  content: "\f7d9"; }

.fa-tooth:before {
  content: "\f5c9"; }

.fa-torah:before {
  content: "\f6a0"; }

.fa-torii-gate:before {
  content: "\f6a1"; }

.fa-tractor:before {
  content: "\f722"; }

.fa-trade-federation:before {
  content: "\f513"; }

.fa-trademark:before {
  content: "\f25c"; }

.fa-traffic-light:before {
  content: "\f637"; }

.fa-trailer:before {
  content: "\e041"; }

.fa-train:before {
  content: "\f238"; }

.fa-tram:before {
  content: "\f7da"; }

.fa-transgender:before {
  content: "\f224"; }

.fa-transgender-alt:before {
  content: "\f225"; }

.fa-trash:before {
  content: "\f1f8"; }

.fa-trash-alt:before {
  content: "\f2ed"; }

.fa-trash-restore:before {
  content: "\f829"; }

.fa-trash-restore-alt:before {
  content: "\f82a"; }

.fa-tree:before {
  content: "\f1bb"; }

.fa-trello:before {
  content: "\f181"; }

.fa-trophy:before {
  content: "\f091"; }

.fa-truck:before {
  content: "\f0d1"; }

.fa-truck-loading:before {
  content: "\f4de"; }

.fa-truck-monster:before {
  content: "\f63b"; }

.fa-truck-moving:before {
  content: "\f4df"; }

.fa-truck-pickup:before {
  content: "\f63c"; }

.fa-tshirt:before {
  content: "\f553"; }

.fa-tty:before {
  content: "\f1e4"; }

.fa-tumblr:before {
  content: "\f173"; }

.fa-tumblr-square:before {
  content: "\f174"; }

.fa-tv:before {
  content: "\f26c"; }

.fa-twitch:before {
  content: "\f1e8"; }

.fa-twitter:before {
  content: "\f099"; }

.fa-twitter-square:before {
  content: "\f081"; }

.fa-typo3:before {
  content: "\f42b"; }

.fa-uber:before {
  content: "\f402"; }

.fa-ubuntu:before {
  content: "\f7df"; }

.fa-uikit:before {
  content: "\f403"; }

.fa-umbraco:before {
  content: "\f8e8"; }

.fa-umbrella:before {
  content: "\f0e9"; }

.fa-umbrella-beach:before {
  content: "\f5ca"; }

.fa-uncharted:before {
  content: "\e084"; }

.fa-underline:before {
  content: "\f0cd"; }

.fa-undo:before {
  content: "\f0e2"; }

.fa-undo-alt:before {
  content: "\f2ea"; }

.fa-uniregistry:before {
  content: "\f404"; }

.fa-unity:before {
  content: "\e049"; }

.fa-universal-access:before {
  content: "\f29a"; }

.fa-university:before {
  content: "\f19c"; }

.fa-unlink:before {
  content: "\f127"; }

.fa-unlock:before {
  content: "\f09c"; }

.fa-unlock-alt:before {
  content: "\f13e"; }

.fa-unsplash:before {
  content: "\e07c"; }

.fa-untappd:before {
  content: "\f405"; }

.fa-upload:before {
  content: "\f093"; }

.fa-ups:before {
  content: "\f7e0"; }

.fa-usb:before {
  content: "\f287"; }

.fa-user:before {
  content: "\f007"; }

.fa-user-alt:before {
  content: "\f406"; }

.fa-user-alt-slash:before {
  content: "\f4fa"; }

.fa-user-astronaut:before {
  content: "\f4fb"; }

.fa-user-check:before {
  content: "\f4fc"; }

.fa-user-circle:before {
  content: "\f2bd"; }

.fa-user-clock:before {
  content: "\f4fd"; }

.fa-user-cog:before {
  content: "\f4fe"; }

.fa-user-edit:before {
  content: "\f4ff"; }

.fa-user-friends:before {
  content: "\f500"; }

.fa-user-graduate:before {
  content: "\f501"; }

.fa-user-injured:before {
  content: "\f728"; }

.fa-user-lock:before {
  content: "\f502"; }

.fa-user-md:before {
  content: "\f0f0"; }

.fa-user-minus:before {
  content: "\f503"; }

.fa-user-ninja:before {
  content: "\f504"; }

.fa-user-nurse:before {
  content: "\f82f"; }

.fa-user-plus:before {
  content: "\f234"; }

.fa-user-secret:before {
  content: "\f21b"; }

.fa-user-shield:before {
  content: "\f505"; }

.fa-user-slash:before {
  content: "\f506"; }

.fa-user-tag:before {
  content: "\f507"; }

.fa-user-tie:before {
  content: "\f508"; }

.fa-user-times:before {
  content: "\f235"; }

.fa-users:before {
  content: "\f0c0"; }

.fa-users-cog:before {
  content: "\f509"; }

.fa-users-slash:before {
  content: "\e073"; }

.fa-usps:before {
  content: "\f7e1"; }

.fa-ussunnah:before {
  content: "\f407"; }

.fa-utensil-spoon:before {
  content: "\f2e5"; }

.fa-utensils:before {
  content: "\f2e7"; }

.fa-vaadin:before {
  content: "\f408"; }

.fa-vector-square:before {
  content: "\f5cb"; }

.fa-venus:before {
  content: "\f221"; }

.fa-venus-double:before {
  content: "\f226"; }

.fa-venus-mars:before {
  content: "\f228"; }

.fa-vest:before {
  content: "\e085"; }

.fa-vest-patches:before {
  content: "\e086"; }

.fa-viacoin:before {
  content: "\f237"; }

.fa-viadeo:before {
  content: "\f2a9"; }

.fa-viadeo-square:before {
  content: "\f2aa"; }

.fa-vial:before {
  content: "\f492"; }

.fa-vials:before {
  content: "\f493"; }

.fa-viber:before {
  content: "\f409"; }

.fa-video:before {
  content: "\f03d"; }

.fa-video-slash:before {
  content: "\f4e2"; }

.fa-vihara:before {
  content: "\f6a7"; }

.fa-vimeo:before {
  content: "\f40a"; }

.fa-vimeo-square:before {
  content: "\f194"; }

.fa-vimeo-v:before {
  content: "\f27d"; }

.fa-vine:before {
  content: "\f1ca"; }

.fa-virus:before {
  content: "\e074"; }

.fa-virus-slash:before {
  content: "\e075"; }

.fa-viruses:before {
  content: "\e076"; }

.fa-vk:before {
  content: "\f189"; }

.fa-vnv:before {
  content: "\f40b"; }

.fa-voicemail:before {
  content: "\f897"; }

.fa-volleyball-ball:before {
  content: "\f45f"; }

.fa-volume-down:before {
  content: "\f027"; }

.fa-volume-mute:before {
  content: "\f6a9"; }

.fa-volume-off:before {
  content: "\f026"; }

.fa-volume-up:before {
  content: "\f028"; }

.fa-vote-yea:before {
  content: "\f772"; }

.fa-vr-cardboard:before {
  content: "\f729"; }

.fa-vuejs:before {
  content: "\f41f"; }

.fa-walking:before {
  content: "\f554"; }

.fa-wallet:before {
  content: "\f555"; }

.fa-warehouse:before {
  content: "\f494"; }

.fa-watchman-monitoring:before {
  content: "\e087"; }

.fa-water:before {
  content: "\f773"; }

.fa-wave-square:before {
  content: "\f83e"; }

.fa-waze:before {
  content: "\f83f"; }

.fa-weebly:before {
  content: "\f5cc"; }

.fa-weibo:before {
  content: "\f18a"; }

.fa-weight:before {
  content: "\f496"; }

.fa-weight-hanging:before {
  content: "\f5cd"; }

.fa-weixin:before {
  content: "\f1d7"; }

.fa-whatsapp:before {
  content: "\f232"; }

.fa-whatsapp-square:before {
  content: "\f40c"; }

.fa-wheelchair:before {
  content: "\f193"; }

.fa-whmcs:before {
  content: "\f40d"; }

.fa-wifi:before {
  content: "\f1eb"; }

.fa-wikipedia-w:before {
  content: "\f266"; }

.fa-wind:before {
  content: "\f72e"; }

.fa-window-close:before {
  content: "\f410"; }

.fa-window-maximize:before {
  content: "\f2d0"; }

.fa-window-minimize:before {
  content: "\f2d1"; }

.fa-window-restore:before {
  content: "\f2d2"; }

.fa-windows:before {
  content: "\f17a"; }

.fa-wine-bottle:before {
  content: "\f72f"; }

.fa-wine-glass:before {
  content: "\f4e3"; }

.fa-wine-glass-alt:before {
  content: "\f5ce"; }

.fa-wix:before {
  content: "\f5cf"; }

.fa-wizards-of-the-coast:before {
  content: "\f730"; }

.fa-wodu:before {
  content: "\e088"; }

.fa-wolf-pack-battalion:before {
  content: "\f514"; }

.fa-won-sign:before {
  content: "\f159"; }

.fa-wordpress:before {
  content: "\f19a"; }

.fa-wordpress-simple:before {
  content: "\f411"; }

.fa-wpbeginner:before {
  content: "\f297"; }

.fa-wpexplorer:before {
  content: "\f2de"; }

.fa-wpforms:before {
  content: "\f298"; }

.fa-wpressr:before {
  content: "\f3e4"; }

.fa-wrench:before {
  content: "\f0ad"; }

.fa-x-ray:before {
  content: "\f497"; }

.fa-xbox:before {
  content: "\f412"; }

.fa-xing:before {
  content: "\f168"; }

.fa-xing-square:before {
  content: "\f169"; }

.fa-y-combinator:before {
  content: "\f23b"; }

.fa-yahoo:before {
  content: "\f19e"; }

.fa-yammer:before {
  content: "\f840"; }

.fa-yandex:before {
  content: "\f413"; }

.fa-yandex-international:before {
  content: "\f414"; }

.fa-yarn:before {
  content: "\f7e3"; }

.fa-yelp:before {
  content: "\f1e9"; }

.fa-yen-sign:before {
  content: "\f157"; }

.fa-yin-yang:before {
  content: "\f6ad"; }

.fa-yoast:before {
  content: "\f2b1"; }

.fa-youtube:before {
  content: "\f167"; }

.fa-youtube-square:before {
  content: "\f431"; }

.fa-zhihu:before {
  content: "\f63f"; }

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }
@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.eot");
  src: url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.woff2") format("woff2"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.woff") format("woff"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.ttf") format("truetype"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.svg#fontawesome") format("svg"); }

.fab {
  font-family: 'Font Awesome 5 Brands';
  font-weight: 400; }
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.eot");
  src: url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.woff2") format("woff2"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.woff") format("woff"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.ttf") format("truetype"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.svg#fontawesome") format("svg"); }

.far {
  font-family: 'Font Awesome 5 Free';
  font-weight: 400; }
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.eot");
  src: url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.woff2") format("woff2"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.woff") format("woff"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.ttf") format("truetype"), url("https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.svg#fontawesome") format("svg"); }

.fa,
.fas {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900; }
assets/css/editor-style.css000064400000000000152425655550012000 0ustar00assets/css/style.min.css000064400001117752152425655550011326 0ustar00@charset "UTF-8";:root {--bloglo-black: #000000;--bloglo-white: #ffffff;--bloglo-gray: #c2c2c2;--bloglo-gray-light: #f3f3f3;--bloglo-primary: #0554f2;--bloglo-secondary: #232323;--bloglo-secondary_38: #383838;--bloglo-gradient: linear-gradient(220deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));--bloglo-full-radius: 10rem;--bloglo-normal-radius: 0.3rem;--bloglo-font-awesome: "Font Awesome 5 Free";--bloglo-font-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--bloglo-transition-primary: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);}.page-links em, .post_format-post-format-quote .bloglo-blog-entry-content .quote-inner .author, .bloglo-btn.btn-uppercase, .site-content .page-links em, .widget.widget_calendar table>caption {text-transform: uppercase;letter-spacing: 0.16rem;}.clearfix:after, .clearfix:before, .entry-meta:after, .entry-meta:before, .navigation:after, .navigation:before, .page-links:after, .page-links:before, .bloglo-entry:after, .bloglo-entry:before, .bloglo-hover-slider:after, .bloglo-hover-slider:before, .single .post-tags .cat-links:after, .single .post-tags .cat-links:before, .single .post-tags:after, .single .post-tags:before, .site-content .page-links:after, .site-content .page-links:before, .tagcloud:after, .tagcloud:before, .wp-block-tag-cloud:after, .wp-block-tag-cloud:before, .widget:after, .widget:before {content: "";display: table;clear: both;}.bloglo-header-widgets .bloglo-search-simple {position: absolute;right: -1.5rem;top: 100%;z-index: 9;border-top-width: 0.2rem;border-top-style: solid;}.bloglo-header-widgets .bloglo-search-simple:after {bottom: 100%;right: 1.6rem;content: "";width: 0;height: 0;margin-left: -0.7rem;border: 0.7rem solid transparent;position: absolute;pointer-events: none;z-index: -1;}#bloglo-copyright .bloglo-copyright-widget__text a, #bloglo-topbar .bloglo-topbar-widget__text a, .bloglo-breadcrumbs a, .bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a>span, .bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a>span, .widget.widget_icon_list ul li a, .widget.widget_meta ul li a {display: inline-block;position: relative;transform-style: preserve-3d;-webkit-transform-style: preserve-3d;}#bloglo-copyright .bloglo-copyright-widget__text a:before, #bloglo-topbar .bloglo-topbar-widget__text a:before, .bloglo-breadcrumbs a:before, .bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a>span:before, .bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a>span:before, .widget.widget_icon_list ul li a:before, .widget.widget_meta ul li a:before {content: "";display: block;position: absolute;bottom: 0;left: 0;width: 100%;height: 0.2rem;background: currentColor;-webkit-transform-origin: right center;-ms-transform-origin: right center;transform-origin: right center;-webkit-transform: scale(0, 1) translateZ(0.1rem);transform: scale(0, 1) translateZ(0.1rem);backface-visibility: hidden;-webkit-backface-visibility: hidden;transform-style: preserve-3d;-webkit-transform-style: preserve-3d;-webkit-transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);will-change: scale;}.using-keyboard #bloglo-copyright .bloglo-copyright-widget__text a:focus:before, .using-keyboard #bloglo-topbar .bloglo-topbar-widget__text a:focus:before, .using-keyboard .bloglo-breadcrumbs a:focus:before, .using-keyboard.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a:focus>span:before, .using-keyboard.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a:focus>span:before, .using-keyboard .widget.widget_icon_list ul li a:focus:before, .using-keyboard .widget.widget_meta ul li a:focus:before, #bloglo-copyright .bloglo-copyright-widget__text a:hover:before, #bloglo-topbar .bloglo-topbar-widget__text a:hover:before, .bloglo-breadcrumbs a:hover:before, .bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a>span:hover:before, .bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a>span:hover:before, .widget.widget_icon_list ul li a:hover:before, .widget.widget_meta ul li a:hover:before {-webkit-transform-origin: left center;-ms-transform-origin: left center;transform-origin: left center;-webkit-transform: scale(1, 1) translateZ(0.1rem);transform: scale(1, 1) translateZ(0.1rem);}#colophon:after, #bloglo-preloader, #bloglo-scroll-top .bloglo-icon, #bloglo-scroll-top .bloglo-scroll-icon, #bloglo-scroll-top:before, #bloglo-header-inner:after, .entry-media>a .entry-media-icon .entry-media-icon-wrapper, .entry-media>a .entry-media-icon .bloglo-icon, .entry-media>a .entry-media-icon:before, .entry-media>a .entry-media-icon svg, .page-header.bloglo-page-title-has-bg-img:after, .page-header:after, .post_format-post-format-quote .bloglo-blog-entry-content .entry-content .quote-link, .post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg, .post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg:after, .preloader-1, .bloglo-hover-slider .hover-slide-bg, .bloglo-hover-slider .hover-slider-backgrounds, .bloglo-hover-slider.slider-overlay-1 .hover-slider-backgrounds:after, .bloglo-pre-footer-cta-style-2 #bloglo-pre-footer:after, .bloglo-pre-footer-cta-style-2 #bloglo-pre-footer:before, .bloglo-spinner>div, .bloglo-tsp-header.bloglo-single-title-in-page-header #masthead:before {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}#comments .comment-body, #comments .comment_container, .author-box, .bloglo-layout__boxed #page, .bloglo-layout__boxed-separated #content, .bloglo-layout__boxed-separated.author .author-box, .bloglo-layout__boxed-separated.archive .bloglo-article, .bloglo-layout__boxed-separated.blog .bloglo-article, .bloglo-layout__boxed-separated.category .bloglo-article, .bloglo-layout__boxed-separated.search-results .bloglo-article, .bloglo-layout__boxed-separated .pyml-slider-items, .bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget {border-radius: 0;border: 0.1rem solid rgba(190, 190, 190, 0.3);}#comments .bypostauthor-badge, #infinite-handle span.disabled, #infinite-handle span:disabled, .error-404 .page-header h1, .bloglo-btn.disabled, .bloglo-btn:disabled, .site-main .woocommerce #respond input#submit.disabled, .site-main .woocommerce #respond input#submit:disabled, .site-main .woocommerce a.button.disabled, .site-main .woocommerce a.button:disabled, .site-main .woocommerce button.button.disabled, .site-main .woocommerce button.button:disabled, .site-main .woocommerce input.button.disabled, .site-main .woocommerce input.button:disabled, .woocommerce #review_form #respond .form-submit input.disabled, .woocommerce #review_form #respond .form-submit input:disabled, .woocommerce div.product form.cart .button.disabled, .woocommerce div.product form.cart .button:disabled, .woocommerce ul.products li.product .added_to_cart.disabled, .woocommerce ul.products li.product .added_to_cart:disabled, .woocommerce ul.products li.product .button.disabled, .woocommerce ul.products li.product .button:disabled, body:not(.wp-customizer) input.disabled[type="submit"], body:not(.wp-customizer) input[type="submit"]:disabled {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}#comments .comments-title-wrapper .comments-title, #comments .comments-title-wrapper p, #main .entry-header .entry-title, #respond .comment-reply-title, #bloglo-pre-footer .h1, #bloglo-pre-footer .h2, #bloglo-pre-footer .h3, .error-404 .page-header, .error-404 .page-header h1, .error-404 .page-header p, .navigation, .navigation .nav-links .page-numbers, .page-links span, .post_format-post-format-quote .bloglo-blog-entry-content .entry-content h3, .bloglo-breadcrumbs p, .bloglo-form-label, .bloglo-hover-slider .slide-inner h3, .bloglo-nav>ul, .bloglo-social-nav>ul, .site-content .page-links span, .widget-title, button.bloglo-animate-arrow, dl, figure, ol, ul {margin: 0;padding: 0;}#comments .bypostauthor-badge, #comments .comment-actions, #comments .comment-header, #main>.bloglo-container, #page .gallery, #respond .comment-reply-title, #bloglo-scroll-top, #bloglo-scroll-top .bloglo-icon, #bloglo-copyright>.bloglo-container>.bloglo-flex-row>div, #bloglo-header-inner .bloglo-widget-wrapper, #bloglo-header-inner>.bloglo-container, #bloglo-topbar .bloglo-topbar-left, #bloglo-topbar .bloglo-topbar-right, #bloglo-topbar>.bloglo-container>.bloglo-flex-row>div, .author-box, .comment-form, .entry-media>a .entry-media-icon, .entry-media>a .entry-media-icon .bloglo-icon, .entry-media>a .entry-media-icon svg, .entry-meta .entry-meta-elements, .error404 #primary, .mejs-container .mejs-inner .mejs-controls .mejs-button, .mejs-container .mejs-inner .mejs-controls .mejs-time, .page-header .bloglo-page-header-wrapper, .page-header>.bloglo-container, .preloader-1, .bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper, .bloglo-header-element, .bloglo-header-widgets, .bloglo-header-widgets .bloglo-cart, .bloglo-header-widgets .bloglo-header-widget, .bloglo-header-widgets .bloglo-search, .bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button, .bloglo-hover-slider .hover-slide-item, .bloglo-input-supported .comment-form-cookies-consent, .bloglo-has-comments-toggle #bloglo-comments-toggle, .bloglo-header-layout-3 .bloglo-logo-container .bloglo-logo>.logo-inner, .bloglo-header-layout-3 .bloglo-logo-container>.bloglo-container, .bloglo-header-layout-3 .bloglo-nav-container>.bloglo-container, .bloglo-logo a, .single .entry-footer, .single .post-nav, .single .post-nav .nav-content {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}#comments .comment-list, #comments .comment-list ol, #comments .comment-list ul, #bloglo-copyright .bloglo-copyright-widget:not(.bloglo-copyright-widget__nav) ul, #bloglo-topbar .bloglo-topbar-widget__text ul, .bloglo-breadcrumbs ol, .bloglo-breadcrumbs ul, .bloglo-nav .children li, .bloglo-nav .sub-menu li, .bloglo-nav>ul, .bloglo-social-nav>ul {padding: 0;margin: 0;list-style: none;}#infinite-handle span, #main .entry-header .entry-title a, #bloglo-scroll-top, #bloglo-copyright .bloglo-copyright-widget:not(.bloglo-copyright-widget__text) a, #bloglo-topbar .bloglo-topbar-widget:not(.bloglo-topbar-widget__text) a, .entry-meta a, .navigation .nav-links .page-numbers, .page-links a, .post_format-post-format-quote .bloglo-blog-entry-content .entry-content a, .bloglo-breadcrumbs a, .bloglo-btn, .bloglo-header-widgets a:not(.bloglo-btn), .bloglo-hover-slider .slide-inner .read-more, .bloglo-hover-slider .slide-inner h3 a, .bloglo-logo a, .bloglo-nav .children li a, .bloglo-nav .sub-menu li a, .bloglo-nav>ul>li>a, .bloglo-social-nav>ul>li>a, .single .post-tags a, .site-content .page-links a, .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .tagcloud a, .wp-block-tag-cloud a, .woocommerce #review_form #respond .form-submit input, .woocommerce div.product form.cart .button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, a, body:not(.wp-customizer) input[type="submit"] {text-decoration: none;}#add_payment_method table.cart td.actions .coupon .input-text, #comments a, #infinite-handle span, #bloglo-topbar a, .page-links span, .post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg, .post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg:after, .bloglo-btn, .bloglo-input-supported input[type="checkbox"], .bloglo-input-supported input[type="checkbox"]:before, .bloglo-input-supported input[type="radio"], .bloglo-input-supported input[type="radio"]:before, .bloglo-nav .children li a, .bloglo-nav .sub-menu li a, .single .post-tags a, .site-content .page-links span, .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .tagcloud a, .wp-block-tag-cloud a, .widget .wp-block-archives li>span, .widget .wp-block-categories li>span, .widget.widget_archive li>span, .widget.widget_categories li>span, .woocommerce #review_form #respond .form-submit input, .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce-checkout table.cart td.actions .coupon .input-text, .woocommerce div.product form.cart .button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, body:not(.wp-customizer) input[type="submit"], input[type="reset"], input[type="date"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], textarea, a {-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);}#add_payment_method table.cart td.actions .coupon .input-text, #colophon .search-form .search-submit, #infinite-handle span, #main .search-form .search-submit, .bloglo-btn, .bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button, .bloglo-header-widgets .bloglo-search-simple .bloglo-search-form input, .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce #review_form #respond .form-submit input, .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce-checkout table.cart td.actions .coupon .input-text, .woocommerce div.product form.cart .button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, body:not(.wp-customizer) input[type="submit"], input[type="reset"], input[type="date"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], textarea {outline: none;border: none;margin: 0;padding: 0;text-shadow: none;-webkit-box-shadow: none;box-shadow: none;}.bloglo-icon {display: inline-block;fill: currentColor;width: auto;}.breadcrumb-trail .trail-items li:after, .widget.widget_icon_list ul li:before, .widget.widget_meta ul li:before, .widget.widget_recent_entries .post-date:before {-webkit-mask-size: contain;mask-size: contain;-webkit-mask-repeat: no-repeat;mask-repeat: no-repeat;background-color: currentColor;width: 1.6rem;height: 1.6rem;}@media screen and (max-width: 480px) {}@media screen and (min-width: 481px) and (max-width: 768px) {}@media screen and (max-width: 768px) {}@media screen and (min-width: 769px) {}@media screen and (min-width: 1281px) {}td, th {text-align: left;}html {overflow-x: hidden;line-height: 1.15;-webkit-text-size-adjust: 100%;}body {margin: 0;background-color: #f2f2f2;}h1 {font-size: 3.2rem;margin: 1.1rem 0;}hr {-webkit-box-sizing: content-box;box-sizing: content-box;height: 0;overflow: visible;}pre {font-family: monospace, monospace;font-size: 1.6rem;}a {background-color: transparent;}abbr[title] {border-bottom: none;text-decoration: underline;-webkit-text-decoration: underline dotted;text-decoration: underline dotted;}b, strong {font-weight: 600;}code, kbd, samp {font-family: monospace, monospace;font-size: 1.6rem;}small {font-size: 80%;}sub, sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}sub {bottom: -0.4rem;}sup {top: -0.8rem;}img {border-style: none;}button, input, optgroup, select, textarea {font-family: inherit;font-size: 100%;line-height: 1.15;margin: 0;}button, input {overflow: visible;}button, select {text-transform: none;}[type="button"], [type="reset"], [type="submit"], button {-webkit-appearance: button;}[type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner, button::-moz-focus-inner {border-style: none;padding: 0;}[type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring, button:-moz-focusring {outline: 0.1rem dotted ButtonText;}fieldset {padding: 0.56rem 1.2rem 1rem;}legend {-webkit-box-sizing: border-box;box-sizing: border-box;color: inherit;display: table;max-width: 100%;padding: 0;white-space: normal;}textarea {overflow: auto;}[type="checkbox"], [type="radio"] {-webkit-box-sizing: border-box;box-sizing: border-box;padding: 0;}[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {height: auto;}[type="search"] {-webkit-appearance: textfield;outline-offset: -0.2rem;}[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}::-webkit-file-upload-button {-webkit-appearance: button;font: inherit;}details {display: block;}summary {display: list-item;}template {display: none;}[hidden] {display: none;}html {-webkit-box-sizing: border-box;box-sizing: border-box;overflow-y: scroll;max-width: 100%;}*, *::before, *::after {box-sizing: inherit;-webkit-box-sizing: inherit;-webkit-font-smoothing: antialiased;word-break: break-word;word-wrap: break-word;}a, area, button, input, label, select, summary, textarea {-ms-touch-action: manipulation;touch-action: manipulation;}.using-keyboard a:not(.bloglo-btn, .elementor-button, .button):focus {outline: 0;text-underline-offset: 0.3rem;text-decoration-skip-ink: none;text-decoration: underline 0.1rem dotted currentColor;}.using-keyboard :focus, .using-keyboard .bloglo-logo a:focus, .bloglo-is-mobile #bloglo-header-inner .bloglo-nav>ul>li>a:focus {outline: thin dotted;outline-offset: -0.3rem;}.using-keyboard .bloglo-btn:not(.btn-white):focus {outline-color: var(--bloglo-gray);}.using-keyboard .bloglo-btn.btn-white:focus {outline-color: var(--bloglo-secondary);}.using-keyboard #bloglo-copyright .bloglo-copyright-widget__text a:focus, .using-keyboard #bloglo-topbar .bloglo-topbar-widget__text a:focus, .using-keyboard .bloglo-breadcrumbs a:focus, .using-keyboard.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a:focus, .using-keyboard.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a:focus, .using-keyboard .widget.widget_icon_list ul li a:focus, .using-keyboard .widget.widget_meta ul li a:focus {text-decoration: none;}.bloglo-entry .elementor p, .elementor p, .elementor h1, .elementor h2, .elementor h3, .elementor h4, .elementor h5, .elementor h6 {margin: 0;}.sup-sub b {position: relative;z-index: 0;}.sup-sub b:before {content: "";display: block;width: 100%;height: 2.1rem;position: absolute;bottom: 0px;left: 1.2rem;background-color: rgba(255, 255, 255, 0.25);z-index: 0;}p {margin-top: 1.6rem;margin-bottom: 1.6rem;}q {font-style: italic;}mark, span.highlight {color: inherit;position: relative;padding: 0 0.3rem 0.2rem 0.3rem;border-radius: var(--bloglo-normal-radius);}svg:not(:root) {overflow: hidden;}p:empty {display: none;}p a, .content-area a:not(.bloglo-btn, .wp-block-button__link, .page-numbers, [rel^=category]):hover, .content-area .bloglo-entry a, .wp-block-archives a:hover, .wp-block-categories a:hover, .wp-block-latest-posts a:hover, .wp-block-latest-comments a:hover, .wp-block-archives a:focus, .wp-block-categories a:focus, .wp-block-latest-posts a:focus, .wp-block-latest-comments a:focus, #main .content-area .entry-meta a:hover {text-decoration: underline;text-underline-offset: 0.1rem;}.content-area .bloglo-entry a:hover, .content-area .bloglo-entry a:focus, p a:hover:hover, p a:focus:focus {text-decoration: none;}a {color: inherit;-webkit-text-decoration-skip: objects;}hr {margin-top: 3.2rem;margin-bottom: 3.2rem;border: 0;border-top: 0.1rem solid rgba(0, 0, 0, 0.2);}table:not(.variations):not(.shop_table) {border-collapse: collapse;width: 100%;margin: 2rem auto;border-radius: 0;background-color: rgba(190, 190, 190, 0.2);}table:not(.variations):not(.shop_table) tbody, table:not(.variations):not(.shop_table) tfoot, table:not(.variations):not(.shop_table) thead {border: 0.1rem solid rgba(190, 190, 190, 0.3);color: inherit;}table:not(.variations):not(.shop_table) caption, table:not(.variations):not(.shop_table) td, table:not(.variations):not(.shop_table) tr {text-align: left;}table:not(.variations):not(.shop_table) th {font-weight: 600;}table:not(.variations):not(.shop_table) td, table:not(.variations):not(.shop_table) th {padding: 1rem;}table:not(.variations):not(.shop_table) tbody tr:nth-child(odd) {border-bottom: 0;background-color: var(--bloglo-white);}table:not(.variations):not(.shop_table) thead tr, table:not(.variations):not(.shop_table) tfoot tr {background: transparent;}table:not(.variations):not(.shop_table) tfoot td, table:not(.variations):not(.shop_table) tfoot th, table:not(.variations):not(.shop_table) thead td, table:not(.variations):not(.shop_table) thead th {font-weight: 500;text-align: left;}table:not(.variations):not(.shop_table) caption {font-weight: 500;}.wp-block-calendar tbody td, .wp-block-calendar th {border-color: rgba(190, 190, 190, 0.3);}.wp-block-calendar table th {background: rgba(190, 190, 190, 0.3);}dt:before {content: "";display: block;}dd:before {content: " ";}.bloglo-logo .site-title {line-height: 1.25;}.h1, .h2, .h3, h1, h2, h3 {margin-top: 2rem;margin-bottom: 1.2rem;}.h4, h4, h5, h6 {margin-top: 2.4rem;margin-bottom: 0.8rem;}.error-404 .page-header h1, .h1, .h2, .h3, .h4, .bloglo-logo .site-title, h1, h2, h3, h4, h5, h6 {text-rendering: optimizeLegibility;}figure {max-width: 100%;}code, kbd, pre, samp, tt, var {font-family: Menlo, Monaco, Consolas, Courier New, monospace;}code, kbd, samp, tt, var {font-style: normal;padding: 0.16rem 0.48rem;font-size: 90%;border-radius: var(--bloglo-normal-radius);overflow-wrap: break-word;word-wrap: break-word;}code.block {margin: 2rem 0;display: block;padding: 2.5rem 4rem;border-radius: var(--bloglo-normal-radius);}.wp-block-code code {background: none;}pre {display: block;page-break-inside: avoid;overflow: auto;word-break: break-all;word-wrap: break-word;}pre>h2:first-child {margin-top: 0;}progress {display: inline-block;vertical-align: baseline;}cite:before {content: "—";display: inline-block;margin-right: 0.6rem;}.bloglo-entry .wp-block-quote, blockquote {margin: 2rem 0;padding: 0.8rem 2.4rem;border-style: none;border-left-style: solid;border-width: 0.4rem;font-size: 1.6rem;line-height: inherit;position: relative;border-radius: var(--bloglo-normal-radius);background-color: rgba(0, 0, 0, 0.04);}.bloglo-entry .wp-block-quote>p, blockquote>p {font-size: inherit;line-height: inherit;font-style: normal;}.bloglo-entry .wp-block-quote>p:first-child, blockquote>p:first-child {margin-top: 0;margin-bottom: 1.6rem;}.bloglo-entry .wp-block-quote>p:last-child, blockquote>p:last-child {margin-bottom: 0;}.bloglo-entry .wp-block-quote.has-text-align-center, blockquote.has-text-align-center {border: none;}.bloglo-entry .wp-block-quote.has-text-align-right, blockquote.has-text-align-right {border-left-style: none;border-right-style: solid;}.bloglo-entry .wp-block-quote cite, blockquote cite {display: block;margin-top: 1.6rem;text-align: inherit;font-size: 1.4rem;}.bloglo-entry .wp-block-quote.is-large, .bloglo-entry .wp-block-quote.is-style-large {font-size: 1.8rem;line-height: 1.5;position: relative;background-color: rgba(35, 35, 35, 0.04);padding: 3rem 4rem;}.bloglo-entry .wp-block-quote.is-large cite, .bloglo-entry .wp-block-quote.is-style-large cite {font-size: 1.333rem;}.bloglo-entry .wp-block-quote.is-large:before, .bloglo-entry .wp-block-quote.is-style-large:before {content: "";position: absolute;width: 3.2rem;height: 3.2rem;top: 1.2rem;left: 2rem;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 123.961 123.961'%3E%3Cpath d='M49.8,29.032c3.1-1.3,4.4-5,3-8l-4.9-10.3c-1.4-2.899-4.8-4.2-7.8-2.899c-8.5,3.6-15.8,8.3-21.6,14 C11.4,28.532,6.6,36.232,4,44.732c-2.6,8.601-4,20.3-4,35.2v30.7c0,3.3,2.7,6,6,6h39.3c3.3,0,6-2.7,6-6v-39.3c0-3.301-2.7-6-6-6 H26.5c0.2-10.101,2.6-18.2,7-24.301C37.1,36.133,42.5,32.133,49.8,29.032z'/%3E%3Cpath d='M120.4,29.032c3.1-1.3,4.399-5,3-8l-4.9-10.199c-1.4-2.9-4.8-4.2-7.8-2.9c-8.4,3.6-15.601,8.3-21.5,13.9 c-7.101,6.8-12,14.5-14.601,23c-2.6,8.399-3.899,20.1-3.899,35.1v30.7c0,3.3,2.7,6,6,6H116c3.3,0,6-2.7,6-6v-39.3 c0-3.301-2.7-6-6-6H97.1c0.2-10.101,2.601-18.2,7-24.301C107.7,36.133,113.1,32.133,120.4,29.032z'/%3E%3C/svg%3E%0A");background-repeat: no-repeat;background-size: 3.2rem;pointer-events: none;opacity: 0.1;}.bloglo-entry p.has-background {padding: 3rem 3.5rem;border-radius: var(--bloglo-normal-radius);}.wp-block-quote[style*="text-align:center"], .wp-block-quote[style*="text-align: center"] {border: 0 !important;padding-left: 3rem;padding-right: 3rem;}.wp-block-quote[style*="text-align:center"] cite, .wp-block-quote[style*="text-align: center"] cite {text-align: center;}.bloglo-entry .wp-block-quote[style*='text-align:right'], .bloglo-entry .wp-block-quote[style*='text-align: right'] {border-left: none;border-right-style: solid;padding: 0.6rem 4rem 0.6rem 0;}.bloglo-entry .wp-block-quote[style*='text-align:right'] cite, .bloglo-entry .wp-block-quote[style*='text-align: right'] cite {text-align: right;}.bloglo-entry .wp-block-pullquote.is-style-solid-color {border-radius: var(--bloglo-normal-radius);}.bloglo-entry .wp-block-pullquote blockquote {padding: 0;border: 0;margin-top: 0 !important;margin-bottom: 0 !important;}.bloglo-entry .wp-block-pullquote blockquote p {font-size: 2.4rem;line-height: 1.4;}.bloglo-entry .wp-block-pullquote cite {margin-top: 3.2rem;color: inherit !important;opacity: 0.75;}.has-drop-cap:not(:focus)::after {padding-top: 0;}[type="checkbox"], [type="radio"] {margin-right: 1rem;}#page .aligncenter, #page .alignleft, #page .alignright, #page .bypostauthor, #page .sticky, #page .gallery-caption, #page .wp-caption {color: inherit;}#page .alignright {float: right;margin: 0.6rem 0 1.6rem 3.2rem;}#page .alignleft {float: left;margin: 0.6rem 3.2rem 1.6rem 0;}#page .aligncenter img, #page .alignleft img, #page .alignright img {max-width: 100%;}#page img.center {margin: 0 auto;display: block;}#page img.full {width: 100%;}#page .aligncenter {clear: both;margin-left: auto;margin-right: auto;}body:not(.elementor-page) #page .wp-caption {max-width: 100% !important;}body:not(.elementor-page) #page .wp-caption .wp-caption-text {display: block;margin: 0.6rem 0 0 0;font-size: 1.4rem;text-align: center;}#page .gallery {-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;float: none;clear: both;}.bloglo-iflex-center {-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.bloglo-flex-center {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.bloglo-flex-justify-start {-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;}.bloglo-flex-justify-center {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.bloglo-flex-justify-end {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}.bloglo-text-align-left {text-align: left;}.bloglo-text-align-center {text-align: center;}.bloglo-text-align-right {text-align: right;}.gallery figure {-webkit-box-flex: 1;-ms-flex: 1;flex: 1;width: 100%;max-width: 100%;margin: 0 !important;}.gallery figure img {display: block;border-radius: var(--bloglo-normal-radius);}.gallery.gallery-columns-1 figure {max-width: 100%;-ms-flex-preferred-size: 100%;flex-basis: 100%;}.gallery.gallery-columns-2 figure {max-width: 50%;-ms-flex-preferred-size: 50%;flex-basis: 50%;}.gallery.gallery-columns-3 figure {max-width: 33.33%;-ms-flex-preferred-size: 33.33%;flex-basis: 33.33%;}.gallery.gallery-columns-4 figure {max-width: 25%;-ms-flex-preferred-size: 25%;flex-basis: 25%;}.gallery.gallery-columns-5 figure {max-width: 20%;-ms-flex-preferred-size: 20%;flex-basis: 20%;}.gallery.gallery-columns-6 figure {max-width: 16.66%;-ms-flex-preferred-size: 16.66%;flex-basis: 16.66%;}.gallery.gallery-columns-7 figure {max-width: 14.285%;-ms-flex-preferred-size: 14.285%;flex-basis: 14.285%;}.gallery.gallery-columns-8 figure {max-width: 12.5%;-ms-flex-preferred-size: 12.5%;flex-basis: 12.5%;}.gallery.gallery-columns-9 figure {max-width: 11.11%;-ms-flex-preferred-size: 11.11%;flex-basis: 11.11%;}img {vertical-align: middle;max-width: 100%;height: auto;}textarea {resize: vertical;}.bloglo-hide {display: none !important;}.screen-reader-text {border: 0;clip: rect(0.1rem, 0.1rem, 0.1rem, 0.1rem);-webkit-clip-path: inset(50%);clip-path: inset(50%);height: 0.1rem;margin: -0.1rem;overflow: hidden;padding: 0;position: absolute !important;width: 0.1rem;word-wrap: normal !important;word-break: normal;}.screen-reader-text:focus {background-color: #f1f1f1;border-radius: var(--bloglo-normal-radius);-webkit-box-shadow: 0 0 0.2rem 0.2rem rgba(0, 0, 0, 0.6);box-shadow: 0 0 0.2rem 0.2rem rgba(0, 0, 0, 0.6);clip: auto !important;-webkit-clip-path: none;clip-path: none;color: #21759b;display: block;font-size: 1.4rem;font-size: 0.875rem;font-weight: 700;height: auto;right: 0.5rem;line-height: normal;padding: 1.5rem 2.3rem 1.4rem;text-decoration: none;top: 0.5rem;width: auto;z-index: 100000;}.skip-link {top: 4rem;z-index: 999999999;text-decoration: underline;}.skip-link:focus {display: block;left: 0.6rem;top: 0.7rem;font-size: 1.4rem;font-weight: 600;text-decoration: none;line-height: normal;padding: 1.5rem 2.3rem 1.4rem;z-index: 100000;right: auto;}.wp-smiley {margin-bottom: 0 !important;}.has-text-align-left {text-align: left !important;}.has-text-align-center {text-align: center !important;}.has-text-align-right {text-align: right !important;}#page {position: relative;-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;min-height: 100vh;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}.admin-bar #page {min-height: calc(100vh - 32px);}.alignfull.bloglo-contained.has-background {padding-left: 0;padding-right: 0;}.alignfull.bloglo-wrap-content>div, .bloglo-container, .bloglo-container-fluid, .wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer>ul {padding: 0 5rem;margin: 0 auto;width: 100%;}.alignfull.bloglo-stretch>div, .alignfull>.wp-block-embed__wrapper {max-width: 100% !important;}.bloglo-container__wide.bloglo-container, .bloglo-container__wide .bloglo-header-container, .bloglo-container__wide .bloglo-logo-container>.bloglo-container, .bloglo-container__wide .bloglo-nav-container>.bloglo-container, .bloglo-container__wide>.bloglo-container, .bloglo-layout__fw-stretched.bloglo-container, .bloglo-layout__fw-stretched .bloglo-container, .bloglo-layout__fw-stretched .bloglo-header-container, .bloglo-layout__fw-stretched .bloglo-logo-container>.bloglo-container, .bloglo-layout__fw-stretched .bloglo-nav-container>.bloglo-container, .bloglo-layout__fw-stretched>.bloglo-container {max-width: 100%;}.bloglo-layout__boxed #page, .bloglo-layout__boxed-separated #page {margin: 0 auto;}.bloglo-layout__boxed #page {border: 0;-webkit-box-shadow: 0 0 3rem rgba(50, 52, 54, 0.06);box-shadow: 0 0 3rem rgba(50, 52, 54, 0.06);border-radius: 0;}.bloglo-layout__boxed-separated #primary, .bloglo-layout__boxed-separated #secondary {margin-top: 3rem;margin-bottom: 3rem;}@media only screen and (min-width: 961px) {.bloglo-layout__boxed-separated #primary, .bloglo-layout__boxed-separated #secondary {margin-top: 5rem;margin-bottom: 5rem;}}.bloglo-layout__boxed-separated.bloglo-sidebar-position__right-sidebar #primary {padding-right: 5rem;}.bloglo-layout__boxed-separated.bloglo-sidebar-position__right-sidebar.bloglo-sidebar-style-3 #primary {padding-right: 3.5rem;}.bloglo-layout__boxed-separated.bloglo-sidebar-position__left-sidebar #primary {padding-left: 5rem;}.bloglo-layout__boxed-separated.bloglo-sidebar-position__left-sidebar.bloglo-sidebar-style-3 #primary {padding-left: 3.5rem;}.bloglo-layout__boxed-separated #page {background: none;}.bloglo-layout__boxed-separated #content {padding: 3rem;}.bloglo-layout__boxed-separated #content .entry-content>.alignfull:first-child {margin-top: -3rem;}.bloglo-layout__boxed-separated:not(.comments-open) #content .entry-content>.alignfull:last-child {margin-bottom: -3rem;}.bloglo-layout__boxed-separated.archive #content, .bloglo-layout__boxed-separated.blog #content, .bloglo-layout__boxed-separated.category #content, .bloglo-layout__boxed-separated.search-results #content {padding: 0;border: 0;-webkit-box-shadow: none;box-shadow: none;background: none;}.bloglo-layout__boxed-separated .pyml-slider-items, .bloglo-layout__boxed-separated.archive .bloglo-article, .bloglo-layout__boxed-separated.blog .bloglo-article, .bloglo-layout__boxed-separated.category .bloglo-article, .bloglo-layout__boxed-separated.search-results .bloglo-article {padding: 2.2rem;transition: var(--bloglo-transition-primary);}.bloglo-layout__boxed-separated.archive .bloglo-article, .bloglo-layout__boxed-separated.blog .bloglo-article, .bloglo-layout__boxed-separated.category .bloglo-article, .bloglo-layout__boxed-separated.search-results .bloglo-article {margin-bottom: 3rem;}.bloglo-layout__boxed-separated.archive.bloglo-blog-horizontal .bloglo-pagination, .bloglo-layout__boxed-separated.blog.bloglo-blog-horizontal .bloglo-pagination, .bloglo-layout__boxed-separated.category.bloglo-blog-horizontal .bloglo-pagination, .bloglo-layout__boxed-separated.search-results.bloglo-blog-horizontal .bloglo-pagination {margin-top: 4rem;}.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget {margin-bottom: 2rem;}.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget.widget_media_image {padding: 0;overflow: hidden;}.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .widget_media_image .widget-title {padding-left: 2.5rem;margin-left: 0;margin-top: 2rem;}.bloglo-article.post.sticky {outline: 3px solid var(--bloglo-primary_15);}.bloglo-layout-shadow #comments .comment-body, .bloglo-layout-shadow #comments .comment_container, .bloglo-layout-shadow .author-box, .bloglo-layout-shadow.bloglo-layout__boxed #page, .bloglo-layout-shadow.bloglo-layout__boxed-separated:not(.archive, .blog, .category, .search-results) #content, .bloglo-layout-shadow.bloglo-layout__boxed-separated.author .author-box, .bloglo-layout-shadow.bloglo-layout__boxed-separated.blog .bloglo-article, .bloglo-layout-shadow.bloglo-layout__boxed-separated.category .bloglo-article, .bloglo-layout-shadow.bloglo-layout__boxed-separated.search-results .bloglo-article, .bloglo-layout-shadow.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget, .bloglo-layout-shadow.bloglo-layout__boxed-separated .pyml-slider-items, .bloglo-layout-shadow.bloglo-layout__boxed-separated .ticker-slider-items, .bloglo-layout-shadow.bloglo-layout__boxed-separated.archive article.bloglo-article, .bloglo-layout-shadow.bloglo-layout__boxed-separated.blog article.bloglo-article, .bloglo-layout-shadow.bloglo-layout__boxed-separated.category article.bloglo-article, .bloglo-layout-shadow.bloglo-layout__boxed-separated.search-results article.bloglo-article {box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);border-color: transparent;}.bloglo-layout-shadow.bloglo-layout__boxed-separated .pyml-slider-items:hover, .bloglo-layout-shadow.bloglo-layout__boxed-separated.archive article.bloglo-article:hover, .bloglo-layout-shadow.bloglo-layout__boxed-separated.blog article.bloglo-article:hover, .bloglo-layout-shadow.bloglo-layout__boxed-separated.category article.bloglo-article:hover, .bloglo-layout-shadow.bloglo-layout__boxed-separated.search-results article.bloglo-article:hover {box-shadow: rgba(0, 0, 0, 0.14) 0 0 2.5rem 0;}.bloglo-layout-shadow.bloglo-layout__boxed-separated.archive .col-xs-12>.bloglo-article, .bloglo-layout-shadow.bloglo-layout__boxed-separated.blog .col-xs-12>.bloglo-article, .bloglo-layout-shadow.bloglo-layout__boxed-separated.category .col-xs-12>.bloglo-article, .bloglo-layout-shadow.bloglo-layout__boxed-separated.search-results .col-xs-12>.bloglo-article {margin-bottom: 0;}.bloglo-layout__framed #page {z-index: 0;margin: 3rem 4.5rem 0;overflow: hidden;border-radius: 1rem 1rem 0 0;background-color: var(--bloglo-white);-webkit-box-shadow: 0 0 3rem rgba(50, 52, 54, 0.18);box-shadow: 0 0 3rem rgba(50, 52, 54, 0.18);}.bloglo-layout__framed.bloglo-sticky-header #page #bloglo-header-inner {margin: 0 5rem 0;}#main iframe {max-width: 100%;}.wp-block-embed__wrapper {overflow: hidden;border-radius: var(--bloglo-normal-radius);}.wp-block-embed__wrapper.alignfull {border-radius: 0;}.bloglo-flex-row {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-flex: 0;-ms-flex: 0 1 auto;flex: 0 1 auto;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;-ms-flex-wrap: wrap;flex-wrap: wrap;--bloglo-gutter-x: 2.4rem;--bloglo-gutter-y: 0;margin-top: calc(var(--bloglo-gutter-y) * -1);margin-right: calc(var(--bloglo-gutter-x) / -2);margin-left: calc(var(--bloglo-gutter-x) / -2);}.bloglo-flex-row.reverse {-webkit-box-orient: horizontal;-webkit-box-direction: reverse;-ms-flex-direction: row-reverse;flex-direction: row-reverse;}.bloglo-flex-row div[class^="col-"], .bloglo-flex-row div[class*="col-"] {-webkit-box-sizing: border-box;box-sizing: border-box;-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: 100%;padding-right: calc(var(--bloglo-gutter-x) / 2);padding-left: calc(var(--bloglo-gutter-x) / 2);margin-top: var(--bloglo-gutter-y);}.g-0, .gx-0 {--bloglo-gutter-x: 0;}.g-0, .gy-0 {--bloglo-gutter-y: 0;}.g-1, .gx-1 {--bloglo-gutter-x: 0.4rem;}.g-1, .gy-1 {--bloglo-gutter-y: 0.4rem;}.g-2, .gx-2 {--bloglo-gutter-x: 0.8rem;}.g-2, .gy-2 {--bloglo-gutter-y: 0.8rem;}.g-3, .gx-3 {--bloglo-gutter-x: 1.6rem;}.g-3, .gy-3 {--bloglo-gutter-y: 1.6rem;}.g-4, .gx-4 {--bloglo-gutter-x: 2.4rem;}.g-4, .gy-4 {--bloglo-gutter-y: 2.4rem;}.g-5, .gx-5 {--bloglo-gutter-x: 4.8rem;}.g-5, .gy-5 {--bloglo-gutter-y: 4.8rem;}.g-6, .gx-6 {--bloglo-gutter-x: 6.5rem;}.g-6, .gy-6 {--bloglo-gutter-y: 6.5rem;}.site .bloglo-flex-row .col-xs {-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;-ms-flex-negative: 1;flex-shrink: 1;max-width: 100%;-ms-flex-preferred-size: 0;flex-basis: 0;}.site .bloglo-flex-row .col-xs.flex-basis-auto {-ms-flex-preferred-size: auto;flex-basis: auto;}.site .bloglo-flex-row .col-xs-1 {-ms-flex-preferred-size: 8.33333%;flex-basis: 8.33333%;max-width: 8.33333%;}.site .bloglo-flex-row .col-xs-2 {-ms-flex-preferred-size: 16.66667%;flex-basis: 16.66667%;max-width: 16.66667%;}.site .bloglo-flex-row .col-xs-3 {-ms-flex-preferred-size: 25%;flex-basis: 25%;max-width: 25%;}.site .bloglo-flex-row .col-xs-4 {-ms-flex-preferred-size: 33.33333%;flex-basis: 33.33333%;max-width: 33.33333%;}.site .bloglo-flex-row .col-xs-5 {-ms-flex-preferred-size: 41.66667%;flex-basis: 41.66667%;max-width: 41.66667%;}.site .bloglo-flex-row .col-xs-6 {-ms-flex-preferred-size: 50%;flex-basis: 50%;max-width: 50%;}.site .bloglo-flex-row .col-xs-7 {-ms-flex-preferred-size: 58.33333%;flex-basis: 58.33333%;max-width: 58.33333%;}.site .bloglo-flex-row .col-xs-8 {-ms-flex-preferred-size: 66.66667%;flex-basis: 66.66667%;max-width: 66.66667%;}.site .bloglo-flex-row .col-xs-9 {-ms-flex-preferred-size: 75%;flex-basis: 75%;max-width: 75%;}.site .bloglo-flex-row .col-xs-10 {-ms-flex-preferred-size: 83.33333%;flex-basis: 83.33333%;max-width: 83.33333%;}.site .bloglo-flex-row .col-xs-11 {-ms-flex-preferred-size: 91.66667%;flex-basis: 91.66667%;max-width: 91.66667%;}.site .bloglo-flex-row .col-xs-12 {-ms-flex-preferred-size: 100%;flex-basis: 100%;max-width: 100%;}.site .bloglo-flex-row .col-xs-offset-0 {margin-left: 0%;}.site .bloglo-flex-row .col-xs-offset-1 {margin-left: 8.33333%;}.site .bloglo-flex-row .col-xs-offset-2 {margin-left: 16.66667%;}.site .bloglo-flex-row .col-xs-offset-3 {margin-left: 25%;}.site .bloglo-flex-row .col-xs-offset-4 {margin-left: 33.33333%;}.site .bloglo-flex-row .col-xs-offset-5 {margin-left: 41.66667%;}.site .bloglo-flex-row .col-xs-offset-6 {margin-left: 50%;}.site .bloglo-flex-row .col-xs-offset-7 {margin-left: 58.33333%;}.site .bloglo-flex-row .col-xs-offset-8 {margin-left: 66.66667%;}.site .bloglo-flex-row .col-xs-offset-9 {margin-left: 75%;}.site .bloglo-flex-row .col-xs-offset-10 {margin-left: 83.33333%;}.site .bloglo-flex-row .col-xs-offset-11 {margin-left: 91.66667%;}.site .bloglo-flex-row .first-xs {-webkit-box-ordinal-group: 0;-ms-flex-order: -1;order: -1;}.site .bloglo-flex-row .last-xs {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;}.site .bloglo-flex-row.start-xs, .site .bloglo-flex-row .start-xs {-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;text-align: left;}.site .bloglo-flex-row.center-xs, .site .bloglo-flex-row .center-xs {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;text-align: center;}.site .bloglo-flex-row.end-xs, .site .bloglo-flex-row .end-xs {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;text-align: end;margin-left: auto;}.site .bloglo-flex-row.top-xs, .site .bloglo-flex-row .top-xs {-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;}.site .bloglo-flex-row.middle-xs, .site .bloglo-flex-row .middle-xs {-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.site .bloglo-flex-row.bottom-xs, .site .bloglo-flex-row .bottom-xs {-webkit-box-align: end;-ms-flex-align: end;align-items: flex-end;}.site .bloglo-flex-row.stretch-xs, .site .bloglo-flex-row .stretch-xs {-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;}.site .bloglo-flex-row.around-xs {-ms-flex-pack: distribute;justify-content: space-around;}.site .bloglo-flex-row.between-xs {-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}.site .bloglo-flex-row>div:not(.col-xs-12), .site .bloglo-flex-row>iframe {width: 100%;}.wp-block-columns {margin-bottom: 0;}.wp-block-columns .wp-block-column {margin-bottom: 3.2rem;}.wp-block-columns .wp-block-column:empty {margin-bottom: 0;}#main .wp-block-buttons {margin-bottom: -0.8rem;}.wp-block-button__link {line-height: 1.4;font-size: inherit;padding: 1.2rem 3.2rem;min-height: 5rem;-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.wp-block-button__link, .content-area .bloglo-entry a.wp-block-button__link {text-decoration: none;border: 0.2rem solid;}.wp-block-button.is-style-outline .wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:active {border-color: transparent !important;background-color: var(--bloglo-secondary) !important;color: var(--bloglo-white) !important;}.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover, .wp-block-button:not(.is-style-outline) .wp-block-button__link:active {border-color: currentColor !important;background-color: transparent !important;color: inherit !important;}.alignwide {margin-right: -3rem;margin-left: -3rem;max-width: unset;width: unset;}.alignfull, .alignwide {max-width: unset;width: unset;}.alignfull, .alignwide, .wp-block-cover {margin-top: 3.2rem;margin-bottom: 3.2rem;}.has-medium-font-size {line-height: 1.5;}.has-huge-font-size, .has-large-font-size {line-height: 1.25;}.wp-block-button.is-style-squared .wp-block-button__link {border-radius: var(--bloglo-normal-radius);border: 0.1rem solid rgba(0, 0, 0, 0.12);}.wp-block-media-text {margin-top: 2rem;margin-bottom: 2rem;}.wp-block-media-text__content p:first-child {margin-top: 0;}.wp-block-media-text__content p:last-child {margin-bottom: 0;}.wp-block-media-text__content p.has-large-font-size {margin-bottom: 1.6rem;}#page .wp-block-social-links {margin-top: 3.2rem;margin-bottom: 3.2rem;margin-left: 0;}#page .wp-block-social-links .wp-social-link a, #page .wp-block-social-links .wp-social-link a:hover {color: inherit;}@-webkit-keyframes slideToLeft {0% {-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}100% {-webkit-transform: translate3d(-100%, 0, 0);transform: translate3d(-100%, 0, 0);}}@keyframes slideToLeft {0% {-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}100% {-webkit-transform: translate3d(-100%, 0, 0);transform: translate3d(-100%, 0, 0);}}@-webkit-keyframes slideToRight {0% {-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}100% {-webkit-transform: translate3d(100%, 0, 0);transform: translate3d(100%, 0, 0);}}@keyframes slideToRight {0% {-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}100% {-webkit-transform: translate3d(100%, 0, 0);transform: translate3d(100%, 0, 0);}}@-webkit-keyframes slideFromLeft {0% {-webkit-transform: translateX(-100%);transform: translateX(-100%);}100% {-webkit-transform: translateX(0);transform: translateX(0);}}@keyframes slideFromLeft {0% {-webkit-transform: translateX(-100%);transform: translateX(-100%);}100% {-webkit-transform: translateX(0);transform: translateX(0);}}@-webkit-keyframes slideFromRight {0% {-webkit-transform: translateX(100%);transform: translateX(100%);}100% {-webkit-transform: translateX(0);transform: translateX(0);}}@keyframes slideFromRight {0% {-webkit-transform: translateX(100%);transform: translateX(100%);}100% {-webkit-transform: translateX(0);transform: translateX(0);}}@-webkit-keyframes slideFromRightToLeft {0% {-webkit-transform: translateX(100%);transform: translateX(100%);}100% {-webkit-transform: translateX(-100%);transform: translateX(-100%);}}@keyframes slideFromRightToLeft {0% {-webkit-transform: translateX(100%);transform: translateX(100%);}100% {-webkit-transform: translateX(-100%);transform: translateX(-100%);}}@-webkit-keyframes ai_bounce {0%, 100% {-webkit-transform: scale(0);transform: scale(0);}50% {-webkit-transform: scale(1);transform: scale(1);}}@keyframes ai_bounce {0%, 100% {-webkit-transform: scale(0);transform: scale(0);}50% {-webkit-transform: scale(1);transform: scale(1);}}@-webkit-keyframes bloglo-scaleout {0% {-webkit-transform: scale(0);transform: scale(0);}100% {-webkit-transform: scale(1);transform: scale(1);opacity: 0;}}@keyframes bloglo-scaleout {0% {-webkit-transform: scale(0);transform: scale(0);}100% {-webkit-transform: scale(1);transform: scale(1);opacity: 0;}}#infinite-handle span, .bloglo-btn, .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce #review_form #respond .form-submit input, .woocommerce div.product form.cart .button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, body:not(.wp-customizer) input[type="submit"], input[type="reset"] {-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;text-align: center;max-width: 100%;cursor: pointer;-moz-appearance: none;-webkit-appearance: none;-webkit-box-shadow: none;box-shadow: none;border-style: solid;-ms-flex-negative: 0;flex-shrink: 0;font-size: inherit;min-height: 5rem;padding: 1rem 3.2rem;}input[type="reset"] {background: var(--bloglo-secondary);color: #ffffff;border-color: var(--bloglo-secondary);}input[type="reset"]:hover, .using-keyboard input[type="reset"]:focus {border-color: var(--bloglo-primary);}@media (max-width: 48.875em) {#infinite-handle span, .bloglo-btn, .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce #review_form #respond .form-submit input, .woocommerce div.product form.cart .button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, body:not(.wp-customizer) input[type="submit"], input[type="reset"] {padding: 0.99rem 2.3rem;min-height: 4.5rem;}}#infinite-handle span span, .bloglo-btn span, .site-main .woocommerce #respond input#submit span, .site-main .woocommerce a.button span, .site-main .woocommerce button.button span, .site-main .woocommerce input.button span, .woocommerce #review_form #respond .form-submit input span, .woocommerce div.product form.cart .button span, .woocommerce ul.products li.product .added_to_cart span, .woocommerce ul.products li.product .button span, body:not(.wp-customizer) input[type="submit"] span {z-index: 2;position: relative;}#infinite-handle span.disabled, #infinite-handle span:disabled, .bloglo-btn.disabled, .bloglo-btn:disabled, .site-main .woocommerce #respond input#submit.disabled, .site-main .woocommerce #respond input#submit:disabled, .site-main .woocommerce a.button.disabled, .site-main .woocommerce a.button:disabled, .site-main .woocommerce button.button.disabled, .site-main .woocommerce button.button:disabled, .site-main .woocommerce input.button.disabled, .site-main .woocommerce input.button:disabled, .woocommerce #review_form #respond .form-submit input.disabled, .woocommerce #review_form #respond .form-submit input:disabled, .woocommerce div.product form.cart .button.disabled, .woocommerce div.product form.cart .button:disabled, .woocommerce ul.products li.product .added_to_cart.disabled, .woocommerce ul.products li.product .added_to_cart:disabled, .woocommerce ul.products li.product .button.disabled, .woocommerce ul.products li.product .button:disabled, body:not(.wp-customizer) input[type="submit"].disabled, body:not(.wp-customizer) input[type="submit"]:disabled {cursor: not-allowed !important;}#infinite-handle span.disabled>span, #infinite-handle span.disabled>svg, #infinite-handle span:disabled>span, #infinite-handle span:disabled>svg, .bloglo-btn.disabled>span, .bloglo-btn.disabled>svg, .bloglo-btn:disabled>span, .bloglo-btn:disabled>svg, .site-main .woocommerce #respond input#submit.disabled>span, .site-main .woocommerce #respond input#submit.disabled>svg, .site-main .woocommerce #respond input#submit:disabled>span, .site-main .woocommerce #respond input#submit:disabled>svg, .site-main .woocommerce a.button.disabled>span, .site-main .woocommerce a.button.disabled>svg, .site-main .woocommerce a.button:disabled>span, .site-main .woocommerce a.button:disabled>svg, .site-main .woocommerce button.button.disabled>span, .site-main .woocommerce button.button.disabled>svg, .site-main .woocommerce button.button:disabled>span, .site-main .woocommerce button.button:disabled>svg, .site-main .woocommerce input.button.disabled>span, .site-main .woocommerce input.button.disabled>svg, .site-main .woocommerce input.button:disabled>span, .site-main .woocommerce input.button:disabled>svg, .woocommerce #review_form #respond .form-submit input.disabled>span, .woocommerce #review_form #respond .form-submit input.disabled>svg, .woocommerce #review_form #respond .form-submit input:disabled>span, .woocommerce #review_form #respond .form-submit input:disabled>svg, .woocommerce div.product form.cart .button.disabled>span, .woocommerce div.product form.cart .button.disabled>svg, .woocommerce div.product form.cart .button:disabled>span, .woocommerce div.product form.cart .button:disabled>svg, .woocommerce ul.products li.product .added_to_cart.disabled>span, .woocommerce ul.products li.product .added_to_cart.disabled>svg, .woocommerce ul.products li.product .added_to_cart:disabled>span, .woocommerce ul.products li.product .added_to_cart:disabled>svg, .woocommerce ul.products li.product .button.disabled>span, .woocommerce ul.products li.product .button.disabled>svg, .woocommerce ul.products li.product .button:disabled>span, .woocommerce ul.products li.product .button:disabled>svg, body:not(.wp-customizer) input[type="submit"].disabled>span, body:not(.wp-customizer) input[type="submit"].disabled>svg, body:not(.wp-customizer) input[type="submit"]:disabled>span, body:not(.wp-customizer) input[type="submit"]:disabled>svg, button.bloglo-btn:disabled {opacity: 0.5;}#secondary .woocommerce a.button, #secondary .woocommerce button.button, #secondary .woocommerce input.button, .btn-small, .site-main .woocommerce #respond input#submit, .site-main .woocommerce .shipping-calculator-form .button, .site-main .woocommerce .woocommerce-orders-table a.button, .site-main .woocommerce .woocommerce-Pagination a.button, .site-main .woocommerce .woocommerce-table a.button, .woocommerce #secondary .widget_price_filter .price_slider_amount .button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button {font-size: 90% !important;min-height: 4rem;padding: 0.8rem 2.4rem;}#place_order, .btn-large {min-height: 5.7rem;font-size: 108% !important;}.btn-xlarge {font-size: 130% !important;min-height: 6.9rem;font-weight: 600;}.btn-fw {width: 100%;text-align: center;}.btn-large-radius {border-radius: 5rem;}.btn-left-icon, .btn-right-icon {position: relative;}.btn-left-icon>svg, .btn-right-icon>svg {height: 1.76rem;}.btn-left-icon.btn-reveal>svg, .btn-right-icon.btn-reveal>svg {-webkit-transition: opacity 0.1s ease, -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: opacity 0.1s ease, -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.1s ease;transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.1s ease, -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);opacity: 0;position: absolute;top: 50%;-webkit-transform: translate3d(0, -50%, 0);transform: translate3d(0, -50%, 0);}.btn-left-icon.btn-reveal>span, .btn-right-icon.btn-reveal>span {-webkit-transition: padding 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), margin 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: padding 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), margin 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);-webkit-backface-visibility: hidden;backface-visibility: hidden;will-change: padding, margin;}.btn-left-icon.btn-svg>svg, .btn-right-icon.btn-svg>svg {height: 1.6rem !important;width: auto !important;vertical-align: middle;fill: currentColor;}.btn-left-icon>svg {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;margin-right: 1.04em;margin-left: -1.04em;}.btn-left-icon>span {-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;}.btn-left-icon.btn-reveal>svg {left: 0.8em;-webkit-transform: translate3d(1rem, -50%, 0);transform: translate3d(1rem, -50%, 0);margin-left: 0;margin-right: 0;}.btn-left-icon.btn-reveal:hover>span {padding-left: 1.6rem;margin-right: -1.6rem;}.btn-left-icon.btn-reveal:hover>svg {opacity: 1;-webkit-transform: translate3d(0, -50%, 0);transform: translate3d(0, -50%, 0);}.btn-right-icon>svg {-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;margin-left: 10.4rem;margin-right: -10.4rem;}.btn-right-icon.btn-reveal>svg {right: 1.28rem;-webkit-transform: translate3d(-1rem, -50%, 0);transform: translate3d(-1rem, -50%, 0);margin-left: 0;margin-right: 0;}.btn-right-icon.btn-reveal:hover>span {padding-right: 1.6rem;margin-left: -1.6rem;}.btn-right-icon.btn-reveal:hover>svg {opacity: 1;-webkit-transform: translate3d(0, -50%, 0);transform: translate3d(0, -50%, 0);}.bloglo-btn.btn-white {background: var(--bloglo-white);border-color: var(--bloglo-white);color: var(--bloglo-secondary);}.bloglo-btn.btn-white:hover, .bloglo-btn.btn-white:focus, .using-keyboard .bloglo-btn.btn-white:focus {color: var(--bloglo-primary);background: var(--bloglo-white);}.bloglo-btn.btn-white.btn-outline {border-color: var(--bloglo-white);color: var(--bloglo-white);}.bloglo-btn.btn-white.btn-outline:hover, .using-keyboard .bloglo-btn.btn-white.btn-outline:focus {background: var(--bloglo-white);color: var(--bloglo-secondary);}.bloglo-btn.btn-outline, .bloglo-btn.btn-secondary.btn-outline {background-color: transparent;}.bloglo-btn.btn-secondary.btn-outline {border-color: var(--bloglo-secondary);color: var(--bloglo-secondary);}.bloglo-btn.btn-secondary.btn-outline:hover, .using-keyboard .bloglo-btn.btn-secondary.btn-outline:focus {background: var(--bloglo-secondary);color: #ffffff;}.bloglo-btn.btn-with-shadow {-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);box-shadow: 0 0 0 rgba(0, 0, 0, 0);}.bloglo-btn.btn-with-shadow:hover {-webkit-box-shadow: 0 0.5rem 2.5rem rgba(0, 0, 0, 0.175);box-shadow: 0 0.5rem 2.5rem rgba(0, 0, 0, 0.175);-webkit-transform: translateY(-0.2rem);-ms-transform: translateY(-0.2rem);transform: translateY(-0.2rem);}.bloglo-btn.btn-text-1 {padding: 0 !important;min-height: 0;height: auto;background: none !important;-webkit-box-shadow: none !important;box-shadow: none !important;border: none !important;font-weight: 500;}.bloglo-btn.btn-text-1 span {padding: 0;}.bloglo-btn.btn-text-1 span:before {content: "";position: absolute;bottom: -0.1rem;left: 0;width: 100%;height: 0.1rem;border-radius: 0;}.bloglo-btn.btn-text-1 span:before {background: currentColor;-webkit-transform-origin: right center;-ms-transform-origin: right center;transform-origin: right center;-webkit-transform: scale(0, 1);-ms-transform: scale(0, 1);transform: scale(0, 1);-webkit-transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);backface-visibility: hidden;-webkit-backface-visibility: hidden;will-change: scale;z-index: 1;}.bloglo-btn.btn-text-1:hover>span:before, .using-keyboard .bloglo-btn.btn-text-1:focus-within>span:before {-webkit-transform-origin: left center;-ms-transform-origin: left center;transform-origin: left center;-webkit-transform: scale(1, 1);-ms-transform: scale(1, 1);transform: scale(1, 1);}.bloglo-btn.btn-text-1.btn-left-icon>span, .bloglo-btn.btn-text-1.btn-right-icon>span {padding-left: 0 !important;padding-right: 0 !important;}#add_payment_method table.cart td.actions .coupon .input-text, .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce-checkout table.cart td.actions .coupon .input-text, input[type=date], input[type=email], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], textarea {font-size: inherit;font-weight: 400;font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;border: 0.2rem solid rgba(190, 190, 190, 0.3);background-color: var(--bloglo-white);padding: 0.9rem 1.6rem;color: #66717f;width: 100%;border-radius: var(--bloglo-normal-radius);line-height: 1 !important;min-height: 5rem;}#add_payment_method table.cart td.actions .coupon .input-text:focus, .woocommerce-cart table.cart td.actions .coupon .input-text:focus, .woocommerce-checkout table.cart td.actions .coupon .input-text:focus, input[type="date"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, textarea:focus {color: var(--bloglo-black);}#add_payment_method table.cart td.actions .coupon .input-text.bloglo-invalid, .woocommerce-cart table.cart td.actions .coupon .input-text.bloglo-invalid, .woocommerce-checkout table.cart td.actions .coupon .input-text.bloglo-invalid, input[type="date"].bloglo-invalid, input[type="email"].bloglo-invalid, input[type="password"].bloglo-invalid, input[type="search"].bloglo-invalid, input[type="tel"].bloglo-invalid, input[type="text"].bloglo-invalid, input[type="url"].bloglo-invalid, textarea.bloglo-invalid {border-color: #f33;}fieldset {border: 0.1rem solid rgba(190, 190, 190, 0.3);margin: 2.4rem 0.2rem;padding: 1rem 2.5rem 2rem;border-radius: var(--bloglo-normal-radius);}fieldset legend+p {margin-top: 0;}fieldset p:last-child {margin-bottom: 0;}legend {font-size: inherit;display: table;max-width: 100%;padding-left: 1.6rem;padding-right: 1.6rem;white-space: normal;font-weight: 400;}.select2-container .select2-selection--single {height: 4.5rem;border: 0.2rem solid rgba(190, 190, 190, 0.3);border-radius: var(--bloglo-normal-radius);margin-bottom: 0.2rem;}.select2-container--default .select2-selection--single .select2-selection__rendered {line-height: 4.4rem;color: #66717f;padding-left: 1.5rem;padding-right: 3rem;}.select2-container--default .select2-selection--single .select2-selection__arrow {width: 3rem;height: 4.5rem;}.select2-container--default .select2-search--dropdown {padding: 1rem 1rem 0.5rem 1rem;}.select2-container--default .select2-search--dropdown .select2-search__field {padding: 0.8rem 1.6rem;border-color: rgba(190, 190, 190, 0.3);border-radius: var(--bloglo-normal-radius);background-color: rgba(190, 190, 190, 0.2);}.select2-container--default .select2-results>.select2-results__options {padding-bottom: 1rem;}.select2-container--default .select2-results__option[data-selected="true"] {background-color: rgba(190, 190, 190, 0.2);}.select2-dropdown {border-color: rgba(190, 190, 190, 0.3);border-width: 0.2rem;border-radius: var(--bloglo-normal-radius);top: -0.2rem;}.select2-container--open .select2-dropdown {-webkit-box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.15);box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.15);}.select2-results__option {padding: 0.6rem 1.5rem;-webkit-box-shadow: none !important;box-shadow: none !important;outline: none !important;margin: 0 1rem;border-radius: var(--bloglo-normal-radius);}label {display: inline-block;font-weight: 600;}.nsu-checkbox label, input[type="checkbox"]+label, input[type="radio"]+label {display: inline;margin-bottom: 0;font-weight: 400;}textarea {line-height: 1.5 !important;min-height: 18.72rem;max-height: 60rem;}select {line-height: 1.2;height: 4.5rem;padding: 1rem 1.8rem;background: none;border: 0.2rem solid rgba(190, 190, 190, 0.3);-o-border-image: initial;border-image: initial;border-radius: var(--bloglo-normal-radius);font-size: inherit;color: inherit;font-family: inherit;appearance: none;background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat: no-repeat;background-position: right 1rem center;background-size: 1em;}select:focus {outline: none;}[data-theme="dark"] select {background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-color: var(--bloglo-white);color: var(--bloglo-secondary);}input:-webkit-autofill {animation-name: autofill;-webkit-animation-name: autofill;animation-fill-mode: both;-webkit-animation-fill-mode: both;}.bloglo-input-supported input[type="checkbox"], .bloglo-input-supported input[type="radio"] {position: relative;border: 0.2rem solid currentColor;border-radius: var(--bloglo-normal-radius);background: none;clear: none;cursor: pointer;display: inline-block !important;line-height: 0;margin: 0 0.96em 0 0;outline: 0;padding: 0 !important;text-align: center;vertical-align: text-top;height: 2rem;width: 2rem;min-width: 2rem;-webkit-appearance: none;-moz-appearance: none;opacity: 0.5;}.bloglo-input-supported input[type="checkbox"]+label, .bloglo-input-supported input[type="radio"]+label {cursor: pointer;font-weight: 400;font-size: 1.5rem;}.bloglo-input-supported input[type="checkbox"]:not([id^='wpforms-']):before, .bloglo-input-supported input[type="radio"]:not([id^='wpforms-']):before {content: "";opacity: 0;position: absolute;}.bloglo-input-supported input[type="checkbox"]:checked, .bloglo-input-supported input[type="checkbox"]:checked:before, .bloglo-input-supported input[type="checkbox"]:focus, .bloglo-input-supported input[type="checkbox"]:hover, .bloglo-input-supported input[type="radio"]:checked, .bloglo-input-supported input[type="radio"]:checked:before, .bloglo-input-supported input[type="radio"]:focus, .bloglo-input-supported input[type="radio"]:hover {opacity: 1;}.bloglo-input-supported input[type="checkbox"] {-webkit-box-shadow: inset 0 0 0 0;box-shadow: inset 0 0 0 0;}.bloglo-input-supported input[type="checkbox"]:not([id^='wpforms-']):before {left: 0.6rem;top: 0.2rem;width: 0.5rem;height: 1rem;border: solid var(--bloglo-white);border-width: 0 0.2rem 0.2rem 0;-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);-webkit-transform: scale(0);-ms-transform: scale(0);transform: scale(0);z-index: 2;}.bloglo-input-supported input[type="checkbox"]:focus, .bloglo-input-supported input[type="checkbox"]:hover {-webkit-box-shadow: inset 0 0 0 0.2rem;box-shadow: inset 0 0 0 0.2rem;}.bloglo-input-supported input[type="checkbox"]:not([id^='wpforms-']):checked {opacity: 1;-webkit-box-shadow: none !important;box-shadow: none !important;}.bloglo-input-supported input[type="checkbox"]:not([id^='wpforms-']):checked:before {-webkit-transform: rotate(45deg) scale(1);-ms-transform: rotate(45deg) scale(1);transform: rotate(45deg) scale(1);}.bloglo-input-supported input[type="radio"] {border-radius: 50%;}.bloglo-input-supported input[type="radio"]:not([id^='wpforms-']):before {width: 1rem;height: 1rem;top: 50%;left: 0.3rem;margin-top: -0.5rem;border-radius: 50%;}.bloglo-input-supported .comment-subscription-form #subscribe_blog, .bloglo-input-supported .comment-subscription-form #subscribe_comments {-webkit-appearance: none !important;-moz-appearance: none !important;}.bloglo-input-supported .comment-form-cookies-consent {-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.bloglo-social-nav {-ms-flex-align: center;align-items: center;}.bloglo-social-nav, .bloglo-social-nav>ul {height: 100%;-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;}.bloglo-social-nav>ul {-ms-flex-wrap: wrap;flex-wrap: wrap;width: 100%;}.bloglo-social-nav>ul>li {position: relative;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-ms-flex-negative: 0;flex-shrink: 0;height: 100%;}.bloglo-social-nav>ul>li:last-child>a {margin-right: 0;}.bloglo-social-nav>ul>li>a {display: block;margin-right: 1.6rem;}.bloglo-social-nav>ul>li>a>span:not(.screen-reader-text) {display: block;-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;position: relative;color: inherit;font-weight: 400;overflow-y: hidden;-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);}.bloglo-social-nav>ul>li>a .bloglo-icon {padding-left: 0.2rem;padding-right: 0.2rem;}.bloglo-social-nav>ul>li>a:before {display: none !important;}.bloglo-social-nav>ul>li>a:hover .bloglo-icon, .bloglo-social-nav>ul>li>a:focus-within .bloglo-icon {-webkit-transform: translateY(-225%);-ms-transform: translateY(-225%);transform: translateY(-225%);}.bloglo-social-nav>ul>li>a:hover .bloglo-icon.bottom-icon, .bloglo-social-nav>ul>li>a:focus-within .bloglo-icon.bottom-icon {-webkit-transform: translateY(0);-ms-transform: translateY(0);transform: translateY(0);}.bloglo-social-nav>ul>li>a .bloglo-icon {-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-transition: -webkit-transform 0.22s;transition: -webkit-transform 0.22s;transition: transform 0.22s;transition: transform 0.22s, -webkit-transform 0.22s;opacity: 1;will-change: transform;}.bloglo-social-nav>ul>li>a .bloglo-icon.bottom-icon {position: absolute;-webkit-transform: translate3d(0, 225%, 0);transform: translate3d(0, 225%, 0);}.bloglo-social-nav>ul>li>a span {position: relative;}.bloglo-social-nav.rounded-fill>ul>li>a>span:not(.screen-reader-text), .bloglo-social-nav.rounded>ul>li>a>span:not(.screen-reader-text) {margin-right: 0.8rem;background-color: rgba(0, 0, 0, 0.15);border-radius: 50%;padding: 0;}.bloglo-social-nav.rounded-fill>ul>li>a .bloglo-icon, .bloglo-social-nav.rounded>ul>li>a .bloglo-icon {-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.bloglo-social-nav.rounded-fill>ul>li>a, .bloglo-social-nav.rounded>ul>li>a, .bloglo-social-nav.rounded-fill>ul>li:last-child>a, .bloglo-social-nav.rounded>ul>li:last-child>a {margin-right: 0;}.bloglo-social-nav>ul>li>a .bloglo-icon {height: 1.6rem;}.bloglo-social-nav.rounded-fill>ul>li>a>span:not(.screen-reader-text), .bloglo-social-nav.rounded>ul>li>a>span:not(.screen-reader-text) {width: 3.6rem;height: 3.6rem;}.bloglo-social-nav.bloglo-small>ul>li>a .bloglo-icon {height: 1.4rem;}.bloglo-social-nav.bloglo-small.rounded-fill>ul>li>a>span:not(.screen-reader-text), .bloglo-social-nav.bloglo-small.rounded>ul>li>a>span:not(.screen-reader-text) {width: 3.2rem;height: 3.2rem;}.bloglo-social-nav.bloglo-large>ul>li>a .bloglo-icon {height: 2rem;}.bloglo-social-nav.bloglo-large.rounded-fill>ul>li>a>span:not(.screen-reader-text), .bloglo-social-nav.bloglo-large.rounded>ul>li>a>span:not(.screen-reader-text) {width: 4.4rem;height: 4.4rem;}.bloglo-social-nav.bloglo-xlarge>ul>li>a .bloglo-icon {height: 2.8rem;}.bloglo-social-nav.bloglo-xlarge.rounded-fill>ul>li>a>span:not(.screen-reader-text), .bloglo-social-nav.bloglo-xlarge.rounded>ul>li>a>span:not(.screen-reader-text) {width: 5.1rem;height: 5.1rem;}.bloglo-social-nav.minimal-fill>ul>li>a>span.dribbble {color: #d97aa6;}.bloglo-social-nav.minimal-fill>ul>li>a>span.facebook {color: #175beb;}.bloglo-social-nav.minimal-fill>ul>li>a>span.stackoverflow {color: #e77b23;}.bloglo-social-nav.minimal-fill>ul>li>a>span.github {color: #0d1117;}.bloglo-social-nav.minimal-fill>ul>li>a>span.twitter {color: #000000;}.bloglo-social-nav.minimal-fill>ul>li>a>span.instagram {color: #ef00a2;}.bloglo-social-nav.minimal-fill>ul>li>a>span.linkedin {color: #0077b5;}.bloglo-social-nav.minimal-fill>ul>li>a>span.pinterest {color: #ee3e52;}.bloglo-social-nav.minimal-fill>ul>li>a>span.tumblr {color: #5f7990;}.bloglo-social-nav.minimal-fill>ul>li>a>span.youtube {color: #fb5555;}.bloglo-social-nav.minimal-fill>ul>li>a>span.flickr {color: #ef3998;}.bloglo-social-nav.minimal-fill>ul>li>a>span.twitch {color: #8551e6;}.bloglo-social-nav.minimal-fill>ul>li>a>span.vk {color: #6299dc;}.bloglo-social-nav.minimal-fill>ul>li>a>span.telegram {color: #08c;}.bloglo-social-nav.minimal-fill>ul>li>a>span.discord {color: #5865f2;}.bloglo-social-nav.minimal-fill>ul>li>a>span.wechat {color: #09B83E;}.bloglo-social-nav.minimal-fill>ul>li>a>span.qq {color: #09f;}.bloglo-social-nav.minimal-fill>ul>li>a>span.bilibili {color: #06B6F2;}.bloglo-social-nav.minimal-fill>ul>li>a>span.threads {color: #101010;}.bloglo-social-nav.minimal-fill>ul>li>a>span.rss {color: #f59f23;}.bloglo-social-nav.minimal-fill>ul>li>a>span.tiktok {color: #010101;}.bloglo-social-nav.minimal-fill>ul>li>a>span.linktree {color: #4ae767;}.bloglo-social-nav.minimal-fill>ul>li>a>span.rumble {color: #85c742;}.bloglo-social-nav.minimal-fill>ul>li>a>span.mastodon {color: #6364ff;}.bloglo-social-nav.minimal-fill>ul>li>a>span.bluesky {color: #1185fe;}.bloglo-social-nav.minimal-fill>ul>li>a>span.gemspace {color: #FF4545;}.bloglo-social-nav.minimal-fill>ul>li>a>span.lifegroupchat {color: #E76F0E;}.bloglo-social-nav.rounded-fill>ul>li>a>span:not(.screen-reader-text) {margin-right: 0.8rem;border-radius: 50%;padding: 0;}.bloglo-social-nav.rounded-fill>ul>li>a>span:not(.screen-reader-text), .bloglo-social-nav.rounded-fill>ul>li>a .bloglo-icon.bottom-icon {color: #fff;}.bloglo-social-nav.rounded-fill>ul>li>a>span.dribbble {background-color: #d97aa6;}.bloglo-social-nav.rounded-fill>ul>li>a>span.facebook {background-color: #175beb;}.bloglo-social-nav.rounded-fill>ul>li>a>span.stackoverflow {background-color: #e77b23;}.bloglo-social-nav.rounded-fill>ul>li>a>span.github {background-color: #0d1117;outline: 1px solid rgba(190, 190, 190, 0.3);}.bloglo-social-nav.rounded-fill>ul>li>a>span.twitter {background-color: #000000;outline: 1px solid rgba(190, 190, 190, 0.3);}.bloglo-social-nav.rounded-fill>ul>li>a>span.instagram {background-color: #ef00a2;}.bloglo-social-nav.rounded-fill>ul>li>a>span.linkedin {background-color: #0077b5;}.bloglo-social-nav.rounded-fill>ul>li>a>span.pinterest {background-color: #ee3e52;}.bloglo-social-nav.rounded-fill>ul>li>a>span.tumblr {background-color: #5f7990;}.bloglo-social-nav.rounded-fill>ul>li>a>span.youtube {background-color: #fb5555;}.bloglo-social-nav.rounded-fill>ul>li>a>span.flickr {background-color: #ef3998;}.bloglo-social-nav.rounded-fill>ul>li>a>span.twitch {background-color: #8551e6;}.bloglo-social-nav.rounded-fill>ul>li>a>span.vk {background-color: #6299dc;}.bloglo-social-nav.rounded-fill>ul>li>a>span.telegram {background-color: #08c;}.bloglo-social-nav.rounded-fill>ul>li>a>span.discord {background-color: #5865f2;}.bloglo-social-nav.rounded-fill>ul>li>a>span.wechat {background-color: #09B83E;}.bloglo-social-nav.rounded-fill>ul>li>a>span.qq {background-color: #09f;}.bloglo-social-nav.rounded-fill>ul>li>a>span.bilibili {background-color: #06B6F2;}.bloglo-social-nav.rounded-fill>ul>li>a>span.threads {background-color: #101010;outline: 1px solid rgba(190, 190, 190, 0.3);}.bloglo-social-nav.rounded-fill>ul>li>a>span.rss {background-color: #f59f23;}.bloglo-social-nav.rounded-fill>ul>li>a>span.tiktok {background-color: #010101;outline: 1px solid rgba(190, 190, 190, 0.3);}.bloglo-social-nav.rounded-fill>ul>li>a>span.linktree {background-color: #4ae767;}.bloglo-social-nav.rounded-fill>ul>li>a>span.rumble {background-color: #85c742;}.bloglo-social-nav.rounded-fill>ul>li>a>span.mastodon {background-color: #6364ff;}.bloglo-social-nav.rounded-fill>ul>li>a>span.bluesky {background-color: #1185fe;}.bloglo-social-nav.rounded-fill>ul>li>a>span.gemspace {background-color: #FF4545;}.bloglo-social-nav.rounded-fill>ul>li>a>span.lifegroupchat {background-color: #E76F0E;}#bloglo-topbar {border-style: solid;border-left: none;border-right: none;border-width: 0;font-size: 1.3rem;z-index: 6;}#bloglo-topbar, #bloglo-topbar>.bloglo-container {position: relative;}#bloglo-topbar>.bloglo-container>.bloglo-flex-row {position: relative;margin-top: 0;margin-bottom: 0;min-height: 5rem;-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;}#bloglo-topbar>.bloglo-container>.bloglo-flex-row>div {width: auto;max-width: 100%;}#bloglo-topbar>.bloglo-container>.bloglo-flex-row>div:empty {display: none;}#bloglo-topbar .bloglo-topbar-left, #bloglo-topbar .bloglo-topbar-right {-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;-ms-flex-wrap: wrap;flex-wrap: wrap;}#bloglo-topbar .bloglo-topbar-right {margin-left: auto;}#bloglo-topbar .bloglo-topbar-right .bloglo-topbar-widget:first-child {margin-left: 0;}#bloglo-topbar .bloglo-topbar-widget {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-ms-flex-wrap: wrap;flex-wrap: wrap;padding-left: 1rem;padding-right: 1rem;position: relative;z-index: 5;}#bloglo-topbar .bloglo-topbar-widget:first-child {padding-left: 0;border-left: 0;}#bloglo-topbar .bloglo-topbar-widget:last-child {padding-right: 0;border-right: 0 !important;}#bloglo-topbar .bloglo-topbar-widget:last-child:after {display: none !important;}#bloglo-topbar .bloglo-topbar-widget__text .bloglo-icon {margin: 0 0.7rem 0 0;height: 1.84rem;position: relative;vertical-align: middle;}#bloglo-topbar .bloglo-social-nav>ul>li>a .bloglo-icon {height: 1.4rem;}.bloglo-topbar__separators-regular #bloglo-topbar .bloglo-topbar-widget:after, .bloglo-topbar__separators-slanted #bloglo-topbar .bloglo-topbar-widget:after {content: "";width: 0.1rem;height: 1.6rem;display: inline-block;position: relative;right: -0.5rem;margin: -1.6rem 0 -1.6rem 1rem;}.bloglo-topbar__separators-slanted #bloglo-topbar .bloglo-topbar-widget:after {-webkit-transform: rotate(20deg);-ms-transform: rotate(20deg);transform: rotate(20deg);}.bloglo-topbar__separators-slanted #bloglo-topbar .bloglo-topbar-widget.bloglo-topbar-widget__socials {padding-left: 0.5rem;}.bloglo-topbar-widget:after {background-color: rgba(190, 190, 190, 0.3);}#bloglo-header {position: relative;}#bloglo-header-inner {border-style: solid;border-left: none;border-right: none;border-width: 0;}#bloglo-header-inner:after {content: "";}#bloglo-header-inner>.bloglo-container {-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;}#bloglo-header-inner .bloglo-widget-wrapper {position: relative;height: 100%;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.bloglo-header-element:not(.bloglo-mobile-nav) {position: relative;}.bloglo-header-element {z-index: 99;}.bloglo-header-element>.bloglo-header-widget:first-child {margin-left: 1.8rem;}.bloglo-header-element.bloglo-header-widgets {z-index: 5;}.bloglo-header-element:empty, .bloglo-header-element:first-child {margin-left: 0;}.bloglo-sticky-header.bloglo-tsp-header #bloglo-header, .bloglo-sticky-header.bloglo-tsp-header .bloglo-header-widgets a:not(.bloglo-btn), .bloglo-sticky-header.bloglo-tsp-header .bloglo-logo a, .bloglo-sticky-header.bloglo-tsp-header .bloglo-hamburger, .bloglo-sticky-header.bloglo-tsp-header #bloglo-header-inner .bloglo-nav>ul>li>a {color: inherit;}.bloglo-sticky-header.bloglo-tsp-header .bloglo-header-widgets a:not(.bloglo-btn):hover, .bloglo-sticky-header.bloglo-tsp-header .bloglo-logo a:hover, .bloglo-sticky-header.bloglo-tsp-header .bloglo-hamburger:hover, .bloglo-sticky-header.bloglo-tsp-header #bloglo-header-inner .bloglo-nav>ul>li.hovered>a, .bloglo-sticky-header.bloglo-tsp-header #bloglo-header-inner .bloglo-nav>ul>li.current_page_item>a, .bloglo-sticky-header.bloglo-tsp-header #bloglo-header-inner .bloglo-nav>ul>li>a:hover {color: var(--bloglo-primary);}.bloglo-sticky-header.bloglo-is-mobile #bloglo-header-inner, .bloglo-sticky-header:not(.bloglo-header-layout-3, .bloglo-header-layout-4) #bloglo-header-inner, .bloglo-sticky-header:not(.bloglo-is-mobile).bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container>.bloglo-container, .bloglo-sticky-header:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container>.bloglo-container {position: fixed;left: 0;right: 0;top: 0;z-index: 999;margin: 0 auto;background-color: var(--bloglo-white);-webkit-box-shadow: 0 0.4rem 3rem 0 rgba(0, 0, 0, 0.08);box-shadow: 0 0.4rem 3rem 0 rgba(0, 0, 0, 0.08);-webkit-animation: 1s ease-in-out normal none 1 running fadeInDown;animation: 1s ease-in-out normal none 1 running fadeInDown;}.bloglo-sticky-header.bloglo-header-layout-4:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav-container>.bloglo-container, .bloglo-sticky-header.bloglo-header-layout-3:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav-container>.bloglo-container {background-color: inherit;border: inherit;}.bloglo-sticky-header.bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container>.bloglo-container, .bloglo-sticky-header.bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container>.bloglo-container {max-width: 100%;}.bloglo-sticky-header.admin-bar.bloglo-is-mobile #bloglo-header-inner, .bloglo-sticky-header.admin-bar:not(.bloglo-header-layout-3, .bloglo-header-layout-4) #bloglo-header-inner, .bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container>.bloglo-container, .bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container>.bloglo-container {top: 32px;}.bloglo-header-widgets .bloglo-header-widget .bloglo-darkmode input {display: none !important;}.bloglo-header-widgets .bloglo-header-widget .bloglo-darkmode input::before {opacity: 0;visibility: hidden;}.bloglo-header-widgets .bloglo-header-widget .bloglo-darkmode .bloglo-darkmode-toogle {--size: 1.8rem;appearance: none;outline: none;cursor: pointer;width: var(--size);height: var(--size);box-shadow: inset calc(var(--size) * 0.33) calc(var(--size) * -0.25) 0;border-radius: 100rem;color: var(--bloglo-secondary);border: none;margin: 0 0 1px;min-width: unset;opacity: 1;vertical-align: middle;-webkit-transition: all 500ms;transition: all 500ms;}html[data-theme="dark"] .bloglo-header-widgets .bloglo-header-widget .bloglo-darkmode .bloglo-darkmode-toogle {--size: 1.375em;--ray-size: calc(var(--size) * -0.4);--offset-orthogonal: calc(var(--size) * 0.65);--offset-diagonal: calc(var(--size) * 0.45);transform: scale(0.75);color: var(--bloglo-primary);box-shadow: inset 0 0 0 var(--size), calc(var(--offset-orthogonal) * -1) 0 0 var(--ray-size), var(--offset-orthogonal) 0 0 var(--ray-size), 0 calc(var(--offset-orthogonal) * -1) 0 var(--ray-size), 0 var(--offset-orthogonal) 0 var(--ray-size), calc(var(--offset-diagonal) * -1) calc(var(--offset-diagonal) * -1) 0 var(--ray-size), var(--offset-diagonal) var(--offset-diagonal) 0 var(--ray-size), calc(var(--offset-diagonal) * -1) var(--offset-diagonal) 0 var(--ray-size), var(--offset-diagonal) calc(var(--offset-diagonal) * -1) 0 var(--ray-size) !important;}.bloglo-header-widgets .bloglo-header-widget .bloglo-darkmode input:hover+.bloglo-darkmode-toogle {color: var(--bloglo-primary);}.bloglo-header-widgets a:not(.bloglo-btn) {color: inherit;}.bloglo-header-widgets .bloglo-header-widget {height: 100%;max-height: 9rem;position: relative;padding-left: 0.8rem;padding-right: 0.8rem;}.bloglo-header-widgets .bloglo-header-widget.bloglo-header-widget__button {padding-left: 1.6rem;padding-right: 1.6rem;}.bloglo-header-widgets .bloglo-header-widget.dropdown-visible .dropdown-item:not(.bloglo-search-container), .bloglo-header-widgets .bloglo-header-widget .bloglo-widget-wrapper.dropdown-visible .dropdown-item, .bloglo-header-widgets .bloglo-header-widget>.bloglo-widget-wrapper:hover .dropdown-item:not(.bloglo-search-container) {opacity: 1;-webkit-transform: translateY(0);-ms-transform: translateY(0);transform: translateY(0);visibility: visible;pointer-events: auto;}.bloglo-header-widgets .bloglo-header-widget:not(.bloglo-header-widget__button, .bloglo-header-widget__socials) .bloglo-icon {height: 2.057rem;width: auto;}.bloglo-header-widgets .bloglo-header-widget:not(.bloglo-header-widget__button, .bloglo-header-widget__socials) .bloglo-icon path {fill: currentColor;fill-rule: evenodd;}body header.site-header div:not(.bloglo-header-widget__button) .bloglo-empty-cart svg.bloglo-icon {width: 100%;height: 8rem;clear: both;}.bloglo-header-widgets .bloglo-cart, .bloglo-header-widgets .bloglo-search {position: relative;}.bloglo-header-widgets .bloglo-cart .bloglo-cart-count {font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;-webkit-box-sizing: content-box;box-sizing: content-box;font-size: 1.1rem;-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;height: 1.9rem;width: 1.9rem;margin-left: -0.6rem;margin-right: -0.6rem;margin-top: -1.5rem;border-radius: 50%;position: relative;line-height: 1;color: var(--bloglo-white);font-weight: 500;letter-spacing: 0;}.bloglo-header-widgets .dropdown-item {width: 28rem;background-color: var(--bloglo-white);-webkit-box-shadow: 0 1rem 3.5rem -0.3rem rgba(0, 0, 0, 0.12);box-shadow: 0 1rem 3.5rem -0.3rem rgba(0, 0, 0, 0.12);border-radius: 0 0 0.3rem 0.3rem;border: 0.1rem solid rgba(190, 190, 190, 0.3);border-top-width: 0.2rem;}.bloglo-header-widgets .dropdown-item:not(.bloglo-search-container) {-webkit-transition: all 0.2s ease-in-out;transition: all 0.2s ease-in-out;visibility: hidden;opacity: 0;-webkit-transform: translateY(0.5rem);-ms-transform: translateY(0.5rem);transform: translateY(0.5rem);z-index: 9991;pointer-events: none;}.bloglo-header-widgets .dropdown-item:not(.bloglo-search-container):hover {opacity: 1;-webkit-transform: translateY(0);-ms-transform: translateY(0);transform: translateY(0);visibility: visible;}.bloglo-header-widget:after {width: 0.1rem;height: 1.6rem;background-color: rgba(190, 190, 190, 0.3);display: inline-block;position: relative;right: -0.5rem;margin: -1.6rem 0 -1.6rem 1rem;}.bloglo-header__separators-regular .bloglo-header-widget, .bloglo-header__separators-slanted .bloglo-header-widget {padding-left: 1rem;padding-right: 1rem;}.bloglo-header__separators-regular .bloglo-header-widget:after, .bloglo-header__separators-slanted .bloglo-header-widget:after {content: "";}.bloglo-header__separators-slanted .bloglo-header-widget:after {-webkit-transform: rotate(20deg);-ms-transform: rotate(20deg);transform: rotate(20deg);}.bloglo-header__separators-slanted .bloglo-header-widget.bloglo-topbar-widget__socials {padding-left: 0.5rem;}.bloglo-header-layout-3 .bloglo-widget-location-left .dropdown-item {right: auto;left: -0.7rem;}.bloglo-header-layout-3 .bloglo-widget-location-left .dropdown-item:after {right: auto;left: 1.6rem;}.bloglo-header-layout-1 .bloglo-logo, .bloglo-header-layout-2 .bloglo-logo {-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.bloglo-header-layout-1 .bloglo-header-widget:last-of-type, .bloglo-header-layout-2 .bloglo-header-widget:last-of-type {padding-right: 0;}.bloglo-header-layout-1 .bloglo-header-widget:last-of-type:after, .bloglo-header-layout-2 .bloglo-header-widget:last-of-type:after {display: none;}.bloglo-header-layout-1 .bloglo-header-container .bloglo-logo {margin-right: auto;}.bloglo-header-layout-1 .bloglo-header-container .bloglo-nav {-ms-flex-negative: 0;flex-shrink: 0;-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;}.bloglo-header-layout-1 .bloglo-header-container .bloglo-nav>ul {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}.bloglo-header-layout-2 .bloglo-header-container .bloglo-logo {margin-right: 3.2rem;}.bloglo-header-layout-2 .bloglo-header-container .bloglo-nav {-webkit-box-flex: 1;-ms-flex: 1;flex: 1;}.bloglo-header-layout-2 .bloglo-header-container .bloglo-header-widgets {margin-left: auto;-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}.bloglo-header-layout-2 .bloglo-header-container .bloglo-header-widgets:last-child {margin-right: 0;}.bloglo-header-layout-2.bloglo-is-mobile .bloglo-header-container .bloglo-header-widgets {margin-left: 0;}.bloglo-header-layout-2.bloglo-is-mobile .bloglo-header-container .bloglo-logo {margin-right: auto;}.bloglo-header-layout-3 .bloglo-header-widget__cart .dropdown-item {right: -1.4rem;}.bloglo-header-layout-3 .bloglo-logo-container>.bloglo-container, .bloglo-header-layout-3 .bloglo-nav-container>.bloglo-container {position: relative;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav>ul>li>a {padding-top: 1.4rem;padding-bottom: 1.4rem;}.bloglo-header-layout-3 .bloglo-logo-container>.bloglo-container {-ms-flex-wrap: nowrap;flex-wrap: nowrap;}.bloglo-header-layout-3 .bloglo-logo-container .bloglo-header-element {-webkit-box-flex: 0;-ms-flex: 0 0 33.33%;flex: 0 0 33.33%;}.bloglo-header-layout-3 .bloglo-logo-container .bloglo-logo {-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;margin: 0 auto;padding: 0;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;}.bloglo-header-layout-3 .bloglo-logo-container .bloglo-logo>.logo-inner {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-left {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;margin-left: 0;margin-right: auto;-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;}.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-left .bloglo-header-widget:first-child {padding-left: 0;margin-left: 0;}.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-left .bloglo-header-widget:last-of-type {padding-right: 0;}.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-left .bloglo-header-widget:last-of-type:after {display: none;}.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-right {-webkit-box-ordinal-group: 4;-ms-flex-order: 3;order: 3;margin-right: 0;margin-left: auto;-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-right .bloglo-header-widget:last-of-type {padding-right: 0;}.bloglo-header-layout-3 .bloglo-logo-container .bloglo-widget-location-right .bloglo-header-widget:last-of-type:after {display: none;}.bloglo-header-layout-3 .bloglo-mobile-nav, .bloglo-header-layout-3 .bloglo-widget-wrapper {padding-top: 1.6rem;padding-bottom: 1.6rem;}.bloglo-header-layout-3 .bloglo-nav-container {position: relative;z-index: 3;border-width: 0;margin-bottom: -0.1rem;}.bloglo-header-layout-4 .bloglo-header-widgets .bloglo-header-widget {max-height: none;}.bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav>ul, .bloglo-header-layout-4 .bloglo-header-widgets .bloglo-header-widget {min-height: 6.2rem;}.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo>.logo-inner, .bloglo-header-layout-4 .bloglo-logo-container>.bloglo-container, .bloglo-header-layout-4 .bloglo-nav-container>.bloglo-container {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: nowrap;flex-wrap: nowrap;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo>.logo-inner {flex-direction: column;-webkit-box-align: start;-ms-flex-align: start;align-items: start;}.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo>.logo-inner .site-description {font-size: 90%;}.bloglo-header-layout-4 .bloglo-widget-location-left .dropdown-item {right: auto;left: -0.7rem;}.bloglo-header-layout-4 .bloglo-widget-location-left .dropdown-item:after {right: auto;left: 1.6rem;}.bloglo-header-layout-4 .bloglo-header-widget__cart .dropdown-item {right: -1.4rem;}.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo {-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;margin-right: auto;}.bloglo-header-layout-4 .bloglo-header-widget:last-of-type {padding-right: 0;}.bloglo-header-layout-4 .bloglo-logo-container .bloglo-widget-location-right:not(.bloglo-header-widgets-two), .bloglo-header-layout-4 .bloglo-header-widget:last-of-type:after {display: none;}.bloglo-header-layout-4 .bloglo-mobile-nav, .bloglo-header-layout-4 .bloglo-widget-wrapper, .bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav>ul>li>a {padding-top: 1rem;padding-bottom: 1rem;}.bloglo-header-layout-4 .bloglo-nav-container>.bloglo-container {position: relative;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav>ul>li {margin-left: 1.6rem;}.bloglo-header-layout-4 .bloglo-nav-container {position: relative;z-index: 3;border-width: 0;margin-bottom: -0.1rem;}.bloglo-header-layout-4 .bloglo-nav-container .bloglo-header-element {-webkit-box-flex: 0;-ms-flex: 0 0 22%;flex: 0 0 22%;}.bloglo-header-layout-4 .bloglo-nav-container .bloglo-nav {-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;margin: 0 auto;padding: 0;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;}.bloglo-header-layout-4 .bloglo-nav-container .bloglo-nav>ul {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-left {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;margin-left: 0;margin-right: auto;-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;}.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-left .bloglo-header-widget:first-child {padding-left: 0;margin-left: 0;}.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-left .bloglo-header-widget:last-of-type {padding-right: 0;}.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-left .bloglo-header-widget:last-of-type:after {display: none;}.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-right {-webkit-box-ordinal-group: 4;-ms-flex-order: 3;order: 3;margin-right: 0;margin-left: auto;-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-right .bloglo-header-widget:last-of-type {padding-right: 0;}.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-right .bloglo-header-widget:last-of-type:after {display: none;}.page-header {position: relative;border-width: 0;}.page-header:empty {display: none;}.page-header>.bloglo-container>div, .page-header>.bloglo-container>nav {z-index: 2;}.page-header.bloglo-has-breadcrumbs.bloglo-align-left .bloglo-page-header-wrapper {padding-right: 3rem;}.page-header.bloglo-has-breadcrumbs.bloglo-align-right .bloglo-page-header-wrapper {padding-left: 3rem;}.page-header .bloglo-page-header-wrapper {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;max-width: 100%;}.page-header .bloglo-page-header-description {font-size: 1.707rem;margin: 0;margin-top: 0.8rem;}.page-header h1.page-title, .page-header .page-title {margin: 0;}.page-header:after {content: "";pointer-events: none;}.bloglo-page-title-align-left .page-header.bloglo-has-page-title .bloglo-page-header-wrapper {margin-right: auto;}.bloglo-page-title-align-right .page-header.bloglo-has-page-title .bloglo-page-header-wrapper {margin-left: auto;-webkit-box-align: end;-ms-flex-align: end;align-items: flex-end;-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;}.bloglo-page-title-align-right .page-header.bloglo-has-page-title .bloglo-breadcrumbs {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;}.bloglo-page-title-align-center .page-header.bloglo-has-page-title>.bloglo-container {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}.bloglo-page-title-align-center .page-header.bloglo-has-page-title>.bloglo-container .bloglo-page-header-wrapper {-webkit-box-align: center;-ms-flex-align: center;align-items: center;width: 100%;}.bloglo-page-title-align-center .page-header.bloglo-has-page-title>.bloglo-container .bloglo-breadcrumbs {text-align: center;width: 100%;}.bloglo-tsp-header #bloglo-header-inner, .bloglo-tsp-header .page-header {background: none;background-color: rgba(0, 0, 0, 0);}.bloglo-tsp-header .site-header {position: relative;}.bloglo-tsp-header #bloglo-header-inner {-webkit-box-shadow: none;box-shadow: none;}.bloglo-tsp-header .page-header {position: relative;z-index: 1;}.bloglo-tsp-header.bloglo-single-title-in-page-header .page-header.bloglo-page-title-has-bg-img:after {background: none;}.bloglo-tsp-header.bloglo-single-title-in-page-header #masthead:before {content: "";pointer-events: none;background-color: #232323;opacity: 0.65;}.bloglo-tsp-absolute .site-header {position: absolute;top: 0;left: 0;right: 0;z-index: 99;background-color: transparent;}body:not(.bloglo-layout__boxed) .bloglo_section_extra .alignfull, body:not(.bloglo-layout__boxed) .bloglo_section_extra .bloglo-fw-section, body:not(.bloglo-layout__boxed).bloglo-no-sidebar .entry-content .alignfull, body:not(.bloglo-layout__boxed).bloglo-no-sidebar .bloglo-fw-section {position: relative;width: 100vw;left: 50%;margin-left: -50vw;max-width: var(--bloglo-screen-width, 100vw);}body.bloglo-layout__boxed .bloglo_section_extra .alignfull, body.bloglo-layout__boxed .bloglo_section_extra .bloglo-fw-section, body.bloglo-layout__boxed.bloglo-no-sidebar .entry-content .alignfull, body.bloglo-layout__boxed.bloglo-no-sidebar .bloglo-fw-section {margin-left: -10rem;margin-right: -10rem;}body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .elementor-section.elementor-section-stretched, body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .entry-content .alignfull, body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .bloglo-fw-section {left: 0 !important;width: auto !important;max-width: unset;margin-left: -3rem !important;margin-right: -3rem !important;}.bloglo-layout__boxed .bloglo_section_extra .alignfull, .bloglo-layout__boxed .bloglo_section_extra .bloglo-fw-section, .bloglo-layout__boxed.bloglo-no-sidebar .elementor-section.elementor-section-stretched, .bloglo-layout__boxed.bloglo-no-sidebar .entry-content .alignfull, .bloglo-layout__boxed.bloglo-no-sidebar .bloglo-fw-section {left: 0 !important;width: auto !important;margin-left: -10rem !important;margin-right: -10rem !important;}.bloglo-layout__boxed.page-template-elementor_header_footer .elementor-section.elementor-section-stretched, .bloglo-layout__boxed.page-template-elementor_header_footer .entry-content .alignfull, .bloglo-layout__boxed.page-template-elementor_header_footer .bloglo-fw-section, .bloglo-layout__boxed.page-template-template-bloglo-fullwidth .elementor-section.elementor-section-stretched, .bloglo-layout__boxed.page-template-template-bloglo-fullwidth .entry-content .alignfull, .bloglo-layout__boxed.page-template-template-bloglo-fullwidth .bloglo-fw-section {left: 0 !important;width: auto !important;margin-left: 0 !important;margin-right: 0 !important;}.bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .elementor-section.elementor-section-stretched, .bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .entry-content .alignfull, .bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .bloglo-fw-section {margin-left: 0 !important;margin-right: 0 !important;left: 0 !important;max-width: 100%;}body:not(.bloglo-has-sidebar):not(.bloglo-single-title-in-content) #content .entry-content>.alignfull:first-child {margin-top: -5rem;}body:not(.bloglo-has-sidebar):not(.bloglo-single-title-in-content):not(.comments-open) #content .entry-content>.alignfull:last-child {margin-bottom: -7rem;}.wp-block-group.alignfull.has-background {padding-left: 0;padding-right: 0;}#page .alignfull .alignfull {margin-left: 0 !important;margin-right: 0 !important;left: 0 !important;}#hero {position: relative;z-index: 1;}.bloglo-horizontal-slider .horizontal-slider-items.swiper, .bloglo-vertical-slider .vertical-slider-items.swiper {padding-bottom: 1.6rem;}.bloglo-vertical-slider, .bloglo-horizontal-slider, .bloglo-hover-slider {position: relative;overflow: hidden;}.bloglo-hover-slider {background-color: var(--bloglo-secondary);}.bloglo-hover-slider .hover-slider-backgrounds {opacity: 0;-webkit-transform: scale(1.3);-ms-transform: scale(1.3);transform: scale(1.3);backface-visibility: hidden;-webkit-backface-visibility: hidden;-webkit-transition: all 0.7s ease-in-out;transition: all 0.7s ease-in-out;z-index: 1;will-change: scale;}.bloglo-hover-slider .hover-slider-backgrounds.loaded {opacity: 1;-webkit-transform: scale(1);-ms-transform: scale(1);transform: scale(1);}.bloglo-hover-slider .hover-slide-bg {z-index: 1;opacity: 0;background-size: cover;background-position: center center;background-repeat: no-repeat;-webkit-transition: opacity 0.25s ease-in-out;transition: opacity 0.25s ease-in-out;-webkit-transition-delay: 0.1s;transition-delay: 0.1s;-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);will-change: opacity;}.bloglo-hover-slider .hover-slide-bg.active {opacity: 1;z-index: 2;}.bloglo-hover-slider.slider-overlay-1 .hover-slider-backgrounds:after {content: "";background-color: #232323;opacity: 0.65;z-index: 3;}.bloglo-hover-slider.slider-overlay-2 .hover-slider-backgrounds:after {content: "";width: 100%;height: 70%;position: absolute;bottom: 0;left: 0;z-index: 2;background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(1%, rgba(35, 40, 45, 0)), color-stop(20%, rgba(35, 40, 45, 0.05)), color-stop(40%, rgba(35, 40, 45, 0.15)), color-stop(60%, rgba(35, 40, 45, 0.55)), to(rgba(0, 0, 0, 0.65)));background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(35, 40, 45, 0) 1%, rgba(35, 40, 45, 0.05) 20%, rgba(35, 40, 45, 0.15) 40%, rgba(35, 40, 45, 0.55) 60%, rgba(0, 0, 0, 0.65) 100%);}.bloglo-vertical-slider .bloglo-container, .bloglo-vertical-slider .bloglo-container__wide, .bloglo-horizontal-slider .bloglo-container, .bloglo-horizontal-slider .bloglo-container__wide, .bloglo-hover-slider .bloglo-hero-container {position: relative;z-index: 2;}.bloglo-vertical-slider .bloglo-spinner, .bloglo-horizontal-slider .bloglo-spinner, .bloglo-hover-slider .bloglo-spinner {position: absolute;top: 50%;left: 50%;margin-top: -2rem;margin-left: -2rem;-webkit-transform: scale(1);-ms-transform: scale(1);transform: scale(1);z-index: 1;}.bloglo-hover-slider .hover-slide-item {position: relative;-webkit-box-align: end;-ms-flex-align: end;align-items: flex-end;color: var(--bloglo-white);}.bloglo-hover-slider .hover-slide-item .entry-meta .entry-meta-elements>span:before {background: rgba(255, 255, 255, 0.4);}.bloglo-hover-slider .hover-slider-items>div {border-right: 0.1rem solid rgba(255, 255, 255, 0.2);}.bloglo-hover-slider .hover-slider-items>div:last-child {border-right: 0;}.bloglo-hover-slider .hover-slider-items>div:last-child .slide-inner {margin-right: 0;}.bloglo-hover-slider .hover-slider-items>div:first-child .slide-inner {margin-left: 0;}.bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner {-webkit-transform: translate3d(0, -9rem, 0);transform: translate3d(0, -9rem, 0);}.bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner .read-more {-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);opacity: 1;}.bloglo-hover-slider .slide-inner {position: absolute;bottom: 2.5rem;left: 0;right: 0;margin: 0 1rem;-webkit-transition: all 0.25s cubic-bezier(0.05, 0.2, 0.1, 1);transition: all 0.25s cubic-bezier(0.05, 0.2, 0.1, 1);-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);max-width: 55rem;}.bloglo-hover-slider .slide-inner h3 {margin-bottom: 0.2rem;color: #fff;}.bloglo-hover-slider .slide-inner h3 a {color: inherit;}.bloglo-hover-slider .slide-inner h3 a:hover {text-decoration: underline;}.bloglo-hover-slider .slide-inner .post-category {text-align: start;}.bloglo-hover-slider .slide-inner .read-more {font-size: 75% !important;position: absolute;-webkit-transform: translate3d(0, 2rem, 0);transform: translate3d(0, 2rem, 0);left: 0;opacity: 0;top: 100%;margin-top: 3rem;border: 0.2rem solid #fff;color: #fff;-webkit-transition: all 0.15s cubic-bezier(0.05, 0.2, 0.1, 1);transition: all 0.15s cubic-bezier(0.05, 0.2, 0.1, 1);}.bloglo-hover-slider .slide-inner .read-more:hover {background: #fff;color: #232323;}.bloglo-hover-slider .entry-meta {text-align: left !important;color: rgba(255, 255, 255, 0.7);}.bloglo-hover-slider .entry-meta .entry-meta-elements>span:first-child {padding-left: 0 !important;}.bloglo-hover-slider .entry-meta .entry-meta-elements>span:before {opacity: 0.75;}.site .bloglo-hover-slider .entry-meta a:hover {color: #fff;}@-webkit-keyframes bloglo-kenburns {0% {-webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);transform: scale3d(1, 1, 1) translate3d(0, 0, 0);-webkit-animation-timing-function: ease-in;animation-timing-function: ease-in;}50% {-webkit-transform: scale3d(1.42, 1.42, 1.42) translate3d(0, 0, 0);transform: scale3d(1.42, 1.42, 1.42) translate3d(0, 0, 0);}100% {-webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);transform: scale3d(1, 1, 1) translate3d(0, 0, 0);}}@keyframes bloglo-kenburns {0% {-webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);transform: scale3d(1, 1, 1) translate3d(0, 0, 0);-webkit-animation-timing-function: ease-in;animation-timing-function: ease-in;}50% {-webkit-transform: scale3d(1.42, 1.42, 1.42) translate3d(0, 0, 0);transform: scale3d(1.42, 1.42, 1.42) translate3d(0, 0, 0);}100% {-webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);transform: scale3d(1, 1, 1) translate3d(0, 0, 0);}}.bloglo-blog-horizontal .bloglo-horizontal-slider .bloglo-article .entry-media, .bloglo-blog-layout-1 .bloglo-vertical-slider .bloglo-article .entry-media {-webkit-box-shadow: none;box-shadow: none;}.bloglo-vertical-slider .bloglo-article:not(.format-quote), .bloglo-horizontal-slider .bloglo-article:not(.format-quote) {margin: 1.6rem;}.bloglo-horizontal-slider .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .post-gallery.entry-media, .bloglo-horizontal-slider .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .entry-media {-ms-flex-preferred-size: 50% !important;flex-basis: 50% !important;}.bloglo-vertical-slider a:not(.bloglo-btn, .wp-block-button__link, .page-numbers), .bloglo-horizontal-slider a:not(.bloglo-btn, .wp-block-button__link, .page-numbers) {color: var(--bloglo-primary);}.bloglo-vertical-slider a:not(.bloglo-btn):not(.wp-block-button__link):hover, .using-keyboard .bloglo-vertical-slider a:not(.bloglo-btn):not(.wp-block-button__link):focus, .bloglo-horizontal-slider a:not(.bloglo-btn):not(.wp-block-button__link):hover, .using-keyboard .bloglo-horizontal-slider a:not(.bloglo-btn):not(.wp-block-button__link):focus {color: var(--bloglo-secondary);}.bloglo-vertical-slider .entry-header .entry-title a, .bloglo-horizontal-slider .entry-header .entry-title a {color: inherit;}.bloglo-vertical-slider .entry-header .entry-title a:hover, .using-keyboard .bloglo-vertical-slider .entry-header .entry-title a:focus, .bloglo-horizontal-slider .entry-header .entry-title a:hover, .using-keyboard .bloglo-horizontal-slider .entry-header .entry-title a:focus {color: var(--bloglo-primary);}.bloglo-vertical-slider .bloglo-entry-content-wrapper .bloglo-btn.btn-text-1, .bloglo-horizontal-slider .bloglo-entry-content-wrapper .bloglo-btn.btn-text-1 {font-size: 1.5rem;}.bloglo-vertical-slider .bloglo-entry-content-wrapper .bloglo-btn.btn-text-1::after, .bloglo-horizontal-slider .bloglo-entry-content-wrapper .bloglo-btn.btn-text-1::after {content: "\f105";color: inherit;font-family: "Font Awesome 5 Free";margin-left: 0.8rem;margin-top: 0.5rem;}.bloglo-vertical-slider .horizontal-slider-items, .bloglo-horizontal-slider .horizontal-slider-items {padding: 1rem 1rem 1.8rem;}.bloglo-vertical-slider .swiper-button-prev, .bloglo-vertical-slider .swiper-button-next, .bloglo-horizontal-slider .swiper-button-prev, .bloglo-horizontal-slider .swiper-button-next {width: 5rem;height: 5rem;}.bloglo-post-gallery .swiper-button-prev, .bloglo-post-gallery .swiper-button-next, .bloglo-vertical-slider .swiper-button-prev, .bloglo-vertical-slider .swiper-button-next, .bloglo-horizontal-slider .swiper-button-prev, .bloglo-horizontal-slider .swiper-button-next {border-radius: 50%;outline: none;border: 0.1rem solid transparent;color: var(--bloglo-secondary);background-color: var(--bloglo-white);box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);}.bloglo-post-gallery .swiper-button-prev:hover, .bloglo-post-gallery .swiper-button-next:hover, .bloglo-vertical-slider .swiper-button-prev:hover, .bloglo-vertical-slider .swiper-button-next:hover, .bloglo-horizontal-slider .swiper-button-prev:hover, .bloglo-horizontal-slider .swiper-button-next:hover {color: var(--bloglo-white);background-color: var(--bloglo-secondary);box-shadow: rgba(0, 0, 0, 0.09) 0 0 1.5rem 0;}.bloglo-vertical-slider .swiper-button-prev, .bloglo-horizontal-slider .swiper-button-prev {left: 0.58rem;}.bloglo-vertical-slider .swiper-button-next, .bloglo-horizontal-slider .swiper-button-next {right: 0.58rem;}.bloglo-post-gallery .swiper-button-prev::after, .bloglo-vertical-slider .swiper-button-prev::after, .bloglo-horizontal-slider .swiper-button-prev::after {content: "\f104";}.bloglo-post-gallery .swiper-button-next::after, .bloglo-vertical-slider .swiper-button-next::after, .bloglo-horizontal-slider .swiper-button-next::after {content: "\f105";}.bloglo-post-gallery .swiper-button-prev::after, .bloglo-post-gallery .swiper-button-next::after, .bloglo-vertical-slider .swiper-button-prev::after, .bloglo-vertical-slider .swiper-button-next::after, .bloglo-horizontal-slider .swiper-button-prev::after, .bloglo-horizontal-slider .swiper-button-next::after {font-size: 2rem;font-weight: bolder;color: inherit;font-family: "Font Awesome 5 Free";}#hero .bloglo-grid-row {display: grid;grid-template-columns: auto auto;grid-gap: 0.5rem;padding: 0;}.hero-eight-slider .hover-slider-backgrounds, .hero-seven-slider .hover-slider-backgrounds, .hero-six-slider .hover-slider-backgrounds, .hero-five-slider .hover-slider-backgrounds, .hero-four-slider .hover-slider-backgrounds {display: none;}.hero-eight-slider .bloglo-hover-slider, .hero-seven-slider .bloglo-hover-slider, .hero-six-slider .bloglo-hover-slider, .hero-five-slider .bloglo-hover-slider, .hero-four-slider .bloglo-hover-slider {background: none;}#hero .hero-four-slider .bloglo-grid-row .hover-slider-item-wrapper:first-child {grid-area: 1 / 1 / span 2 / span 2;}#hero .hero-six-slider .bloglo-grid-row {grid-template-columns: auto;}@media screen and (max-width: 960px) {#hero .bloglo-grid-row {grid-template-columns: auto;}#hero .hero-four-slider .bloglo-grid-row .hover-slider-item-wrapper:first-child {grid-area: unset;}}.hero-eight-slider .bloglo-hover-slider .hover-slider-item-wrapper, .hero-seven-slider .bloglo-hover-slider .hover-slider-item-wrapper, .hero-six-slider .bloglo-hover-slider .hover-slider-item-wrapper, .hero-five-slider .bloglo-hover-slider .hover-slider-item-wrapper, .hero-four-slider .bloglo-hover-slider .hover-slider-item-wrapper {position: relative;background-color: #232323;background-image: var(--bg-image);background-size: cover;background-position: center center;background-repeat: no-repeat;border-radius: var(--bloglo-normal-radius);overflow: hidden;border-right: none;margin-bottom: 0;}.hero-eight-slider .bloglo-hover-slider .hover-slider-item-wrapper:after, .hero-seven-slider .bloglo-hover-slider .hover-slider-item-wrapper:after, .hero-six-slider .bloglo-hover-slider .hover-slider-item-wrapper:after, .hero-five-slider .bloglo-hover-slider .hover-slider-item-wrapper:after, .hero-four-slider .bloglo-hover-slider .hover-slider-item-wrapper:after {position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: "";background-color: #232323;opacity: 0.65;z-index: 3;}.hero-eight-slider .bloglo-hover-slider .hover-slide-item, .hero-seven-slider .bloglo-hover-slider .hover-slide-item, .hero-six-slider .bloglo-hover-slider .hover-slide-item, .hero-five-slider .bloglo-hover-slider .hover-slide-item, .hero-four-slider .bloglo-hover-slider .hover-slide-item {padding: 2.5rem;min-height: 23.5rem;z-index: 4;-webkit-box-pack: flex-start;-ms-flex-pack: flex-start;justify-content: flex-start;}.hero-eight-slider .bloglo-hover-slider .hover-slide-item .slide-inner, .hero-seven-slider .bloglo-hover-slider .hover-slide-item .slide-inner, .hero-six-slider .bloglo-hover-slider .hover-slide-item .slide-inner, .hero-five-slider .bloglo-hover-slider .hover-slide-item .slide-inner, .hero-four-slider .bloglo-hover-slider .hover-slide-item .slide-inner {position: relative;bottom: 0;max-width: 100%;padding: 0;margin: 0;text-align: left;}.hero-eight-slider .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner, .hero-seven-slider .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner, .hero-six-slider .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner, .hero-five-slider .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner, .hero-four-slider .bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner {-webkit-transform: none;-ms-transform: none;transform: none;}.hero-eight-slider .bloglo-hover-slider .hover-slide-item .slide-inner h3, .hero-seven-slider .bloglo-hover-slider .hover-slide-item .slide-inner h3, .hero-six-slider .bloglo-hover-slider .hover-slide-item .slide-inner h3, .hero-five-slider .bloglo-hover-slider .hover-slide-item .slide-inner h3, .hero-four-slider .bloglo-hover-slider .hover-slide-item .slide-inner h3 {font-size: 2rem;letter-spacing: 0.04rem;}.hero-eight-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category, .hero-seven-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category, .hero-six-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category, .hero-five-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category, .hero-four-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category {text-align: start;}.hero-eight-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item, .hero-seven-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item, .hero-six-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item, .hero-five-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item, .hero-four-slider .bloglo-hover-slider .hover-slider-items>div .hover-slide-item, .hero-eight-slider .bloglo-hover-slider .entry-meta .entry-meta-elements, .hero-seven-slider .bloglo-hover-slider .entry-meta .entry-meta-elements, .hero-six-slider .bloglo-hover-slider .entry-meta .entry-meta-elements, .hero-five-slider .bloglo-hover-slider .entry-meta .entry-meta-elements, .hero-four-slider .bloglo-hover-slider .entry-meta .entry-meta-elements {-webkit-box-pack: flex-start;-ms-flex-pack: flex-start;justify-content: flex-start;}.hero-eight-slider .bloglo-hover-slider .hover-slide-item .slide-inner .read-more, .hero-seven-slider .bloglo-hover-slider .hover-slide-item .slide-inner .read-more, .hero-six-slider .bloglo-hover-slider .hover-slide-item .slide-inner .read-more, .hero-five-slider .bloglo-hover-slider .hover-slide-item .slide-inner .read-more, .hero-four-slider .bloglo-hover-slider .hover-slide-item .slide-inner .read-more {position: static;opacity: 1;-webkit-transform: translate3d(0, 0, 0) !important;transform: translate3d(0, 0, 0) !important;}.bloglo-header-widgets .bloglo-search-simple .bloglo-form-label {display: block;width: 100%;}.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form input {background-color: rgba(0, 0, 0, 0) !important;}.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form input {font-size: 1.5rem;color: var(--bloglo-secondary);display: block;width: 100%;padding: 1.6rem 4.5rem 1.6rem 2rem;}.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button {position: absolute;top: 0;bottom: 0;width: 3.2rem;height: 3.2rem;padding: 0.8rem;border-radius: 10rem;margin: auto 0;cursor: pointer;}.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button:not(.bloglo-search-close) {right: 5.6rem;color: var(--bloglo-white);background-color: var(--bloglo-primary);}.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button:not(.bloglo-search-close) svg {fill: currentColor;}.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close {right: 1.6rem;}.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close svg {display: inline-block;vertical-align: middle;}.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close svg, .bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close svg path {-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);}.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close:hover svg, .using-keyboard .bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close:focus svg {-webkit-transform: rotate(180deg);transform: rotate(180deg);}.bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close:hover svg path, .using-keyboard .bloglo-header-widgets .bloglo-search-simple .bloglo-search-form .bloglo-search-close:focus svg path {fill: var(--bloglo-primary);}.bloglo-search-simple {opacity: 0;visibility: hidden;-webkit-transform: translateY(0.5rem);-ms-transform: translateY(0.5rem);transform: translateY(0.5rem);-webkit-transition: all 0.2s ease-in-out;transition: all 0.2s ease-in-out;}.bloglo-search-visible .bloglo-search-simple {visibility: visible;opacity: 1;-webkit-transform: translateY(0);-ms-transform: translateY(0);transform: translateY(0);}#main .search-form, #colophon .search-form {max-width: 36rem;}#main .search-form>div, #colophon .search-form>div {display: block;position: relative;}#colophon .search-form .search-submit, #main .search-form .search-submit {position: absolute;top: 0;right: 0.8rem;bottom: 0;width: 3.5rem;height: 3.5rem;background-color: var(--bloglo-primary);color: var(--bloglo-white);margin: auto;border-radius: var(--bloglo-full-radius);}#colophon .search-form .search-submit:hover, #main .search-form .search-submit:hover {cursor: pointer;}#colophon .search-form .search-submit svg, #main .search-form .search-submit svg {height: 2.056rem;width: auto;top: -0.1rem;vertical-align: middle;}#colophon .search-form .search-field, #main .search-form .search-field {display: block;width: 100%;padding-right: 4.5rem;border-radius: var(--bloglo-full-radius);border-width: 0.1rem;box-shadow: -0.32rem 0 3.2rem -1.6rem rgba(0, 0, 0, 0.15);}.wp-block-search input[type="search"] {min-height: 4rem;}#colophon .search-form .search-field:focus, #main .search-form .search-field:focus {outline: none;}#main .error-404 .search-form {margin-left: auto;margin-right: auto;}.wp-block-search .wp-block-search__button {background-color: var(--bloglo-primary);border-color: var(--bloglo-primary);color: var(--bloglo-white);cursor: pointer;}.wp-block-search .wp-block-search__button svg {fill: currentColor;}.using-keyboard .wp-block-search .wp-block-search__button:focus {outline: 0.1rem dotted;outline-offset: -0.4rem;}.wp-block-search .wp-block-search__label {margin-bottom: 1.2rem;}.bloglo-logo {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}.bloglo-logo .site-description, .bloglo-logo .site-title {margin: 0;}.bloglo-logo a {-webkit-transition: color 0.2s linear;transition: color 0.2s linear;}.bloglo-logo a img {display: block;width: auto;height: auto;max-width: 100%;}.bloglo-logo a img.bloglo-svg-logo {max-width: 100% !important;}.bloglo-logo .site-description {-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;margin-top: 0.4rem;}.bloglo-nav .children li.current_page_ancestor>a, .bloglo-nav .children li.current_page_item>a, .bloglo-nav .children li:hover>a, .bloglo-nav .sub-menu li.current-menu-ancestor>a, .bloglo-nav .sub-menu li.current-menu-item>a, .bloglo-nav .sub-menu li:hover>a {color: #232323 !important;background-color: rgba(0, 0, 0, 0.05);}.bloglo-nav {max-width: 100%;-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-font-smoothing: antialiased;-ms-flex-preferred-size: auto;flex-basis: auto;}.bloglo-nav>ul {width: 100%;height: 100%;}.bloglo-nav>ul, .bloglo-nav>ul>li {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;}.bloglo-nav>ul>li {position: relative;-ms-flex-align: center;align-items: center;-ms-flex-negative: 0;flex-shrink: 0;margin-left: 1.6rem;}.bloglo-nav>ul>li:first-child, .bloglo-nav>ul>li:first-of-type {margin-left: 0 !important;}.bloglo-nav>ul>li>a {display: block;-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-ms-flex-wrap: wrap;flex-wrap: wrap;position: relative;}.bloglo-nav>ul>li:last-child {margin-right: 0 !important;}.bloglo-nav>ul>li.opens-left>.children, .bloglo-nav>ul>li.opens-left>.sub-menu {left: auto;right: 0;}.bloglo-nav>ul>li.opens-right>.children, .bloglo-nav>ul>li.opens-right>.sub-menu {right: auto;left: -2.856rem;}.bloglo-nav li:hover .children, .bloglo-nav li:hover .sub-menu {-webkit-transition: all 0.2s;transition: all 0.2s;}.bloglo-nav .sub-menu {color: var(--bloglo-secondary);}.bloglo-nav .large-dropdown>.sub-menu {min-width: 31rem;}.bloglo-nav .children, .bloglo-nav .sub-menu {position: absolute;top: 100%;left: -2.856rem;min-width: 23rem;visibility: hidden;opacity: 0;background-color: var(--bloglo-white);border: 0 solid rgba(190, 190, 190, 0.3);border-top-width: 0.2rem;border-top-style: solid;padding: 0.5rem 0;line-height: 1.5;text-align: left;-webkit-transform: translateY(1rem);-ms-transform: translateY(1rem);transform: translateY(1rem);-webkit-transition: all 0.25s;transition: all 0.25s;z-index: 998;border-radius: 0 0 0.3rem 0.3rem;-webkit-box-shadow: 0 1.5rem 3rem -0.5rem rgba(0, 0, 0, 0.07);box-shadow: 0 1.5rem 3rem -0.5rem rgba(0, 0, 0, 0.07);pointer-events: none;font-size: 1.6rem;}.bloglo-nav .children li, .bloglo-nav .sub-menu li {position: relative;padding-left: 0.5rem;padding-right: 0.5rem;}.bloglo-nav .children li a, .bloglo-nav .sub-menu li a {font-weight: 400;display: block;padding: 1.2rem 1.62rem;letter-spacing: 0;position: relative;}.bloglo-nav .children li a:hover, .bloglo-nav .sub-menu li a:hover {color: #000;}.bloglo-nav .children li:last-child a, .bloglo-nav .sub-menu li:last-child a {border-bottom: none;}.bloglo-nav .children li.opens-left .children, .bloglo-nav .children li.opens-left .sub-menu, .bloglo-nav .sub-menu li.opens-left .children, .bloglo-nav .sub-menu li.opens-left .sub-menu {left: auto;right: 100%;margin-left: 0;margin-right: 0.5rem;}.bloglo-nav .children li.opens-left .children:before, .bloglo-nav .children li.opens-left .sub-menu:before, .bloglo-nav .sub-menu li.opens-left .children:before, .bloglo-nav .sub-menu li.opens-left .sub-menu:before {left: auto;right: -0.5rem;}.bloglo-nav .children li.opens-right .children, .bloglo-nav .children li.opens-right .sub-menu, .bloglo-nav .sub-menu li.opens-right .children, .bloglo-nav .sub-menu li.opens-right .sub-menu {right: auto;left: 100%;margin-right: 0;margin-left: 0.5rem;}.bloglo-nav .children li.opens-right .children:before, .bloglo-nav .children li.opens-right .sub-menu:before, .bloglo-nav .sub-menu li.opens-right .children:before, .bloglo-nav .sub-menu li.opens-right .sub-menu:before {left: auto;right: -0.5rem;}.bloglo-nav .children .children, .bloglo-nav .children .sub-menu, .bloglo-nav .sub-menu .children, .bloglo-nav .sub-menu .sub-menu {border-radius: var(--bloglo-normal-radius);left: 100%;top: -0.2rem;margin-left: 0.5rem;}.bloglo-nav .children .children:before, .bloglo-nav .children .sub-menu:before, .bloglo-nav .sub-menu .children:before, .bloglo-nav .sub-menu .sub-menu:before {content: "";position: absolute;z-index: 1;width: 0.5rem;top: 0;left: -0.5rem;height: 100%;}html body #bloglo-header-inner .bloglo-nav ul li span.description {display: block;font-size: 1.2rem;color: inherit;opacity: 0.6;line-height: 1.4;-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;}html body #bloglo-header-inner .bloglo-nav>ul>li>a>span>span.description {color: var(--bloglo-secondary);margin-top: -3px;}.bloglo-nav .menu-item-has-children.hovered>.sub-menu, .bloglo-nav .menu-item-has-children:hover>.sub-menu, .using-keyboard .bloglo-nav .menu-item-has-children a:focus+.sub-menu, .bloglo-nav .page_item_has_children.hovered>.children, .bloglo-nav .page_item_has_children:hover>.children, .using-keyboard .bloglo-nav .page_item_has_children a:focus+.children {visibility: visible;opacity: 1;-webkit-transform: translateY(0);-ms-transform: translateY(0);transform: translateY(0);pointer-events: auto;z-index: 999;}.bloglo-nav .menu-item-has-children>a>.bloglo-icon, .bloglo-nav .page_item_has_children>a>.bloglo-icon {height: 1.92rem;margin-left: 0.4rem;margin-right: 0;}.bloglo-nav .children .page_item_has_children>a>.bloglo-icon, .bloglo-nav .sub-menu .menu-item-has-children>a>.bloglo-icon {position: absolute;right: 1.3rem;top: 45%;-webkit-transform: translateY(-50%) rotate(-90deg);-ms-transform: translateY(-50%) rotate(-90deg);transform: translateY(-50%) rotate(-90deg);}#bloglo-header-inner .bloglo-nav>ul>.menu-item-has-children>a:after, #bloglo-header-inner .bloglo-nav>ul>.page_item_has_children>a:after, #bloglo-topbar .bloglo-nav>ul>.menu-item-has-children>a:after, #bloglo-topbar .bloglo-nav>ul>.page_item_has_children>a:after {top: 0.24rem;}.bloglo-mobile-toggen {display: none;}#bloglo-topbar .bloglo-nav, .bloglo-topbar-widget__nav {height: auto;}#bloglo-header-inner .bloglo-nav>ul {min-height: 9rem;}#bloglo-header-inner .bloglo-nav>ul>li {margin-left: 2.8rem;}@media screen and (min-width: 60.063em) and (max-width: 64.375em) {#bloglo-header-inner .bloglo-nav>ul>li {margin-left: 2rem;}}#bloglo-header-inner .bloglo-nav>ul>li>a {font-size: inherit;font-weight: 500;}#bloglo-copyright .bloglo-nav>ul>li {margin-left: 1.6rem;}#bloglo-copyright .bloglo-nav>ul>li:first-child {margin-left: 0;}#bloglo-copyright .bloglo-nav .sub-menu a {color: #232323;}#bloglo-copyright .bloglo-nav>ul>li>.sub-menu {bottom: 100%;}#bloglo-copyright .bloglo-nav>ul>li>.sub-menu .sub-menu {bottom: 0 !important;margin-bottom: -1rem;}#bloglo-copyright .bloglo-nav>ul .sub-menu {top: auto !important;-webkit-transform: none;-ms-transform: none;transform: none;margin-bottom: 1.6rem;border-radius: var(--bloglo-normal-radius);}#bloglo-copyright .bloglo-nav>ul .sub-menu a:before {display: none;}#bloglo-copyright .bloglo-nav>ul>li.menu-item-has-children li.menu-item-has-children.hovered>.sub-menu, #bloglo-copyright .bloglo-nav>ul>li.menu-item-has-children li.menu-item-has-children:hover>.sub-menu {bottom: auto;top: -1rem;}#bloglo-copyright .bloglo-nav>ul>li.menu-item-has-children>a:after {position: relative;-webkit-transform: rotate(180deg);-ms-transform: rotate(180deg);transform: rotate(180deg);top: 0.1rem;}#bloglo-copyright .bloglo-nav>ul>li.menu-item-has-children:after {content: "";position: absolute;width: 100%;left: 0;top: -1rem;height: 1rem;}#bloglo-copyright .bloglo-nav>ul>li>a {padding-top: 0;padding-bottom: 0;}.bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a>span {padding: 0.2rem 0;}.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a>span, .bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a>span {position: relative;}.bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li.menu-item-has-children:hover>a>span:before, .bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li.page_item_has_children:hover>a>span:before, .bloglo-menu-animation-underline #bloglo-copyright .bloglo-nav>ul>li>a:hover>span:before, .bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li.current-menu-item>a>span:before, .bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li.current_page_item>a>span:before, .bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:hover>a>span:before, .bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li.page_item_has_children:hover>a>span:before, .bloglo-menu-animation-underline #bloglo-header-inner .bloglo-nav>ul>li>a:hover>span:before {-webkit-transform-origin: left center;-ms-transform-origin: left center;transform-origin: left center;-webkit-transform: scale(1, 1);-ms-transform: scale(1, 1);transform: scale(1, 1);}.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li {margin-left: 0.1rem;}.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a {padding: 0.6rem 1.4rem;}body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a:hover, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li>a:focus, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:hover>a, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:focus>a, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current-menu-item>a, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current-menu-ancestor>a, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.page_item_has_children:hover>a, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current_page_item>a, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current_page_ancestor>a, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li>a:hover, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile).using-keyboard #bloglo-topbar .bloglo-nav>ul>li>a:focus, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.menu-item-has-children:hover>a, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.current-menu-item>a, body.bloglo-menu-animation-squarebox:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.current-menu-ancestor>a {background-color: var(--bloglo-primary);color: #fff;}.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li {margin-left: 1.5rem;}.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a {padding: 0.6rem 1.4rem;border: 0.1rem solid transparent;}.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a:hover, .bloglo-menu-animation-squareborder:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li>a:focus, .bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:hover>a, .bloglo-menu-animation-squareborder:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:focus>a, .bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.page_item_has_children:hover>a, .bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li>a:hover, .bloglo-menu-animation-squareborder:not(.bloglo-is-mobile).using-keyboard #bloglo-topbar .bloglo-nav>ul>li>a:focus, .bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.menu-item-has-children:hover>a {border-color: var(--bloglo-primary);}.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a {height: 100%;}.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav:hover>ul>li>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile).using-keyboard #bloglo-topbar .bloglo-nav:focus-within>ul>li>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav:hover>ul>li>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav:focus-within>ul>li>a {opacity: 0.35;}.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li>a:hover, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li>a:focus, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:hover>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile).using-keyboard #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:focus>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.page_item_has_children:hover>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li>a:hover, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile).using-keyboard #bloglo-topbar .bloglo-nav>ul>li>a:focus, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.menu-item-has-children:hover>a {opacity: 1;}.bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current-menu-item>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current-menu-ancestor>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current_page_item>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav>ul>li.current_page_ancestor>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.current-menu-item>a, .bloglo-menu-animation-focusmenu:not(.bloglo-is-mobile) #bloglo-topbar .bloglo-nav>ul>li.current-menu-ancestor>a {opacity: 0.8;}.bloglo-sticky-sidebar {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.bloglo-sticky-sidebar .bloglo-sidebar-inner {backface-visibility: hidden;-webkit-backface-visibility: hidden;position: -webkit-sticky;position: sticky;top: var(--bloglo-sticky-h-offset, 2rem);}.bloglo-sticky-sidebar.admin-bar .bloglo-sidebar-inner {top: calc(var(--bloglo-sticky-h-offset, 2rem) + 32px);}.bloglo-sticky-last-widget #secondary .bloglo-sidebar-inner {height: 100%;}.bloglo-sticky-last-widget #secondary .bloglo-sidebar-inner>.widget:last-child {position: -webkit-sticky;position: sticky;top: var(--bloglo-sticky-h-offset, 2rem);}.bloglo-sticky-last-widget.admin-bar #secondary .bloglo-sidebar-inner>.widget:last-child {top: calc(var(--bloglo-sticky-h-offset, 2rem) + 32px);}.bloglo-no-sidebar #primary, .bloglo-sidebar-position__no-sidebar #primary {width: 100%;}#primary, #secondary {margin-top: 5rem;margin-bottom: 7rem;}.is-section-heading-init-s2 #featured_links .bloglo-featured-items .widget-title {margin-bottom: 2.5rem;}.is-section-heading-init-s1 .bloglo-featured-items .widget-title, .is-section-heading-init-s2:not(.bloglo-sidebar-style-1) .pyml-slider-items .widget-title, .is-section-heading-init-s1 .pyml-slider-items .widget-title, .bloglo-sidebar-style-3:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .wp-block-search .wp-block-search__label, .bloglo-sidebar-style-2:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .wp-block-search .wp-block-search__label, .bloglo-sidebar-style-3:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .wp-block-heading, .bloglo-sidebar-style-2:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .wp-block-heading, .bloglo-sidebar-style-3:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .widget-title, .bloglo-sidebar-style-2:not(.is-section-heading-init-s2, .is-section-heading-init-s0) #secondary .widget-title {padding-bottom: 2rem;margin-bottom: 2.5rem;}.is-section-heading-init-s1 .bloglo-featured-items .widget-title::before, .is-section-heading-init-s1 .bloglo-featured-items .widget-title::after, .is-section-heading-init-s1 .pyml-slider-items .widget-title::before, .is-section-heading-init-s1 .pyml-slider-items .widget-title::after, .is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .wp-block-search .wp-block-search__label::before, .is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .wp-block-search .wp-block-search__label::after, .is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .wp-block-heading::before, .is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .wp-block-heading::after, .is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .widget-title::before, .is-section-heading-init-s1:not(.bloglo-sidebar-style-1) #secondary .widget-title::after {content: "";position: absolute;bottom: 0;height: 0.2rem;background-color: var(--bloglo-primary);z-index: 1;}.is-section-heading-init-s1 .bloglo-featured-items .widget-title::before, .is-section-heading-init-s1 .pyml-slider-items .widget-title::before, .bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label::before, .bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .wp-block-heading::before, .bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .widget-title::before {width: 6rem;left: 0;}.is-section-heading-init-s1 .bloglo-featured-items .widget-title::after, .is-section-heading-init-s1 .pyml-slider-items .widget-title::after, .bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label::after, .bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .wp-block-heading::after, .bloglo-sidebar-style-2.is-section-heading-init-s1 #secondary .widget-title::after {width: 2rem;left: 7rem;}.bloglo-sidebar-style-3 #secondary .bloglo-widget {border: 0.1rem solid rgba(190, 190, 190, 0.3);border-radius: var(--bloglo-normal-radius);margin-bottom: 2rem;padding: 2.5rem;}.bloglo-sidebar-style-3 #secondary .bloglo-widget:last-child {margin-bottom: 0;}.bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-heading, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .widget-title {padding: 2rem 2.5rem;margin: -2.5rem -2.5rem 2.8rem;}.bloglo-sidebar-style-3.is-section-heading-init-s1 .pyml-slider-items .widget-title, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-heading, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .widget-title {border-bottom: 0.1rem solid rgba(190, 190, 190, 0.3);}.bloglo-sidebar-style-3.is-section-heading-init-s1 .pyml-slider-items .widget-title::before, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label::before, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-heading::before, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .widget-title::before {width: 6rem;left: 2.5rem;}.bloglo-sidebar-style-3.is-section-heading-init-s1 .pyml-slider-items .widget-title::after, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-search .wp-block-search__label::after, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .wp-block-heading::after, .bloglo-sidebar-style-3.is-section-heading-init-s1 #secondary .widget-title::after {width: 2rem;left: 9.5rem;}#main {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;-ms-flex-negative: 1;flex-shrink: 1;-ms-flex-preferred-size: auto;flex-basis: auto;word-break: break-word;}#main>.bloglo-container {-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;}#main>.bloglo-container #primary {min-width: 0;min-height: 0;-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;-ms-flex-negative: 1;flex-shrink: 1;-ms-flex-preferred-size: auto;flex-basis: auto;}#main>.bloglo-container #secondary {-ms-flex-negative: 0;flex-shrink: 0;-webkit-box-flex: 0;-ms-flex-positive: 0;flex-grow: 0;}.bloglo-widget .wp-block-search .wp-block-search__label, .bloglo-widget .wp-block-heading, .bloglo-widget .widget-title {position: relative;overflow: hidden;}.bloglo-sidebar-position__left-sidebar #primary {-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;padding-left: 5rem;}.bloglo-sidebar-position__left-sidebar #secondary {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;}.bloglo-sidebar-position__right-sidebar #primary {padding-right: 5rem;}.bloglo-blog-masonry .bloglo-article, .bloglo-blog-horizontal .bloglo-article, .bloglo-blog-layout-1 .bloglo-article {margin-bottom: 5rem;}.bloglo-blog-masonry .bloglo-article .bloglo-blog-entry-content>:first-child, .bloglo-blog-horizontal .bloglo-article .bloglo-blog-entry-content>:first-child, .bloglo-blog-layout-1 .bloglo-article .bloglo-blog-entry-content>:first-child {margin-top: 0 !important;}.bloglo-blog-masonry .bloglo-article:last-child, .bloglo-blog-horizontal .bloglo-article:last-child, .bloglo-blog-layout-1 .bloglo-article:last-child {margin-bottom: 0;}.bloglo-blog-masonry .bloglo-article .entry-media, .bloglo-blog-horizontal .bloglo-article .entry-media, .bloglo-blog-layout-1 .bloglo-article .entry-media {position: relative;-webkit-box-shadow: 0 1.6rem 3.8rem -1.2rem rgba(0, 0, 0, 0.5);box-shadow: 0 1.6rem 3.8rem -1.2rem rgba(0, 0, 0, 0.5);}.bloglo-layout__boxed-separated.bloglo-blog-masonry .bloglo-article .entry-media, .bloglo-layout__boxed-separated.bloglo-blog-horizontal .bloglo-article .entry-media, .bloglo-layout__boxed-separated.bloglo-blog-layout-1 .bloglo-article .entry-media {-webkit-box-shadow: none;box-shadow: none;}.pyml-slide-item .pyml-slider-backgrounds a:hover .pyml-slide-bg img, .pyml-slide-item .pyml-slider-backgrounds a:focus .pyml-slide-bg img, .bloglo-blog-masonry .bloglo-article .entry-media:hover>a>img, .bloglo-blog-horizontal .bloglo-article .entry-media:hover>a>img, .bloglo-blog-layout-1 .bloglo-article .entry-media:hover>a>img, .bloglo-blog-masonry .bloglo-article .entry-media:focus>a>img, .bloglo-blog-horizontal .bloglo-article .entry-media:focus>a>img, .bloglo-blog-layout-1 .bloglo-article .entry-media:focus>a>img {-webkit-transform: scale3d(1.1, 1.1, 1);transform: scale3d(1.1, 1.1, 1);}.bloglo-blog-masonry .bloglo-article .entry-media img, .bloglo-blog-horizontal .bloglo-article .entry-media img, .bloglo-blog-layout-1 .bloglo-article .entry-media img {margin-left: 0;margin-right: 0;display: block;-webkit-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;}.bloglo-blog-masonry .bloglo-article .entry-summary, .bloglo-blog-horizontal .bloglo-article .entry-summary, .bloglo-blog-layout-1 .bloglo-article .entry-summary {margin: 1.6rem 0;}.bloglo-blog-masonry .bloglo-article .entry-footer, .bloglo-blog-horizontal .bloglo-article .entry-footer, .bloglo-blog-layout-1 .bloglo-article .entry-footer {margin-top: 1.6rem;}.using-keyboard.bloglo-blog-masonry .bloglo-article .entry-title:focus-within, .using-keyboard.bloglo-blog-horizontal .bloglo-article .entry-title:focus-within, .using-keyboard.bloglo-blog-layout-1 .bloglo-article .entry-title:focus-within {color: var(--bloglo-primary);text-decoration: underline;}.bloglo-blog-masonry .bloglo-article .entry-meta span:first-child, .bloglo-blog-horizontal .bloglo-article .entry-meta span:first-child, .bloglo-blog-layout-1 .bloglo-article .entry-meta span:first-child {padding-left: 0;}.bloglo-blog-masonry.bloglo-layout__boxed-separated .bloglo-article.format-quote, .bloglo-blog-horizontal.bloglo-layout__boxed-separated .bloglo-article.format-quote, .bloglo-blog-layout-1.bloglo-layout__boxed-separated .bloglo-article.format-quote {padding: 0;}.sticky .entry-title .bloglo-icon {opacity: 0.3;margin-right: 0.7rem;}.bloglo-blog-layout-1 .bloglo-article .entry-media {margin-bottom: 2.128rem;margin-top: 2rem;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper {-ms-flex-wrap: nowrap;flex-wrap: nowrap;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .entry-media {margin: 0;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-right .entry-media {-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;margin-left: 3rem;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-left .entry-media {margin-right: 3rem;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .post-gallery, .bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .post-thumb {-ms-flex-preferred-size: 42%;flex-basis: 42%;-ms-flex-negative: 0;flex-shrink: 0;overflow: hidden;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .bloglo-entry-content-wrapper {-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .post-category {font-weight: 500;font-size: 1.6rem;margin-bottom: 0.8rem;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .entry-meta {margin-top: 2.4rem;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .entry-footer {margin: 0.8rem 0 1.6rem 0;}.bloglo-hover-slider .hover-slider-item-wrapper .hover-slide-item .post-category a:nth-child(4n + 1), .bloglo-hover-slider .hover-slider-item-wrapper:nth-child(4n + 1) .hover-slide-item .post-category a, .bloglo-vertical-slider .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 1), .bloglo-vertical-slider .swiper-slide:nth-child(4n + 1) .bloglo-article:not(.format-quote) .post-category .cat-links a, .col-xs-12 .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 1), .col-xs-12:nth-child(4n + 1) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a, .pyml-slider-carousel .swiper-slide .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 1), .pyml-slider-carousel .swiper-slide:nth-child(4n + 1) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a, .bloglo-blog-horizontal .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 1), .bloglo-blog-horizontal .bloglo-article:not(.format-quote):nth-child(4n + 1) .post-category .cat-links a, .bloglo-blog-horizontal .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 1), .bloglo-blog-horizontal .swiper-slide:nth-child(4n + 1) .bloglo-article:not(.format-quote) .post-category .cat-links a, .bloglo-blog-horizontal .col-xs-12 .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 1), .bloglo-blog-horizontal .col-xs-12:nth-child(4n + 1) .bloglo-article:not(.format-quote) .post-category .cat-links a {background-color: #6178df;}.bloglo-hover-slider .hover-slider-item-wrapper .hover-slide-item .post-category a:nth-child(4n + 2), .bloglo-hover-slider .hover-slider-item-wrapper:nth-child(4n + 2) .hover-slide-item .post-category a, .bloglo-vertical-slider .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 2), .bloglo-vertical-slider .swiper-slide:nth-child(4n + 2) .bloglo-article:not(.format-quote) .post-category .cat-links a, .col-xs-12 .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 2), .col-xs-12:nth-child(4n + 2) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a, .pyml-slider-carousel .swiper-slide .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 2), .pyml-slider-carousel .swiper-slide:nth-child(4n + 2) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a, .bloglo-blog-horizontal .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 2), .bloglo-blog-horizontal .bloglo-article:not(.format-quote):nth-child(4n + 2) .post-category .cat-links a, .bloglo-blog-horizontal .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 2), .bloglo-blog-horizontal .swiper-slide:nth-child(4n + 2) .bloglo-article:not(.format-quote) .post-category .cat-links a, .bloglo-blog-horizontal .col-xs-12 .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 2), .bloglo-blog-horizontal .col-xs-12:nth-child(4n + 2) .bloglo-article:not(.format-quote) .post-category .cat-links a {background-color: #48aab1;}.bloglo-hover-slider .hover-slider-item-wrapper .hover-slide-item .post-category a:nth-child(4n + 3), .bloglo-hover-slider .hover-slider-item-wrapper:nth-child(4n + 3) .hover-slide-item .post-category a, .bloglo-vertical-slider .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 3), .bloglo-vertical-slider .swiper-slide:nth-child(4n + 3) .bloglo-article:not(.format-quote) .post-category .cat-links a, .col-xs-12 .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 3), .col-xs-12:nth-child(4n + 3) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a, .pyml-slider-carousel .swiper-slide .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:nth-child(4n + 3), .pyml-slider-carousel .swiper-slide:nth-child(4n + 3) .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a, .bloglo-blog-horizontal .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 3), .bloglo-blog-horizontal .bloglo-article:not(.format-quote):nth-child(4n + 3) .post-category .cat-links a, .bloglo-blog-horizontal .swiper-slide .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 3), .bloglo-blog-horizontal .swiper-slide:nth-child(4n + 3) .bloglo-article:not(.format-quote) .post-category .cat-links a, .bloglo-blog-horizontal .col-xs-12 .bloglo-article:not(.format-quote) .post-category .cat-links a:nth-child(4n + 3), .bloglo-blog-horizontal .col-xs-12:nth-child(4n + 3) .bloglo-article:not(.format-quote) .post-category .cat-links a {background-color: #a95edf;}.entry-thumb-image {position: relative;z-index: 0;}.bloglo-article .entry-media .entry-image-link {background-color: rgba(0, 0, 0, 0.18);}.bloglo-blog-layout-1 .bloglo-article .entry-thumb-image img, .bloglo-blog-layout-1 .bloglo-article .entry-thumb-image {min-height: 22.9rem;background-color: rgba(0, 0, 0, 0.18);object-fit: cover;}.bloglo-blog-layout-1 .bloglo-article .entry-thumb-image .entry-media {margin-top: 0;}.entry-thumb-image .post-category {position: absolute;top: 2rem;left: 2.3rem;z-index: 2;}.breadcrumbs {max-width: 100%;}.breadcrumb-trail {width: 100%;}.breadcrumb-trail .trail-items li {display: inline;}.breadcrumb-trail .trail-items li:after {-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M20.954 14.487l-8.008-8.008c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l8.008-8.008a1.29 1.29 0 000-1.868z"/></svg>');mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M20.954 14.487l-8.008-8.008c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l8.008-8.008a1.29 1.29 0 000-1.868z"/></svg>');content: "";margin: 0 0.4rem;display: inline-block;vertical-align: middle;line-height: 1;}.breadcrumb-trail .trail-items li:last-child:after {display: none;}.bloglo-breadcrumbs {font-size: 1.4rem;border-width: 0;}.bloglo-breadcrumbs .separator {margin: 0 0.3rem;}#page .page-header .bloglo-breadcrumbs a>span {color: inherit;}#bloglo-pre-footer {position: relative;z-index: 2;}#bloglo-pre-footer .bloglo-flex-row>div:empty {display: none;}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer {margin-bottom: -5rem;}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row {position: relative;}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row>div {position: relative;z-index: 3;}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:after, .bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:before {content: "";position: absolute;top: 0;left: 1.5rem;right: 1.5rem;height: 100%;z-index: 1;border-radius: var(--bloglo-normal-radius);}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:before {border-width: 0;z-index: 2;}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:after {-webkit-box-shadow: 0 0 3rem rgba(0, 0, 0, 0.22);box-shadow: 0 0 3rem rgba(0, 0, 0, 0.22);}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row {padding: 5rem 7rem;}.bloglo-pre-footer-cta-style-1 #colophon {padding-top: 5rem;}.bloglo-pre-footer-cta-style-1.bloglo-pre-footer-no-margin #bloglo-pre-footer {margin-bottom: 5rem;}.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer .bloglo-flex-row {padding-top: 5rem;padding-bottom: 5rem;position: relative;z-index: 3;}.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer:after, .bloglo-pre-footer-cta-style-2 #bloglo-pre-footer:before {content: "";z-index: 1;}.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer:before {border-width: 0;z-index: 2;}#colophon a:before {bottom: -0.2rem !important;}#colophon #bloglo-copyright a:before, #bloglo-copyright a>span:before {bottom: -0.1rem !important;}#colophon {--elementBorderColor: rgba(255, 255, 255, 0.15);position: relative;z-index: 1;}#colophon:after {content: "";z-index: 1;pointer-events: none;}#colophon .widget-title {margin-bottom: 2rem;}#colophon>* {position: relative;z-index: 2;}.site-footer a {color: inherit;}#bloglo-footer .bloglo-flex-row {margin-top: 0;margin-bottom: 0;}#bloglo-footer .bloglo-footer-column {padding-top: 7rem;padding-bottom: 7rem;}#bloglo-footer .bloglo-footer-column .bloglo-widget {margin-bottom: 4rem;}#bloglo-footer .no-widget-text, #bloglo-footer .bloglo-footer-column .bloglo-widget:last-child {margin-bottom: 0;}#colophon, #bloglo-footer {border-width: 0;}#page #bloglo-footer .center-text .title-shape {right: 0;margin: 0 auto;}#bloglo-copyright .bloglo-flex-row>div:empty {display: none;}#bloglo-copyright.fw-separator {border-top-width: 0.1rem;border-top-style: solid;}#bloglo-copyright.contained-separator {border-top: none;}#bloglo-copyright.contained-separator>.bloglo-container:before {content: "";display: block;height: 0.1rem;position: absolute;top: 0;left: 5rem;right: 5rem;}#bloglo-copyright>.bloglo-container {position: relative;}#bloglo-copyright>.bloglo-container>.bloglo-flex-row {padding-top: 1.9rem;padding-bottom: 1.9rem;position: relative;margin-bottom: 0;}#bloglo-copyright>.bloglo-container>.bloglo-flex-row>div {width: auto;padding-top: 0.6rem;padding-bottom: 0.6rem;}#bloglo-copyright .bloglo-copyright-widget {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-box-pack: inherit;-ms-flex-pack: inherit;justify-content: inherit;padding-left: 2rem;padding-right: 2rem;}#bloglo-copyright .bloglo-copyright-widget:first-child {padding-left: 0;border-left: 0;}#bloglo-copyright .bloglo-copyright-widget:last-child {padding-right: 0;border-right: 0 !important;}#bloglo-copyright .bloglo-copyright-widget:last-child:after {display: none !important;}#bloglo-copyright .bloglo-copyright-widget .bloglo-nav {-webkit-box-pack: inherit;-ms-flex-pack: inherit;justify-content: inherit;max-width: 100%;}#bloglo-copyright .bloglo-copyright-widget .bloglo-nav>ul {-webkit-box-pack: inherit;-ms-flex-pack: inherit;justify-content: inherit;}#bloglo-copyright .bloglo-social-nav>ul>li>a .bloglo-icon {font-size: 1.722rem;}.bloglo-copyright-layout-1 #bloglo-copyright>.bloglo-container>.bloglo-flex-row>div {-ms-flex-preferred-size: 100%;flex-basis: 100%;-ms-flex-negative: 0;flex-shrink: 0;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.bloglo-copyright-layout-1 .bloglo-copyright-widget__text {text-align: center;}#bloglo-scroll-top {-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;position: fixed;bottom: 2.5rem;right: 2rem;z-index: 997;width: 4rem;height: 4rem;opacity: 0;-webkit-transform: translate3d(0, 3rem, 0);transform: translate3d(0, 3rem, 0);-webkit-transition: opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);transition: opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);}#bloglo-scroll-top.bloglo-visible {opacity: 1;-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}#bloglo-scroll-top .bloglo-scroll-icon {overflow: hidden;z-index: 2;}#bloglo-scroll-top .bloglo-icon {-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;height: 2rem;color: var(--bloglo-white);-webkit-transform: translateY(1.1rem);-ms-transform: translateY(1.1rem);transform: translateY(1.1rem);-webkit-transition: -webkit-transform 0.35s ease-out;transition: -webkit-transform 0.35s ease-out;transition: transform 0.35s ease-out;transition: transform 0.35s ease-out, -webkit-transform 0.35s ease-out;}#bloglo-scroll-top .bloglo-icon.top-icon {-webkit-transform: translate(0, 5.2rem);-ms-transform: translate(0, 5.2rem);transform: translate(0, 5.2rem);}#bloglo-scroll-top:before {content: "";z-index: 1;border-radius: 10rem;background-color: var(--bloglo-primary);-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);-webkit-transform: scale(1);-ms-transform: scale(1);transform: scale(1);border: 0.1rem solid rgba(190, 190, 190, 0.3);}#bloglo-scroll-top:hover {cursor: pointer;}#bloglo-scroll-top:hover:before {background-color: var(--bloglo-white);box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.22);-webkit-transform: scale(1.2);-ms-transform: scale(1.2);transform: scale(1.2);}#bloglo-scroll-top:hover .bloglo-icon {-webkit-transform: translate(0, -5.2rem);-ms-transform: translate(0, -5.2rem);transform: translate(0, -5.2rem);}#bloglo-scroll-top:hover .bloglo-icon.top-icon {-webkit-transform: translate(0, 1.1rem);-ms-transform: translate(0, 1.1rem);transform: translate(0, 1.1rem);}#bloglo-scroll-top .bloglo-animated-arrow {position: relative;z-index: 2;}#bloglo-scroll-top svg {fill: var(--bloglo-white);}#bloglo-scroll-top:hover svg {fill: var(--bloglo-primary);}.infinite-scroll .bloglo-pagination {display: none;}.bloglo-pagination {margin: 5rem 0 0;}.woocommerce .nav-links, .navigation {display: block;text-align: center;}.page-links, .site-content .page-links {margin: 4rem 0;text-align: center;}.page-links em, .site-content .page-links em {font-size: 1.2rem;font-style: normal;margin-right: 1.2rem;text-transform: uppercase;letter-spacing: 0.256rem;}.navigation .nav-links .bloglo-animate-arrow, .navigation .nav-links .page-numbers:not(.prev, .next), .page-links span, .page-links a {width: 4.4rem;height: 4.4rem;text-decoration: none;}.navigation .nav-links .bloglo-animate-arrow, .navigation .nav-links .page-numbers, .page-links span {text-transform: uppercase;-js-display: inline-flex;display: -ms-inline-flexbox;display: inline-flex;-ms-flex-align: center;align-items: center;-ms-flex-pack: center;justify-content: center;font-size: 1.4rem;vertical-align: middle;font-weight: 600;text-align: center;vertical-align: middle;color: inherit;border-radius: var(--bloglo-full-radius);-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);}.navigation .nav-links .bloglo-animate-arrow, .navigation .nav-links .page-numbers, .page-links>span {background-color: var(--bloglo-white);}.navigation .nav-links .bloglo-animate-arrow, .navigation .nav-links .page-numbers:not(.prev, .next), .page-links a span {border: 0.2rem solid rgba(190, 190, 190, 0.3);}.navigation .nav-links .next.page-numbers {margin-left: 1rem;}.navigation .nav-links .prev.page-numbers {margin-right: 1rem;}.navigation .nav-links .bloglo-animate-arrow svg {width: 2rem;position: relative;vertical-align: middle;-webkit-transition: color .35s ease-in-out, background-color .35s ease-in-out, border-color .35s ease-in-out, box-shadow .35s ease-in-out;transition: color .35s ease-in-out, background-color .35s ease-in-out, border-color .35s ease-in-out, box-shadow .35s ease-in-out;}.navigation .nav-links .page-numbers.dots {pointer-events: none;opacity: 0.8;}.page-links>span, .site-content .page-links>span, .navigation .nav-links .page-numbers.current {pointer-events: none;cursor: default;margin: 0;}.navigation .nav-links .page-numbers.prev {-ms-flex-pack: start;justify-content: flex-start;}.navigation .nav-links .page-numbers.next {-ms-flex-pack: end;justify-content: flex-end;}.navigation .nav-links .page-numbers.next i, .navigation .nav-links .page-numbers.prev i {font-size: 1.8rem;}.navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow, .using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow, .navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow, .using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow {cursor: pointer;}.navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow .arrow-handle, .using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow .arrow-handle, .navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow .arrow-handle, .using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow .arrow-handle {transform: translateX(0);}.navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow .arrow-bar, .using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow .arrow-bar, .navigation .nav-links .page-numbers.next:hover .bloglo-animate-arrow .arrow-bar, .using-keyboard .navigation .nav-links .page-numbers.prev:focus .bloglo-animate-arrow .arrow-bar {transform: scaleX(1);}.comments-pagination {margin: 4rem 0 0;}.comments-pagination .next, .comments-pagination .prev {display: none !important;}.content-area .page-links a, .content-area .site-content .page-links a {color: inherit;}.navigation .nav-links .page-numbers:hover svg, .using-keyboard .navigation .nav-links .page-numbers:focus svg {fill: var(--bloglo-white);}.navigation .nav-links .page-numbers:hover button, .using-keyboard .navigation .nav-links .page-numbers:focus button, .navigation .nav-links .page-numbers:not(.prev, .next).current, .navigation .nav-links .page-numbers:not(.prev, .next):hover, .using-keyboard .navigation .nav-links .page-numbers:not(.prev, .next):focus, .page-links a:hover span, .using-keyboard .page-links a:focus span, .page-links>span {color: var(--bloglo-white);background-color: var(--bloglo-primary);border-color: var(--bloglo-primary);}#page .bloglo-widget .gallery, .widget.bloglo-entry .textwidget>p:first-child {margin-top: 0;}.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul, .bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ol {list-style: none;margin-left: 0;margin-right: 0;}.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul ul, .bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul ol, .bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ol ul, .bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ol ol {margin: 1.6rem 0 1.6rem 1.968rem;}.bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul ul:last-child, .bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ul ol:last-child, .bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ol ul:last-child, .bloglo-widget.widget:not(.widget_text):not(.hester-core-custom-list-widget) ol ol:last-child {margin-bottom: 0;}.bloglo-widget.widget_text ul, .bloglo-widget.widget_text ol {margin: 1.6rem 0 1.6rem 1.968rem;}.bloglo-widget.widget_text ul:last-child, .bloglo-widget.widget_text ol:last-child {margin-bottom: 0;}.bloglo-widget.widget_text>ul:first-child, .bloglo-widget.widget_text>ol:first-child {margin-top: 0;}.bloglo-sidebar-container .widget.bloglo-widget .wp-block-social-links .wp-social-link {padding-top: 0;margin-bottom: 0;}#main .bloglo-widget {margin-bottom: 4rem;}#main .bloglo-widget .no-widget-text, #main .bloglo-widget:last-child {margin-bottom: 0;}.widget-title, .wp-block-heading, .wp-block-search .wp-block-search__label {margin-top: 0;position: relative;display: block;margin-bottom: 1.8rem;}.wp-block-search .wp-block-search__label {line-height: 1.2;}#colophon .widget-title {color: var(--bloglo-white);}.tagcloud a, .wp-block-tag-cloud a {font-size: 1.3rem !important;}.widget .tagcloud, .widget .wp-block-tag-cloud {margin-top: -0.8rem;}.widget .wp-block-archives select, .widget .wp-block-categories select, .widget.widget_archive select, .widget.widget_categories select {width: 100%;}.widget .wp-block-archives ul.children>li>a, .widget .wp-block-categories ul.children>li>a, .widget.widget_archive ul.children>li>a, .widget.widget_categories ul.children>li>a {padding-right: 4.4rem;}.widget ol, .widget ul {line-height: 1.5;}.widget ol:last-child, .widget ul:last-child {margin-bottom: 0;}.widget ol li, .widget ul:not(.wp-block-social-links) li {margin-bottom: 1rem;}.widget ol li:last-child, .widget ul:not(.wp-block-social-links) li:last-child {margin-bottom: 0;}.widget ol li.current_page_item>a, .widget ul li.current_page_item>a {font-weight: 600;}.widget ol.children, .widget ol.sub-menu, .widget ul.children, .widget ul.sub-menu {margin: 1.2rem 0 0 3.2rem;}.widget ol.children ul ul ul ul, .widget ol.sub-menu ul ul ul ul, .widget ul.children ul ul ul ul, .widget ul.sub-menu ul ul ul ul {margin-left: 0;}.widget ol.children>li>a, .widget ol.sub-menu>li>a, .widget ul.children>li>a, .widget ul.sub-menu>li>a, .widget ul.submenu-container>li>a {position: relative;}.widget ol.children>li>a:after, .widget ol.sub-menu>li>a:after, .widget ul.children>li>a:after, .widget ul.sub-menu>li>a:after, .widget ul.submenu-container>li>a:after {position: absolute;top: 0;left: -0.8rem;-webkit-transform: translate3d(-100%, 0, 0);transform: translate3d(-100%, 0, 0);content: "\2014";display: inline-block;line-height: 1.3;-webkit-backface-visibility: hidden;backface-visibility: hidden;opacity: 0.4;}.widget.bloglo-entry p {margin-top: 1.6rem;margin-bottom: 1.6rem;}.widget.bloglo-entry p:last-child {margin-bottom: 0;}.widget .wp-block-archives li, .widget .wp-block-categories li, .widget.widget_archive li, .widget.widget_categories li {display: block;position: relative;}.widget .wp-block-archives li a, .widget .wp-block-categories li a, .widget.widget_archive li a, .widget.widget_categories li a {display: block;}.widget.widget_block li a, .widget.widget_meta li a, .widget.widget_pages li a, .widget.widget_nav_menu li a, .widget.widget_archive li a, .widget.widget_categories li a {position: relative;z-index: 0;}.widget_block ul:not(.submenu-container, .wp-block-social-links, .wp-block-latest-posts__list)>li>a::before, .widget.widget_archive ul:not(.children)>li>a::before, .widget.widget_categories ul:not(.children)>li>a::before, .widget.widget.widget_pages ul:not(.sub-menu)>li>a::before, .widget.widget_nav_menu ul:not(.sub-menu)>li>a::before {content: "";width: 0;height: 0.8rem;display: inline-block;vertical-align: middle;margin-top: -0.2rem;border-radius: var(--bloglo-full-radius);opacity: 0;visibility: hidden;background-color: var(--bloglo-primary);-webkit-transform: translateX(-1.6rem);transform: translateX(-1.6rem);-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);}.widget.widget_block ul:not(.submenu-container, .wp-block-social-links, .wp-block-latest-posts__list)>li>a:hover::before, .using-keyboard .widget.widget_block ul:not(.submenu-container, .wp-block-social-links, .wp-block-latest-posts__list)>li>a:focus::before, .widget.widget_archive ul:not(.children)>li>a:hover::before, .using-keyboard .widget.widget_archive ul:not(.children)>li>a:focus::before, .widget.widget_categories ul:not(.children)>li>a:hover::before, .using-keyboard .widget.widget_categories ul:not(.children)>li>a:focus::before, .widget.widget.widget_pages ul:not(.sub-menu)>li>a:hover::before, .using-keyboard .widget.widget.widget_pages ul:not(.sub-menu)>li>a:focus::before, .widget.widget_nav_menu ul:not(.sub-menu)>li>a:hover::before, .using-keyboard .widget.widget_nav_menu ul:not(.sub-menu)>li>a:focus::before {opacity: 1;visibility: visible;margin-right: 1.2rem;width: 0.8rem;-webkit-transform: translateX(0);transform: translateX(0);}.widget .wp-block-archives ul.children>li>a::before, .widget .wp-block-categories ul.children>li>a::before {display: none;}.bloglo-sidebar-container .widget ul:not(.bloglo-socials-menu)>li:not(:first-child) {padding-top: 1rem;border-top: 0.1rem solid rgba(190, 190, 190, 0.3);}.bloglo-sidebar-container .widget:not(.woocommerce) ul:not(.bloglo-socials-menu)>li:not(:first-child) span {top: 1.15rem;}.bloglo-sidebar-container .widget ul>:not(.bloglo-socials-menu, .children, .submenu-container) li, .bloglo-sidebar-container .widget ul>:not(.bloglo-socials-menu, .sub-menu, .submenu-container) li {padding: 0;border: 0;}.widget .wp-block-archives li a:hover+span, .widget .wp-block-categories li a:hover+span, .widget.widget_archive li a:hover+span, .widget.widget_categories li a:hover+span {color: var(--bloglo-white);}.widget .wp-block-archives li.current-cat a, .widget .wp-block-categories li.current-cat a, .widget.widget_archive li.current-cat a, .widget.widget_categories li.current-cat a {font-weight: 600;}.widget .wp-block-archives li.current-cat a+span, .widget .wp-block-categories li.current-cat a+span, .widget.widget_archive li.current-cat a+span, .widget.widget_categories li.current-cat a+span {color: var(--bloglo-white);}.widget .wp-block-archives li>span, .widget .wp-block-categories li>span, .widget.widget_archive li>span, .widget.widget_categories li>span {font-style: normal;margin-left: auto;-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;text-align: center;position: absolute;right: 0;top: 0.3rem;background-color: rgba(145, 145, 145, 0.1);min-width: 2.4rem;min-height: 2.4rem;padding: 0.5rem 0.8rem;border-radius: 4rem;line-height: 1;font-size: 1.386rem;font-weight: 400;pointer-events: none;}.widget.widget_archive li a, .widget.widget_media_image img {display: inline-block;}.widget.widget_recent_comments li {margin-bottom: 1.6rem;}.widget.widget_recent_comments li:last-child {margin-bottom: 0;}.widget.widget_recent_entries a {display: block;}.widget.widget_recent_entries span {font-size: 1.3rem;}.widget.widget_recent_entries>ul>li {margin-bottom: 2rem;}.widget.widget_recent_entries>ul>li>a {margin-bottom: 0.6rem;font-weight: 600;}.widget.widget_recent_entries .post-date {-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.widget.widget_recent_entries .post-date:before {-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm5.872-10.544L17.35 14.62V7.413c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.008c0 .534.267.934.801 1.201l5.339 2.669c.133.133.267.133.534.133.534 0 .934-.267 1.201-.801s0-1.335-.667-1.735z"/></svg>');mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm5.872-10.544L17.35 14.62V7.413c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.008c0 .534.267.934.801 1.201l5.339 2.669c.133.133.267.133.534.133.534 0 .934-.267 1.201-.801s0-1.335-.667-1.735z"/></svg>');content: "";margin-right: 0.6rem;}.wp-block-calendar table:not(.variations):not(.shop_table).wp-calendar-table {margin-top: 0;margin-bottom: 0;}.wp-block-calendar table:not(.variations):not(.shop_table).wp-calendar-table caption {font-size: 1.4rem;text-align: center;text-transform: uppercase;letter-spacing: 0.2rem;font-weight: 500;caption-side: top;padding: 1.5rem;background-color: var(--bloglo-white);color: inherit;border-width: 0;border-style: solid;border-color: var(--bloglo-gray-light);border-left-width: 0.1rem;border-right-width: 0.1rem;border-top-width: 0.3rem;border-top-color: var(--bloglo-primary);}.wp-block-calendar table:not(.variations):not(.shop_table).wp-calendar-table #today {font-weight: 700;}.wp-block-calendar a {font-weight: 500;}.wp-block-calendar #today, .wp-block-calendar a:hover, .using-keyboard .wp-block-calendar a:focus {color: var(--bloglo-primary);}.wp-calendar-nav {font-size: 1.3rem;padding: 1.5rem;display: flex;align-items: center;justify-content: space-between;letter-spacing: 0.05rem;background-color: rgba(190, 190, 190, 0.05);border: 0.1rem solid rgba(190, 190, 190, 0.3);border-top: 0;}.widget.widget_meta ul li:before, .widget.widget_icon_list ul li:before {-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.362 14.087h-5.339c-.534 0-1.068.4-1.201.934l-2.803 8.141-6.807-20.153c-.133-.534-.667-.934-1.201-.934s-1.068.4-1.201.934L7.073 14.086H2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.534 0 1.068-.4 1.201-.934l2.803-8.141 6.807 20.286c.133.534.667.934 1.201.934s1.068-.4 1.201-.934l3.737-11.077h4.404c.801 0 1.335-.534 1.335-1.335s-.534-1.468-1.335-1.468z"/></svg>');mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.362 14.087h-5.339c-.534 0-1.068.4-1.201.934l-2.803 8.141-6.807-20.153c-.133-.534-.667-.934-1.201-.934s-1.068.4-1.201.934L7.073 14.086H2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.534 0 1.068-.4 1.201-.934l2.803-8.141 6.807 20.286c.133.534.667.934 1.201.934s1.068-.4 1.201-.934l3.737-11.077h4.404c.801 0 1.335-.534 1.335-1.335s-.534-1.468-1.335-1.468z"/></svg>');content: "";display: inline-block;margin-right: 0.7rem;width: 2rem;vertical-align: text-bottom;}.widget.widget_icon_list ul li a:before, .widget.widget_meta ul li a:before {bottom: -0.2rem;}.widget.widget_meta ul li:first-child:before, .widget.widget_icon_list ul li:first-child:before {-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.358 2.075h-5.339c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.801 0 1.335.534 1.335 1.335v18.685c0 .801-.534 1.335-1.335 1.335h-5.339c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c2.269 0 4.004-1.735 4.004-4.004V6.081c0-2.269-1.735-4.004-4.004-4.004zm-4.137 13.88c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H4.004c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.358 2.075h-5.339c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.801 0 1.335.534 1.335 1.335v18.685c0 .801-.534 1.335-1.335 1.335h-5.339c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c2.269 0 4.004-1.735 4.004-4.004V6.081c0-2.269-1.735-4.004-4.004-4.004zm-4.137 13.88c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H4.004c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');}.widget.widget_meta ul li:nth-child(2):before, .widget.widget_icon_list ul li:nth-child(2):before {-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M12.012 26.098H6.673c-.801 0-1.335-.534-1.335-1.335V6.078c0-.801.534-1.335 1.335-1.335h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.673c-2.269 0-4.004 1.735-4.004 4.004v18.685c0 2.269 1.735 4.004 4.004 4.004h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm17.217-10.143c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H12.012c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M12.012 26.098H6.673c-.801 0-1.335-.534-1.335-1.335V6.078c0-.801.534-1.335 1.335-1.335h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.673c-2.269 0-4.004 1.735-4.004 4.004v18.685c0 2.269 1.735 4.004 4.004 4.004h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm17.217-10.143c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H12.012c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');}.widget.widget_meta ul li:nth-child(3):before, .widget.widget_icon_list ul li:nth-child(3):before {-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M27.894 9.549c-.133-.133-.133-.267-.267-.4l-8.008-8.008c-.133-.133-.267-.267-.4-.267-.133-.133-.4-.133-.534-.133H8.008c-2.269 0-4.004 1.735-4.004 4.004v21.354c0 2.269 1.735 4.004 4.004 4.004h16.016c2.269 0 4.004-1.735 4.004-4.004V10.083c0-.133 0-.4-.133-.534zM20.02 5.278l3.47 3.47h-3.47v-3.47zm4.003 22.155H8.007c-.801 0-1.335-.534-1.335-1.335V4.744c0-.801.534-1.335 1.335-1.335h9.342v6.673c0 .801.534 1.335 1.335 1.335h6.673v14.681c0 .801-.534 1.335-1.335 1.335zm-2.669-12.012H10.677c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h10.677c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm0 5.339H10.677c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h10.677c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm-10.677-8.008h2.669c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335h-2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335z"/></svg>');mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M27.894 9.549c-.133-.133-.133-.267-.267-.4l-8.008-8.008c-.133-.133-.267-.267-.4-.267-.133-.133-.4-.133-.534-.133H8.008c-2.269 0-4.004 1.735-4.004 4.004v21.354c0 2.269 1.735 4.004 4.004 4.004h16.016c2.269 0 4.004-1.735 4.004-4.004V10.083c0-.133 0-.4-.133-.534zM20.02 5.278l3.47 3.47h-3.47v-3.47zm4.003 22.155H8.007c-.801 0-1.335-.534-1.335-1.335V4.744c0-.801.534-1.335 1.335-1.335h9.342v6.673c0 .801.534 1.335 1.335 1.335h6.673v14.681c0 .801-.534 1.335-1.335 1.335zm-2.669-12.012H10.677c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h10.677c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm0 5.339H10.677c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h10.677c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm-10.677-8.008h2.669c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335h-2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335z"/></svg>');}.widget.widget_meta ul li:nth-child(4):before, .widget.widget_icon_list ul li:nth-child(4):before {-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.358 2.075H6.673c-2.269 0-4.004 1.735-4.004 4.004v21.354c0 .534.267 1.068.801 1.201.133.133.4.133.534.133.4 0 .667-.133.934-.4l4.938-4.938h15.482c2.269 0 4.004-1.735 4.004-4.004V6.079c0-2.269-1.735-4.004-4.004-4.004zm1.335 17.35c0 .801-.534 1.335-1.335 1.335H9.342c-.4 0-.667.133-.934.4l-3.07 3.07V6.079c0-.801.534-1.335 1.335-1.335h18.685c.801 0 1.335.534 1.335 1.335v13.346z"/></svg>');mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.358 2.075H6.673c-2.269 0-4.004 1.735-4.004 4.004v21.354c0 .534.267 1.068.801 1.201.133.133.4.133.534.133.4 0 .667-.133.934-.4l4.938-4.938h15.482c2.269 0 4.004-1.735 4.004-4.004V6.079c0-2.269-1.735-4.004-4.004-4.004zm1.335 17.35c0 .801-.534 1.335-1.335 1.335H9.342c-.4 0-.667.133-.934.4l-3.07 3.07V6.079c0-.801.534-1.335 1.335-1.335h18.685c.801 0 1.335.534 1.335 1.335v13.346z"/></svg>');}.widget.widget_meta ul li:nth-child(5):before, .widget.widget_icon_list ul li:nth-child(5):before {-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.023 15.421c-.801 0-1.335.534-1.335 1.335v8.008c0 .801-.534 1.335-1.335 1.335H6.672c-.801 0-1.335-.534-1.335-1.335V10.083c0-.801.534-1.335 1.335-1.335h8.008c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.672c-2.269 0-4.004 1.735-4.004 4.004v14.681c0 2.269 1.735 4.004 4.004 4.004h14.681c2.269 0 4.004-1.735 4.004-4.004v-8.008c0-.801-.534-1.335-1.335-1.335zm5.206-12.545a1.6 1.6 0 00-.667-.667c-.133-.133-.4-.133-.534-.133H20.02c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h4.805L12.413 17.158a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4L26.693 6.614v4.805c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335V3.411c0-.133 0-.4-.133-.534z"/></svg>');mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.023 15.421c-.801 0-1.335.534-1.335 1.335v8.008c0 .801-.534 1.335-1.335 1.335H6.672c-.801 0-1.335-.534-1.335-1.335V10.083c0-.801.534-1.335 1.335-1.335h8.008c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.672c-2.269 0-4.004 1.735-4.004 4.004v14.681c0 2.269 1.735 4.004 4.004 4.004h14.681c2.269 0 4.004-1.735 4.004-4.004v-8.008c0-.801-.534-1.335-1.335-1.335zm5.206-12.545a1.6 1.6 0 00-.667-.667c-.133-.133-.4-.133-.534-.133H20.02c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h4.805L12.413 17.158a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4L26.693 6.614v4.805c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335V3.411c0-.133 0-.4-.133-.534z"/></svg>');}.bloglo-sidebar-style-3 #secondary .hester-core-social-links-widget {padding-bottom: 1.5rem;}#page .error-404 .page-header h1.page-title {font-size: 30rem;letter-spacing: -0.08em;font-weight: 700;line-height: 1;color: var(--bloglo-primary);}.error-404 {max-width: 60rem;margin: -2rem auto 0 auto;padding: 2rem 0 0 0;}.error-404 .page-header {background: none;border: none;position: relative;}.error-404 .page-header:after {display: none;}.error-404 .page-header h1 {position: relative;opacity: 0.05;z-index: 1;}.error-404 .page-header p {width: 100%;position: absolute;top: 50%;left: 50%;-webkit-transform: translate(-50%, -10%);-ms-transform: translate(-50%, -10%);transform: translate(-50%, -10%);z-index: 2;line-height: 1;}.error-404 .page-content p {font-size: 1.6rem;max-width: 38rem;margin: 4rem auto;}.error-404 .page-content .bloglo-btn {margin: 5rem 0 0 0;}.error-404 input[type="search"] {padding-top: 1.3rem;padding-bottom: 1.3rem;}.error404 #main>.bloglo-container {-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;}.error404 #content {-webkit-box-flex: 1;-ms-flex: 1 0 auto;flex: 1 0 auto;text-align: center;}.comment-content>:first-child, .bloglo-entry>:first-child, .wp-block-column>:first-child, .wp-block-cover>:first-child, .wp-block-cover__inner-container>:first-child, .wp-block-group__inner-container>:first-child {margin-top: 0;}.comment-content>:last-child, .bloglo-entry>:last-child, .wp-block-column>:last-child, .wp-block-cover>:last-child, .wp-block-cover__inner-container>:last-child, .wp-block-group__inner-container>:last-child {margin-bottom: 0;}.bloglo-entry>.alignfull:first-child {margin-top: 0;}.bloglo-entry>.alignfull:last-child, .wp-block-cover__inner-container>:first-child:last-child, .wp-block-group__inner-container>:first-child:last-child {margin-bottom: 0;}.entry-content ol li, .entry-content ul:not(.wp-block-latest-posts) li {margin-bottom: 0.64rem;}.entry-content .tablepress {word-break: normal;}.bloglo-entry ul:not(.wp-block-latest-posts) {list-style: disc;}.bloglo-entry ul ul {list-style: circle;}.bloglo-entry ol, .bloglo-entry ul:not(.wp-block-latest-posts) {margin-left: 4rem;}.bloglo-entry ol li:not(.blocks-gallery-item):last-child, .bloglo-entry ul:not(.wp-block-social-links) li:not(.blocks-gallery-item):last-child {margin-bottom: 0;}.bloglo-entry ol ol, .bloglo-entry ol ul, .bloglo-entry ul ol, .bloglo-entry ul ul {margin-top: 0.64rem;margin-bottom: 0;}.bloglo-entry ol, .bloglo-entry ul:not(.wp-block-latest-posts) {margin-bottom: 2rem;margin-top: 2rem;}.bloglo-entry .gallery, .bloglo-entry blockquote, .bloglo-entry dl, .bloglo-entry p, .bloglo-entry pre, .bloglo-entry table {margin-bottom: 1.5rem;margin-top: 1.5rem;}.bloglo-entry .wp-block-post-template {margin: 0;list-style: none;}.bloglo-entry ul.bloglo-socials-menu {margin-top: 0;}.bloglo-entry .wp-block-image figure.alignleft, .bloglo-entry .wp-block-image figure.alignright {display: table;}.bloglo-entry .wp-block-image figure.alignleft figcaption, .bloglo-entry .wp-block-image figure.alignright figcaption {display: table-caption;caption-side: bottom;}.bloglo-entry figure {margin-top: 2rem;margin-bottom: 2rem;}.bloglo-entry figure.wp-block-gallery {margin-bottom: calc(2rem - 16px);}.bloglo-entry .wp-block-embed figcaption, .bloglo-entry .wp-block-image figcaption {margin-top: 1.2rem;margin-bottom: 0;font-size: 1.3rem;}.bloglo-entry cite {font-style: normal;color: #66717f;font-size: 1.4rem;}.bloglo-entry .twitter-tweet {-js-display: flex !important;display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-ms-flex-wrap: wrap;flex-wrap: wrap;width: 100% !important;margin-top: 0 !important;margin-top: 0 !important;}.bloglo-entry .post-password-form {text-align: center;}.bloglo-entry .wp-block-gallery.aligncenter {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}#page ul.blocks-gallery-grid {margin: 0;}.post_format-post-format-quote .bloglo-blog-entry-content {position: relative;border-radius: var(--bloglo-normal-radius);overflow: hidden;}.post_format-post-format-quote .bloglo-blog-entry-content:hover .quote-post-bg, .post_format-post-format-quote .bloglo-blog-entry-content:hover .quote-post-bg:after {opacity: 1;}.post_format-post-format-quote .bloglo-blog-entry-content .entry-content h3 {line-height: 1.4;color: #fff;}.post_format-post-format-quote .bloglo-blog-entry-content .entry-content a {color: var(--bloglo-white);}.post_format-post-format-quote .bloglo-blog-entry-content .entry-content .quote-link {z-index: 3;}.post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg {display: block;z-index: 1;-webkit-backface-visibility: hidden;backface-visibility: hidden;background-size: cover;opacity: 0.88;}.post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg:after {content: "";background-color: #232323;opacity: 0.8795;}.post_format-post-format-quote .bloglo-blog-entry-content .quote-inner {position: relative;text-align: left;padding: 10% 12%;overflow: hidden;z-index: 2;}.post_format-post-format-quote .bloglo-blog-entry-content .quote-inner .author {margin-top: 1.6rem;font-size: 1.2rem;color: rgba(255, 255, 255, 0.85);font-weight: 500;}.post_format-post-format-quote .bloglo-blog-entry-content .quote-inner .author:before {content: "\2014";display: inline-block;margin-right: 0.6rem;}.post_format-post-format-quote .bloglo-blog-entry-content .bloglo-icon.icon-quote {position: relative;width: 2.2rem;height: 2.2rem;margin-bottom: 2.5rem;z-index: 2;fill: #fff;}.bloglo-post-gallery .swiper-slide img {width: 100%;height: auto;}.bloglo-post-gallery .swiper-button-prev, .bloglo-post-gallery .swiper-button-next {width: 4rem;height: 4rem;}.horizontal-slider-items.swiper .bloglo-post-gallery .swiper-button-prev, .horizontal-slider-items.swiper .bloglo-post-gallery .swiper-button-next {display: none;}.bloglo-post-gallery.swiper-horizontal .swiper-pagination {bottom: 1.5rem;}.bloglo-post-gallery .swiper-pagination .swiper-pagination-bullet {cursor: pointer;width: 0.9rem;height: 0.9rem;}.bloglo-post-gallery .swiper-pagination .swiper-pagination-bullet-active {background: var(--bloglo-primary);}.bloglo-post-audio-wrapper audio {width: 100%;}.author-avatar img {border-radius: var(--bloglo-full-radius);width: 3rem;vertical-align: middle;margin-right: 0.8rem;display: inline-block;}#main .wp-block-file__button {color: var(--bloglo-white);}#main .content-area .entry-meta a {color: inherit;}.entry-meta {font-size: 1.4rem;margin-top: 1.2rem;}.entry-meta .bloglo-icon {height: 1.827rem;margin-right: 0.7rem;vertical-align: text-bottom;}.entry-meta .entry-meta-elements>span {padding: 0 1.1rem;line-height: 1.8;}.entry-meta .entry-meta-elements>span, .entry-meta .entry-meta-elements>span .posted-by {-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.entry-meta .entry-meta-elements>span:first-child {padding-left: 0;}.entry-meta .entry-meta-elements>span:last-child {margin-right: 0;padding-right: 0;}.entry-meta .entry-meta-elements>span:before {content: "";height: 1.6rem;width: 0.1rem;background-color: rgba(0, 0, 0, 0.25);position: relative;left: -1.1rem;}.entry-meta .entry-meta-elements>span:first-child:before {display: none;}.entry-media>a {position: relative;display: block;overflow: hidden;}.entry-media>a .entry-media-icon {-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;position: absolute;top: 2rem;right: 2rem;width: 5rem;height: 5rem;}.entry-media>a .entry-media-icon .entry-media-icon-wrapper {overflow: hidden;border-radius: 50%;}.entry-media>a .entry-media-icon:before {content: "";z-index: 1;-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);-webkit-transform: scale(1);-ms-transform: scale(1);transform: scale(1);border-radius: 50%;background-color: #232323;}.entry-media>a .entry-media-icon.is_sticky:before {background-color: var(--bloglo-primary);}.entry-media>a .entry-media-icon .bloglo-icon, .entry-media>a .entry-media-icon svg {color: var(--bloglo-white);fill: var(--bloglo-white);-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-transform: translate3d(0, 1.7rem, 0);transform: translate3d(0, 1.7rem, 0);-webkit-transition: -webkit-transform 0.22s ease;transition: -webkit-transform 0.22s ease;transition: transform 0.22s ease;transition: transform 0.22s ease, -webkit-transform 0.22s ease;z-index: 2;height: 1.6rem;}.entry-media>a .entry-media-icon .bloglo-icon.top-icon, .entry-media>a .entry-media-icon svg.top-icon {-webkit-transform: translate(0, 6.7rem);-ms-transform: translate(0, 6.7rem);transform: translate(0, 6.7rem);}.entry-media>a .entry-media-icon .bloglo-icon.bloglo-play:before, .entry-media>a .entry-media-icon svg.bloglo-play:before {position: relative;right: -0.1rem;}.entry-media>a:hover .entry-media-icon:before {-webkit-transform: scale(1.25);-ms-transform: scale(1.25);transform: scale(1.25);}.entry-media>a:hover .entry-media-icon .bloglo-icon, .entry-media>a:hover .entry-media-icon svg {-webkit-transform: translate(0, -6.7rem);-ms-transform: translate(0, -6.7rem);transform: translate(0, -6.7rem);}.entry-media>a:hover .entry-media-icon .bloglo-icon.top-icon, .entry-media>a:hover .entry-media-icon svg.top-icon {-webkit-transform: translate(0, 1.7rem);-ms-transform: translate(0, 1.7rem);transform: translate(0, 1.7rem);}.single-post.narrow-content .entry-content>ol, .single-post.narrow-content .entry-content>ul {padding-left: 4rem;}.posted-on .published:not(.updated) {display: none;}#main .entry-header .entry-title a {color: inherit;}#main .entry-header .entry-title a:hover, .using-keyboard #main .entry-header .entry-title a:focus {color: var(--bloglo-primary);}.single .entry-footer {margin-top: 4rem;}.single .entry-footer:empty {display: none;}.single .entry-footer .post-tags {margin-right: auto;padding-right: 2rem;}.single .entry-footer .last-updated {margin-top: 0.4rem;font-size: 1.493rem;}.single .entry-footer .last-updated .bloglo-icon {height: 1.6rem;margin-right: 0.6rem;}.single .post_format-post-format-quote .bloglo-blog-entry-content {margin-bottom: 5rem;}.post-thumb-caption {margin-top: 0.8rem;text-align: center;font-size: 1.4rem;}.entry-media {margin-bottom: 3rem;}.entry-media img {margin: 0 auto;display: block;border-radius: var(--bloglo-normal-radius);}.single-post .entry-media, .single-post .entry-content {margin-top: 4rem;}.single-post .entry-media {margin-bottom: 4rem;}.single .entry-content img {margin: 0 auto;display: block;}.single .entry-content p img {display: inline-block;vertical-align: text-bottom;}.single .post-tags {margin-bottom: -0.5rem;}.single .post-tags .cat-links {display: inline-block;}.bloglo-hover-slider .post-category, .single .post-category {margin-bottom: 0.3rem;font-size: 1.4rem;}.post-category a {-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;font-weight: 500;padding: 0.6rem 1rem;line-height: 1;border-radius: var(--bloglo-normal-radius);text-decoration: none;margin: 0 0 0.8rem 0.4rem;color: #fff;background-color: var(--bloglo-primary);}.post-category a:first-of-type {margin-left: 0;}.bloglo-hover-slider .entry-header, .single .entry-header {text-align: left;margin-bottom: 1rem;}.bloglo-hover-slider .entry-meta, .single .entry-meta {text-align: left;margin-top: 1.6rem;}.bloglo-hover-slider .entry-content, .single .entry-content {margin-bottom: 5rem;}.bloglo-hover-slider .entry-content>:last-child, .single .entry-content>:last-child {margin-bottom: 0 !important;}.single #main .post-nav a {color: inherit;display: block;}.single .post-nav {-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;margin-top: 2.5rem;}.single .post-nav>div {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;}.single .post-nav .nav-title {margin-top: 0;margin-bottom: 1.6rem;}.single .post-nav .nav-content {-ms-flex-wrap: nowrap;flex-wrap: nowrap;-webkit-box-align: center;-ms-flex-align: center;align-items: center;line-height: 1.5;font-weight: 500;}.single .post-nav .nav-content>div {-ms-flex-negative: 0;flex-shrink: 0;}.single .post-nav .nav-content span em {font-style: normal;}.single .post-nav img {border-radius: var(--bloglo-normal-radius);}.single .post-nav .nav-previous {margin-right: auto;}.single .post-nav .nav-previous .nav-content span {padding-right: 2rem;}.single .post-nav .nav-previous .nav-content img {margin-right: 2rem;}.single .post-nav .nav-next {margin-left: auto;}.single .post-nav .nav-next .nav-title {text-align: right;}.single .post-nav .nav-next .nav-content {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}.single .post-nav .nav-next .nav-content span:not(.ss-on-media-image-wrap) {text-align: right;padding-left: 2rem;}.single .post-nav .nav-next .nav-content img {margin-left: 2rem;}.single.single-format-quote .entry-content {margin-top: 0;margin-bottom: 0;}#main .post-tags a, #main .tagcloud a, #main .wp-block-tag-cloud a {color: inherit;}.single .post-tags a, .tagcloud a, .wp-block-tag-cloud a {display: block;float: left;text-transform: none;letter-spacing: 0;border-radius: var(--bloglo-full-radius);padding: 0.8rem 1.4rem;margin: 0.8rem 0.8rem 0 0;background-color: rgba(190, 190, 190, 0.12);border: 0.1rem solid rgba(190, 190, 190, 0.3);line-height: 1;font-size: 1.3rem;}.single .post-tags a:after, .tagcloud a:after, .wp-block-tag-cloud a:after {display: none !important;}.using-keyboard.single .post-tags .cat-links a:focus, .single .post-tags .cat-links a:hover, .using-keyboard .tagcloud a:focus, .tagcloud a:hover, .using-keyboard .wp-block-tag-cloud a:focus, .wp-block-tag-cloud a:hover {color: var(--bloglo-white) !important;}.post-password-form {background-color: rgba(0, 0, 0, 0.02);padding: 4rem 3rem;border: 0.1rem solid rgba(190, 190, 190, 0.3);}.post-password-form>p:first-child {max-width: 40rem;margin-left: auto;margin-right: auto;}.post-password-form label {font-size: 1.5rem;text-align: left;}.post-password-form input[type="password"] {min-width: 25rem;margin-top: 0.7rem;}.post-password-form input[type="submit"] {position: relative;top: -0.1rem;margin-left: 0.6rem;padding: 0 3.2rem;}.single.bloglo-page-title-align-left .page-header.bloglo-has-page-title, .single.bloglo-page-title-align-left .bloglo-article>.entry-header, .single.bloglo-page-title-align-left .bloglo-article>.post-category {text-align: left;}.single.bloglo-page-title-align-left .bloglo-article>.entry-meta>.entry-meta-elements {-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;}.single.bloglo-page-title-align-center .page-header.bloglo-has-page-title, .single.bloglo-page-title-align-center .bloglo-article>.entry-header, .single.bloglo-page-title-align-center .bloglo-article>.post-category {text-align: center;}.single.bloglo-page-title-align-center .bloglo-article>.entry-meta>.entry-meta-elements {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.single.bloglo-page-title-align-right .page-header.bloglo-has-page-title, .single.bloglo-page-title-align-right .bloglo-article>.entry-header, .single.bloglo-page-title-align-right .bloglo-article>.post-category {text-align: right;}.single.bloglo-page-title-align-right .bloglo-article>.entry-meta>.entry-meta-elements {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}.single.bloglo-single-title-in-page-header .entry-content, .single.bloglo-single-title-in-page-header .hentry>div:first-child {margin-top: 0;}.single.bloglo-single-title-in-page-header #page .page-header .page-title {color: #fff;font-size: 4.8rem;}.single.bloglo-single-title-in-page-header .page-header {padding-top: 0 !important;padding-bottom: 0 !important;}.single.bloglo-single-title-in-page-header .page-header .entry-meta {color: rgba(255, 255, 255, 0.75);margin-top: 0;}.using-keyboard.single.bloglo-single-title-in-page-header .page-header .entry-meta a:focus, .single.bloglo-single-title-in-page-header .page-header .entry-meta a:hover {color: #fff;}.single.bloglo-single-title-in-page-header .page-header .entry-meta .entry-meta-elements>span:before {background-color: rgba(255, 255, 255, 0.5);left: -1.3rem;bottom: 0;}.single.bloglo-single-title-in-page-header .page-header .post-category {margin-bottom: 1.6rem;}.single.bloglo-single-title-in-page-header .page-header .post-category a {color: #fff;font-size: 1.5rem;}.single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs .breadcrumb-trail .trail-items li:after, .single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs .separator, .single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs a, .single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs span {color: rgba(255, 255, 255, 0.75);}.using-keyboard.single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs a:focus, .single.bloglo-single-title-in-page-header .page-header .bloglo-breadcrumbs a:hover {color: #fff;}.single.bloglo-single-title-in-page-header .page-header.bloglo-has-page-title .entry-meta {margin-top: 3.2rem;}.page-header.bloglo-page-title-has-bg-img {position: relative;background-size: cover;background-repeat: no-repeat;background-position: center;border: none;}.page-header.bloglo-page-title-has-bg-img:after {content: "";pointer-events: none;background-color: #232323;opacity: 0.65;}.page-header.bloglo-page-title-has-bg-img.bloglo-bg-attachment-fixed {background-attachment: fixed;}body.author .author-box {margin-bottom: 4rem;margin-top: 0;}#main .author-box-title a {color: inherit;}.author-box {-ms-flex-wrap: nowrap;flex-wrap: nowrap;padding: 4rem;margin: 3rem auto;}.author-box .author-box-avatar, .author-box .author-box-meta {min-width: 0;min-height: 0;}.author-box .author-box-avatar {-ms-flex-item-align: start;align-self: flex-start;-ms-flex-negative: 0;flex-shrink: 0;-webkit-box-flex: 0;-ms-flex-positive: 0;flex-grow: 0;margin-right: 2.5rem;}.author-box .author-box-avatar img {display: block;border-radius: 50%;}.author-box .author-box-meta {-ms-flex-negative: 1;flex-shrink: 1;-webkit-box-flex: 0;-ms-flex-positive: 0;flex-grow: 0;}.author-box .author-box-title {margin-top: 0;margin-bottom: 0.8rem;}.author-box .author-box-content {line-height: 1.6;}.author-box .more-posts-button {margin-top: 1.6rem;}.bloglo-has-comments-toggle #comments {display: none;margin-top: 4rem;}.bloglo-has-comments-toggle.comments-visible #comments {display: block;}.bloglo-has-comments-toggle #bloglo-comments-toggle {font-size: inherit;margin-top: 4rem;}.bloglo-has-comments-toggle #bloglo-comments-toggle .bloglo-icon {width: 2.2rem;height: 2.2rem;margin-right: 0.8rem;}#comments {margin-top: 5rem;}#comments .comments-title-wrapper {margin: 0 0 4rem 0;}#comments .comments-title-wrapper p {text-align: center;margin-top: 0.6rem;font-size: 1.6rem;}#comments .comment-list ol, #comments .comment-list ul {margin-left: 5rem;}#comments .comment-list #respond {position: relative;margin: 4rem 0 4rem 0;}#comments .comment-list .children {position: relative;}#comments .comment-list .children #respond {position: relative;margin-bottom: 2.5rem;}#comments .comment-list .children>li {position: relative;}#comments .comment-list .children>li:before {position: absolute;content: "";height: calc(100% + 15px);width: 0.1rem;background-color: rgba(190, 190, 190, 0.3);left: -2.5rem;top: -1.5rem;}#comments .comment-list .children>li:after {position: absolute;content: "";height: 0.1rem;width: 2.5rem;background-color: rgba(190, 190, 190, 0.3);left: -2.5rem;top: 5.5rem;}#comments .comment-list .children>li:last-child:before {height: 7rem;}#comments .comment-list .children:before {position: absolute;content: "";height: 0;width: 0.1rem;background-color: rgba(190, 190, 190, 0.3);left: -2.5rem;top: -1.5rem;}#comments .comment-list .children #respond:before {position: absolute;content: "";height: calc(100% + 20px);width: 0.1rem;background-color: rgba(190, 190, 190, 0.3);left: -2.5rem;top: -4rem;}#comments .comment-list .children #respond .form-submit {position: relative;}#comments .comment-list .children #respond .form-submit:before {position: absolute;content: "";width: 2.5rem;height: 0.1rem;background-color: rgba(190, 190, 190, 0.3);left: -2.5rem;bottom: 2rem;}#comments .comment {margin: 0 0 1.5rem 0;}#comments .comment-body, #comments .comment_container {position: relative;padding: 2rem 2.5rem 2.5rem 10rem;min-height: 10rem;overflow-wrap: break-word;word-wrap: break-word;}#comments .comment-content ol, #comments .comment-content ul {margin: 1.6em 3.5rem;}#comments .comment-content ol li, #comments .comment-content ul li {margin-bottom: 0.5rem;}#comments .comment-content ol ol, #comments .comment-content ol ul, #comments .comment-content ul ol, #comments .comment-content ul ul {margin-top: 0;}#comments .comment-content ul {list-style: disc;}#comments .comment-content ol {list-style: decimal;}#comments .bloglo-pingback {position: relative;padding: 1.2rem 2.5rem;border-radius: var(--bloglo-normal-radius);border: 0.1rem solid rgba(190, 190, 190, 0.3);margin-bottom: 0.7rem;border-radius: 0;overflow-wrap: break-word;word-wrap: break-word;}#comments .bloglo-pingback>p {margin: 0;}#comments .comment-author-avatar {display: block;position: absolute;z-index: 1;left: 2.5rem;top: 2.5rem;max-width: 6rem;width: 5rem;height: 5rem;background-color: rgba(0, 0, 0, 0.03);border-radius: 50%;}#comments .comment-author-avatar img {border-radius: 50%;}#comments .bypostauthor-badge {font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;position: absolute;top: -0.2rem;right: -1.1rem;width: 2.2rem;height: 2.2rem;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;border-radius: 50%;border: 0.2rem solid var(--bloglo-white);color: var(--bloglo-white);font-size: 1.1rem;font-weight: 600;z-index: 9;line-height: 0;}#comments .comment-author-meta cite {font-style: normal;font-weight: 600;}#comments .comment-author-meta cite:before {content: none;}#comments .comment-author-meta cite a {text-decoration: none;color: inherit;}#comments .comment-author-meta cite a:hover {text-decoration: underline;}#comments .comment-actions, #comments .comment-meta {font-size: 1.493rem;}#comments .comment-meta {line-height: 1.5;}#comments .comment-meta a {color: inherit;text-decoration: none;}#comments .comment-meta a:hover {text-decoration: underline;}#comments .comment-actions {margin-left: auto;}#comments .comment-actions a {position: relative;text-decoration: none;color: #232323;}#comments .comment-actions .bloglo-comment-sep {width: 0.1rem;height: 1.6rem;margin: 0 0.9rem -0.2rem 1rem;display: inline-block;background-color: rgba(0, 0, 0, 0.25);}#comments .comment-header {-webkit-box-align: center;-ms-flex-align: center;align-items: center;}#comments .comment-content {margin-top: 1.6rem;}#comments .comment-content img, #comments .comment-content p {margin-top: 1.6rem;margin-bottom: 1.6rem;}#comments .comment-content img:first-child, #comments .comment-content p:first-child {margin-top: 0;}#comments .comment-content blockquote:last-child, #comments .comment-content code:last-child, #comments .comment-content img:last-child, #comments .comment-content ol:last-child, #comments .comment-content p:last-child, #comments .comment-content pre:last-child, #comments .comment-content ul:last-child {margin-bottom: 0;}.comments-closed {margin: 4rem 0 0;}#respond {margin-top: 4rem;}#respond .comment-reply-title {-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}#respond .must-log-in {text-align: center;color: #66717f;margin-top: 0.6rem;}#respond .required-field {border-bottom-color: #f00;}#cancel-comment-reply-link {font-size: 1.3rem;border-radius: var(--bloglo-normal-radius);border: 0.2rem solid currentColor;font-weight: 500;padding: 0.4rem 0.7rem;line-height: 1;text-decoration: none;text-transform: capitalize;margin-left: 1.4rem;color: inherit;}.comment-form {-ms-flex-wrap: wrap;flex-wrap: wrap;}.comment-form span.required {font-weight: 700;}.comment-form .comment-notes {-ms-flex-preferred-size: 100%;flex-basis: 100%;text-align: center;font-size: 1.6rem;margin-top: 0.6rem;margin-bottom: 1.6rem;}.comment-form>div, .comment-form>p {-ms-flex-preferred-size: 100%;flex-basis: 100%;margin-top: 0;margin-bottom: 0.8em;}.comment-form>div.comment-form-author, .comment-form>div.comment-form-email, .comment-form>div.comment-form-url, .comment-form>p.comment-form-author, .comment-form>p.comment-form-email, .comment-form>p.comment-form-url {-ms-flex-preferred-size: 33.33%;flex-basis: 33.33%;max-width: 33.33%;margin-bottom: 2.4rem;margin-top: 1.6rem;}.comment-form>div.comment-form-email, .comment-form>div.comment-form-url, .comment-form>p.comment-form-email, .comment-form>p.comment-form-url {padding-left: 1.5rem;}.comment-form>div.form-submit, .comment-form>p.form-submit {margin-top: 1em;-ms-flex-preferred-size: 100%;flex-basis: 100%;margin-bottom: 0;}.comment-form>div .bloglo-submit-form-button, .comment-form>p .bloglo-submit-form-button {display: block;}.comment-form>div.comment-textarea, .comment-form>p.comment-textarea {margin-top: 2.4rem;}.comment-form textarea {height: 19.2rem;}.comments-area .akismet_comment_form_privacy_notice, .comments-area .logged-in-as {margin-bottom: 0;}.comments-area .logged-in-as {margin-top: 3.2rem;}.comments-area .logged-in-as>a:first-child:after {content: "|";display: inline-block;padding-left: 0.5rem;padding-right: 0.4rem;}.bloglo-spinner {width: 4rem;height: 4rem;position: relative;-webkit-transform: scale(0);-ms-transform: scale(0);transform: scale(0);opacity: 0;-webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);pointer-events: none;}.bloglo-spinner.visible {-webkit-transform: scale(1);-ms-transform: scale(1);transform: scale(1);opacity: 1;}.bloglo-spinner>div {border-radius: 50%;background-color: #767676;opacity: 0.6;-webkit-animation: ai_bounce 1.6s infinite ease-in-out;animation: ai_bounce 1.6s infinite ease-in-out;}.bloglo-spinner>div:last-child {-webkit-animation-delay: -0.8s;animation-delay: -0.8s;}#bloglo-preloader {position: fixed;z-index: 99991;overflow: hidden;}.bloglo-loading #bloglo-preloader .preloader-1 {opacity: 0;}.bloglo-loaded #bloglo-preloader {display: none;}.preloader-1 {position: absolute;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;background-color: var(--bloglo-white);-webkit-transition: opacity 0.2s;transition: opacity 0.2s;opacity: 1;}.preloader-1>div {display: inline-block;border: 0.3rem solid rgba(0, 0, 0, 0.1);border-top-color: rgba(0, 0, 0, 0.2);-webkit-animation: ai_spin 0.65s infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);animation: ai_spin 0.65s infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);width: 5rem;height: 5rem;border-radius: 100%;will-change: transform;}@-webkit-keyframes ai_spin {0% {-webkit-transform: rotate(0deg);transform: rotate(0deg);}100% {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}@keyframes ai_spin {0% {-webkit-transform: rotate(0deg);transform: rotate(0deg);}100% {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}.mejs-container .mejs-controls, .mejs-embed, .mejs-embed body {background-color: #232323;height: 5rem !important;}.mejs-container .mejs-inner.mejs-audio {background-color: transparent;}.mejs-container .mejs-inner .mejs-controls {padding: 0 2rem;background-image: none;}.mejs-container .mejs-inner .mejs-controls .mejs-time-float {display: none !important;}.mejs-container .mejs-inner .mejs-controls .mejs-button {height: 100%;}.mejs-container .mejs-inner .mejs-controls .mejs-button>button {margin: 0;}.mejs-container .mejs-inner .mejs-controls .mejs-horizontal-volume-slider, .mejs-container .mejs-inner .mejs-controls .mejs-time-rail {height: 100%;padding: 0;}.mejs-container .mejs-inner .mejs-controls .mejs-horizontal-volume-total, .mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total, .mejs-container .mejs-inner .mejs-controls .mejs-volume-button .mejs-volume-slider, .mejs-container .mejs-inner .mejs-controls button {outline: none !important;-webkit-box-shadow: none !important;box-shadow: none !important;}.mejs-container .mejs-inner .mejs-controls .mejs-time {font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;height: 100%;padding: 0;margin: 0 2rem;color: #cacaca;font-size: 1.3rem;}.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-handle {top: -0.4rem;}.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-handle .mejs-time-handle-content {height: 1.4rem;width: 1.4rem;top: -0.6rem;background-color: var(--bloglo-white);}.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-handle span {border-radius: 50%;}.mejs-horizontal-volume-slider {height: 100%;}.mejs-container .mejs-inner .mejs-controls .mejs-horizontal-volume-total, .mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total {height: 0.2rem;margin: 0;top: 50%;background-image: none;background-color: #666;-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);transform: translateY(-50%);}.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total:before {content: "";display: inline-block;width: 100%;height: 1rem;position: absolute;top: -0.5rem;left: 0;z-index: 0;}.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total span {height: 100%;}.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total .mejs-time-current, .mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total .mejs-time-loaded {background-image: none;}.mejs-container .mejs-inner .mejs-controls .mejs-time-rail .mejs-time-total .mejs-time-loaded {background-color: #898989;}button.bloglo-animate-arrow {-webkit-appearance: none;border: none;-webkit-box-shadow: none;box-shadow: none;background: none;outline: none;}.btn-svg .arrow-bar, .flex-next .arrow-bar, .flex-prev .arrow-bar, .bloglo-animate-arrow .arrow-bar {-webkit-transform: scaleX(0);-ms-transform: scaleX(0);transform: scaleX(0);}.btn-svg .arrow-bar, .btn-svg .arrow-handle, .flex-next .arrow-bar, .flex-next .arrow-handle, .flex-prev .arrow-bar, .flex-prev .arrow-handle, .bloglo-animate-arrow .arrow-bar, .bloglo-animate-arrow .arrow-handle {-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);}.btn-svg svg, .flex-next svg, .flex-prev svg, .bloglo-animate-arrow svg {vertical-align: middle;}.btn-svg:focus, .btn-svg:hover, .flex-next:focus, .flex-next:hover, .flex-prev:focus, .flex-prev:hover, .bloglo-animate-arrow:focus, .bloglo-animate-arrow:hover {cursor: pointer;}.btn-svg:focus .arrow-handle, .btn-svg:hover .arrow-handle, .flex-next:focus .arrow-handle, .flex-next:hover .arrow-handle, .flex-prev:focus .arrow-handle, .flex-prev:hover .arrow-handle, .bloglo-animate-arrow:focus .arrow-handle, .bloglo-animate-arrow:hover .arrow-handle {-webkit-transform: translateX(0) !important;-ms-transform: translateX(0) !important;transform: translateX(0) !important;}.btn-svg:focus .arrow-bar, .btn-svg:hover .arrow-bar, .flex-next:focus .arrow-bar, .flex-next:hover .arrow-bar, .flex-prev:focus .arrow-bar, .flex-prev:hover .arrow-bar, .bloglo-animate-arrow:focus .arrow-bar, .bloglo-animate-arrow:hover .arrow-bar {-webkit-transform: scaleX(1);-ms-transform: scaleX(1);transform: scaleX(1);}.btn-svg.btn-left-icon .arrow-bar, .btn-svg.has-left-icon .arrow-bar, .btn-svg.left-arrow .arrow-bar, .flex-next.btn-left-icon .arrow-bar, .flex-next.has-left-icon .arrow-bar, .flex-next.left-arrow .arrow-bar, .flex-prev.btn-left-icon .arrow-bar, .flex-prev.has-left-icon .arrow-bar, .flex-prev.left-arrow .arrow-bar, .bloglo-animate-arrow.btn-left-icon .arrow-bar, .bloglo-animate-arrow.has-left-icon .arrow-bar, .bloglo-animate-arrow.left-arrow .arrow-bar {-webkit-transform-origin: 100% 0;-ms-transform-origin: 100% 0;transform-origin: 100% 0;}.btn-svg.btn-left-icon .arrow-handle, .btn-svg.has-left-icon .arrow-handle, .btn-svg.left-arrow .arrow-handle, .flex-next.btn-left-icon .arrow-handle, .flex-next.has-left-icon .arrow-handle, .flex-next.left-arrow .arrow-handle, .flex-prev.btn-left-icon .arrow-handle, .flex-prev.has-left-icon .arrow-handle, .flex-prev.left-arrow .arrow-handle, .bloglo-animate-arrow.btn-left-icon .arrow-handle, .bloglo-animate-arrow.has-left-icon .arrow-handle, .bloglo-animate-arrow.left-arrow .arrow-handle {-webkit-transform: translateX(0.6rem);-ms-transform: translateX(0.6rem);transform: translateX(0.6rem);}.btn-svg.btn-right-icon svg, .btn-svg.has-right-icon svg, .btn-svg.right-arrow svg, .flex-next.btn-right-icon svg, .flex-next.has-right-icon svg, .flex-next.right-arrow svg, .flex-prev.btn-right-icon svg, .flex-prev.has-right-icon svg, .flex-prev.right-arrow svg, .bloglo-animate-arrow.btn-right-icon svg, .bloglo-animate-arrow.has-right-icon svg, .bloglo-animate-arrow.right-arrow svg {-webkit-transform: rotate(180deg);-ms-transform: rotate(180deg);transform: rotate(180deg);}.btn-svg.btn-right-icon .arrow-bar, .btn-svg.has-right-icon .arrow-bar, .btn-svg.right-arrow .arrow-bar, .flex-next.btn-right-icon .arrow-bar, .flex-next.has-right-icon .arrow-bar, .flex-next.right-arrow .arrow-bar, .flex-prev.btn-right-icon .arrow-bar, .flex-prev.has-right-icon .arrow-bar, .flex-prev.right-arrow .arrow-bar, .bloglo-animate-arrow.btn-right-icon .arrow-bar, .bloglo-animate-arrow.has-right-icon .arrow-bar, .bloglo-animate-arrow.right-arrow .arrow-bar {-webkit-transform-origin: 100% 0;-ms-transform-origin: 100% 0;transform-origin: 100% 0;}.btn-svg.btn-right-icon .arrow-handle, .btn-svg.has-right-icon .arrow-handle, .btn-svg.right-arrow .arrow-handle, .flex-next.btn-right-icon .arrow-handle, .flex-next.has-right-icon .arrow-handle, .flex-next.right-arrow .arrow-handle, .flex-prev.btn-right-icon .arrow-handle, .flex-prev.has-right-icon .arrow-handle, .flex-prev.right-arrow .arrow-handle, .bloglo-animate-arrow.btn-right-icon .arrow-handle, .bloglo-animate-arrow.has-right-icon .arrow-handle, .bloglo-animate-arrow.right-arrow .arrow-handle {-webkit-transform: translateX(0.6rem);-ms-transform: translateX(0.6rem);transform: translateX(0.6rem);}svg.bloglo-animate-arrow.right-arrow {-webkit-transform: rotate(180deg);-ms-transform: rotate(180deg);transform: rotate(180deg);}svg.bloglo-animate-arrow.right-arrow .arrow-bar {-webkit-transform-origin: 100% 0;-ms-transform-origin: 100% 0;transform-origin: 100% 0;}svg.bloglo-animate-arrow.right-arrow .arrow-handle {-webkit-transform: translateX(0.6rem);-ms-transform: translateX(0.6rem);transform: translateX(0.6rem);}#page .uppercase-text {text-transform: uppercase;}#page .center-text {text-align: center;}#page .mr-20 {margin-right: 2rem;}#page .mt--30 {margin-top: -3rem;}#page .mb--30 {margin-bottom: -3rem;}#page .bloglo-clear-p {padding: 0;}#page .bloglo-clear-m {margin: 0;}#page .bloglo-clear-bm {margin-bottom: 0;}#page .bloglo-clear-tm {margin-top: 0;}#page .bloglo-unset-mw, #page .bloglo-unset-mw>img {max-width: unset;}#page .bloglo-z-index-99 {position: relative;z-index: 99;}#page .bloglo-br-0, #page .bloglo-br-0 img {border-radius: 0;}#page .bloglo-br-3, #page .bloglo-br-3 img {border-radius: var(--bloglo-normal-radius);}#page .bloglo-br-6, #page .bloglo-br-6 img {border-radius: 0.6rem;}#page .bloglo-br-12, #page .bloglo-br-12 img {border-radius: 1.2rem;}#page .bloglo-bs {-webkit-box-shadow: 0 1rem 3.5rem -0.3rem rgba(0, 0, 0, 0.12);box-shadow: 0 1rem 3.5rem -0.3rem rgba(0, 0, 0, 0.12);}.bloglo-entry>.ss-inline-share-wrapper:first-child {margin-top: 0;}.bloglo-entry>.ss-inline-share-wrapper:last-child {margin-top: 4rem;margin-bottom: -2rem !important;}.wpforms-container label.wpforms-error {font-weight: 400;}.wpforms-container label.wpforms-error a {color: inherit;text-decoration: underline;}#page .sharedaddy {margin-top: 2rem;margin-bottom: 2rem;}#page .sharedaddy h3.sd-title {font-size: inherit;font-weight: 500;}#page .sharedaddy h3.sd-title:before {display: none;}ul.swiper-wrapper {list-style: none;margin-left: 0;margin-right: 0;}#infinite-footer {z-index: 9;}.infinite-loader {margin: 4rem 0;}.bloglo-hamburger {padding: 0 0;display: inline-block;cursor: pointer;font: inherit;color: inherit;text-transform: none;background-color: transparent;border: 0;margin: 0;overflow: visible;}.hamburger-box {width: 2.5rem;height: 1.4rem;display: inline-block;position: relative;}.hamburger-inner {display: block;top: 50%;margin-top: -0.1rem;}.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {width: 2.8rem;height: 2px;background-color: #232323;border-radius: var(--bloglo-normal-radius);position: absolute;-webkit-transition-property: -webkit-transform;transition-property: -webkit-transform;transition-property: transform;transition-property: transform, -webkit-transform;-webkit-transition-duration: 0.15s;transition-duration: 0.15s;-webkit-transition-timing-function: ease;transition-timing-function: ease;}.hamburger-inner::before, .hamburger-inner::after {content: "";display: block;}.hamburger-inner::before {top: -5px;}.hamburger-inner::after {bottom: -5px;}.hamburger--spin .hamburger-inner {-webkit-transition-duration: 0.22s;transition-duration: 0.22s;-webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);}.hamburger--spin .hamburger-inner::before {-webkit-transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;}.hamburger--spin .hamburger-inner::after {-webkit-transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);}.hamburger--spin.is-active .hamburger-inner {-webkit-transform: rotate(225deg);-ms-transform: rotate(225deg);transform: rotate(225deg);-webkit-transition-delay: 0.12s;transition-delay: 0.12s;-webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);}.hamburger--spin.is-active .hamburger-inner::before {top: 0;opacity: 0;-webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;}.hamburger--spin.is-active .hamburger-inner::after {bottom: 0;-webkit-transform: rotate(-90deg);-ms-transform: rotate(-90deg);transform: rotate(-90deg);-webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);}.bloglo-is-mobile #bloglo-header-inner .bloglo-nav>ul>li>a {color: inherit !important;}.bloglo-mobile-nav {display: none;margin-left: 2.4rem;}.bloglo-hamburger, .bloglo-mobile-nav {-webkit-box-align: center;-ms-flex-align: center;align-items: center;}body:not(.is-mobile-menu-active) .bloglo-hamburger .hamburger-box .hamburger-inner::before {width: 1.5rem;}.bloglo-hamburger {-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;border-radius: var(--bloglo-normal-radius);}.bloglo-hamburger .hamburger-label {font-size: 1.2rem;letter-spacing: 0.16rem;margin-right: 1rem;font-weight: 500;-webkit-transition: color 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: color 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);color: currentColor;}.bloglo-hamburger .hamburger-label:empty {margin-right: 0;}.bloglo-hamburger .hamburger-inner, .bloglo-hamburger .hamburger-inner::before, .bloglo-hamburger .hamburger-inner::after {background-color: currentColor;}button.bloglo-hamburger {outline: none;}.using-keyboard .bloglo-hamburger:focus {outline-offset: 0.5rem;border-radius: 0;}#bloglo-header:after {content: "";position: fixed;top: 100%;left: 0;right: 0;height: 100vh;background-color: rgba(255, 255, 255, 0.85);z-index: 991;opacity: 0;visibility: hidden;will-change: opacity, visibility;-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);pointer-events: none;}.is-mobile-menu-active .hamburger--spin .hamburger-inner {-webkit-transform: rotate(225deg);-ms-transform: rotate(225deg);transform: rotate(225deg);-webkit-transition-delay: 0.12s;transition-delay: 0.12s;-webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);}.is-mobile-menu-active .hamburger--spin .hamburger-inner::before {top: 0;opacity: 0;-webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;}.is-mobile-menu-active .hamburger--spin .hamburger-inner::after {bottom: 0;-webkit-transform: rotate(-90deg);-ms-transform: rotate(-90deg);transform: rotate(-90deg);-webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);}.is-mobile-menu-active #page:after {content: "";position: absolute;z-index: 9;background-color: rgba(0, 0, 0, 0.6);top: 0;left: 0;right: 0;bottom: 0;opacity: 1;pointer-events: none;}.is-mobile-menu-active #bloglo-header {position: relative;z-index: 99;}.is-mobile-menu-active #bloglo-header:after {visibility: visible;opacity: 1;pointer-events: all;}.is-mobile-menu-active .bloglo-mobile-nav {z-index: 992;}.is-mobile-menu-active, .is-mobile-menu-active body {overflow: hidden;}@media screen and (min-width: 481px) and (max-width: 768px) {.bloglo-hide-tablet {display: none !important;}}@media only screen and (min-width: 600px) {.g-sm-0, .gx-sm-0 {--bloglo-gutter-x: 0;}.g-sm-0, .gy-sm-0 {--bloglo-gutter-y: 0;}.g-sm-1, .gx-sm-1 {--bloglo-gutter-x: 0.4rem;}.g-sm-1, .gy-sm-1 {--bloglo-gutter-y: 0.4rem;}.g-sm-2, .gx-sm-2 {--bloglo-gutter-x: 0.8rem;}.g-sm-2, .gy-sm-2 {--bloglo-gutter-y: 0.8rem;}.g-sm-3, .gx-sm-3 {--bloglo-gutter-x: 1.6rem;}.g-sm-3, .gy-sm-3 {--bloglo-gutter-y: 1.6rem;}.g-sm-4, .gx-sm-4 {--bloglo-gutter-x: 2.4rem;}.g-sm-4, .gy-sm-4 {--bloglo-gutter-y: 2.4rem;}.g-sm-5, .gx-sm-5 {--bloglo-gutter-x: 4.8rem;}.g-sm-5, .gy-sm-5 {--bloglo-gutter-y: 4.8rem;}.g-sm-6, .gx-sm-6 {--bloglo-gutter-x: 6.5rem;}.g-sm-6, .gy-sm-6 {--bloglo-gutter-y: 6.5rem;}.site .bloglo-flex-row .col-sm {-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;-ms-flex-negative: 1;flex-shrink: 1;max-width: 100%;-ms-flex-preferred-size: 0;flex-basis: 0;}.site .bloglo-flex-row .col-sm.flex-basis-auto {-ms-flex-preferred-size: auto;flex-basis: auto;}.site .bloglo-flex-row .col-sm-1 {-ms-flex-preferred-size: 8.33333%;flex-basis: 8.33333%;max-width: 8.33333%;}.site .bloglo-flex-row .col-sm-2 {-ms-flex-preferred-size: 16.66667%;flex-basis: 16.66667%;max-width: 16.66667%;}.site .bloglo-flex-row .col-sm-3 {-ms-flex-preferred-size: 25%;flex-basis: 25%;max-width: 25%;}.site .bloglo-flex-row .col-sm-4 {-ms-flex-preferred-size: 33.33333%;flex-basis: 33.33333%;max-width: 33.33333%;}.site .bloglo-flex-row .col-sm-5 {-ms-flex-preferred-size: 41.66667%;flex-basis: 41.66667%;max-width: 41.66667%;}.site .bloglo-flex-row .col-sm-6 {-ms-flex-preferred-size: 50%;flex-basis: 50%;max-width: 50%;}.site .bloglo-flex-row .col-sm-7 {-ms-flex-preferred-size: 58.33333%;flex-basis: 58.33333%;max-width: 58.33333%;}.site .bloglo-flex-row .col-sm-8 {-ms-flex-preferred-size: 66.66667%;flex-basis: 66.66667%;max-width: 66.66667%;}.site .bloglo-flex-row .col-sm-9 {-ms-flex-preferred-size: 75%;flex-basis: 75%;max-width: 75%;}.site .bloglo-flex-row .col-sm-10 {-ms-flex-preferred-size: 83.33333%;flex-basis: 83.33333%;max-width: 83.33333%;}.site .bloglo-flex-row .col-sm-11 {-ms-flex-preferred-size: 91.66667%;flex-basis: 91.66667%;max-width: 91.66667%;}.site .bloglo-flex-row .col-sm-12 {-ms-flex-preferred-size: 100%;flex-basis: 100%;max-width: 100%;}.site .bloglo-flex-row .col-sm-offset-0 {margin-left: 0%;}.site .bloglo-flex-row .col-sm-offset-1 {margin-left: 8.33333%;}.site .bloglo-flex-row .col-sm-offset-2 {margin-left: 16.66667%;}.site .bloglo-flex-row .col-sm-offset-3 {margin-left: 25%;}.site .bloglo-flex-row .col-sm-offset-4 {margin-left: 33.33333%;}.site .bloglo-flex-row .col-sm-offset-5 {margin-left: 41.66667%;}.site .bloglo-flex-row .col-sm-offset-6 {margin-left: 50%;}.site .bloglo-flex-row .col-sm-offset-7 {margin-left: 58.33333%;}.site .bloglo-flex-row .col-sm-offset-8 {margin-left: 66.66667%;}.site .bloglo-flex-row .col-sm-offset-9 {margin-left: 75%;}.site .bloglo-flex-row .col-sm-offset-10 {margin-left: 83.33333%;}.site .bloglo-flex-row .col-sm-offset-11 {margin-left: 91.66667%;}.site .bloglo-flex-row .first-sm {-webkit-box-ordinal-group: 0;-ms-flex-order: -1;order: -1;}.site .bloglo-flex-row .last-sm {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;}.site .bloglo-flex-row.start-sm, .site .bloglo-flex-row .start-sm {-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;text-align: left;}.site .bloglo-flex-row.center-sm, .site .bloglo-flex-row .center-sm {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;text-align: center;}.site .bloglo-flex-row.end-sm, .site .bloglo-flex-row .end-sm {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;text-align: end;margin-left: auto;}.site .bloglo-flex-row.top-sm, .site .bloglo-flex-row .top-sm {-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;}.site .bloglo-flex-row.middle-sm, .site .bloglo-flex-row .middle-sm {-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.site .bloglo-flex-row.stretch-sm, .site .bloglo-flex-row .stretch-sm {-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;}.site .bloglo-flex-row.bottom-sm, .site .bloglo-flex-row .bottom-sm {-webkit-box-align: end;-ms-flex-align: end;align-items: flex-end;}.site .bloglo-flex-row.around-sm {-ms-flex-pack: distribute;justify-content: space-around;}.site .bloglo-flex-row.between-sm {-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}}@media (max-width: 782px) and (min-width: 600px) {.wp-block-column:nth-child(even) {margin-left: 3rem;-ms-flex-preferred-size: calc(50% - 15px) !important;flex-basis: calc(50% - 15px) !important;}}@media screen and (min-width: 769px) and (max-width: 960px) {.bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .elementor-section.elementor-section-stretched, .bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .entry-content .alignfull, .bloglo-has-sidebar:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .bloglo-fw-section, body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .elementor-section.elementor-section-stretched, body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .entry-content .alignfull, body.bloglo-layout__boxed-separated:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer) #page .bloglo-fw-section {max-width: unset;margin-left: -5rem !important;margin-right: -5rem !important;}}@media (min-width: 782px) {.wp-block-columns {margin-bottom: 3.2rem;-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}#main .entry-content .wp-block-buttons, #main .bloglo-entry .wp-block-buttons {margin-bottom: 1.5rem;}.wp-block-columns .wp-block-column {margin-bottom: 0;}.wp-block-columns .wp-block-column:not(:first-child) {margin-left: 3rem;}}@media only screen and (min-width: 783px) {.g-md-0, .gx-md-0 {--bloglo-gutter-x: 0;}.g-md-0, .gy-md-0 {--bloglo-gutter-y: 0;}.g-md-1, .gx-md-1 {--bloglo-gutter-x: 0.4rem;}.g-md-1, .gy-md-1 {--bloglo-gutter-y: 0.4rem;}.g-md-2, .gx-md-2 {--bloglo-gutter-x: 0.8rem;}.g-md-2, .gy-md-2 {--bloglo-gutter-y: 0.8rem;}.g-md-3, .gx-md-3 {--bloglo-gutter-x: 1.6rem;}.g-md-3, .gy-md-3 {--bloglo-gutter-y: 1.6rem;}.g-md-4, .gx-md-4 {--bloglo-gutter-x: 2.4rem;}.g-md-4, .gy-md-4 {--bloglo-gutter-y: 2.4rem;}.g-md-5, .gx-md-5 {--bloglo-gutter-x: 4.8rem;}.g-md-5, .gy-md-5 {--bloglo-gutter-y: 4.8rem;}.g-md-6, .gx-md-6 {--bloglo-gutter-x: 6.5rem;}.g-md-6, .gy-md-6 {--bloglo-gutter-y: 6.5rem;}.site .bloglo-flex-row .col-md {-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;-ms-flex-negative: 1;flex-shrink: 1;max-width: 100%;-ms-flex-preferred-size: 0;flex-basis: 0;}.site .bloglo-flex-row .col-md.flex-basis-auto {-ms-flex-preferred-size: auto;flex-basis: auto;}.site .bloglo-flex-row .col-md-1 {-ms-flex-preferred-size: 8.33333%;flex-basis: 8.33333%;max-width: 8.33333%;}.site .bloglo-flex-row .col-md-2 {-ms-flex-preferred-size: 16.66667%;flex-basis: 16.66667%;max-width: 16.66667%;}.site .bloglo-flex-row .col-md-3 {-ms-flex-preferred-size: 25%;flex-basis: 25%;max-width: 25%;}.site .bloglo-flex-row .col-md-4 {-ms-flex-preferred-size: 33.33333%;flex-basis: 33.33333%;max-width: 33.33333%;}.site .bloglo-flex-row .col-md-5 {-ms-flex-preferred-size: 41.66667%;flex-basis: 41.66667%;max-width: 41.66667%;}.site .bloglo-flex-row .col-md-6 {-ms-flex-preferred-size: 50%;flex-basis: 50%;max-width: 50%;}.site .bloglo-flex-row .col-md-7 {-ms-flex-preferred-size: 58.33333%;flex-basis: 58.33333%;max-width: 58.33333%;}.site .bloglo-flex-row .col-md-8 {-ms-flex-preferred-size: 66.66667%;flex-basis: 66.66667%;max-width: 66.66667%;}.site .bloglo-flex-row .col-md-9 {-ms-flex-preferred-size: 75%;flex-basis: 75%;max-width: 75%;}.site .bloglo-flex-row .col-md-10 {-ms-flex-preferred-size: 83.33333%;flex-basis: 83.33333%;max-width: 83.33333%;}.site .bloglo-flex-row .col-md-11 {-ms-flex-preferred-size: 91.66667%;flex-basis: 91.66667%;max-width: 91.66667%;}.site .bloglo-flex-row .col-md-12 {-ms-flex-preferred-size: 100%;flex-basis: 100%;max-width: 100%;}.site .bloglo-flex-row .col-md-offset-0 {margin-left: 0%;}.site .bloglo-flex-row .col-md-offset-1 {margin-left: 8.33333%;}.site .bloglo-flex-row .col-md-offset-2 {margin-left: 16.66667%;}.site .bloglo-flex-row .col-md-offset-3 {margin-left: 25%;}.site .bloglo-flex-row .col-md-offset-4 {margin-left: 33.33333%;}.site .bloglo-flex-row .col-md-offset-5 {margin-left: 41.66667%;}.site .bloglo-flex-row .col-md-offset-6 {margin-left: 50%;}.site .bloglo-flex-row .col-md-offset-7 {margin-left: 58.33333%;}.site .bloglo-flex-row .col-md-offset-8 {margin-left: 66.66667%;}.site .bloglo-flex-row .col-md-offset-9 {margin-left: 75%;}.site .bloglo-flex-row .col-md-offset-10 {margin-left: 83.33333%;}.site .bloglo-flex-row .col-md-offset-11 {margin-left: 91.66667%;}.site .bloglo-flex-row .first-md {-webkit-box-ordinal-group: 0;-ms-flex-order: -1;order: -1;}.site .bloglo-flex-row .last-md {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;}.site .bloglo-flex-row.start-md, .site .bloglo-flex-row .start-md {-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;text-align: left;}.site .bloglo-flex-row.center-md, .site .bloglo-flex-row .center-md {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;text-align: center;}.site .bloglo-flex-row.end-md, .site .bloglo-flex-row .end-md {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;text-align: end;margin-left: auto;}.site .bloglo-flex-row.top-md, .site .bloglo-flex-row .top-md {-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;}.site .bloglo-flex-row.middle-md, .site .bloglo-flex-row .middle-md {-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.site .bloglo-flex-row.stretch-md, .site .bloglo-flex-row .stretch-md {-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;}.site .bloglo-flex-row.bottom-md, .site .bloglo-flex-row .bottom-md {-webkit-box-align: end;-ms-flex-align: end;align-items: flex-end;}.site .bloglo-flex-row.around-md {-ms-flex-pack: distribute;justify-content: space-around;}.site .bloglo-flex-row.between-md {-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}}@media only screen and (min-width: 1200px) {.g-lg-0, .gx-lg-0 {--bloglo-gutter-x: 0;}.g-lg-0, .gy-lg-0 {--bloglo-gutter-y: 0;}.g-lg-1, .gx-lg-1 {--bloglo-gutter-x: 0.4rem;}.g-lg-1, .gy-lg-1 {--bloglo-gutter-y: 0.4rem;}.g-lg-2, .gx-lg-2 {--bloglo-gutter-x: 0.8rem;}.g-lg-2, .gy-lg-2 {--bloglo-gutter-y: 0.8rem;}.g-lg-3, .gx-lg-3 {--bloglo-gutter-x: 1.6rem;}.g-lg-3, .gy-lg-3 {--bloglo-gutter-y: 1.6rem;}.g-lg-4, .gx-lg-4 {--bloglo-gutter-x: 2.4rem;}.g-lg-4, .gy-lg-4 {--bloglo-gutter-y: 2.4rem;}.g-lg-5, .gx-lg-5 {--bloglo-gutter-x: 4.8rem;}.g-lg-5, .gy-lg-5 {--bloglo-gutter-y: 4.8rem;}.g-lg-6, .gx-lg-6 {--bloglo-gutter-x: 6.5rem;}.g-lg-6, .gy-lg-6 {--bloglo-gutter-y: 6.5rem;}.site .bloglo-flex-row .col-lg {-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;-ms-flex-negative: 1;flex-shrink: 1;max-width: 100%;-ms-flex-preferred-size: 0;flex-basis: 0;}.site .bloglo-flex-row .col-lg.flex-basis-auto {-ms-flex-preferred-size: auto;flex-basis: auto;}.site .bloglo-flex-row .col-lg-1 {-ms-flex-preferred-size: 8.33333%;flex-basis: 8.33333%;max-width: 8.33333%;}.site .bloglo-flex-row .col-lg-2 {-ms-flex-preferred-size: 16.66667%;flex-basis: 16.66667%;max-width: 16.66667%;}.site .bloglo-flex-row .col-lg-3 {-ms-flex-preferred-size: 25%;flex-basis: 25%;max-width: 25%;}.site .bloglo-flex-row .col-lg-4 {-ms-flex-preferred-size: 33.33333%;flex-basis: 33.33333%;max-width: 33.33333%;}.site .bloglo-flex-row .col-lg-5 {-ms-flex-preferred-size: 41.66667%;flex-basis: 41.66667%;max-width: 41.66667%;}.site .bloglo-flex-row .col-lg-6 {-ms-flex-preferred-size: 50%;flex-basis: 50%;max-width: 50%;}.site .bloglo-flex-row .col-lg-7 {-ms-flex-preferred-size: 58.33333%;flex-basis: 58.33333%;max-width: 58.33333%;}.site .bloglo-flex-row .col-lg-8 {-ms-flex-preferred-size: 66.66667%;flex-basis: 66.66667%;max-width: 66.66667%;}.site .bloglo-flex-row .col-lg-9 {-ms-flex-preferred-size: 75%;flex-basis: 75%;max-width: 75%;}.site .bloglo-flex-row .col-lg-10 {-ms-flex-preferred-size: 83.33333%;flex-basis: 83.33333%;max-width: 83.33333%;}.site .bloglo-flex-row .col-lg-11 {-ms-flex-preferred-size: 91.66667%;flex-basis: 91.66667%;max-width: 91.66667%;}.site .bloglo-flex-row .col-lg-12 {-ms-flex-preferred-size: 100%;flex-basis: 100%;max-width: 100%;}.site .bloglo-flex-row .col-lg-offset-0 {margin-left: 0%;}.site .bloglo-flex-row .col-lg-offset-1 {margin-left: 8.33333%;}.site .bloglo-flex-row .col-lg-offset-2 {margin-left: 16.66667%;}.site .bloglo-flex-row .col-lg-offset-3 {margin-left: 25%;}.site .bloglo-flex-row .col-lg-offset-4 {margin-left: 33.33333%;}.site .bloglo-flex-row .col-lg-offset-5 {margin-left: 41.66667%;}.site .bloglo-flex-row .col-lg-offset-6 {margin-left: 50%;}.site .bloglo-flex-row .col-lg-offset-7 {margin-left: 58.33333%;}.site .bloglo-flex-row .col-lg-offset-8 {margin-left: 66.66667%;}.site .bloglo-flex-row .col-lg-offset-9 {margin-left: 75%;}.site .bloglo-flex-row .col-lg-offset-10 {margin-left: 83.33333%;}.site .bloglo-flex-row .col-lg-offset-11 {margin-left: 91.66667%;}.site .bloglo-flex-row .first-lg {-webkit-box-ordinal-group: 0;-ms-flex-order: -1;order: -1;}.site .bloglo-flex-row .last-lg {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;}.site .bloglo-flex-row.start-lg, .site .bloglo-flex-row .start-lg {-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;text-align: left;}.site .bloglo-flex-row.center-lg, .site .bloglo-flex-row .center-lg {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;text-align: center;}.site .bloglo-flex-row.end-lg, .site .bloglo-flex-row .end-lg {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;text-align: end;margin-left: auto;}.site .bloglo-flex-row.top-lg, .site .bloglo-flex-row .top-lg {-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;}.site .bloglo-flex-row.middle-lg, .site .bloglo-flex-row .middle-lg {-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.site .bloglo-flex-row.stretch-lg, .site .bloglo-flex-row .stretch-lg {-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;}.site .bloglo-flex-row.bottom-lg, .site .bloglo-flex-row .bottom-lg {-webkit-box-align: end;-ms-flex-align: end;align-items: flex-end;}.site .bloglo-flex-row.around-lg {-ms-flex-pack: distribute;justify-content: space-around;}.site .bloglo-flex-row.between-lg {-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}}@media screen and (max-width: 768px) {.bloglo-entry p.has-background {padding: 2.5rem;}.bloglo-hide-mobile-tablet {display: none !important;}.alignfull.bloglo-wrap-content>div, .bloglo-container, .bloglo-container-fluid, .wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer>ul {padding: 0 3rem;}.bloglo-header-widgets .bloglo-header-widget, .bloglo-header-widgets .bloglo-header-widget.bloglo-header-widget__button {padding-left: 1rem;padding-right: 1rem;}.bloglo-header-widgets .bloglo-header-widget:not(.bloglo-header-widget__button, .bloglo-header-widget__socials) .bloglo-icon {font-size: 2.4rem;}body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-has-sidebar #page .elementor-section.elementor-section-stretched, body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-has-sidebar #page .entry-content .alignfull, body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-has-sidebar #page .bloglo-fw-section, body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-no-sidebar #page .elementor-section.elementor-section-stretched, body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-no-sidebar #page .entry-content .alignfull, body:not(.page-template-template-bloglo-fullwidth):not(.page-template-elementor_header_footer).bloglo-no-sidebar #page .bloglo-fw-section {margin-left: -3rem !important;margin-right: -3rem !important;left: 0;max-width: unset;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper {display: block;}.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-left .entry-media, .bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-right .entry-media {margin: 0 0 2.128em 0;}#bloglo-pre-footer .col-md-4 {margin-top: 3rem;}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:after, .bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row:before {left: 0;right: 0;}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row {padding: 4rem 3rem;margin: 0;}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row>div {padding-left: 0;padding-right: 0;}#bloglo-copyright.contained-separator>.bloglo-container:before {left: 3rem;right: 3rem;}.single.bloglo-single-title-in-page-header #page .page-header .page-title {font-size: 3.2rem;}.single.bloglo-single-title-in-page-header .page-header .post-category a {font-size: 1.4rem;}#page .bloglo-unset-mw, #page .bloglo-unset-mw>img {max-width: 100%;}.bloglo-mobile-nav {margin-left: 1.6rem;}}@media screen and (max-width: 599px) {#page .alignleft, #page .alignright {float: none;margin: 2rem auto;}#page .has-text-align-right {text-align: left;}#bloglo-header-inner .bloglo-widget-wrapper, .bloglo-header-element, .bloglo-header-widgets .bloglo-header-widget {position: static;}.bloglo-header-widgets .dropdown-item:after {display: none;}.page-header>.bloglo-container {-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}.page-header>.bloglo-container .bloglo-page-header-wrapper {padding-left: 0 !important;padding-right: 0 !important;}.page-header .bloglo-page-header-wrapper {margin-right: 0;margin-left: 0;width: 100%;}.bloglo-page-title-align-right .page-header.bloglo-has-page-title .bloglo-page-header-wrapper {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;}.bloglo-page-title-align-right .page-header.bloglo-has-page-title .bloglo-breadcrumbs {-ms-flex-item-align: start;align-self: flex-start;-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;}.bloglo-hover-slider .hover-slide-item {padding: 5rem 0;}#colophon .search-form, #main .search-form {max-width: 100%;}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-pre-footer-cta {padding-left: 0;padding-right: 0;}.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row {margin-left: 0;margin-right: 0;}#bloglo-copyright .bloglo-copyright-widget .bloglo-nav>ul>li {margin-top: 0.32rem;margin-bottom: 0.32rem;}#bloglo-copyright .bloglo-copyright-widget {padding-left: 0;padding-right: 0;}#page .error-404 .page-header h1.page-title {font-size: 20rem;}.author-avatar img {display: none;}.single .entry-footer {display: block;}.single .entry-footer .last-updated {margin-top: 1.6rem;display: block;}.author-box {padding: 2.5rem;}.author-box .author-box-avatar {display: none;}#comments .comment-body, #comments .comment_container {padding: 2rem 2.5rem 2.5rem 2.5rem;min-height: initial;min-height: auto;}#comments .comment-author-avatar {display: none;}.comment-form>div.comment-form-author, .comment-form>div.comment-form-email, .comment-form>div.comment-form-url, .comment-form>p.comment-form-author, .comment-form>p.comment-form-email, .comment-form>p.comment-form-url {-ms-flex-preferred-size: 100%;flex-basis: 100%;max-width: 100%;padding-left: 0;padding-right: 0;}}@media screen and (max-width: 480px) {.bloglo-hide-mobile {display: none !important;}#page {min-height: -webkit-fill-available;}}@media screen and (max-width: 782px) {.admin-bar #page {min-height: calc(100vh - 46px);}.bloglo-sticky-header.admin-bar.bloglo-is-mobile #bloglo-header-inner, .bloglo-sticky-header.admin-bar:not(.bloglo-header-layout-3, .bloglo-header-layout-4) #bloglo-header-inner, .bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container>.bloglo-container, .bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container>.bloglo-container {top: 46px;}#bloglo-footer #bloglo-footer-widgets {padding-top: 3rem;padding-bottom: 3rem;}#bloglo-footer .bloglo-footer-column {padding-top: 2rem;padding-bottom: 2rem;}}@media screen and (max-width: 960px) {.bloglo-layout__boxed-separated #content .entry-content>.alignfull:first-child {margin-top: -5rem;}.bloglo-layout__boxed-separated:not(.comments-open) #content .entry-content>.alignfull:last-child {margin-bottom: -5rem;}.bloglo-horizontal-slider .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper .bloglo-entry-content-wrapper, .bloglo-layout__boxed-separated.blog.bloglo-blog-horizontal .bloglo-article .bloglo-entry-content-wrapper, .bloglo-layout__boxed-separated.category.bloglo-blog-horizontal .bloglo-article .bloglo-entry-content-wrapper, .bloglo-layout__boxed-separated.search-results.bloglo-blog-horizontal .bloglo-article .bloglo-entry-content-wrapper {padding: 0 2.4rem 3rem;}.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget {margin-bottom: 4rem;}.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget .widget-title {margin-left: 0;padding-left: 1.2rem;}#bloglo-topbar>.bloglo-container>.bloglo-flex-row>div .bloglo-topbar-widget {padding-top: 0.6rem;padding-bottom: 0.6rem;}#bloglo-topbar .bloglo-topbar-widget {padding-left: 0.8rem;padding-right: 0.8rem;}.bloglo-topbar__separators-regular #bloglo-topbar .bloglo-topbar-widget:after, .bloglo-topbar__separators-slanted #bloglo-topbar .bloglo-topbar-widget:after {margin-left: 0.8rem;}.bloglo-header__separators-regular .bloglo-header-widget, .bloglo-header__separators-slanted .bloglo-header-widget {padding-left: 0.8rem;padding-right: 0.8rem;}.bloglo-header__separators-regular .bloglo-header-widget:after, .bloglo-header__separators-slanted .bloglo-header-widget:after {margin-left: 0.8rem;}body:not(.bloglo-has-sidebar):not(.bloglo-single-title-in-content) #content .entry-content>.alignfull:first-child {margin-top: -4rem;}body:not(.bloglo-has-sidebar):not(.bloglo-single-title-in-content):not(.comments-open).bloglo-layout__boxed #content .entry-content>.alignfull:last-child {margin-bottom: -5rem;}.bloglo-hover-slider {background: none;}.bloglo-hover-slider .bloglo-hero-container {margin-top: 5rem;}.bloglo-hover-slider .hover-slider-backgrounds {display: none;}.bloglo-hover-slider .hover-slider-item-wrapper {position: relative;background-color: #232323;background-image: var(--bg-image);background-size: cover;background-position: center center;background-repeat: no-repeat;border-radius: var(--bloglo-normal-radius);overflow: hidden;}.bloglo-hover-slider .hover-slider-item-wrapper:after {position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: "";background-color: #232323;opacity: 0.65;z-index: 3;}.bloglo-hover-slider .hover-slide-item {padding: 5rem 3rem;height: auto !important;z-index: 4;}.bloglo-hover-slider .hover-slider-items>div.bloglo-hero-readmore:hover .slide-inner {-webkit-transform: none;-ms-transform: none;transform: none;}.bloglo-hover-slider .bloglo-flex-row {margin-left: 0;margin-right: 0;}.bloglo-hover-slider .hover-slider-items>div {border-right: none;margin-bottom: 1rem;-ms-flex-preferred-size: 100% !important;flex-basis: 100% !important;max-width: 100% !important;}.bloglo-hover-slider .hover-slider-items>div:last-child {margin-bottom: 0;}.bloglo-hover-slider .hover-slider-items>div .slide-inner {text-align: center;}.bloglo-hover-slider .hover-slider-items>div .hover-slide-item {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.bloglo-hover-slider .hover-slider-items>div .hover-slide-item .post-category {text-align: center;}.bloglo-hover-slider .hover-slider-items>div:last-child {border-bottom: none;}.bloglo-hover-slider .slide-inner {position: relative;bottom: 0;max-width: 100%;padding: 0;margin: 0;}.bloglo-hover-slider .slide-inner .read-more {position: static;opacity: 1;-webkit-transform: translate3d(0, 0, 0) !important;transform: translate3d(0, 0, 0) !important;}.bloglo-hover-slider .entry-meta .entry-meta-elements {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}#main>.bloglo-container {display: block;}#primary {max-width: 100% !important;padding-left: 0 !important;padding-right: 0 !important;margin-top: 4rem;}.site-main #secondary {width: 100%;margin-top: 4rem;}.bloglo-sidebar-r__before-content #main>.bloglo-container {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;}.bloglo-sidebar-r__before-content .site-main #primary {-webkit-box-ordinal-group: 4;-ms-flex-order: 3;order: 3;margin-top: 0;}#comments .comment-list ol .edit, #comments .comment-list ul .edit, .bloglo-sidebar-r__hide .site-main #secondary, .single .post-nav img {display: none;}#comments .comment-list ol ol ol, #comments .comment-list ol ol ul, #comments .comment-list ol ul ol, #comments .comment-list ol ul ul, #comments .comment-list ul ol ol, #comments .comment-list ul ol ul, #comments .comment-list ul ul ol, #comments .comment-list ul ul ul {margin-left: 0;}#comments .comment-list ol ol ol:before, #comments .comment-list ol ol ul:before, #comments .comment-list ol ul ol:before, #comments .comment-list ol ul ul:before, #comments .comment-list ul ol ol:before, #comments .comment-list ul ol ul:before, #comments .comment-list ul ul ol:before, #comments .comment-list ul ul ul:before {display: none;}#comments .comment-list ol ol ol li:before, #comments .comment-list ol ol ul li:before, #comments .comment-list ol ul ol li:before, #comments .comment-list ol ul ul li:before, #comments .comment-list ul ol ol li:before, #comments .comment-list ul ol ul li:before, #comments .comment-list ul ul ol li:before, #comments .comment-list ul ul ul li:before {left: 2.5rem !important;height: 2.5rem !important;}#comments .comment-list ol ol ol li:after, #comments .comment-list ol ol ul li:after, #comments .comment-list ol ul ol li:after, #comments .comment-list ol ul ul li:after, #comments .comment-list ul ol ol li:after, #comments .comment-list ul ol ul li:after, #comments .comment-list ul ul ol li:after, #comments .comment-list ul ul ul li:after {display: none;}}@media (max-width: 782px) {.wp-block-columns .wp-block-column:empty {display: none;}.wp-block-columns .wp-block-column:empty+.wp-block-column {-webkit-box-flex: 1;-ms-flex-positive: 1;flex-grow: 1;margin-left: 0;}}@media screen and (max-width: 600px) {.bloglo-sticky-header.admin-bar.bloglo-is-mobile #bloglo-header-inner, .bloglo-sticky-header.admin-bar:not(.bloglo-header-layout-3, .bloglo-header-layout-4) #bloglo-header-inner, .bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container>.bloglo-container, .bloglo-sticky-header.admin-bar:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container>.bloglo-container {top: 0;}}@media only screen and (max-width: 782px) {.bloglo-sticky-last-widget #secondary .bloglo-sidebar-inner>.widget:last-child, .bloglo-sticky-sidebar.admin-bar .bloglo-sidebar-inner {top: calc(var(--bloglo-sticky-h-offset, 20px) + 46px);}}@media print {#main #bloglo-comments-toggle, #main .post-nav, #page #respond, #page .bloglo-header-widgets, #page .bloglo-nav, #secondary, #bloglo-scroll-top, #bloglo-footer {display: none;}}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {.wp-block-button__link {height: 3rem;}.page-header .bloglo-page-header-wrapper:after, .site .bloglo-flex-row:after {content: "";display: block;min-height: inherit;font-size: 0;}#infinite-handle span, .bloglo-btn, .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce #review_form #respond .form-submit input, .woocommerce div.product form.cart .button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, body:not(.wp-customizer) input[type="submit"] {height: 1rem;}#main>.bloglo-container #primary {-ms-flex-preferred-size: 0%;flex-basis: 0%;}.page-header .bloglo-page-header-wrapper {height: 10rem;}}.bloglo-btn, input[type="submit"], .comment-form input[type="checkbox"]:checked, #comments .bypostauthor-badge, .using-keyboard.single .post-tags a:focus, .single .post-tags a:hover, .using-keyboard .tagcloud a:focus, .tagcloud a:hover, .using-keyboard .wp-block-tag-cloud a:focus, .wp-block-tag-cloud a:hover, #main .mejs-controls .mejs-time-rail .mejs-time-current, .bloglo-btn.bloglo-read-more::after, .post_format-post-format-quote .bloglo-blog-entry-content .quote-post-bg::after, .entry-media>a:hover .entry-media-icon::before, .bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::after, .bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::after, .select2-container--default .select2-results__option--highlighted[aria-selected], .bloglo-input-supported input[type="radio"]:not([id^='wpforms-']):checked::before, .bloglo-input-supported input[type="checkbox"]:not([id^='wpforms-']):checked, .bloglo-sidebar-style-2 #secondary .widget-title::before, .bloglo-sidebar-style-2 .elementor-widget-sidebar .widget-title::before, .widget .cat-item a:hover+span, .widget_archive li a:hover+span, .widget .cat-item.current-cat a+span, #bloglo-footer .widget .cat-item a:hover+span, #bloglo-footer .widget_archive li a:hover+span, #bloglo-footer .widget .cat-item.current-cat a+span, .bloglo-btn.btn-outline:hover, #infinite-handle span {background-color: var(--bloglo-primary);}.bloglo-btn:hover, #infinite-handle span:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="reset"]:focus, .bloglo-btn:focus, input[type="submit"]:focus {background-color: var(--bloglo-primary_15);}mark, span.highlight, code, kbd, var, samp, tt {background-color: var(--bloglo-primary_09);}code.block {background-color: var(--bloglo-primary_04);}.content-area a:not(.bloglo-btn, .wp-block-button__link, .page-numbers, [rel^=category]), #secondary .hester-core-custom-list-widget .bloglo-entry a:not(.bloglo-btn), #secondary a:not(.bloglo-btn):hover, .using-keyboard #secondary a:not(.bloglo-btn):focus, .bloglo-header-widgets .bloglo-header-widget.bloglo-active .bloglo-icon.bloglo-search, .bloglo-logo .site-title a:hover, .using-keyboard .site-title a:focus, #bloglo-header-inner .bloglo-nav>ul>li>a:hover, .using-keyboard #bloglo-header-inner .bloglo-nav>ul>li>a:focus, #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:hover>a, .using-keyboard #bloglo-header-inner .bloglo-nav>ul>li.menu-item-has-children:focus>a, #bloglo-header-inner .bloglo-nav>ul>li.current-menu-item>a, #bloglo-header-inner .bloglo-nav>ul>li.current-menu-ancestor>a, #bloglo-header-inner .bloglo-nav>ul>li.page_item_has_children:hover>a, #bloglo-header-inner .bloglo-nav>ul>li.current_page_item>a, #bloglo-header-inner .bloglo-nav>ul>li.current_page_ancestor>a, #bloglo-topbar .bloglo-nav>ul>li>a:hover, .using-keyboard #bloglo-topbar .bloglo-nav>ul>li>a:focus, #bloglo-topbar .bloglo-nav>ul>li.menu-item-has-children:hover>a, #bloglo-topbar .bloglo-nav>ul>li.current-menu-item>a, #bloglo-topbar .bloglo-nav>ul>li.current-menu-ancestor>a, .bloglo-social-nav>ul>li>a .bloglo-icon.bottom-icon, .bloglo-header-widgets a:not(.bloglo-btn):hover, .using-keyboard .bloglo-header-widgets a:not(.bloglo-btn):focus, #bloglo-header-inner .bloglo-header-widgets .bloglo-active, .widget .cat-item.current-cat>a, .widget ul li.current_page_item>a, #cancel-comment-reply-link:hover, .using-keyboard #cancel-comment-reply-link:focus, .comment-form .required, #main .entry-meta a:hover, .using-keyboard #main .entry-meta a:focus, #main .author-box-title a:hover, .using-keyboard #main .author-box-title a:focus, .bloglo-btn.btn-outline, code, kbd, var, samp, tt, .is-mobile-menu-active .bloglo-hamburger, .bloglo-hamburger:hover, .single #main .post-nav a:hover, .using-keyboard .single #main .post-nav a:focus, #bloglo-topbar .bloglo-topbar-widget__text .bloglo-icon {color: var(--bloglo-primary);}#page ::-moz-selection {background-color: var(--bloglo-primary);color: var(--bloglo-white);}#page ::selection {background-color: var(--bloglo-primary);color: var(--bloglo-white);}input[type="search"]:focus, #comments .comment-actions .reply a:hover, .comment-form input[type="checkbox"]:checked, .comment-form input[type="checkbox"]:focus, .comment-form input[type="radio"]:checked, .comment-form input[type="radio"]:focus, #colophon, .elementor-widget-sidebar .widget-title, .bloglo-entry blockquote, .wp-block-quote.is-style-large, .wp-block-quote.is-large, .wp-block-quote.has-text-align-right, .bloglo-input-supported input[type="radio"]:checked, .bloglo-input-supported input[type="checkbox"]:checked, .bloglo-btn.btn-outline {border-color: var(--bloglo-primary);}#masthead .bloglo-header-widgets .dropdown-item::after, .bloglo-nav>ul .sub-menu::after, textarea:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="date"]:focus {border-bottom-color: var(--bloglo-primary);outline: none !important;}.bloglo-header-widgets .dropdown-item, .preloader-1>div, .bloglo-nav .sub-menu {border-top-color: var(--bloglo-primary);}.bloglo-input-supported input[type="checkbox"]:focus:hover {box-shadow: inset 0 0 0 0.2rem var(--bloglo-primary);}.bloglo-header-widgets .bloglo-cart .bloglo-cart-count, .bloglo-woo-steps .bloglo-step.is-active>span:first-child, .woocommerce div.product form.cart .button, .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce ul.products li.product .onsale, .woocommerce span.onsale, .woocommerce-store-notice, p.demo_store, .woocommerce ul.products li.product .button, .widget.woocommerce .wc-layered-nav-term:hover .count, .widget.woocommerce .product-categories li a:hover~.count, .widget.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item.chosen a:before, .woocommerce .widget_rating_filter ul li.chosen a::before, .widget.woocommerce .wc-layered-nav-term.chosen .count, .widget.woocommerce .product-categories li.current-cat>.count, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle:after, .woocommerce .widget_layered_nav_filters ul li a:hover, .woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover:before, .woocommerce #review_form #respond .form-submit input {background-color: var(--bloglo-primary);}.woocommerce #review_form #respond .form-submit input:hover, .using-keyboard .woocommerce #review_form #respond .form-submit input:focus, .woocommerce div.product form.cart .button:hover, .using-keyboard .woocommerce div.product form.cart .button:focus, .site-main .woocommerce #respond input#submit:hover, .using-keyboard .site-main .woocommerce #respond input#submit:focus, .site-main .woocommerce a.button:hover, .using-keyboard .site-main .woocommerce a.button:focus, .site-main .woocommerce button.button:hover, .using-keyboard .site-main .woocommerce button.button:focus, .site-main .woocommerce input.button:hover, .using-keyboard .site-main .woocommerce input.button:focus, .woocommerce ul.products li.product .button:hover, .using-keyboard .woocommerce ul.products li.product .button:focus, .woocommerce .widget_price_filter .ui-slider .ui-slider-range, .widget.woocommerce .wc-layered-nav-rating a:hover em, .widget.woocommerce .wc-layered-nav-rating.chosen a em {background-color: var(--bloglo-primary_15);}.woocommerce #yith-wcwl-form table.shop_table .product-subtotal .amount, .woocommerce .woocommerce-cart-form table.shop_table .product-subtotal .amount, .woocommerce ul.products li.product .price, .woocommerce .woocommerce-checkout-review-order .order-total .woocommerce-Price-amount.amount, #main .woocommerce-MyAccount-navigation li.is-active, .woocommerce .star-rating span::before, .widget.woocommerce .wc-layered-nav-term:hover a, .using-keyboard .widget.woocommerce .wc-layered-nav-term:focus a, .widget.woocommerce .wc-layered-nav-term a:hover, .using-keyboard .widget.woocommerce .wc-layered-nav-term a:focus, .widget.woocommerce .product-categories li a:hover, .using-keyboard .widget.woocommerce .product-categories li a:focus, .widget.woocommerce .product-categories li.current-cat>a, .woocommerce ins .amount, .woocommerce .widget_rating_filter ul li.chosen a::before, .widget.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item.chosen, .woocommerce .widget_shopping_cart .total .amount, .woocommerce .widget_shopping_cart .total .tax_label, .woocommerce.widget_shopping_cart .total .amount, .woocommerce.widget_shopping_cart .total .tax_label, .woocommerce .widget_shopping_cart .cart_list li a.remove:hover:before, .using-keyboard .woocommerce .widget_shopping_cart .cart_list li a.remove:focus:before, .woocommerce.widget_shopping_cart .cart_list li a.remove:hover:before, .using-keyboard .woocommerce.widget_shopping_cart .cart_list li a.remove:focus:before, .woocommerce div.product .woocommerce-tabs ul.tabs li.active>a, .woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce div.product #reviews .comment-form-rating .stars a, .woocommerce div.product .woocommerce-pagination ul li span.current, .woocommerce div.product .woocommerce-pagination ul li a:hover, .using-keyboard .woocommerce div.product .woocommerce-pagination ul li a:focus, .wc-cart-widget-header .bloglo-cart-subtotal span, .bloglo-header-widget__cart:hover>a, .bloglo-woo-steps .bloglo-step.is-active, .cart_totals .order-total td {color: var(--bloglo-primary);}.wc-layered-nav-rating a:hover .star-rating span:before {color: var(--bloglo-primary_15);}.widget.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item.chosen a:before, .woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product .woocommerce-pagination ul li span.current {border-color: var(--bloglo-primary);}.using-keyboard .woocommerce-cart table.cart td.actions .coupon .input-text:focus, .using-keyboard .woocommerce-checkout table.cart td.actions .coupon .input-text:focus, .using-keyboard #add_payment_method table.cart td.actions .coupon .input-text:focus {border-bottom-color: var(--bloglo-primary);}::-webkit-selection {background-color: var(--bloglo-primary);color: var(--bloglo-white);}::selection {background-color: var(--bloglo-primary);color: var(--bloglo-white);}* {scrollbar-width: thin;scrollbar-color: rgba(0, 0, 0, 0.2) transparent;}::-webkit-scrollbar {width: 0.7rem;height: 0.7rem;}::-webkit-scrollbar-track {background: transparent;}::-webkit-scrollbar-thumb {background: rgba(0, 0, 0, 0.2);}::-webkit-scrollbar-thumb:hover {background: rgba(0, 0, 0, 0.4);}.b-r-0, .b-r-0>*, .b-r-0 .gallery-inner {border-radius: 0 !important;}.b-r-d, .b-r-d>*, .b-r-d .gallery-inner {border-radius: 0.5rem !important;}.list-none {list-style: none;padding: 0;margin: 0;}.my-auto {margin-top: auto !important;margin-bottom: auto !important;}.mx-auto {margin-left: auto;margin-right: auto;}.mt-auto {margin-top: auto;}.mb-auto {margin-bottom: auto;}.mt-0 {margin-top: 0;}.mr-0 {margin-right: 0;}.mb-0 {margin-bottom: 0;}.ml-0 {margin-left: 0;}.mt-1 {margin-top: 0.4rem;}.mr-1 {margin-right: 0.4rem;}.mb-1 {margin-bottom: 0.4rem;}.ml-1 {margin-left: 0.4rem;}.mt-2 {margin-top: 0.8rem;}.mr-2 {margin-right: 0.8rem;}.mb-2 {margin-bottom: 0.8rem;}.ml-2 {margin-left: 0.8rem;}.mt-3 {margin-top: 1.6rem;}.mr-3 {margin-right: 1.6rem;}.mb-3 {margin-bottom: 1.6rem;}.ml-3 {margin-left: 1.6rem;}.mt-4 {margin-top: 2.4rem;}.mr-4 {margin-right: 2.4rem;}.mb-4 {margin-bottom: 2.4rem;}.ml-4 {margin-left: 2.4rem;}.mt-5 {margin-top: 4.8rem;}.mr-5 {margin-right: 4.8rem;}.mb-5 {margin-bottom: 4.8rem;}.ml-5 {margin-left: 4.8rem;}.mb-h {margin-bottom: 6rem;}.p-0 {padding: 0;}.pt-0 {padding-top: 0;}.pr-0 {padding-right: 0;}.pb-0 {padding-bottom: 0;}.pl-0 {padding-left: 0;}.pt-1 {padding-top: 0.4rem;}.pr-1 {padding-right: 0.4rem;}.pb-1 {padding-bottom: 0.4rem;}.pl-1 {padding-left: 0.4rem;}.pt-2 {padding-top: 0.8rem;}.pr-2 {padding-right: 0.8rem;}.pb-2 {padding-bottom: 0.8rem;}.pl-2 {padding-left: 0.8rem;}.pt-3 {padding-top: 1.6rem;}.pr-3 {padding-right: 1.6rem;}.pb-3 {padding-bottom: 1.6rem;}.pl-3 {padding-left: 1.6rem;}.pt-4 {padding-top: 2.4rem;}.pr-4 {padding-right: 2.4rem;}.pb-4 {padding-bottom: 2.4rem;}.pl-4 {padding-left: 2.4rem;}.pt-5 {padding-top: 4.8rem;}.pr-5 {padding-right: 4.8rem;}.pb-5 {padding-bottom: 4.8rem;}.pl-5 {padding-left: 4.8rem;}.d-inline-block {display: inline-block;}.d-block {display: block;}.d-inline-flex {display: inline-flex;}.d-flex {display: flex;}.d-none {display: none;}@media only screen and (min-width: 75em) {.my-lg-auto {margin-top: auto;margin-bottom: auto;}.mx-lg-auto {margin-left: auto;margin-right: auto;}.mt-lg-auto {margin-top: auto;}.mb-lg-auto {margin-bottom: auto;}.mt-lg-0 {margin-top: 0;}.mr-lg-0 {margin-right: 0;}.mb-lg-0 {margin-bottom: 0;}.ml-lg-0 {margin-left: 0;}.mt-lg-1 {margin-top: 0.4rem;}.mr-lg-1 {margin-right: 0.4rem;}.mb-lg-1 {margin-bottom: 0.4rem;}.ml-lg-1 {margin-left: 0.4rem;}.mt-lg-2 {margin-top: 0.8rem;}.mr-lg-2 {margin-right: 0.8rem;}.mb-lg-2 {margin-bottom: 0.8rem;}.ml-lg-2 {margin-left: 0.8rem;}.mt-lg-3 {margin-top: 1.6rem;}.mr-lg-3 {margin-right: 1.6rem;}.mb-lg-3 {margin-bottom: 1.6rem;}.ml-lg-3 {margin-left: 1.6rem;}.mt-lg-4 {margin-top: 2.4rem;}.mr-lg-4 {margin-right: 2.4rem;}.mb-lg-4 {margin-bottom: 2.4rem;}.ml-lg-4 {margin-left: 2.4rem;}.mt-lg-5 {margin-top: 4.8rem;}.mr-lg-5 {margin-right: 4.8rem;}.mb-lg-5 {margin-bottom: 4.8rem;}.ml-lg-5 {margin-left: 4.8rem;}.pt-lg-0 {padding-top: 0;}.pr-lg-0 {padding-right: 0;}.pb-lg-0 {padding-bottom: 0;}.pl-lg-0 {padding-left: 0;}.pt-lg-1 {padding-top: 0.4rem;}.pr-lg-1 {padding-right: 0.4rem;}.pb-lg-1 {padding-bottom: 0.4rem;}.pl-lg-1 {padding-left: 0.4rem;}.pt-lg-2 {padding-top: 0.8rem;}.pr-lg-2 {padding-right: 0.8rem;}.pb-lg-2 {padding-bottom: 0.8rem;}.pl-lg-2 {padding-left: 0.8rem;}.pt-lg-3 {padding-top: 1.6rem;}.pr-lg-3 {padding-right: 1.6rem;}.pb-lg-3 {padding-bottom: 1.6rem;}.pl-lg-3 {padding-left: 1.6rem;}.pt-lg-4 {padding-top: 2.4rem;}.pr-lg-4 {padding-right: 2.4rem;}.pb-lg-4 {padding-bottom: 2.4rem;}.pl-lg-4 {padding-left: 2.4rem;}.pt-lg-5 {padding-top: 4.8rem;}.pr-lg-5 {padding-right: 4.8rem;}.pb-lg-5 {padding-bottom: 4.8rem;}.pl-lg-5 {padding-left: 4.8rem;}.d-lg-inline-block {display: inline-block;}.d-lg-block {display: block;}.d-lg-inline-flex {display: inline-flex;}.d-lg-flex {display: flex;}.d-lg-none {display: none;}}@media only screen and (min-width: 48.938em) {.my-md-auto {margin-top: auto;margin-bottom: auto;}.mx-md-auto {margin-left: auto;margin-right: auto;}.mt-md-auto {margin-top: auto;}.mb-md-auto {margin-bottom: auto;}.mt-md-0 {margin-top: 0;}.mr-md-0 {margin-right: 0;}.mb-md-0 {margin-bottom: 0;}.ml-md-0 {margin-left: 0;}.mt-md-1 {margin-top: 0.4rem;}.mr-md-1 {margin-right: 0.4rem;}.mb-md-1 {margin-bottom: 0.4rem;}.ml-md-1 {margin-left: 0.4rem;}.mt-md-2 {margin-top: 0.8rem;}.mr-md-2 {margin-right: 0.8rem;}.mb-md-2 {margin-bottom: 0.8rem;}.ml-md-2 {margin-left: 0.8rem;}.mt-md-3 {margin-top: 1.6rem;}.mr-md-3 {margin-right: 1.6rem;}.mb-md-3 {margin-bottom: 1.6rem;}.ml-md-3 {margin-left: 1.6rem;}.mt-md-4 {margin-top: 2.4rem;}.mr-md-4 {margin-right: 2.4rem;}.mb-md-4 {margin-bottom: 2.4rem;}.ml-md-4 {margin-left: 2.4rem;}.mt-md-5 {margin-top: 4.8rem;}.mr-md-5 {margin-right: 4.8rem;}.mb-md-5 {margin-bottom: 4.8rem;}.ml-md-5 {margin-left: 4.8rem;}.pt-md-0 {padding-top: 0;}.pr-md-0 {padding-right: 0;}.pb-md-0 {padding-bottom: 0;}.pl-md-0 {padding-left: 0;}.pt-md-1 {padding-top: 0.4rem;}.pr-md-1 {padding-right: 0.4rem;}.pb-md-1 {padding-bottom: 0.4rem;}.pl-md-1 {padding-left: 0.4rem;}.pt-md-2 {padding-top: 0.8rem;}.pr-md-2 {padding-right: 0.8rem;}.pb-md-2 {padding-bottom: 0.8rem;}.pl-md-2 {padding-left: 0.8rem;}.pt-md-3 {padding-top: 1.6rem;}.pr-md-3 {padding-right: 1.6rem;}.pb-md-3 {padding-bottom: 1.6rem;}.pl-md-3 {padding-left: 1.6rem;}.pt-md-4 {padding-top: 2.4rem;}.pr-md-4 {padding-right: 2.4rem;}.pb-md-4 {padding-bottom: 2.4rem;}.pl-md-4 {padding-left: 2.4rem;}.pt-md-5 {padding-top: 4.8rem;}.pr-md-5 {padding-right: 4.8rem;}.pb-md-5 {padding-bottom: 4.8rem;}.pl-md-5 {padding-left: 4.8rem;}.d-md-inline-block {display: inline-block;}.d-md-block {display: block;}.d-md-inline-flex {display: inline-flex;}.d-md-flex {display: flex;}.d-md-none {display: none;}}@media only screen and (min-width: 37.5rem) {.my-sm-auto {margin-top: auto;margin-bottom: auto;}.mx-sm-auto {margin-left: auto;margin-right: auto;}.mt-sm-auto {margin-top: auto;}.mb-sm-auto {margin-bottom: auto;}.mt-sm-0 {margin-top: 0;}.mr-sm-0 {margin-right: 0;}.mb-sm-0 {margin-bottom: 0;}.ml-sm-0 {margin-left: 0;}.mt-sm-1 {margin-top: 0.4rem;}.mr-sm-1 {margin-right: 0.4rem;}.mb-sm-1 {margin-bottom: 0.4rem;}.ml-sm-1 {margin-left: 0.4rem;}.mt-sm-2 {margin-top: 0.8rem;}.mr-sm-2 {margin-right: 0.8rem;}.mb-sm-2 {margin-bottom: 0.8rem;}.ml-sm-2 {margin-left: 0.8rem;}.mt-sm-3 {margin-top: 1.6rem;}.mr-sm-3 {margin-right: 1.6rem;}.mb-sm-3 {margin-bottom: 1.6rem;}.ml-sm-3 {margin-left: 1.6rem;}.mt-sm-4 {margin-top: 2.4rem;}.mr-sm-4 {margin-right: 2.4rem;}.mb-sm-4 {margin-bottom: 2.4rem;}.ml-sm-4 {margin-left: 2.4rem;}.mt-sm-5 {margin-top: 4.8rem;}.mr-sm-5 {margin-right: 4.8rem;}.mb-sm-5 {margin-bottom: 4.8rem;}.ml-sm-5 {margin-left: 4.8rem;}.pt-sm-0 {padding-top: 0;}.pr-sm-0 {padding-right: 0;}.pb-sm-0 {padding-bottom: 0;}.pl-sm-0 {padding-left: 0;}.pt-sm-1 {padding-top: 0.4rem;}.pr-sm-1 {padding-right: 0.4rem;}.pb-sm-1 {padding-bottom: 0.4rem;}.pl-sm-1 {padding-left: 0.4rem;}.pt-sm-2 {padding-top: 0.8rem;}.pr-sm-2 {padding-right: 0.8rem;}.pb-sm-2 {padding-bottom: 0.8rem;}.pl-sm-2 {padding-left: 0.8rem;}.pt-sm-3 {padding-top: 1.6rem;}.pr-sm-3 {padding-right: 1.6rem;}.pb-sm-3 {padding-bottom: 1.6rem;}.pl-sm-3 {padding-left: 1.6rem;}.pt-sm-4 {padding-top: 2.4rem;}.pr-sm-4 {padding-right: 2.4rem;}.pb-sm-4 {padding-bottom: 2.4rem;}.pl-sm-4 {padding-left: 2.4rem;}.pt-sm-5 {padding-top: 4.8rem;}.pr-sm-5 {padding-right: 4.8rem;}.pb-sm-5 {padding-bottom: 4.8rem;}.pl-sm-5 {padding-left: 4.8rem;}.d-sm-inline-block {display: inline-block;}.d-sm-block {display: block;}.d-sm-inline-flex {display: inline-flex;}.d-sm-flex {display: flex;}.d-sm-none {display: none;}}.overflow-hidden {overflow: hidden;}[class*="is-overlay-"] {overflow: hidden;position: relative;z-index: 0;}[class*="is-overlay-"]::before {content: "";position: absolute;inset: 0;width: 100%;height: 100%;opacity: 0.75;z-index: -1;}.is-overlay-inherit::before {background: inherit;}.is-overlay-primary::before {background-color: var(--bloglo-primary);}.is-overlay-secondary::before {background-color: var(--bloglo-black);opacity: 0.65;}.is-overlay-white::before {background-color: var(--bloglo--bg-white);}a.bloglo-btn i, button.bloglo-btn i {font-size: 105%;vertical-align: baseline;}a.bloglo-btn i::before, button.bloglo-btn i::before {display: inline-block;vertical-align: middle;}a.bloglo-btn span, button.bloglo-btn span {vertical-align: baseline;}a.bloglo-btn span+i, button.bloglo-btn span+i, a.bloglo-btn i+span, button.bloglo-btn i+span {margin-left: 0.75rem;}.bg-primary {background-color: var(--bloglo-primary);}.bg-primary-light {background-color: var(--bloglo-primary_04);}.bg-secondary {background-color: var(--bloglo-secondary);}.text-primary {color: var(--bloglo-primary);}.text-white {color: var(--bloglo-white);}.clearing::after {content: "";display: table;clear: both;}@media (prefers-reduced-motion: reduce) {* {animation-duration: 0s !important;transition-duration: 0s !important;}}.no-margin {margin: 0;}.no-padding {padding: 0;}.screen-height {min-height: 100vh;}.admin-bar .screen-height {min-height: calc(100vh - 32px);}@media (max-width: 782px) {.admin-bar .screen-height {min-height: calc(100vh - 46px);}}.screen-width {position: relative;left: calc(50% - 50vw);width: 100vw;}.bg-image {background-size: cover;background-position: center;background-repeat: no-repeat;}.bg-attachment-fixed {background-attachment: fixed;}@supports (-webkit-overflow-scrolling: touch) {.bg-attachment-fixed {background-attachment: scroll;}}@media (prefers-reduced-motion: reduce) {.bg-attachment-fixed {background-attachment: scroll;}}.wp-block-image.is-resized {margin-left: auto;margin-right: auto;}.wpcf7 .wpcf7-form p+p {margin-bottom: 1.5rem;margin-top: 1.5rem;}.form-newsletter {margin-top: -1.6rem;text-align: left;}.form-newsletter .wpcf7-form {display: flex;align-items: center;justify-content: end;margin-bottom: -1.6rem;}.form-newsletter .wpcf7-form>*:not(div) {flex: 1 1 auto;}.form-newsletter .wpcf7-form .form-control {border-radius: 10rem;}.form-newsletter .wpcf7-form>p:nth-child(3) {max-width: max-content;flex-basis: auto;}.form-newsletter .wpcf7-form .wpcf7-submit {margin-left: 1rem;white-space: nowrap;}.form-newsletter .wpcf7-form .wpcf7-submit:hover, .form-newsletter .wpcf7-form .wpcf7-submit:focus {background-color: var(--bs-white);color: var(--bs-primary);}@media (max-width: 61.938em) {.form-newsletter .wpcf7-form .form-control {min-height: 3.356rem;padding: 0.786rem 2rem;}}[data-theme="dark"] div.wpforms-container .wpforms-field-label-inline, [data-theme="dark"] div.wpforms-container .wpforms-field-label {color: #fff;}.wpcf7 p, .wpcf7 label {margin-bottom: 0;}.wpcf7 label {width: 100%;}.wpcf7 div+p {margin-top: 0;}@-webkit-keyframes fadeInDown {from {opacity: 0;-webkit-transform: translate3d(0, -100%, 0);transform: translate3d(0, -100%, 0);}to {opacity: 1;-webkit-transform: none;transform: none;}}@keyframes fadeInDown {from {opacity: 0;-webkit-transform: translate3d(0, -100%, 0);transform: translate3d(0, -100%, 0);}to {opacity: 1;-webkit-transform: none;transform: none;}}.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading, .is-footer-heading-init-s1 #bloglo-footer .widget-title {padding-bottom: 2rem;}.is-footer-heading-init-s1 #bloglo-footer .start-xs .widget-title::after {left: 7rem;right: unset;transform: none;}.is-footer-heading-init-s1 #bloglo-footer .start-xs .widget-title::before {left: 0;right: unset;transform: none;}.is-footer-heading-init-s1 #bloglo-footer .center-xs .widget-title::before, .is-footer-heading-init-s1 #bloglo-footer .center-xs .widget-title::after {right: 0;left: 0;margin: auto;}.is-footer-heading-init-s1 #bloglo-footer .center-xs .widget-title::before {transform: translateX(-2.6rem);}.is-footer-heading-init-s1 #bloglo-footer .center-xs .widget-title::after {transform: translateX(2.6rem);}.is-footer-heading-init-s1 #bloglo-footer .end-xs .widget-title::after {right: 7rem;left: unset;transform: none;}.is-footer-heading-init-s1 #bloglo-footer .end-xs .widget-title::before {right: 0;left: unset;transform: none;}@media (min-width: 75em) {.is-footer-heading-init-s1 #bloglo-footer .start-lg .widget-title::after {left: 7rem;right: unset;transform: none;}.is-footer-heading-init-s1 #bloglo-footer .start-lg .widget-title::before {left: 0;right: unset;transform: none;}.is-footer-heading-init-s1 #bloglo-footer .center-lg .widget-title::before, .is-footer-heading-init-s1 #bloglo-footer .center-lg .widget-title::after {right: 0;left: 0;margin: auto;}.is-footer-heading-init-s1 #bloglo-footer .center-lg .widget-title::before {transform: translateX(-2.6rem);}.is-footer-heading-init-s1 #bloglo-footer .center-lg .widget-title::after {transform: translateX(2.6rem);}.is-footer-heading-init-s1 #bloglo-footer .end-lg .widget-title::after {right: 7rem;left: unset;transform: none;}.is-footer-heading-init-s1 #bloglo-footer .end-lg .widget-title::before {right: 0;left: unset;transform: none;}}@media (min-width: 48.938em) {.is-footer-heading-init-s1 #bloglo-footer .start-md .widget-title::after {left: 7rem;right: unset;transform: none;}.is-footer-heading-init-s1 #bloglo-footer .start-md .widget-title::before {left: 0;right: unset;transform: none;}.is-footer-heading-init-s1 #bloglo-footer .center-md .widget-title::before, .is-footer-heading-init-s1 #bloglo-footer .center-md .widget-title::after {right: 0;left: 0;margin: auto;}.is-footer-heading-init-s1 #bloglo-footer .center-md .widget-title::before {transform: translateX(-2.6rem);}.is-footer-heading-init-s1 #bloglo-footer .center-md .widget-title::after {transform: translateX(2.6rem);}.is-footer-heading-init-s1 #bloglo-footer .end-md .widget-title::after {right: 7rem;left: unset;transform: none;}.is-footer-heading-init-s1 #bloglo-footer .end-md .widget-title::before {right: 0;left: unset;transform: none;}}.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading::before, .is-footer-heading-init-s1 #bloglo-footer .wp-block-heading::after, .is-footer-heading-init-s1 #bloglo-footer .widget-title::before, .is-footer-heading-init-s1 #bloglo-footer .widget-title::after, .is-section-heading-init-s1 .comments-title::before, .is-section-heading-init-s1 .comments-title::after {content: "";position: absolute;bottom: 0;height: 0.2rem;background-color: var(--bloglo-primary);z-index: 1;}.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading::before, .is-footer-heading-init-s1 #bloglo-footer .widget-title::before, .is-section-heading-init-s1 .comments-title::before {width: 6rem;left: 0;}.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading::after, .is-footer-heading-init-s1 #bloglo-footer .widget-title::after, .is-section-heading-init-s1 .comments-title::after {width: 2rem;left: 7rem;}.is-parallax-footer #main {background: var(--bloglo-white);box-shadow: 0 0.3rem 3rem rgba(0, 0, 0, 0.02), 0 1rem 3rem rgba(0, 0, 0, 0.07);}.bloglo-cursor {visibility: hidden;position: fixed;pointer-events: none;z-index: 10000;display: flex;justify-content: center;align-items: center;transition: transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);pointer-events: none;top: 0;left: 0;}.bloglo-cursor .bloglo-cursor-wrapper {display: flex;justify-content: center;align-items: center;transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);}.bloglo-cursor .bloglo-cursor--follower {position: absolute;background-color: var(--bloglo-primary);opacity: 0.35;border-radius: 100%;width: 2.4rem;height: 2.4rem;transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), background-color 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);}.bloglo-cursor .bloglo-cursor--label {position: absolute;display: flex;justify-content: center;align-items: center;color: var(--bloglo-white);letter-spacing: 0.08em;transform: scale(0);will-change: transform, opacity;transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);}.bloglo-cursor .bloglo-cursor--icon {position: absolute;display: flex;justify-content: center;align-items: center;color: var(--bloglo-white);transform: scale(0);will-change: transform, opacity;transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);color: rgba(255, 255, 255, 0.76);}.bloglo-cursor .bloglo-cursor--icon:before {content: "\f061";font-family: var(--bloglo-font-awesome);font-size: 2.4rem;}.bloglo-cursor.is-enabled {visibility: visible;}.bloglo-cursor.is-hidden .bloglo-cursor-wrapper {transform: scale(0) !important;}.bloglo-cursor.is-mouse-down .bloglo-cursor-wrapper {transform: scale(0.8);}.bloglo-cursor.is-active .bloglo-cursor--follower {box-shadow: 0 0 8px rgba(0, 0, 0, 0.7);transform: scale(3.6);opacity: 0;}.bloglo-cursor.is-active.has-label .bloglo-cursor--follower {background-color: var(--bloglo-black);opacity: 0.8;}.bloglo-cursor.is-active.has-label .bloglo-cursor--label {transform: scale(1);}.bloglo-cursor.is-active.has-icon .bloglo-cursor--follower {background-color: var(--bloglo-black);opacity: 0.8;}.bloglo-cursor.is-active.has-icon .bloglo-cursor--icon {transform: scale(1);}div.wpforms-container-full form.wpforms-form button[type="submit"] {background: var(--bloglo-primary);color: var(--bloglo-white);border-color: var(--bloglo-primary);}div.wpforms-container-full form.wpforms-form button[type="submit"]:hover, .using-keyboard div.wpforms-container-full form.wpforms-form button[type="submit"]:focus {background: var(--bloglo-primary_15);border-color: var(--bloglo-primary_15);}.wpforms-container.wpforms-container-full {width: 100%;}.wpforms-container.wpforms-container-full button.wpforms-submit-button-full-width {display: block;width: 100%;}div.wpforms-container-full .wpforms-form .wpforms-field textarea, div.wpforms-container-full .wpforms-form .wpforms-field input[type="password"], div.wpforms-container-full .wpforms-form .wpforms-field input[type="tel"], div.wpforms-container-full .wpforms-form .wpforms-field input[type="url"], div.wpforms-container-full .wpforms-form .wpforms-field input[type="date"], div.wpforms-container-full .wpforms-form .wpforms-field input[type="text"], div.wpforms-container-full .wpforms-form .wpforms-field input[type="email"], div.wpforms-container-full .wpforms-form .wpforms-field input[type="number"], div.wpforms-container-full .wpforms-form .wpforms-field select {min-height: 50px;padding: 12px 18px;}.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="password"], .wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="tel"], .wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="url"], .wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="date"], .wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="number"], .wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="email"], .wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field textarea, .wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field input[type="text"], .wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field select {color: inherit;background-color: rgba(16, 20, 23, 0.05);border-color: rgba(225, 232, 237, 0);}.white-button div.wpforms-container-full form.wpforms-form button[type="submit"]:not(:hover) {background-color: #fff;color: var(--bloglo-primary);}.wpform-dark-background *::-webkit-input-placeholder {color: #fff;}.wpform-dark-background *::-moz-placeholder {color: #fff;}.wpform-dark-background *:-ms-input-placeholder {color: #fff;}.wpform-dark-background *:-moz-placeholder {color: #fff;}.wpform-dark-background div.wpforms-container-full .wpforms-form .wpforms-field select option {color: initial;}.stk-block-content figure.stk-img-wrapper {margin-top: 0;margin-bottom: 0;}#wp-custom-header img {width: 100%;display: block;}.bloglo-banner-imgads img {padding: 5px 0;}.bloglo-banner-imgads img {width: 100%;height: auto;}.btn-icon.bloglo-btn {width: 42px;height: 42px;padding: 0;border: none;}a.btn-icon.bloglo-btn i::before, button.btn-icon.bloglo-btn i::before {vertical-align: baseline;}.rounded-100 {border-radius: 100%;}.style-1.bloglo-post-item {display: flex;flex-wrap: wrap;position: relative;width: 100%;min-height: 30rem;overflow: hidden;background-color: rgba(0, 0, 0, 0.18);}.style-1.bloglo-post-item>div {flex: 100%;}.bloglo-post-item.rounded {border-radius: var(--bloglo-radius);}.style-1.bloglo-post-item.start {align-items: start;}.style-1.bloglo-post-item.center {align-items: center;justify-content: center;}.style-1.bloglo-post-item.center .bloglo-post-content {text-align: center;}.style-1.bloglo-post-item.center .bloglo-post-content .entry-meta-elements {justify-content: center;}.style-1.bloglo-post-item.end {align-items: end;}.bloglo-post-content {padding: 16px;position: relative;z-index: 1;}.bloglo-post-item .bloglo-post-content .post-category {margin-bottom: 1rem;}.bloglo-post-item .bloglo-post-content .entry-header .entry-title {font-size: 2rem;margin-top: 0;}.style-1.bloglo-post-item .bloglo-post-content .entry-meta, .style-1.bloglo-post-item .bloglo-post-content .entry-meta a, .style-1.bloglo-post-item .bloglo-post-content .entry-header .entry-title a, .style-1.bloglo-post-item:hover .bloglo-post-content .entry-header .entry-title a, .using-keyboard .style-1.bloglo-post-item:focus-within .bloglo-post-content .entry-header .entry-title a {color: #fff;}.bloglo-post-item .bloglo-post-content .bloglo-btn {margin-top: 2rem;}.bloglo-post-item .bloglo-post-content .bloglo-btn {min-height: 4rem;padding: 1rem 2rem 0.8rem;font-size: 75%;}.bloglo-post-thumb {position: relative;z-index: 0;}.bloglo-post-thumb a, .style-1 .bloglo-post-thumb {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}.bloglo-post-thumb a {z-index: 1;}.slider-overlay-1 .bloglo-post-thumb .inner:after {position: absolute;content: "";left: 0;bottom: 0;width: 100%;height: 100%;background: linear-gradient(to bottom, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .6) 59%, rgba(0, 0, 0, .8) 100%);}.bloglo-post-thumb .inner img, .bloglo-post-thumb .inner {width: 100%;height: 100%;}.bloglo-post-thumb .inner .entry-media {margin-bottom: 0;}.bloglo-post-thumb .inner img {object-fit: cover;}.featured-one.slider-overlay-1 .bloglo-post-thumb .inner:after {opacity: 0.2;-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);}.featured-one.slider-overlay-1 .bloglo-post-item.style-1:focus-within .bloglo-post-thumb .inner:after, .featured-one.slider-overlay-1 .bloglo-post-item.style-1:hover .bloglo-post-thumb .inner:after {opacity: 1;}.featured-one .bloglo-post-item.style-1 .bloglo-post-thumb::before, .featured-one .bloglo-post-item.style-1 .bloglo-post-animation {position: absolute;top: 10px;right: 10px;bottom: 10px;left: 10px;z-index: 1;overflow: hidden;}.featured-one .bloglo-post-item.style-1 .bloglo-post-thumb::before {content: "";border: 2px solid #fff;}.featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::after, .featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::before, .featured-one .bloglo-post-item.style-1 .bloglo-post-animation::after, .featured-one .bloglo-post-item.style-1 .bloglo-post-animation::before {content: "";position: absolute;z-index: 1;background-color: var(--bloglo-primary);transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);}.featured-one .bloglo-post-item.style-1 .bloglo-post-animation::after, .featured-one .bloglo-post-item.style-1 .bloglo-post-animation::before {left: 0;width: 100%;height: 2px;}.featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::after, .featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::before {top: 0;width: 2px;height: 100%;}.featured-one .bloglo-post-item.style-1 .bloglo-post-animation::before {top: 0;transform: translate3d(-105%, 0, 0);}.featured-one .bloglo-post-item.style-1 .bloglo-post-animation::after {bottom: 0;transform: translate3d(105%, 0, 0);}.featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::before {left: 0;transform: translate3d(0, 105%, 0);}.featured-one .bloglo-post-item.style-1 .bloglo-post-animation span::after {right: 0;transform: translate3d(0, -105%, 0);}.featured-one .bloglo-post-item.style-1:hover .bloglo-post-animation::before, .featured-one .bloglo-post-item.style-1:hover .bloglo-post-animation::after, .featured-one .bloglo-post-item.style-1:hover .bloglo-post-animation span::before, .featured-one .bloglo-post-item.style-1:hover .bloglo-post-animation span::after {transform: translate3d(0, 0, 0);}.featured-one .bloglo-post-item.style-1:hover .bloglo-post-content .bloglo-btn.btn-small, .featured-one .bloglo-post-item.style-1:focus-within .bloglo-post-content .bloglo-btn.btn-small, .featured-one .bloglo-post-item.style-1 .bloglo-post-content .bloglo-btn.btn-small:hover, .featured-one .bloglo-post-item.style-1 .bloglo-post-content .bloglo-btn.btn-small:focus {color: #fff;background-color: var(--bloglo-primary);}.featured-one .bloglo-post-item.style-1 .bloglo-post-content .bloglo-btn.btn-small {border: none;border-radius: inherit;margin-top: 0;line-height: 1.6;}#featured_links, #pyml {position: relative;}.is-section-heading-init-s1.bloglo-sidebar-style-3 .pyml-slider-items .widget-title {margin: 0 -2rem 2.2rem;padding-left: 2rem;padding-right: 2rem;}.bloglo-sidebar-style-3 #pyml .pyml-slider-items .widget-title::before {left: 2rem;}.bloglo-sidebar-style-3 #pyml .pyml-slider-items .widget-title::after {left: 9rem;}@-webkit-keyframes shine {100% {left: 125%;}}@keyframes shine {100% {left: 125%;}}.pyml-slider-items .h4.widget-title {display: flex;justify-content: space-between;align-items: center;}.pyml-button-buttons {display: inline-flex;align-items: center;gap: 1rem;}.pyml-button-buttons .pyml-button-prev, .pyml-button-buttons .pyml-button-next {display: inline-block;width: 3.2rem;height: 3.2rem;line-height: 3.2rem;font-size: 1.8rem;border-radius: var(--bloglo-normal-radius);background-color: var(--bloglo-secondary);color: var(--bloglo-white);text-align: center;cursor: pointer;-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);}.pyml-button-buttons .pyml-button-prev:hover, .pyml-button-buttons .pyml-button-next:hover {background-color: var(--bloglo-primary);color: var(--bloglo-white);}.entry-media>a::before, .pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg::before {position: absolute;top: 0;left: -85%;z-index: 2;display: block;content: "";width: 50%;height: 100%;opacity: 0.6;background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);-webkit-transform: skewX(-25deg);transform: skewX(-25deg);}[data-theme="dark"] .entry-media>a::before, [data-theme="dark"] .pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg::before {opacity: 0.25;}.entry-media>a:hover::before, .using-keyboard .entry-media>a:focus::before, .pyml-slide-item .pyml-slider-backgrounds a:hover .pyml-slide-bg::before, .using-keyboard .pyml-slide-item .pyml-slider-backgrounds a:focus .pyml-slide-bg::before {-webkit-animation: shine 1s;animation: shine 1s;}.pyml-slider-items {margin-bottom: 5rem;}.pyml-slide-item {position: relative;}.pyml-slide-item .pyml-slider-backgrounds {position: relative;height: 22.6rem;margin-bottom: 1.4rem;transition: var(--bloglo-transition-primary);}.pyml-slide-item .pyml-slider-backgrounds>a, .pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg {display: block;width: 100%;height: 100%;overflow: hidden;border-radius: 0.5rem;}.pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg {position: relative;background-color: rgba(0, 0, 0, 0.18);z-index: 0;}.pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg img {width: 100%;height: 100%;object-fit: cover;-webkit-transition: all 0.5s ease;transition: all 0.5s ease;}.pyml-slide-item .pyml-slider-backgrounds .post-category {position: absolute;left: 15px;right: 15px;bottom: 10px;text-align: center;}.pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span:not(.screen-reader-text) {width: 100%;display: inline-block;vertical-align: middle;line-height: normal;color: inherit;padding: 0;margin: 0;}.pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a {display: inline-block;padding: 0.6rem 1rem;background: var(--bloglo-primary);border: none;border-radius: var(--bloglo-normal-radius);color: #fff;font-size: 1.3rem;font-weight: 500;letter-spacing: 0.06em;text-decoration: none;line-height: 1;text-align: center;max-width: max-content;margin-bottom: 0.4rem;}.pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:hover, .pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a:focus {text-decoration: underline;}.pyml-slide-item .pyml-slider-backgrounds .post-category .cat-links span a+a {margin-left: 0.4rem;}.pyml-slide-item .slide-inner {text-align: center;}.pyml-slide-item h6 {margin-top: 0;margin-bottom: 0;line-height: 1.3;}.pyml-slide-item h6 a:hover, .using-keyboard .pyml-slide-item h6 a:focus {color: var(--bloglo-primary);text-decoration: underline;}.pyml-slide-item div.entry-meta {margin-top: 0.4rem;font-size: 1.3rem;}.pyml-slide-item .entry-meta-elements {justify-content: center;}.pyml-slide-item .entry-meta .entry-meta-elements>span {padding: 0 0.6rem;}.pyml-slide-item .entry-meta .entry-meta-elements>span::before {height: 0.4rem;width: 0.4rem;border-radius: 50%;left: -0.6rem;}.pyml-slide-item .entry-meta a:hover, .using-keyboard .pyml-slide-item .entry-meta a:focus {text-decoration: underline;text-underline-offset: 0.1rem;}.pyml-slide-item .author-avatar img {width: 2.4rem;margin-right: 0.6rem;}#ticker {position: relative;}@media screen and (max-width: 960px) {#ticker, #ticker+#hero .bloglo-hover-slider .bloglo-hero-container {margin-top: 3rem;}}.ticker-slider-items {width: 100%;height: auto;display: flex;align-items: center;margin: 1.8rem 0;}.bloglo-layout__boxed-separated .ticker-slider-items {padding: 1rem;background-color: var(--bloglo-white);border: 0.1rem solid rgba(190, 190, 190, 0.3);}.ticker-slider-items .ticker-title {position: relative;flex: 0 0 auto;min-height: 5.5rem;font-size: 1.6rem;line-height: 3.5rem;font-weight: 600;padding: 1rem 1.6rem;margin-right: 0;text-align: center;background-color: var(--bloglo-primary);color: #fff;}.ticker-slider-items .ticker-title span.icon {margin-right: 0.4rem;display: inline-block;width: 3rem;height: 3rem;border-radius: 50%;position: relative;line-height: 3rem;z-index: 0;background-color: #fff;color: var(--bloglo-primary);}.ticker-slider-items .ticker-title span.icon::before {content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;width: 100%;height: 100%;border-radius: 50%;z-index: -1;-webkit-transform: scale(0.9);transform: scale(0.9);box-shadow: 0 0 0 2px rgba(255, 255, 255, .1);-webkit-animation: ripperOnCircle 1.3s ease-out 75ms infinite;animation: ripperOnCircle 1.3s ease-out 75ms infinite;}.ticker-slider-items .ticker-title span.icon i {vertical-align: middle;}@-webkit-keyframes ripperOnCircle {0% {opacity: 0.3;}40% {opacity: 0.5;box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.075), 0 0 0 8px rgba(255, 255, 255, 0.2);}100% {box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.075), 0 0 0 8px rgba(255, 255, 255, 0.2);-webkit-transform: scale(1.35);transform: scale(1.35);opacity: 0;}}@keyframes ripperOnCircle {0% {opacity: 0.3;}40% {opacity: 0.5;box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.075), 0 0 0 8px rgba(255, 255, 255, 0.2);}100% {box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.075), 0 0 0 8px rgba(255, 255, 255, 0.2);-webkit-transform: scale(1.35);transform: scale(1.35);opacity: 0;}}@media (max-width: 1025px) {.ticker-slider-items .ticker-title span.icon {display: none;}}.ticker-slider-items .ticker-slider-box {overflow: hidden;flex: 1 1 85%;background-color: var(--bloglo-primary_09);padding: 5px 0;height: 5.5rem;}.ticker-slide-item {position: relative;float: left;clear: none;display: flex;align-items: center;margin-right: 2.6rem;}.ticker-slide-item .ticker-slider-backgrounds {width: 4.6rem;height: 4.6rem;margin-right: 1.6rem;}.ticker-slide-item .ticker-slider-backgrounds a {width: 100%;height: 100%;display: block;}.ticker-slide-item .ticker-slider-backgrounds img {width: 100%;height: 100%;border-radius: 50%;object-fit: cover;box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.09);border: 0.3rem solid #fff;}.ticker-slide-item .slide-inner {display: flex;flex-direction: column;}.ticker-slide-item .slide-inner h6 {font-size: 1.6rem;margin-bottom: 0.2rem;margin-top: 0.2rem;line-height: 1.3;}.ticker-slide-item .slide-inner .entry-meta {font-size: 1.2rem;color: #8a8a8c;margin-top: 0;}.ticker-slider-controls .ticker-slider-pause {display: inline-block;font-size: 1.6rem;border: none;outline: none;color: var(--bloglo-white);background-color: var(--bloglo-secondary);padding: 1.83rem 1.4rem;height: 100%;cursor: pointer;-webkit-transition: var(--bloglo-transition-primary);transition: var(--bloglo-transition-primary);}@media (max-width: 610px) {.ticker-slider-controls .ticker-slider-pause {display: none;}}.bloglo-audio-wrapper {overflow: hidden;}.hester-posts-list-widget-thumb a {overflow: visible;}.hester-posts-list-widget-thumb img {border: 0.4rem solid #fff;border-radius: 50%;box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.09);}.wp-block-latest-posts.wp-block-latest-posts__list li {margin-bottom: 1.6rem;}.widget .wp-block-latest-posts.wp-block-latest-posts__list li+li, .bloglo-sidebar-container .widget .wp-block-latest-posts.wp-block-latest-posts__list li+li {padding-top: 0.5rem;}.wp-block-latest-posts__featured-image {border: 0.7rem solid #fff;overflow: hidden;border-radius: 50%;box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.09);}.wp-block-latest-posts__featured-image:not(.alignleft, .alignright) {border-radius: 0.8rem;}#page .wp-block-latest-posts__featured-image.alignleft {margin-right: 1em;}#page .wp-block-latest-posts__featured-image.alignright {margin-left: 1em;}.wp-block-latest-posts__featured-image img {border-radius: 0.8rem;}.wp-block-latest-posts__post-title {margin: 1rem 0 0;display: block;font-weight: 600;}@media screen and (max-width: 599px) {#page .wp-block-latest-posts__featured-image {width: 100%;max-width: max-content;}#page .wp-block-latest-posts__featured-image.alignleft, #page .wp-block-latest-posts__featured-image.alignright {margin-left: 0;margin-right: 0;}}.widget_media_image .wp-block-image {margin-top: 0;}#masthead #hester-header-inner .hester-nav>ul>li>a {font-weight: 600;letter-spacing: 0.8px;}.widget.hester-entry p+pre {margin-top: -2rem;}.widget_block .wp-block-cover, .wp-block-heading+.widget .menu {margin-top: 0;}.hester-posts-list-widget-categories span {vertical-align: middle;}#page .widget_block+.widget_block .wp-block-social-links {margin-top: 0;}#ticker+#main .bloglo-container>* {margin-top: 1.6rem;}#page #colophon .wp-block-social-links {margin-bottom: 0;}assets/css/glightbox.css000064400000043661152425655550011367 0ustar00.glightbox-container {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999 !important;
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    outline: 0;
    overflow: hidden
}

.glightbox-container.inactive {
    display: none
}

.glightbox-container .gcontainer {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow: hidden
}

.glightbox-container .gslider {
    -webkit-transition: -webkit-transform .4s ease;
    transition: -webkit-transform .4s ease;
    transition: transform .4s ease;
    transition: transform .4s ease, -webkit-transform .4s ease;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%;
    position: relative;
    overflow: hidden;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.glightbox-container .gslide {
    width: 100%;
    position: absolute;
    opacity: 1;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 0
}

.glightbox-container .gslide.current {
    opacity: 1;
    z-index: 99999;
    position: relative
}

.glightbox-container .gslide.prev {
    opacity: 1;
    z-index: 9999
}

.glightbox-container .gslide-inner-content {
    width: 100%
}

.glightbox-container .ginner-container {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 100%;
    margin: auto;
    height: 100vh
}

.glightbox-container .ginner-container.gvideo-container {
    width: 100%
}

.glightbox-container .ginner-container.desc-bottom,
.glightbox-container .ginner-container.desc-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.glightbox-container .ginner-container.desc-left,
.glightbox-container .ginner-container.desc-right {
    max-width: 100% !important
}

.gslide iframe,
.gslide video {
    outline: 0 !important;
    border: none;
    min-height: 165px;
    -webkit-overflow-scrolling: touch;
    -ms-touch-action: auto;
    touch-action: auto
}

.gslide-image {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.gslide-image img {
    max-height: 100vh;
    display: block;
    padding: 0;
    float: none;
    outline: 0;
    border: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    max-width: 100vw;
    width: auto;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    -ms-touch-action: none;
    touch-action: none;
    margin: auto;
    min-width: 200px
}

.desc-bottom .gslide-image img,
.desc-top .gslide-image img {
    width: auto
}

.desc-left .gslide-image img,
.desc-right .gslide-image img {
    width: auto;
    max-width: 100%
}

.gslide-image img.zoomable {
    position: relative
}

.gslide-image img.dragging {
    cursor: -webkit-grabbing !important;
    cursor: grabbing !important;
    -webkit-transition: none;
    transition: none
}

.gslide-video {
    position: relative;
    max-width: 100vh;
    width: 100% !important
}

.gslide-video .gvideo-wrapper {
    width: 100%;
    margin: auto
}

.gslide-video::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 0, 0, .34);
    display: none
}

.gslide-video.playing::before {
    display: none
}

.gslide-video.fullscreen {
    max-width: 100% !important;
    min-width: 100%;
    height: 75vh
}

.gslide-video.fullscreen video {
    max-width: 100% !important;
    width: 100% !important
}

.gslide-inline {
    background: #fff;
    text-align: left;
    max-height: calc(100vh - 40px);
    overflow: auto;
    max-width: 100%
}

.gslide-inline .ginlined-content {
    padding: 20px;
    width: 100%
}

.gslide-inline .dragging {
    cursor: -webkit-grabbing !important;
    cursor: grabbing !important;
    -webkit-transition: none;
    transition: none
}

.ginlined-content {
    overflow: auto;
    display: block !important;
    opacity: 1
}

.gslide-external {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    min-width: 100%;
    background: #fff;
    padding: 0;
    overflow: auto;
    max-height: 75vh;
    height: 100%
}

.gslide-media {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: auto
}

.zoomed .gslide-media {
    -webkit-box-shadow: none !important;
    box-shadow: none !important
}

.desc-bottom .gslide-media,
.desc-top .gslide-media {
    margin: 0 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.gslide-description {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 100%;
    flex: 1 0 100%
}

.gslide-description.description-left,
.gslide-description.description-right {
    max-width: 100%
}

.gslide-description.description-bottom,
.gslide-description.description-top {
    margin: 0 auto;
    width: 100%
}

.gslide-description p {
    margin-bottom: 12px
}

.gslide-description p:last-child {
    margin-bottom: 0
}

.zoomed .gslide-description {
    display: none
}

.glightbox-button-hidden {
    display: none
}

.glightbox-mobile .glightbox-container .gslide-description {
    height: auto !important;
    width: 100%;
    background: 0 0;
    position: absolute;
    bottom: 15px;
    padding: 19px 11px;
    max-width: 100vw !important;
    -webkit-box-ordinal-group: 3 !important;
    -ms-flex-order: 2 !important;
    order: 2 !important;
    max-height: 78vh;
    overflow: auto !important;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, .75)));
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, .75) 100%);
    -webkit-transition: opacity .3s linear;
    transition: opacity .3s linear;
    padding-bottom: 50px
}

.glightbox-mobile .glightbox-container .gslide-title {
    color: #fff;
    font-size: 1em
}

.glightbox-mobile .glightbox-container .gslide-desc {
    color: #a1a1a1
}

.glightbox-mobile .glightbox-container .gslide-desc a {
    color: #fff;
    font-weight: 700
}

.glightbox-mobile .glightbox-container .gslide-desc * {
    color: inherit
}

.glightbox-mobile .glightbox-container .gslide-desc string {
    color: #fff
}

.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
    color: #fff;
    opacity: .4
}

.gdesc-open .gslide-media {
    -webkit-transition: opacity .5s ease;
    transition: opacity .5s ease;
    opacity: .4
}

.gdesc-open .gdesc-inner {
    padding-bottom: 30px
}

.gdesc-closed .gslide-media {
    -webkit-transition: opacity .5s ease;
    transition: opacity .5s ease;
    opacity: 1
}

.greset {
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.gabsolute {
    position: absolute
}

.grelative {
    position: relative
}

.glightbox-desc {
    display: none !important
}

.glightbox-open {
    overflow: hidden
}

.gloader {
    height: 25px;
    width: 25px;
    -webkit-animation: lightboxLoader .8s infinite linear;
    animation: lightboxLoader .8s infinite linear;
    border: 2px solid #fff;
    border-right-color: transparent;
    border-radius: 50%;
    position: absolute;
    display: block;
    z-index: 9999;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 47%
}

.goverlay {
    width: 100%;
    height: calc(100vh + 1px);
    position: fixed;
    top: -1px;
    left: 0;
    background: #000;
    will-change: opacity
}

.glightbox-mobile .goverlay {
    background: #000
}

.gclose,
.gnext,
.gprev {
    z-index: 99999;
    cursor: pointer;
    width: 26px;
    height: 44px;
    border: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.gclose svg,
.gnext svg,
.gprev svg {
    display: block;
    width: 25px;
    height: auto;
    margin: 0;
    padding: 0
}

.gclose.disabled,
.gnext.disabled,
.gprev.disabled {
    opacity: .1
}

.gclose .garrow,
.gnext .garrow,
.gprev .garrow {
    stroke: #fff
}

.gbtn.focused {
    outline: 2px solid #0f3d81
}

iframe.wait-autoplay {
    opacity: 0
}

.glightbox-closing .gclose,
.glightbox-closing .gnext,
.glightbox-closing .gprev {
    opacity: 0 !important
}

.glightbox-clean .gslide-description {
    background: #fff
}

.glightbox-clean .gdesc-inner {
    padding: 22px 20px
}

.glightbox-clean .gslide-title {
    font-size: 1em;
    font-weight: 400;
    font-family: arial;
    color: #000;
    margin-bottom: 19px;
    line-height: 1.4em
}

.glightbox-clean .gslide-desc {
    font-size: .86em;
    margin-bottom: 0;
    font-family: arial;
    line-height: 1.4em
}

.glightbox-clean .gslide-video {
    background: #000
}

.glightbox-clean .gclose,
.glightbox-clean .gnext,
.glightbox-clean .gprev {
    background-color: rgba(0, 0, 0, .75);
    border-radius: 4px
}

.glightbox-clean .gclose path,
.glightbox-clean .gnext path,
.glightbox-clean .gprev path {
    fill: #fff
}

.glightbox-clean .gprev {
    position: absolute;
    top: -100%;
    left: 30px;
    width: 40px;
    height: 50px
}

.glightbox-clean .gnext {
    position: absolute;
    top: -100%;
    right: 30px;
    width: 40px;
    height: 50px
}

.glightbox-clean .gclose {
    width: 35px;
    height: 35px;
    top: 15px;
    right: 10px;
    position: absolute
}

.glightbox-clean .gclose svg {
    width: 18px;
    height: auto
}

.glightbox-clean .gclose:hover {
    opacity: 1
}

.gfadeIn {
    -webkit-animation: gfadeIn .5s ease;
    animation: gfadeIn .5s ease
}

.gfadeOut {
    -webkit-animation: gfadeOut .5s ease;
    animation: gfadeOut .5s ease
}

.gslideOutLeft {
    -webkit-animation: gslideOutLeft .3s ease;
    animation: gslideOutLeft .3s ease
}

.gslideInLeft {
    -webkit-animation: gslideInLeft .3s ease;
    animation: gslideInLeft .3s ease
}

.gslideOutRight {
    -webkit-animation: gslideOutRight .3s ease;
    animation: gslideOutRight .3s ease
}

.gslideInRight {
    -webkit-animation: gslideInRight .3s ease;
    animation: gslideInRight .3s ease
}

.gzoomIn {
    -webkit-animation: gzoomIn .5s ease;
    animation: gzoomIn .5s ease
}

.gzoomOut {
    -webkit-animation: gzoomOut .5s ease;
    animation: gzoomOut .5s ease
}

@-webkit-keyframes lightboxLoader {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes lightboxLoader {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes gfadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes gfadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes gfadeOut {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes gfadeOut {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@-webkit-keyframes gslideInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-60%, 0, 0);
        transform: translate3d(-60%, 0, 0)
    }

    to {
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes gslideInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-60%, 0, 0);
        transform: translate3d(-60%, 0, 0)
    }

    to {
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@-webkit-keyframes gslideOutLeft {
    from {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    to {
        -webkit-transform: translate3d(-60%, 0, 0);
        transform: translate3d(-60%, 0, 0);
        opacity: 0;
        visibility: hidden
    }
}

@keyframes gslideOutLeft {
    from {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    to {
        -webkit-transform: translate3d(-60%, 0, 0);
        transform: translate3d(-60%, 0, 0);
        opacity: 0;
        visibility: hidden
    }
}

@-webkit-keyframes gslideInRight {
    from {
        opacity: 0;
        visibility: visible;
        -webkit-transform: translate3d(60%, 0, 0);
        transform: translate3d(60%, 0, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes gslideInRight {
    from {
        opacity: 0;
        visibility: visible;
        -webkit-transform: translate3d(60%, 0, 0);
        transform: translate3d(60%, 0, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@-webkit-keyframes gslideOutRight {
    from {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    to {
        -webkit-transform: translate3d(60%, 0, 0);
        transform: translate3d(60%, 0, 0);
        opacity: 0
    }
}

@keyframes gslideOutRight {
    from {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    to {
        -webkit-transform: translate3d(60%, 0, 0);
        transform: translate3d(60%, 0, 0);
        opacity: 0
    }
}

@-webkit-keyframes gzoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    to {
        opacity: 1
    }
}

@keyframes gzoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes gzoomOut {
    from {
        opacity: 1
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    to {
        opacity: 0
    }
}

@keyframes gzoomOut {
    from {
        opacity: 1
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3)
    }

    to {
        opacity: 0
    }
}

@media (min-width:769px) {
    .glightbox-container .ginner-container {
        width: auto;
        height: auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }

    .glightbox-container .ginner-container.desc-top .gslide-description {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0
    }

    .glightbox-container .ginner-container.desc-top .gslide-image,
    .glightbox-container .ginner-container.desc-top .gslide-image img {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }

    .glightbox-container .ginner-container.desc-left .gslide-description {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0
    }

    .glightbox-container .ginner-container.desc-left .gslide-image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }

    .gslide-image img {
        max-height: 97vh;
        max-width: 100%
    }

    .gslide-image img.zoomable {
        cursor: -webkit-zoom-in;
        cursor: zoom-in
    }

    .zoomed .gslide-image img.zoomable {
        cursor: -webkit-grab;
        cursor: grab
    }

    .gslide-inline {
        max-height: 95vh
    }

    .gslide-external {
        max-height: 100vh
    }

    .gslide-description.description-left,
    .gslide-description.description-right {
        max-width: 275px
    }

    .glightbox-open {
        height: auto
    }

    .goverlay {
        background: rgba(0, 0, 0, .92)
    }

    .glightbox-clean .gslide-media {
        -webkit-box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, .65);
        box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, .65)
    }

    .glightbox-clean .description-left .gdesc-inner,
    .glightbox-clean .description-right .gdesc-inner {
        position: absolute;
        height: 100%;
        overflow-y: auto
    }

    .glightbox-clean .gclose,
    .glightbox-clean .gnext,
    .glightbox-clean .gprev {
        background-color: rgba(0, 0, 0, .32)
    }

    .glightbox-clean .gclose:hover,
    .glightbox-clean .gnext:hover,
    .glightbox-clean .gprev:hover {
        background-color: rgba(0, 0, 0, .7)
    }

    .glightbox-clean .gprev {
        top: 45%
    }

    .glightbox-clean .gnext {
        top: 45%
    }
}

@media (min-width:992px) {
    .glightbox-clean .gclose {
        opacity: .7;
        right: 20px
    }
}

@media screen and (max-height:420px) {
    .goverlay {
        background: #000
    }
}assets/css/glightbox.min.css000064400000032662152425655550012150 0ustar00.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0;overflow:hidden}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;opacity:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';display:block;position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;background:0 0;position:absolute;bottom:15px;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc string{color:#fff}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}assets/css/all.min.css000064400000165235152425655550010734 0ustar00/*!
 * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.eot);src:url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.woff2) format("woff2"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.woff) format("woff"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.ttf) format("truetype"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.eot);src:url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.woff2) format("woff2"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.woff) format("woff"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.ttf) format("truetype"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.eot);src:url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.woff2) format("woff2"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.woff) format("woff"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.ttf) format("truetype"),url(https://pro.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}assets/css/compatibility/woocommerce.css000064400000317243152425655550014570 0ustar00/* ==========================================================================
*  Bloglo WooCommerce styles.
*  ========================================================================== */
.woocommerce #yith-wcwl-form table.shop_table thead th,
.woocommerce .woocommerce-cart-form table.shop_table thead th,
.woocommerce .woocommerce-checkout-review-order table.shop_table thead th,
.woocommerce table.my_account_orders thead th,
.woocommerce table.woocommerce-table--order-details thead th,
.woocommerce table.woocommerce-table--order-downloads thead th {
  text-transform: uppercase;
  letter-spacing: 0.16rem;
}

.woocommerce div.product .woocommerce-tabs:after,
.woocommerce div.product .woocommerce-tabs:before,
.woocommerce div.product form.cart .variations_button:after,
.woocommerce div.product form.cart .variations_button:before {
  content: "";
  display: table;
  clear: both;
}

.bloglo-header-widget__cart .dropdown-item {
  position: absolute;
  right: -1.5rem;
  top: 100%;
  z-index: 9;
  border-top-width: 0.2rem;
  border-top-style: solid;
}

.bloglo-header-widget__cart .dropdown-item:after {
  bottom: 100%;
  right: 1.6rem;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  margin-left: -0.7rem;
  border-color: transparent;
  border-width: 0.7rem;
  position: absolute;
  pointer-events: none;
  z-index: -1;
}

#page .woocommerce-error a:not(.button):not(.bloglo-btn),
#page .woocommerce-info a:not(.button):not(.bloglo-btn),
#page .woocommerce-message a:not(.button):not(.bloglo-btn),
#page .woocommerce-error .button.wc-forward,
#page .woocommerce-info .button.wc-forward,
#page .woocommerce-message .button.wc-forward,
.woocommerce form.login .lost_password a,
.woocommerce form.register .lost_password a,
.shipping-calculator-button,
.bloglo-woo-before-shop #bloglo-orderby,
#add_payment_method #payment ul.payment_methods .about_paypal,
.woocommerce-cart #payment ul.payment_methods .about_paypal,
.woocommerce-checkout #payment ul.payment_methods .about_paypal,
#main .woocommerce-MyAccount-navigation ul li a,
.woocommerce-Addresses header.title a.edit,
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  position: relative;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

#page .woocommerce-error a:not(.bloglo-btn):not(.button):before,
#page .woocommerce-info a:not(.bloglo-btn):not(.button):before,
#page .woocommerce-message a:not(.bloglo-btn):not(.button):before,
#page .woocommerce-error .button.wc-forward:before,
#page .woocommerce-info .button.wc-forward:before,
#page .woocommerce-message .button.wc-forward:before,
.woocommerce form.login .lost_password a:before,
.woocommerce form.register .lost_password a:before,
.shipping-calculator-button:before,
.bloglo-woo-before-shop #bloglo-orderby:before,
#add_payment_method #payment ul.payment_methods .about_paypal:before,
.woocommerce-cart #payment ul.payment_methods .about_paypal:before,
.woocommerce-checkout #payment ul.payment_methods .about_paypal:before,
#main .woocommerce-MyAccount-navigation ul li a:before,
.woocommerce-Addresses header.title a.edit:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.2rem;
  border-radius: var(--bloglo-normal-radius);
  background: currentColor;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: scale(0, 1) translateZ(0.1rem);
  transform: scale(0, 1) translateZ(0.1rem);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  -webkit-transition: -webkit-transform 0.35s
    cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1),
    -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  will-change: scale;
}

#page .woocommerce-error a:not(.bloglo-btn):not(.button):hover:before,
#page .woocommerce-info a:not(.bloglo-btn):not(.button):hover:before,
#page .woocommerce-message a:not(.bloglo-btn):not(.button):hover:before,
#page .woocommerce-error .button.wc-forward:hover:before,
#page .woocommerce-info .button.wc-forward:hover:before,
#page .woocommerce-message .button.wc-forward:hover:before,
.woocommerce form.login .lost_password a:hover:before,
.woocommerce form.register .lost_password a:hover:before,
.shipping-calculator-button:hover:before,
.bloglo-woo-before-shop #bloglo-orderby:hover:before,
#add_payment_method #payment ul.payment_methods .about_paypal:hover:before,
.woocommerce-cart #payment ul.payment_methods .about_paypal:hover:before,
.woocommerce-checkout #payment ul.payment_methods .about_paypal:hover:before,
#main .woocommerce-MyAccount-navigation ul li a:hover:before,
.woocommerce-Addresses header.title a.edit:hover:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover:before {
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: scale(1, 1) translateZ(0.1rem);
  transform: scale(1, 1) translateZ(0.1rem);
}

.woocommerce .show-on-hover,
.woocommerce ul.products li.product.product-category > a:after,
.woocommerce .widget_shopping_cart .cart_list li a.remove:after,
.woocommerce.widget_shopping_cart .cart_list li a.remove:after,
.woocommerce .widget_shopping_cart .cart_list li a.remove:before,
.woocommerce.widget_shopping_cart .cart_list li a.remove:before,
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a:before,
.woocommerce
  #secondary
  .widget_layered_nav
  ul.yith-wcan-color
  li.chosen
  a:after,
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:before,
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bloglo-empty-cart,
.bloglo-cart-item-title,
.woocommerce form.checkout_coupon p,
.woocommerce .show-on-hover,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .woocommerce-loop-category__title h3,
#ship-to-different-address,
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment,
#add_payment_method #payment div.form-row,
.woocommerce-cart #payment div.form-row,
.woocommerce-checkout #payment div.form-row,
#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods,
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout-review-order h3,
#main .woocommerce-MyAccount-navigation ul,
#main .woocommerce-MyAccount-navigation ul li,
.woocommerce-Addresses header.title h3,
.woocommerce .widget_layered_nav_filters ul li,
.woocommerce .widget_shopping_cart p,
.woocommerce.widget_shopping_cart p,
.yith-wcwl-share,
.yith-wcwl-share ul,
.woocommerce div.product .woocommerce-product-rating .star-rating,
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs table.shop_attributes,
.woocommerce div.product .woocommerce-tabs table.shop_attributes td p,
.woocommerce div.product .woocommerce-pagination ul li a,
.woocommerce div.product .woocommerce-pagination ul li span {
  margin: 0;
  padding: 0;
}

.woocommerce #respond input#submit:after,
.woocommerce a.button:after,
.woocommerce button.button:after,
.woocommerce input.button:after,
.bloglo-header-widget__cart .wc-cart-widget-header,
.bloglo-cart-item,
.bloglo-cart-item-meta,
.bloglo-cart-buttons,
.woocommerce form.checkout_coupon,
.woocommerce .quantity .bloglo-woo-minus,
.woocommerce .quantity .bloglo-woo-plus,
.bloglo-woo-before-shop,
#ship-to-different-address,
#add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice),
.woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice),
.woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice),
#add_payment_method
  #payment
  ul.payment_methods
  li.payment_method_paypal:not(.woocommerce-notice),
.woocommerce-cart
  #payment
  ul.payment_methods
  li.payment_method_paypal:not(.woocommerce-notice),
.woocommerce-checkout
  #payment
  ul.payment_methods
  li.payment_method_paypal:not(.woocommerce-notice),
#main .woocommerce-MyAccount-navigation ul li,
.woocommerce-Addresses header.title,
.widget.woocommerce .wc-layered-nav-rating a,
.woocommerce .widget_price_filter .price_slider_amount,
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-prev,
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-next,
.woocommerce div.product .woocommerce-product-rating,
.woocommerce div.product div.images .flex-control-thumbs {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#main .wc-block-grid__products,
#main .woocommerce-MyAccount-navigation ul li,
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav {
  padding: 0;
  margin: 0;
  list-style: none;
}

.widget.woocommerce a {
  text-decoration: none;
}

.bloglo-cart-item,
.bloglo-cart-item .bloglo-remove-cart-item,
.woocommerce .star-rating span:before,
.woocommerce ul.products li.product.product-category > a:after,
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title span,
.woocommerce ul.products li.product.outofstock a img,
.woocommerce ul.products li.product a.bloglo-btn,
.woocommerce ul.products li.product a.added_to_cart,
.widget.woocommerce .product-categories li .count,
.widget.woocommerce .wc-layered-nav-term .count,
.widget.woocommerce .wc-layered-nav-rating em,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:after,
.woocommerce .widget_shopping_cart .cart_list li a.remove:after,
.woocommerce.widget_shopping_cart .cart_list li a.remove:after,
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a,
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a:before,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product .woocommerce-pagination ul li a,
.woocommerce div.product .woocommerce-pagination ul li span {
  -webkit-transition: var(--bloglo-transition-primary);
  transition: var(--bloglo-transition-primary);
}

.woocommerce .cart_totals table.shop_table {
  outline: none;
  border: none;
  margin: 0;
  padding: 0;
  text-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}

.woocommerce
  #secondary
  .widget_layered_nav
  ul.yith-wcan-color
  li.chosen
  a:after {
  display: inline-block;
  fill: currentColor;
  width: auto;
}

#page .woocommerce-error:before,
#page .woocommerce-info:before,
#page .woocommerce-message:before,
.woocommerce ul.products li.product .added_to_cart:before,
#main .woocommerce-MyAccount-navigation ul li:before,
.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item
  a:after,
.widget.woocommerce .wc-layered-nav-rating a:after,
.woocommerce .widget_layered_nav_filters ul a:before,
.woocommerce .widget_shopping_cart .cart_list li a.remove:before,
.woocommerce.widget_shopping_cart .cart_list li a.remove:before,
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:after {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: currentColor;
  width: 1.6rem;
  height: 1.6rem;
}

/*****************************************/
/* Responsive styles.
/*****************************************/
/* 
  ##Device = Most of the smartphones (portrait)
  ##Screen = 480px and under.
*/
/* 
  ##Device = Most of the tablets (portrait)
  ##Screen = Between 481px and 768px.
*/
/* 
  ##Device = Most of the tablets and smartphones
  ##Screen = 768px and under.
*/
/* 
  ##Device = Desktops and landscape tablets
  ##Screen = 769px and upper.
*/
/* 
  ##Device = Large desktops and upper (incl. iPad Pro in landscape mode)
  ##Screen = 1281px and upper.
*/
/*****************************************/
/* WooCommerce styles.
/*****************************************/
.woocommerce #respond input#submit:after,
.woocommerce a.button:after,
.woocommerce button.button:after,
.woocommerce input.button:after {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  right: 0 !important;
  top: 50% !important;
  padding: 0 2.4rem 0 0;
  position: absolute;
  opacity: 0;
  margin-top: -0.8rem;
  width: 1.6rem;
  height: 1.6rem;
}

.woocommerce #respond input#submit.loading:after,
.woocommerce #respond input#submit.added:after,
.woocommerce a.button.loading:after,
.woocommerce a.button.added:after,
.woocommerce button.button.loading:after,
.woocommerce button.button.added:after,
.woocommerce input.button.loading:after,
.woocommerce input.button.added:after {
  opacity: 1;
}

.woocommerce #respond input#submit.loading:before,
.woocommerce #respond input#submit.loading:after,
.woocommerce a.button.loading:before,
.woocommerce a.button.loading:after,
.woocommerce button.button.loading:before,
.woocommerce button.button.loading:after,
.woocommerce input.button.loading:before,
.woocommerce input.button.loading:after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  text-indent: -99999.9rem;
  padding: 0;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-animation: si_bounce 1.6s infinite ease-in-out;
  animation: si_bounce 1.6s infinite ease-in-out;
  margin-right: 1em !important;
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 100%;
  margin-top: -0.8rem;
}

.woocommerce #respond input#submit.loading:after,
.woocommerce a.button.loading:after,
.woocommerce button.button.loading:after,
.woocommerce input.button.loading:after {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

.woocommerce p.cart-empty {
  margin-top: 0;
}

.woocommerce .blockOverlay {
  background-color: #fff !important;
  opacity: 0.75 !important;
}

.woocommerce.add_to_cart_inline .add_to_cart_button {
  min-width: 17rem;
  margin-right: 1.5rem !important;
}

.woocommerce.add_to_cart_inline .added_to_cart {
  text-transform: capitalize;
}

.woocommerce.add_to_cart_inline ins {
  text-decoration: none;
  margin-right: 1.5rem;
}

.bloglo-header-widget__cart .dropdown-item {
  font-size: 1.3rem;
  background-color: #fff;
  width: 34rem;
  color: #232323;
}

.bloglo-header-widget__cart .wc-cart-widget-header {
  padding: 1.3rem 2rem 1.4rem 2rem;
  border-bottom: 0.1rem solid rgba(190, 190, 190, 0.3);
}

.bloglo-header-widget__cart .wc-cart-widget-header > span:first-child {
  margin-right: auto;
}

.bloglo-header-widget__cart .wc-cart-widget-header > span.bloglo-cart-subtotal {
  margin-left: auto;
  font-weight: 500;
}

.bloglo-header-widget__cart
  .wc-cart-widget-header
  > span.bloglo-cart-subtotal
  span {
  font-weight: 600;
}

.bloglo-header-widget__cart .woocommerce-placeholder {
  border: none;
}

.bloglo-tsp-header .bloglo-header-widget__cart .bloglo-cart-count {
  border: none;
}

.bloglo-tsp-header .bloglo-header-widgets p.bloglo-cart-item-title a,
.bloglo-tsp-header
  .bloglo-header-widgets
  .bloglo-cart-item
  a.bloglo-remove-cart-item {
  color: inherit;
}

.animate-pop {
  -webkit-animation: 0.5s ease-in-out 0.1s normal both 1 si_bounce_in;
  animation: 0.5s ease-in-out 0.1s normal both 1 si_bounce_in;
}

.wc-cart-widget-content {
  padding: 0.6rem 0;
  max-height: 40rem;
  overflow-y: auto;
}

.bloglo-empty-cart {
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.5;
  padding: 2.5rem;
}

.bloglo-empty-cart p {
  margin-top: 0.88rem;
  margin-bottom: 0;
}

.bloglo-cart-item {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  padding-top: 1rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-right: 4rem;
  padding-left: 2rem;
}

.bloglo-cart-item:hover {
  background-color: rgba(0, 0, 0, 0.04);
}

.bloglo-cart-item:hover .bloglo-remove-cart-item {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
}

.bloglo-cart-item.removing .bloglo-cart-image,
.bloglo-cart-item.removing .bloglo-cart-item-details {
  opacity: 0.3;
}

.bloglo-cart-item .bloglo-remove-cart-item {
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  -webkit-transform: translateX(3rem);
  -ms-transform: translateX(3rem);
  transform: translateX(3rem);
  opacity: 0;
}

.bloglo-cart-item .bloglo-remove-cart-item:hover .bloglo-icon {
  color: inherit;
}

.bloglo-cart-item .bloglo-remove-cart-item .bloglo-icon {
  height: 1.4rem !important;
}

.bloglo-cart-image {
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
}

.bloglo-cart-image img {
  width: 6.5rem;
  margin-right: 2rem;
  height: auto;
  display: block;
  border-radius: var(--bloglo-normal-radius);
}

.bloglo-cart-item-quantity {
  font-weight: 500;
}

.bloglo-cart-item-quantity:after {
  content: "\00d7";
  display: inline-block;
  font-weight: 400;
  padding: 0 0.4rem;
}

.bloglo-cart-item-meta {
  margin-top: 0.4rem;
}

.bloglo-cart-item-meta ins {
  text-decoration: none;
}

.bloglo-cart-item-meta ins .amount {
  font-weight: 500;
}

.bloglo-cart-item-meta del {
  opacity: 1;
  color: #afafaf;
}

.bloglo-cart-buttons {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1.6rem 2rem;
  border-top: 0.1rem solid rgba(190, 190, 190, 0.3);
}

.bloglo-cart-buttons > a {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.bloglo-cart-buttons > a:first-child {
  margin-right: 1rem;
}

.bloglo-cart-item-title {
  font-size: 1.6rem;
  line-height: 1.25;
  color: #232323;
  font-weight: 500;
}

@-webkit-keyframes si_bounce_in {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  20% {
    -webkit-transform: scale(1.4, 1.4);
    transform: scale(1.4, 1.4);
  }

  50% {
    -webkit-transform: scale(0.8, 0.8);
    transform: scale(0.8, 0.8);
  }

  85% {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }

  100% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}

@keyframes si_bounce_in {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  20% {
    -webkit-transform: scale(1.4, 1.4);
    transform: scale(1.4, 1.4);
  }

  50% {
    -webkit-transform: scale(0.8, 0.8);
    transform: scale(0.8, 0.8);
  }

  85% {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }

  100% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}

#page .woocommerce-notices-wrapper {
  margin-top: -2rem;
  margin-bottom: 4rem;
}

#page .woocommerce-notices-wrapper:empty {
  display: none;
}

#page .woocommerce-error,
#page .woocommerce-info,
#page .woocommerce-message {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 1rem;
  border-radius: 0 0.3rem 0.3rem 0;
  padding-left: 4.8rem;
  border-top: none;
  border-left-width: 0.4rem;
  border-left-style: solid;
  padding: 1.28rem 3.2rem 1.28rem 5rem;
  line-height: 1.5;
}

#page .woocommerce-error:before,
#page .woocommerce-info:before,
#page .woocommerce-message:before {
  left: 2rem;
  top: 1.6rem;
  height: 2rem;
  width: 2rem;
  line-height: 1;
}

#page .woocommerce-error a:not(.button):not(.bloglo-btn),
#page .woocommerce-info a:not(.button):not(.bloglo-btn),
#page .woocommerce-message a:not(.button):not(.bloglo-btn) {
  display: inline-block;
  -webkit-box-shadow: none;
  box-shadow: none;
}

#page .woocommerce-error .button,
#page .woocommerce-info .button,
#page .woocommerce-message .button {
  padding: 0;
  line-height: inherit;
  background: none;
  color: inherit;
  min-height: auto;
  border: none;
}

#page .woocommerce-error .button.wc-forward,
#page .woocommerce-info .button.wc-forward,
#page .woocommerce-message .button.wc-forward {
  font-weight: 500;
  text-transform: capitalize;
}

#page .woocommerce-info {
  border-left-color: #1e85be;
}

#page .woocommerce-info:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm0-13.346c-.801 0-1.335.534-1.335 1.335v5.339c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-5.339c0-.801-.534-1.335-1.335-1.335zm-.935-4.938c-.267.267-.4.534-.4.934s.133.667.4.934.534.4.934.4.667-.133.934-.4.4-.534.4-.934-.133-.667-.4-.934a1.29 1.29 0 00-1.868 0z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm0-13.346c-.801 0-1.335.534-1.335 1.335v5.339c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-5.339c0-.801-.534-1.335-1.335-1.335zm-.935-4.938c-.267.267-.4.534-.4.934s.133.667.4.934.534.4.934.4.667-.133.934-.4.4-.534.4-.934-.133-.667-.4-.934a1.29 1.29 0 00-1.868 0z"/></svg>');
}

#page .woocommerce-error {
  border-left-color: #b81c23;
}

#page .woocommerce-error:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm4.938-16.95a1.29 1.29 0 00-1.868 0l-3.07 3.07-3.07-3.07c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l3.07 3.07-3.07 3.07a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l3.07-3.07 3.07 3.07c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-3.07-3.07 3.07-3.07a1.29 1.29 0 000-1.868z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm4.938-16.95a1.29 1.29 0 00-1.868 0l-3.07 3.07-3.07-3.07c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l3.07 3.07-3.07 3.07a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l3.07-3.07 3.07 3.07c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-3.07-3.07 3.07-3.07a1.29 1.29 0 000-1.868z"/></svg>');
}

#page .woocommerce-message {
  border-left-color: #8fae1b;
}

#page .woocommerce-message:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M0 17.824l3.203-3.203 8.008 8.008L28.828 5.012l3.203 3.203-20.82 20.82z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M0 17.824l3.203-3.203 8.008 8.008L28.828 5.012l3.203 3.203-20.82 20.82z"/></svg>');
}

.woocommerce ul#shipping_method li {
  margin-bottom: 0.96rem;
}

.woocommerce ul#shipping_method li input {
  margin: 0 1.12rem 0 0;
  vertical-align: middle;
}

.woocommerce .woocommerce-customer-details address {
  border-right-width: 0.1rem;
  border-radius: var(--bloglo-normal-radius);
  border-color: rgba(190, 190, 190, 0.3);
  border-bottom-width: 0.1rem;
  padding: 1.2rem 2rem;
}

.woocommerce form.checkout_coupon {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 3rem;
  border: 0.2rem dashed rgba(190, 190, 190, 0.3);
  border-radius: var(--bloglo-normal-radius);
  margin-top: 1.5rem;
}

.woocommerce form.checkout_coupon p {
  width: auto;
}

.woocommerce form.checkout_coupon p.form-row-first {
  margin-right: 1.5rem;
}

.woocommerce form.checkout_coupon p:first-child {
  text-align: center;
  margin-bottom: 1.6rem;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
}

.woocommerce form.checkout_coupon .button {
  text-transform: capitalize;
}

.woocommerce #customer_login h2 {
  margin-top: 0;
}

.woocommerce #customer_login h2 form.login,
.woocommerce #customer_login h2 form.register {
  margin: 0;
  min-height: 35.1rem;
  padding: 3rem 10%;
}

.woocommerce form.login,
.woocommerce form.register {
  padding: 0;
  margin-top: 1.5rem;
  border: none;
  max-width: 60rem;
}

.woocommerce form.login p:first-child,
.woocommerce form.register p:first-child {
  margin-top: 0;
}

.woocommerce form.login .form-row,
.woocommerce form.register .form-row {
  margin: 0 0 2.4rem;
}

.woocommerce form.login .form-row:last-child,
.woocommerce form.register .form-row:last-child {
  margin-bottom: 0;
}

.woocommerce form.login .button,
.woocommerce form.register .button {
  margin-right: 2rem;
}

.woocommerce form.login label span,
.woocommerce form.register label span {
  font-weight: 400;
}

.woocommerce form.login .woocommerce-form-login__rememberme,
.woocommerce form.register .woocommerce-form-login__rememberme {
  margin-top: 1.3rem;
  line-height: 1;
}

.woocommerce form.login .lost_password,
.woocommerce form.register .lost_password {
  font-size: 1.3rem;
  margin-bottom: -rem(15px);
  margin-top: 0;
}

.woocommerce form.login .form-row-first,
.woocommerce form.login .form-row-last,
.woocommerce form.register .form-row-first,
.woocommerce form.register .form-row-last {
  width: 49%;
}

.woocommerce strong {
  font-weight: 600;
}

.woocommerce .woocommerce-additional-fields {
  margin-top: 1.6rem;
}

.woocommerce .woocommerce-additional-fields textarea {
  min-height: 20rem;
}

.woocommerce .nav-links {
  text-align: center;
}

.woocommerce #yith-wcwl-form table.shop_table,
.woocommerce .woocommerce-cart-form table.shop_table,
.woocommerce .woocommerce-checkout-review-order table.shop_table {
  margin: 0;
  border: 0;
  border-radius: var(--bloglo-normal-radius);
  color: #232323;
  border-spacing: 0;
}

.woocommerce #yith-wcwl-form table.shop_table a,
.woocommerce .woocommerce-cart-form table.shop_table a,
.woocommerce .woocommerce-checkout-review-order table.shop_table a {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.woocommerce
  #yith-wcwl-form
  table.shop_table
  a:not(.bloglo-woo-plus):not(.bloglo-woo-minus):not(.bloglo-btn):not(
    .remove_from_wishlist
  ),
.woocommerce
  .woocommerce-cart-form
  table.shop_table
  a:not(.bloglo-woo-plus):not(.bloglo-woo-minus):not(.bloglo-btn):not(
    .remove_from_wishlist
  ),
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  a:not(.bloglo-woo-plus):not(.bloglo-woo-minus):not(.bloglo-btn):not(
    .remove_from_wishlist
  ) {
  color: inherit;
}

.woocommerce #yith-wcwl-form table.shop_table thead,
.woocommerce .woocommerce-cart-form table.shop_table thead,
.woocommerce .woocommerce-checkout-review-order table.shop_table thead {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.032rem;
}

.woocommerce #yith-wcwl-form table.shop_table thead th,
.woocommerce .woocommerce-cart-form table.shop_table thead th,
.woocommerce .woocommerce-checkout-review-order table.shop_table thead th {
  font-size: 1.2rem;
  font-weight: 400;
  padding: 2rem 0;
  border: 0 !important;
}

.woocommerce #yith-wcwl-form table.shop_table thead th:first-child,
.woocommerce .woocommerce-cart-form table.shop_table thead th:first-child,
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  thead
  th:first-child {
  border-radius: 0.3rem 0 0 0;
}

.woocommerce #yith-wcwl-form table.shop_table thead th:last-child,
.woocommerce .woocommerce-cart-form table.shop_table thead th:last-child,
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  thead
  th:last-child {
  border-radius: 0 0.3rem 0 0;
}

.woocommerce #yith-wcwl-form table.shop_table th,
.woocommerce #yith-wcwl-form table.shop_table td,
.woocommerce .woocommerce-cart-form table.shop_table th,
.woocommerce .woocommerce-cart-form table.shop_table td,
.woocommerce .woocommerce-checkout-review-order table.shop_table th,
.woocommerce .woocommerce-checkout-review-order table.shop_table td {
  font-weight: 400;
  border: none;
  text-align: center;
}

.woocommerce #yith-wcwl-form table.shop_table th:first-child,
.woocommerce #yith-wcwl-form table.shop_table td:first-child,
.woocommerce .woocommerce-cart-form table.shop_table th:first-child,
.woocommerce .woocommerce-cart-form table.shop_table td:first-child,
.woocommerce .woocommerce-checkout-review-order table.shop_table th:first-child,
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  td:first-child {
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: left;
  border-left: 0.3rem solid rgba(190, 190, 190, 0.2);
}

.woocommerce #yith-wcwl-form table.shop_table th:last-child,
.woocommerce #yith-wcwl-form table.shop_table td:last-child,
.woocommerce .woocommerce-cart-form table.shop_table th:last-child,
.woocommerce .woocommerce-cart-form table.shop_table td:last-child,
.woocommerce .woocommerce-checkout-review-order table.shop_table th:last-child,
.woocommerce .woocommerce-checkout-review-order table.shop_table td:last-child {
  padding-right: 2rem;
  padding-left: 2rem;
  border-right-width: 0.3rem;
}

.woocommerce #yith-wcwl-form table.shop_table td,
.woocommerce .woocommerce-cart-form table.shop_table td,
.woocommerce .woocommerce-checkout-review-order table.shop_table td {
  padding: 1.6rem 0;
  border-right: 0.1rem solid rgba(190, 190, 190, 0.2);
  border-bottom: 0.1rem solid rgba(190, 190, 190, 0.2);
}

.woocommerce #yith-wcwl-form table.shop_table tr:nth-last-child(2) td,
.woocommerce .woocommerce-cart-form table.shop_table tr:nth-last-child(2) td {
  border-bottom-width: 0.3rem;
  border-bottom-color: rgba(190, 190, 190, 0.2);
}

.woocommerce
  #yith-wcwl-form
  table.shop_table
  tr:nth-last-child(2)
  td:first-child,
.woocommerce
  .woocommerce-cart-form
  table.shop_table
  tr:nth-last-child(2)
  td:first-child {
  border-radius: 0 0 0 0.3rem;
}

.woocommerce
  #yith-wcwl-form
  table.shop_table
  tr:nth-last-child(2)
  td:last-child,
.woocommerce
  .woocommerce-cart-form
  table.shop_table
  tr:nth-last-child(2)
  td:last-child {
  border-radius: 0 0 0.3rem 0;
}

.woocommerce #yith-wcwl-form table.shop_table tr:last-child td,
.woocommerce .woocommerce-cart-form table.shop_table tr:last-child td {
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 2rem;
}

.woocommerce .woocommerce-checkout-review-order table.shop_table th,
.woocommerce .woocommerce-checkout-review-order table.shop_table td {
  text-align: left;
}

.woocommerce .woocommerce-checkout-review-order table.shop_table tfoot tr td,
.woocommerce .woocommerce-checkout-review-order table.shop_table tfoot tr th {
  border-radius: 0 !important;
  background-color: transparent;
}

.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr
  td:first-child,
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr
  th:first-child {
  border-left: 0.3rem solid rgba(190, 190, 190, 0.2) !important;
  border-bottom: 0.1rem solid rgba(190, 190, 190, 0.2) !important;
}

.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:last-child
  th:first-child {
  border-bottom-width: 0.3rem !important;
}

.woocommerce .woocommerce-checkout-review-order table.shop_table tfoot tr th {
  border-right: 0.1rem solid rgba(190, 190, 190, 0.2) !important;
}

.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:first-child
  td,
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:first-child
  th {
  border-top: solid 1.5rem rgba(190, 190, 190, 0.2) !important;
}

.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:last-child
  td {
  border-bottom-width: 0.3rem;
  border-bottom-color: rgba(190, 190, 190, 0.2);
}

.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:last-child
  td:first-child {
  border-radius: 0 0 0 0.3rem;
}

.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:last-child
  td:last-child {
  border-radius: 0 0 0.3rem 0;
}

.woocommerce td.product-name img {
  display: block;
  width: 6.4rem;
  margin-right: 1.6rem;
  border-radius: var(--bloglo-normal-radius);
}

.woocommerce td.product-name a {
  display: inline-block;
  vertical-align: middle;
}

.woocommerce a.remove {
  height: 2.4rem;
  width: 2.4rem;
  line-height: 2.368rem;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.woocommerce .product-remove {
  width: 3rem;
}

.woocommerce .product-remove .bloglo-icon {
  height: 1.6rem;
}

.woocommerce .quantity {
  display: inline-block;
  position: relative;
  padding-right: 2.8rem;
}

.woocommerce .quantity .bloglo-woo-minus,
.woocommerce .quantity .bloglo-woo-plus {
  text-decoration: none;
  font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 2.8rem;
  height: 2.55rem;
  line-height: 2rem;
  border: 0.1rem solid rgba(190, 190, 190, 0.3);
  -webkit-box-align: initial;
  -ms-flex-align: initial;
  align-items: initial;
  color: inherit !important;
  font-size: 1.5rem;
  background-color: #fff;
}

.woocommerce .quantity .bloglo-woo-minus:hover,
.woocommerce .quantity .bloglo-woo-plus:hover {
  background-color: rgba(190, 190, 190, 0.2);
}

.woocommerce .quantity .bloglo-woo-plus {
  border-radius: 0 0.2rem 0 0;
}

.woocommerce .quantity .bloglo-woo-minus {
  top: auto;
  bottom: 0;
  height: 2.55rem;
  border-radius: 0 0 0.2rem 0;
}

.woocommerce .quantity .qty {
  outline: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: 0.1rem solid rgba(190, 190, 190, 0.3);
  border-right: none;
  height: 5rem;
  border-radius: 0.2rem 0 0 0.2rem;
  width: 6rem;
}

.woocommerce .quantity input[type="number"]::-webkit-inner-spin-button,
.woocommerce .quantity input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.woocommerce .quantity input[type="number"] {
  -moz-appearance: textfield;
}

.woocommerce #coupon_code {
  margin-right: 1.5rem;
  min-width: 21rem;
  min-height: 5rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.woocommerce .cart-collaterals {
  margin-top: 5rem;
}

.woocommerce .cart_totals h2,
.woocommerce .cross-sells > h4 {
  margin-bottom: 1.6rem;
}

.woocommerce .cart_totals {
  margin-left: auto;
  margin-bottom: 0;
}

.woocommerce .cart_totals table.shop_table {
  border: 0.3rem solid rgba(190, 190, 190, 0.2);
  border-radius: var(--bloglo-normal-radius);
}

.woocommerce .cart_totals table.shop_table th {
  border-right: 0.1rem solid rgba(190, 190, 190, 0.2);
}

.woocommerce .cart_totals table.shop_table td,
.woocommerce .cart_totals table.shop_table th {
  padding: 1.6rem 2rem;
}

.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
  border-color: rgba(190, 190, 190, 0.2);
  border-top-width: 0.1rem;
  font-weight: 400;
}

.woocommerce .cart_totals table.shop_table .order-total th,
.woocommerce .cart_totals table.shop_table .order-total td {
  background-color: rgba(190, 190, 190, 0.2);
}

.woocommerce .show-on-hover {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear,
    -webkit-transform 5s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: opacity 0.2s linear,
    -webkit-transform 5s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: opacity 0.2s linear, transform 5s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: opacity 0.2s linear, transform 5s cubic-bezier(0.25, 0.8, 0.25, 1),
    -webkit-transform 5s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}

.woocommerce li.product:hover .show-on-hover {
  opacity: 1;
  -webkit-transform: scale3d(1.05, 1.05, 1.05);
  transform: scale3d(1.05, 1.05, 1.05);
}

.woocommerce form .form-row {
  margin: 1.6rem 0 1.6rem;
  padding: 0;
}

.woocommerce form .form-row.notes {
  margin-bottom: 0;
}

.shipping-calculator-form > p:last-of-type {
  margin-bottom: 0;
}

.shipping-calculator-button {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  text-transform: capitalize;
}

.shipping-calculator-button:after {
  display: none;
}

.woocommerce-shipping-methods label,
.woocommerce-remove-coupon,
.woocommerce .optional {
  font-weight: 400;
}

.woocommerce-cart .return-to-shop:not(.bloglo-woo-return) {
  display: none !important;
}

#add_payment_method
  .cart-collaterals
  .cart_totals
  .woocommerce-shipping-destination,
.woocommerce-cart
  .cart-collaterals
  .cart_totals
  .woocommerce-shipping-destination,
.woocommerce-checkout
  .cart-collaterals
  .cart_totals
  .woocommerce-shipping-destination {
  font-size: 1.3rem;
  margin-top: 1.6rem;
  margin-bottom: 0.72rem;
}

.bloglo-woo-before-shop {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 3rem;
}

.bloglo-woo-before-shop .woocommerce-ordering {
  position: relative;
  margin-left: auto;
}

.bloglo-woo-before-shop .woocommerce-ordering .orderby {
  width: 12.6rem;
}

.bloglo-woo-before-shop #bloglo-orderby {
  display: inline-block;
  position: relative;
  z-index: 1;
}

.bloglo-woo-before-shop #bloglo-orderby > svg {
  height: 1.386rem;
  margin-left: 1rem;
}

.bloglo-woo-before-shop select {
  background-position: calc(100%) 1.28rem;
  background-color: rgba(0, 0, 0, 0);
  padding-left: 0;
  padding-right: 1.9rem;
  border: none;
  cursor: pointer;
  height: initial;
  line-height: inherit;
}

.bloglo-woo-before-shop select.custom-select-loaded {
  position: absolute;
  opacity: 0;
  z-index: 2;
}

.bloglo-woo-before-shop
  select.custom-select-loaded:hover
  ~ #bloglo-orderby:before {
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: scale(1, 1) translateZ(0.1rem);
  transform: scale(1, 1) translateZ(0.1rem);
}

.woocommerce .star-rating {
  min-height: 1.6rem;
  position: relative;
  display: inline-block;
  font-size: 1.3rem !important;
  width: 7.7rem;
  max-width: 7.7rem;
  margin: 0.5rem 0 0;
  font-weight: 400 !important;
  letter-spacing: 0.2rem;
  white-space: nowrap;
}

.woocommerce .star-rating span {
  padding-top: 1.6rem;
}

.woocommerce .star-rating span:before {
  white-space: nowrap;
}

.woocommerce .star-rating:before {
  content: "\53\53\53\53\53";
  white-space: nowrap;
  opacity: 0.4;
}

.woocommerce .cross-sells ul.products {
  margin-top: 0;
}

.woocommerce ul.products {
  margin-top: -4rem;
  margin-bottom: 0;
}

.woocommerce ul.products li.product {
  position: relative;
  margin-top: 4rem;
  margin-bottom: 0;
  overflow: hidden;
  border-radius: 1rem;
  z-index: 0;
  border: 0.1rem solid rgba(190, 190, 190, 0.3);
  -webkit-transition: var(--bloglo-transition-primary);
  transition: var(--bloglo-transition-primary);
}

.woocommerce ul.products.columns-1 li.product:nth-child(1n),
.woocommerce-page ul.products.columns-1 li.product:nth-child(1n),
.woocommerce ul.products.columns-2 li.product:nth-child(2n),
.woocommerce-page ul.products.columns-2 li.product:nth-child(2n),
.woocommerce ul.products.columns-3 li.product:nth-child(3n),
.woocommerce-page ul.products.columns-3 li.product:nth-child(3n),
.woocommerce ul.products.columns-4 li.product:nth-child(4n),
.woocommerce-page ul.products.columns-4 li.product:nth-child(4n) {
  margin-right: 0;
}

.woocommerce ul.products.columns-1 li.product:nth-child(1n + 2),
.woocommerce-page ul.products.columns-1 li.product:nth-child(1n + 2),
.woocommerce ul.products.columns-2 li.product:nth-child(2n + 3),
.woocommerce-page ul.products.columns-2 li.product:nth-child(2n + 3),
.woocommerce ul.products.columns-3 li.product:nth-child(3n + 4),
.woocommerce-page ul.products.columns-3 li.product:nth-child(3n + 4),
.woocommerce ul.products.columns-4 li.product:nth-child(4n + 5),
.woocommerce-page ul.products.columns-4 li.product:nth-child(4n + 5) {
  clear: both;
}

.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within {
  border-color: transparent;
  box-shadow: 0 0 3rem 0 rgba(0, 0, 0, 0.08);
}

.woocommerce ul.products li.product .meta-wrap {
  padding: 1.9rem;
  padding-top: 0.3rem;
}

.woocommerce ul.products li.product .meta-wrap > * {
  margin: 1.2rem 0 1.2rem 0;
  display: block;
}

.woocommerce ul.products li.product .meta-wrap > .price {
  margin-top: 1.76rem;
  margin-bottom: 1.76rem;
  line-height: 1;
}

.woocommerce ul.products li.product .meta-wrap > .star-rating {
  line-height: 1;
}

.woocommerce
  ul.products
  li.product
  .meta-wrap
  > .bloglo-loop-product__category-wrap {
  font-size: 1.486rem;
}

.woocommerce ul.products li.product .meta-wrap > *:first-child {
  margin-top: 0 !important;
}

.woocommerce ul.products li.product .meta-wrap > *:last-child {
  margin-bottom: 0 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__link h2,
.woocommerce ul.products li.product .bloglo-loop-product__category-wrap a,
.woocommerce ul.products li.product .price {
  padding: 0;
  line-height: 1.5;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link h2 {
  font-size: 1.707rem;
  font-family: inherit;
  font-style: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  font-weight: 500;
}

.woocommerce ul.products li.product .bloglo-loop-product__category-wrap {
  line-height: 1;
}

.woocommerce ul.products li.product .bloglo-loop-product__category-wrap a {
  line-height: inherit;
}

.woocommerce ul.products li.product .price {
  color: inherit;
  font-size: inherit;
  font-weight: 500;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  font-weight: 500;
}

.woocommerce ul.products li.product .price del {
  opacity: 1;
  color: #afafaf;
}

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product.product-category {
  border-radius: var(--bloglo-normal-radius);
}

.woocommerce ul.products li.product a img {
  margin: 0;
}

.woocommerce ul.products li.product .woocommerce-placeholder {
  border: none;
}

.woocommerce ul.products li.product.product-category {
  overflow: hidden;
}

.woocommerce ul.products li.product.product-category:hover > a:after {
  opacity: 1;
}

.woocommerce ul.products li.product.product-category > a {
  display: block;
}

.woocommerce ul.products li.product.product-category > a:after {
  content: "";
  z-index: 1;
  background-image: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(#000),
    to(transparent)
  );
  background-image: linear-gradient(to top, #000 0%, transparent 100%);
  -webkit-transform: translateY(40%);
  -ms-transform: translateY(40%);
  transform: translateY(40%);
  opacity: 0.85;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  right: 2rem;
  font-size: 1.6rem;
  color: #fff;
  z-index: 2;
  -webkit-transform: translate3d(0, 1.8rem, 0);
  transform: translate3d(0, 1.8rem, 0);
}

.woocommerce ul.products li.product .woocommerce-loop-category__title span {
  display: block;
  font-size: 1.3rem;
  font-weight: 400;
  margin-top: 0.5rem;
  line-height: 1;
  -webkit-transform: translate3d(0, 1.3rem, 0);
  transform: translate3d(0, 1.3rem, 0);
  opacity: 0;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-category__title {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.woocommerce
  ul.products
  li.product:hover
  .woocommerce-loop-category__title
  span {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title h3 {
  margin: 0;
}

.woocommerce ul.products li.product.outofstock a img {
  opacity: 0.5;
}

.woocommerce ul.products li.product.outofstock a img.show-on-hover {
  opacity: 0;
}

.woocommerce ul.products li.product.outofstock:hover .swap-on-hover a img {
  opacity: 0;
}

.woocommerce
  ul.products
  li.product.outofstock:hover
  .swap-on-hover
  a
  img.show-on-hover {
  opacity: 0.5;
}

.woocommerce ul.products li.product .added_to_cart {
  white-space: nowrap;
  bottom: 1.2rem;
  left: 1.2rem;
  right: 1.2rem;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background-color: #232323;
}

.woocommerce ul.products li.product .added_to_cart:hover {
  background-color: #2e353b;
}

.woocommerce ul.products li.product .added_to_cart:before {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 20 20"><path d="M3 2h14a1 1 0 011 1v14a1 1 0 01-1 1H3a1 1 0 01-1-1V3a1 1 0 011-1zM0 3a3 3 0 013-3h14a3 3 0 013 3v14a3 3 0 01-3 3H3a3 3 0 01-3-3zm10 7c-2.761 0-5-2.686-5-6h2c0 2.566 1.669 4 3 4s3-1.434 3-4h2c0 3.314-2.239 6-5 6z" fill="currentColor" fill-rule="evenodd"></path></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 20 20"><path d="M3 2h14a1 1 0 011 1v14a1 1 0 01-1 1H3a1 1 0 01-1-1V3a1 1 0 011-1zM0 3a3 3 0 013-3h14a3 3 0 013 3v14a3 3 0 01-3 3H3a3 3 0 01-3-3zm10 7c-2.761 0-5-2.686-5-6h2c0 2.566 1.669 4 3 4s3-1.434 3-4h2c0 3.314-2.239 6-5 6z" fill="currentColor" fill-rule="evenodd"></path></svg>');
  margin-right: 1rem;
}

.woocommerce ul.products li.product a.bloglo-btn,
.woocommerce ul.products li.product a.added_to_cart {
  position: absolute;
  z-index: 2;
  padding: 0.8rem 1.6rem;
  -webkit-transition-delay: 0.25s !important;
  transition-delay: 0.25s !important;
}

.woocommerce ul.products li.product .bloglo-product-thumb {
  margin-bottom: 1.5rem;
  border-radius: var(--bloglo-normal-radius);
  position: relative;
  overflow: hidden;
}

.woocommerce ul.products li.product .bloglo-product-thumb .bloglo-btn {
  -webkit-transform: translate3d(0, 3rem, 0);
  transform: translate3d(0, 3rem, 0);
  bottom: 1.2rem;
  left: 1.2rem;
  right: 1.2rem;
  opacity: 0;
  visibility: hidden;
  width: auto;
}

.woocommerce ul.products li.product:hover .bloglo-btn,
.woocommerce ul.products li.product .loading.bloglo-btn {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
  visibility: visible;
  -webkit-transition-delay: 0s !important;
  transition-delay: 0s !important;
}

.woocommerce ul.products li.product .loading.bloglo-btn {
  opacity: 0.75;
}

.woocommerce ul.products li.product:hover .added_to_cart {
  -webkit-transform: translate3d(0, -120%, 0);
  transform: translate3d(0, -120%, 0);
  -webkit-transition-delay: 0s !important;
  transition-delay: 0s !important;
}

.woocommerce ul.products.yith-wcan-loading {
  margin-bottom: 4rem;
}

.woocommerce ul#shipping_method .amount {
  font-weight: 600;
}

.woocommerce-page .entry-content {
  font-size: 1.5rem;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 0;
}

.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  min-width: initial;
  min-height: initial;
  min-height: auto;
  margin: 0;
  left: 1.2rem;
  top: 1.2rem;
  right: auto;
  bottom: auto;
  border-radius: var(--bloglo-full-radius);
  line-height: inherit;
  padding: 0.3rem 1rem;
  font-size: 1.3rem;
  font-weight: 500;
  z-index: 2;
}

.woocommerce span.onsale.sold-out,
.woocommerce ul.products li.product .onsale.sold-out {
  background-color: #232323;
}

.woocommerce-checkout p.woocommerce-notice {
  margin-top: 0;
}

.woocommerce .woocommerce-checkout-review-order {
  padding: 0.2rem 2.7rem 3rem;
  background-color: rgba(190, 190, 190, 0.2);
  border-radius: 0 0 0.3rem 0.3rem;
}

.woocommerce .woocommerce-checkout-review-order strong,
.woocommerce
  .woocommerce-checkout-review-order
  .woocommerce-Price-amount.amount,
.woocommerce .woocommerce-checkout-review-order th,
.woocommerce .woocommerce-checkout-review-order td {
  font-weight: 400;
}

.woocommerce .woocommerce-checkout-review-order .order-total th {
  font-weight: 600 !important;
}

.woocommerce
  .woocommerce-checkout-review-order
  .order-total
  .woocommerce-Price-amount.amount {
  font-weight: 600;
}

.woocommerce .woocommerce-checkout-review-order table.shop_table {
  background-color: #fff;
  border-radius: 0.6rem;
  margin-bottom: 2rem;
}

.woocommerce .woocommerce-checkout-review-order table.shop_table thead th {
  background-color: #fff;
  border: 0.3rem solid rgba(190, 190, 190, 0.2) !important;
}

.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  thead
  th:first-child {
  border-right: 0 !important;
}

.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  thead
  th:last-child {
  border-left: 0 !important;
}

.woocommerce-checkout .col2-set .col-2 {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

#order_review_heading {
  background-color: rgba(190, 190, 190, 0.2);
  text-align: center;
  padding: 2.4rem 0 1.6rem;
  margin-bottom: 0;
  position: relative;
  text-transform: capitalize;
  z-index: -1;
}

#order_review_heading:after {
  content: "";
  display: block;
  position: absolute;
  top: -2rem;
  right: 0;
  left: 0;
  height: 2rem;
  background: linear-gradient(
      -45deg,
      rgba(190, 190, 190, 0.2) 33.333%,
      transparent 33.333%,
      transparent 66.667%,
      rgba(190, 190, 190, 0.2) 66.667%
    ),
    linear-gradient(
      45deg,
      rgba(190, 190, 190, 0.2) 33.333%,
      transparent 33.333%,
      transparent 66.667%,
      rgba(190, 190, 190, 0.2) 66.667%
    );
  background-size: 1.2rem 4.4rem;
  background-position: 0 -2.2rem;
}

#ship-to-different-address {
  margin-bottom: 1.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1.6rem 2rem;
  background-color: rgba(190, 190, 190, 0.2);
  color: inherit;
  border-radius: var(--bloglo-normal-radius);
  font-size: inherit;
}

#ship-to-different-address label {
  cursor: pointer;
  font-weight: 400;
  margin-bottom: 0;
}

.woocommerce-invalid #terms {
  outline: none;
  border-color: #f00;
}

.woocommerce-invalid #terms + span a {
  color: inherit;
}

#place_order {
  float: none;
  display: block;
  width: 100%;
  text-transform: capitalize;
  margin-top: 1.6rem;
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  border-radius: 0;
  background: none;
  border-bottom-color: rgba(190, 190, 190, 0.3);
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
  margin: 0 0.3rem 2rem 0.3rem;
  border-bottom: none;
}

#add_payment_method #payment ul.payment_methods .woocommerce-notice,
.woocommerce-cart #payment ul.payment_methods .woocommerce-notice,
.woocommerce-checkout #payment ul.payment_methods .woocommerce-notice {
  background-color: #fff;
}

#add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice),
.woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice),
.woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice) {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  padding: 1.6rem 2rem;
  border-bottom: 0.3rem solid rgba(190, 190, 190, 0.2);
}

#add_payment_method
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal,
.woocommerce-cart
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal,
.woocommerce-checkout
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal {
  -webkit-box-pack: stretch;
  -ms-flex-pack: stretch;
  justify-content: stretch;
}

#add_payment_method
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  label,
.woocommerce-cart
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  label,
.woocommerce-checkout
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  label {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#add_payment_method
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  img,
.woocommerce-cart
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  img,
.woocommerce-checkout
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  img {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  margin-left: auto;
  padding-left: 2rem;
  max-height: 5rem;
}

#add_payment_method
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice)
  input,
.woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice) input,
.woocommerce-checkout
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice)
  input {
  margin-right: 1.12rem;
}

#add_payment_method #payment ul.payment_methods .about_paypal,
.woocommerce-cart #payment ul.payment_methods .about_paypal,
.woocommerce-checkout #payment ul.payment_methods .about_paypal {
  line-height: inherit;
  font-size: 1.2rem;
  margin-left: 1.4rem;
  -webkit-box-shadow: none;
  box-shadow: none;
}

#add_payment_method #payment ul.payment_methods li.woocommerce-info,
.woocommerce-cart #payment ul.payment_methods li.woocommerce-info,
.woocommerce-checkout #payment ul.payment_methods li.woocommerce-info {
  line-height: inherit;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
  background: none;
  border-radius: 0;
  line-height: 1.6;
  font-size: 1.4rem;
  margin-top: 1rem;
}

#add_payment_method #payment div.payment_box p,
.woocommerce-cart #payment div.payment_box p,
.woocommerce-checkout #payment div.payment_box p {
  margin-top: 0;
}

#add_payment_method #payment div.payment_box:before,
.woocommerce-cart #payment div.payment_box:before,
.woocommerce-checkout #payment div.payment_box:before {
  display: none;
}

.woocommerce-checkout-review-order h3 {
  margin-top: 4rem;
  margin-bottom: 1.6rem;
  text-align: center;
}

.woocommerce-privacy-policy-text p {
  margin: 0 0.3rem 2rem 0.3rem;
  font-size: 1.4rem;
}

.woocommerce-checkout-review-order .woocommerce-form__label {
  font-weight: 500;
  margin: 2rem 0.3rem;
}

.woocommerce-password-strength {
  font-weight: 400;
  color: #232323;
}

.woocommerce-Button.button,
.woocommerce-address-fields .button {
  text-transform: capitalize;
}

.woocommerce-MyAccount-content > p:first-of-type {
  margin-top: 0;
}

.woocommerce-MyAccount-content > form > h3 {
  margin-top: 0;
  margin-bottom: 2rem;
}

.woocommerce-pagination .woocommerce-button {
  margin: 0 1rem !important;
}

#main .woocommerce-MyAccount-navigation {
  width: 25%;
}

#main .woocommerce-MyAccount-navigation ul li:before {
  content: "";
  display: inline-block;
  margin-right: 1.6rem;
}

#main .woocommerce-MyAccount-navigation ul li:first-child a {
  margin-top: 0;
}

#main .woocommerce-MyAccount-navigation ul li.is-active > a {
  font-weight: 500;
}

#main .woocommerce-MyAccount-navigation ul li a {
  display: inline-block;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: inherit;
  margin: 0.5rem 0;
  text-transform: capitalize;
}

#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--dashboard:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.362 14.087h-5.339c-.534 0-1.068.4-1.201.934l-2.803 8.141-6.807-20.153c-.133-.534-.667-.934-1.201-.934s-1.068.4-1.201.934L7.073 14.086H2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.534 0 1.068-.4 1.201-.934l2.803-8.141 6.807 20.286c.133.534.667.934 1.201.934s1.068-.4 1.201-.934l3.737-11.077h4.404c.801 0 1.335-.534 1.335-1.335s-.534-1.468-1.335-1.468z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.362 14.087h-5.339c-.534 0-1.068.4-1.201.934l-2.803 8.141-6.807-20.153c-.133-.534-.667-.934-1.201-.934s-1.068.4-1.201.934L7.073 14.086H2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.534 0 1.068-.4 1.201-.934l2.803-8.141 6.807 20.286c.133.534.667.934 1.201.934s1.068-.4 1.201-.934l3.737-11.077h4.404c.801 0 1.335-.534 1.335-1.335s-.534-1.468-1.335-1.468z"/></svg>');
}

#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--orders:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M28.428 5.545L17.751.206c-1.068-.534-2.402-.534-3.604 0L3.47 5.545a3.846 3.846 0 00-2.135 3.47v12.679c0 1.468.801 2.936 2.269 3.604l10.677 5.339c.534.267 1.201.4 1.735.4.667 0 1.201-.133 1.735-.4l10.677-5.339c1.335-.667 2.269-2.002 2.269-3.604V9.015c0-1.468-.801-2.803-2.269-3.47zm-12.946-3.07c.133-.133.4-.133.534-.133.267 0 .4 0 .534.133l9.876 4.938-3.737 1.868-10.41-5.205 3.203-1.602zm.534 10.144L5.606 7.414l3.737-1.868 10.41 5.205-3.737 1.868zM4.671 23.029c-.4-.267-.667-.801-.667-1.201V9.549l10.677 5.339v13.079l-10.01-4.938zm22.556 0l-9.876 4.938V14.888l10.677-5.339v12.279c0 .534-.267.934-.801 1.201z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M28.428 5.545L17.751.206c-1.068-.534-2.402-.534-3.604 0L3.47 5.545a3.846 3.846 0 00-2.135 3.47v12.679c0 1.468.801 2.936 2.269 3.604l10.677 5.339c.534.267 1.201.4 1.735.4.667 0 1.201-.133 1.735-.4l10.677-5.339c1.335-.667 2.269-2.002 2.269-3.604V9.015c0-1.468-.801-2.803-2.269-3.47zm-12.946-3.07c.133-.133.4-.133.534-.133.267 0 .4 0 .534.133l9.876 4.938-3.737 1.868-10.41-5.205 3.203-1.602zm.534 10.144L5.606 7.414l3.737-1.868 10.41 5.205-3.737 1.868zM4.671 23.029c-.4-.267-.667-.801-.667-1.201V9.549l10.677 5.339v13.079l-10.01-4.938zm22.556 0l-9.876 4.938V14.888l10.677-5.339v12.279c0 .534-.267.934-.801 1.201z"/></svg>');
}

#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--downloads:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M20.42 21.16l-3.07 3.07v-8.809c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.809l-3.07-3.07c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l5.339 5.339c.133.133.267.267.4.267.133.133.4.133.534.133s.4 0 .534-.133c.133-.133.267-.133.4-.267l5.339-5.339c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0zm10.143-7.741c-1.468-2.002-3.87-3.337-6.54-3.337h-.667C21.354 4.21 15.081.873 9.075 2.475c-3.203.801-5.739 2.669-7.474 5.472C-.001 10.75-.534 13.953.266 17.023c.534 1.868 1.335 3.604 2.669 4.938.534.534 1.335.667 1.868.133s.667-1.335.133-1.868c-.934-1.068-1.735-2.402-2.002-3.87-.667-2.402-.267-4.938 1.068-7.074s3.337-3.737 5.739-4.271c4.938-1.335 10.143 1.735 11.344 6.673.133.534.667 1.068 1.335 1.068h1.602c1.735 0 3.337.801 4.404 2.269.801 1.201 1.201 2.536.934 4.004s-1.068 2.669-2.135 3.47c-.667.4-.801 1.201-.267 1.868.267.4.667.534 1.068.534.267 0 .534-.133.801-.267 1.735-1.201 2.936-3.07 3.337-5.205s-.4-4.137-1.602-6.006z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M20.42 21.16l-3.07 3.07v-8.809c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.809l-3.07-3.07c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l5.339 5.339c.133.133.267.267.4.267.133.133.4.133.534.133s.4 0 .534-.133c.133-.133.267-.133.4-.267l5.339-5.339c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0zm10.143-7.741c-1.468-2.002-3.87-3.337-6.54-3.337h-.667C21.354 4.21 15.081.873 9.075 2.475c-3.203.801-5.739 2.669-7.474 5.472C-.001 10.75-.534 13.953.266 17.023c.534 1.868 1.335 3.604 2.669 4.938.534.534 1.335.667 1.868.133s.667-1.335.133-1.868c-.934-1.068-1.735-2.402-2.002-3.87-.667-2.402-.267-4.938 1.068-7.074s3.337-3.737 5.739-4.271c4.938-1.335 10.143 1.735 11.344 6.673.133.534.667 1.068 1.335 1.068h1.602c1.735 0 3.337.801 4.404 2.269.801 1.201 1.201 2.536.934 4.004s-1.068 2.669-2.135 3.47c-.667.4-.801 1.201-.267 1.868.267.4.667.534 1.068.534.267 0 .534-.133.801-.267 1.735-1.201 2.936-3.07 3.337-5.205s-.4-4.137-1.602-6.006z"/></svg>');
}

#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--edit-address:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M31.364.874a1.213 1.213 0 00-1.335 0l-8.675 5.072L11.211.874h-.133c-.133-.133-.267-.133-.4-.133s-.267 0-.534.133h-.133-.133L.536 6.213C.269 6.48.002 6.88.002 7.414v21.354c0 .534.267.934.667 1.201s.934.267 1.335 0l8.675-5.072 10.01 5.072c.267.133.4.133.667.133.133 0 .267 0 .4-.133h.266l9.342-5.339c.4-.267.667-.667.667-1.201V2.075c0-.534-.267-.934-.667-1.201zM12.012 4.21l8.008 4.004v18.418l-8.008-4.004V4.21zM2.669 8.214l6.673-3.87v18.285l-6.673 3.87V8.214zm26.693 14.414l-6.673 3.87V8.213l6.673-3.87v18.285z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M31.364.874a1.213 1.213 0 00-1.335 0l-8.675 5.072L11.211.874h-.133c-.133-.133-.267-.133-.4-.133s-.267 0-.534.133h-.133-.133L.536 6.213C.269 6.48.002 6.88.002 7.414v21.354c0 .534.267.934.667 1.201s.934.267 1.335 0l8.675-5.072 10.01 5.072c.267.133.4.133.667.133.133 0 .267 0 .4-.133h.266l9.342-5.339c.4-.267.667-.667.667-1.201V2.075c0-.534-.267-.934-.667-1.201zM12.012 4.21l8.008 4.004v18.418l-8.008-4.004V4.21zM2.669 8.214l6.673-3.87v18.285l-6.673 3.87V8.214zm26.693 14.414l-6.673 3.87V8.213l6.673-3.87v18.285z"/></svg>');
}

#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--edit-account:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M21.354 18.091H10.677c-3.737 0-6.673 2.936-6.673 6.673v2.669c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-2.669c0-2.269 1.735-4.004 4.004-4.004h10.677c2.269 0 4.004 1.735 4.004 4.004v2.669c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-2.669c0-3.737-2.936-6.673-6.673-6.673zm-5.338-2.67c3.737 0 6.673-2.936 6.673-6.673s-2.936-6.673-6.673-6.673-6.673 2.936-6.673 6.673 2.936 6.673 6.673 6.673zm0-10.677c2.269 0 4.004 1.735 4.004 4.004s-1.735 4.004-4.004 4.004-4.004-1.735-4.004-4.004 1.735-4.004 4.004-4.004z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M21.354 18.091H10.677c-3.737 0-6.673 2.936-6.673 6.673v2.669c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-2.669c0-2.269 1.735-4.004 4.004-4.004h10.677c2.269 0 4.004 1.735 4.004 4.004v2.669c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-2.669c0-3.737-2.936-6.673-6.673-6.673zm-5.338-2.67c3.737 0 6.673-2.936 6.673-6.673s-2.936-6.673-6.673-6.673-6.673 2.936-6.673 6.673 2.936 6.673 6.673 6.673zm0-10.677c2.269 0 4.004 1.735 4.004 4.004s-1.735 4.004-4.004 4.004-4.004-1.735-4.004-4.004 1.735-4.004 4.004-4.004z"/></svg>');
}

#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--customer-logout:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M12.012 26.098H6.673c-.801 0-1.335-.534-1.335-1.335V6.078c0-.801.534-1.335 1.335-1.335h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.673c-2.269 0-4.004 1.735-4.004 4.004v18.685c0 2.269 1.735 4.004 4.004 4.004h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm17.217-10.143c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H12.012c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M12.012 26.098H6.673c-.801 0-1.335-.534-1.335-1.335V6.078c0-.801.534-1.335 1.335-1.335h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.673c-2.269 0-4.004 1.735-4.004 4.004v18.685c0 2.269 1.735 4.004 4.004 4.004h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm17.217-10.143c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H12.012c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');
}

#main .woocommerce-MyAccount-content {
  width: 73%;
}

.woocommerce-form-register .woocommerce-privacy-policy-text {
  margin-bottom: 2.656rem;
}

.woocommerce-account .woocommerce h3,
.woocommerce-account .woocommerce h2,
.woocommerce-order-received .woocommerce h3,
.woocommerce-order-received .woocommerce h2,
.woocommerce-order-details h3,
.woocommerce-order-details h2,
.woocommerce-customer-details h3,
.woocommerce-customer-details h2 {
  font-size: 2rem;
  line-height: 2;
}

.woocommerce table {
  border-spacing: 0;
}

.woocommerce table dl,
.woocommerce table .wc-item-meta {
  margin-left: 0;
  padding-left: 0;
  font-size: 1.376rem;
}

.woocommerce table dl dt,
.woocommerce table dl strong,
.woocommerce table .wc-item-meta dt,
.woocommerce table .wc-item-meta strong {
  font-weight: normal;
}

.woocommerce table.my_account_orders,
.woocommerce table.woocommerce-table--order-downloads,
.woocommerce table.woocommerce-table--order-details {
  border-radius: var(--bloglo-normal-radius);
  font-size: inherit;
}

.woocommerce table.my_account_orders th,
.woocommerce table.my_account_orders td,
.woocommerce table.woocommerce-table--order-downloads th,
.woocommerce table.woocommerce-table--order-downloads td,
.woocommerce table.woocommerce-table--order-details th,
.woocommerce table.woocommerce-table--order-details td {
  padding: 1.5rem 2rem;
  font-weight: 400 !important;
}

.woocommerce table.my_account_orders strong,
.woocommerce table.woocommerce-table--order-downloads strong,
.woocommerce table.woocommerce-table--order-details strong {
  font-weight: 400 !important;
}

.woocommerce table.my_account_orders thead th,
.woocommerce table.woocommerce-table--order-downloads thead th,
.woocommerce table.woocommerce-table--order-details thead th {
  color: #232323;
  font-weight: 400;
  font-size: 1.2rem;
  background-color: rgba(190, 190, 190, 0.2);
}

.woocommerce table .button {
  height: 4rem !important;
  padding: 0 3.2rem !important;
  font-size: 1.3rem !important;
}

.woocommerce-Addresses header.title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 1.6rem;
}

.woocommerce-Addresses header.title a.edit {
  margin-left: 2rem;
  -webkit-box-shadow: none;
  box-shadow: none;
  font-size: 1.3rem;
}

.widget.woocommerce ul.product_list_widget li .product-title {
  display: block;
  padding-top: 0.4rem;
  line-height: 1.5;
}

.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item
  a,
.widget.woocommerce .wc-layered-nav-rating a {
  position: relative;
  padding-left: 2.7rem;
}

.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item
  a:before,
.widget.woocommerce .wc-layered-nav-rating a:before {
  content: "" !important;
  border: 0.2rem solid currentColor;
  border-radius: var(--bloglo-normal-radius);
  background: none;
  clear: none;
  cursor: pointer;
  line-height: 0;
  outline: 0;
  padding: 0 !important;
  text-align: center;
  vertical-align: middle;
  height: 1.7rem;
  width: 1.7rem;
  min-width: 1.7rem;
  opacity: 0.65;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item
  a:after,
.widget.woocommerce .wc-layered-nav-rating a:after {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M0 17.824l3.203-3.203 8.008 8.008L28.828 5.012l3.203 3.203-20.82 20.82z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M0 17.824l3.203-3.203 8.008 8.008L28.828 5.012l3.203 3.203-20.82 20.82z"/></svg>');
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0.3rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 1.1rem;
  opacity: 0;
}

.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item.chosen
  a,
.widget.woocommerce .wc-layered-nav-rating.chosen a {
  font-weight: 600;
}

.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item.chosen
  a:before,
.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item.chosen
  a:after,
.widget.woocommerce .wc-layered-nav-rating.chosen a:before,
.widget.woocommerce .wc-layered-nav-rating.chosen a:after {
  opacity: 1;
}

.widget.woocommerce .wc-layered-nav-rating a {
  -webkit-transition: none !important;
  transition: none !important;
  min-height: 2.5rem;
}

.widget.woocommerce .wc-layered-nav-rating a .star-rating {
  position: relative;
  top: -0.1rem;
  margin: 0;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.widget.woocommerce .product-categories li .count,
.widget.woocommerce .wc-layered-nav-term .count,
.widget.woocommerce .wc-layered-nav-rating em {
  font-style: normal;
  margin-left: auto;
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  right: 0;
  top: 0.3rem;
  background-color: rgba(145, 145, 145, 0.1);
  min-width: 2.4rem;
  min-height: 2.4rem;
  padding: 0.5rem 0.8rem;
  border-radius: 4rem;
  line-height: 1;
  font-size: 1.386rem;
  font-weight: 400;
  pointer-events: none;
}

.widget.woocommerce .wc-layered-nav-rating a:hover em,
.widget.woocommerce .wc-layered-nav-rating.chosen a em {
  color: #fff;
}

.widget.woocommerce .product-categories li,
.widget.woocommerce .wc-layered-nav-term {
  position: relative;
}

.widget.woocommerce .product-categories li a,
.widget.woocommerce .wc-layered-nav-term a {
  display: block;
}

.widget.woocommerce .product-categories li a:hover ~ .count,
.widget.woocommerce .wc-layered-nav-term a:hover ~ .count {
  color: #fff;
}

.widget.woocommerce .product-categories li.chosen > .count,
.widget.woocommerce .wc-layered-nav-term.chosen > .count {
  color: #fff;
}

.widget.woocommerce .product-categories li.current-cat > a {
  font-weight: 600;
}

.widget.woocommerce .product-categories li.current-cat > .count {
  color: #fff;
}

.widget.woocommerce .reviewer {
  font-size: 1.386rem;
}

.woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item,
.widget_rating_filter .wc-layered-nav-rating {
  padding: 0;
  margin-bottom: 1rem;
}

.woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item:last-child,
.widget_rating_filter .wc-layered-nav-rating:last-child {
  margin-bottom: 0;
}

.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li {
  padding: 0;
  margin-bottom: 2rem;
}

.woocommerce ul.cart_list li:last-child,
.woocommerce ul.product_list_widget li:last-child {
  margin-bottom: 0;
}

.woocommerce ul.cart_list li ins,
.woocommerce ul.product_list_widget li ins {
  text-decoration: none;
  font-weight: 500;
}

.woocommerce ul.cart_list li del,
.woocommerce ul.product_list_widget li del {
  opacity: 1;
  color: #afafaf;
}

.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
  float: left;
  width: 7rem;
  margin-left: 0;
  margin-right: 1.5rem;
  border-radius: var(--bloglo-normal-radius);
}

.woocommerce ul.cart_list li a,
.woocommerce ul.product_list_widget li a {
  font-weight: 500;
}

.woocommerce ul.cart_list li a:hover .product-title,
.woocommerce ul.product_list_widget li a:hover .product-title {
  color: inherit;
}

.woocommerce ul.cart_list li .product-title,
.woocommerce ul.product_list_widget li .product-title {
  color: #232323;
}

.woocommerce ul.cart_list li .star-rating,
.woocommerce ul.product_list_widget li .star-rating {
  display: block;
  margin: 0.5rem 0;
}

.woocommerce ul.product_list_widget li .product-title {
  color: inherit;
}

.woocommerce .widget_price_filter .ui-slider-horizontal {
  height: 0.2rem;
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background-color: #e4e4e4;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.woocommerce .widget_price_filter .price_slider_amount {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 3rem;
}

.woocommerce .widget_price_filter .price_label {
  font-size: 1.4rem;
  margin-left: auto;
}

.woocommerce .widget_price_filter .price_label span {
  color: #232323;
  font-weight: 500;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  -webkit-transition: -webkit-transform 0.35s
    cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1),
    -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  width: 1.6rem;
  height: 1.6rem;
  z-index: 2;
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-transform-origin: center top;
  -ms-transform-origin: center top;
  transform-origin: center top;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: scale3d(0, 0, 0) translate3d(-50%, -50%, 0);
  transform: scale3d(0, 0, 0) translate3d(-50%, -50%, 0);
  width: 1.6rem;
  height: 1.6rem;
  opacity: 0.125;
  z-index: 1;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  border-radius: 50%;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
  -webkit-transform: scale3d(1.35, 1.35, 1.35) translate3d(0, -50%, 0);
  transform: scale3d(1.35, 1.35, 1.35) translate3d(0, -50%, 0);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:active:after {
  -webkit-transform: scale3d(0, 0, 0) translate3d(-50%, -50%, 0) !important;
  transform: scale3d(0, 0, 0) translate3d(-50%, -50%, 0) !important;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:hover:after {
  -webkit-transform: scale3d(2, 2, 1) translate3d(-50%, -50%, 0);
  transform: scale3d(2, 2, 1) translate3d(-50%, -50%, 0);
}

.woocommerce .widget_layered_nav_filters ul {
  margin-top: -0.8rem;
}

.woocommerce .widget_layered_nav_filters ul li {
  display: inline-block;
}

.woocommerce .widget_layered_nav_filters ul a {
  color: inherit;
  display: block;
  float: left;
  text-transform: none;
  letter-spacing: 0;
  border-radius: var(--bloglo-normal-radius);
  padding: 0.8rem 1.2rem;
  margin: 0.8rem 0.8rem 0 0;
  background-color: rgba(145, 145, 145, 0.1);
  line-height: 1;
  font-size: 1.486rem;
}

.woocommerce .widget_layered_nav_filters ul a:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M17.884 15.421l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l7.074-7.074 7.074 7.074c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-7.074-7.074z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M17.884 15.421l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l7.074-7.074 7.074 7.074c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-7.074-7.074z"/></svg>');
  vertical-align: middle !important;
}

.woocommerce .widget_layered_nav_filters ul a:hover,
.woocommerce .widget_layered_nav_filters ul a:hover:before {
  color: #fff !important;
}

.woocommerce #colophon .widget_layered_nav_filters ul a:before {
  bottom: 0 !important;
}

.woocommerce .widget_shopping_cart .woocommerce-mini-cart__total,
.woocommerce.widget_shopping_cart .woocommerce-mini-cart__total {
  margin-top: 2rem;
}

.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total {
  border-top: 0.4rem double rgba(190, 190, 190, 0.3);
  padding: 1.3rem 0 1.4rem 0;
  text-align: center;
}

.woocommerce .widget_shopping_cart .total strong,
.woocommerce.widget_shopping_cart .total strong {
  font-weight: 500;
}

.woocommerce .widget_shopping_cart .total .amount,
.woocommerce .widget_shopping_cart .total .tax_label,
.woocommerce.widget_shopping_cart .total .amount,
.woocommerce.widget_shopping_cart .total .tax_label {
  font-weight: 600;
}

.woocommerce .widget_shopping_cart .bloglo-cart-buttons,
.woocommerce.widget_shopping_cart .bloglo-cart-buttons {
  border-top: 0.4rem double rgba(190, 190, 190, 0.3);
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

.woocommerce .widget_shopping_cart .cart_list li,
.woocommerce.widget_shopping_cart .cart_list li {
  color: #232323;
  padding-left: 0;
  position: relative;
}

.woocommerce .widget_shopping_cart .cart_list li a.remove,
.woocommerce.widget_shopping_cart .cart_list li a.remove {
  -webkit-transform: scale3d(0, 0, 0);
  transform: scale3d(0, 0, 0);
  top: 0.3rem;
  right: 1.2rem;
  left: auto;
  color: rgba(0, 0, 0, 0) !important;
  width: 2.4rem;
  height: 2.4rem;
  background: none;
}

.woocommerce .widget_shopping_cart .cart_list li a.remove:after,
.woocommerce.widget_shopping_cart .cart_list li a.remove:after {
  content: "";
  background-color: rgba(190, 190, 190, 0.2);
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  border-radius: 50%;
}

.woocommerce .widget_shopping_cart .cart_list li a.remove:before,
.woocommerce.widget_shopping_cart .cart_list li a.remove:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M17.884 15.421l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l7.074-7.074 7.074 7.074c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-7.074-7.074z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M17.884 15.421l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l7.074-7.074 7.074 7.074c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-7.074-7.074z"/></svg>');
  content: "";
  height: 1.2rem;
  width: 1.2rem;
  z-index: 2;
  top: 50%;
  left: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.woocommerce .widget_shopping_cart .cart_list li a.remove:hover:after,
.woocommerce.widget_shopping_cart .cart_list li a.remove:hover:after {
  -webkit-transform: scale3d(1.25, 1.25, 1.25);
  transform: scale3d(1.25, 1.25, 1.25);
}

.woocommerce .widget_shopping_cart .cart_list li:hover a.remove,
.woocommerce.widget_shopping_cart .cart_list li:hover a.remove {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}

.woocommerce .widget_shopping_cart .cart_list li .quantity,
.woocommerce.widget_shopping_cart .cart_list li .quantity {
  font-size: 1.3rem;
  display: block;
}

.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color {
  margin-bottom: -0.7rem;
}

.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li {
  margin-bottom: 0.7rem;
}

.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a {
  position: relative;
  border-radius: 50%;
  height: 2.8rem;
  width: 2.8rem;
  border: none;
  margin: 0 0.7rem 0 0;
  overflow: visible;
  text-indent: -999.9rem;
}

.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a:before {
  content: "";
  background-color: inherit;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  border-radius: 50%;
  z-index: -1;
}

.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a:hover,
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li.chosen a {
  -webkit-box-shadow: inset 0 0 0 0.3rem #ffffff;
  box-shadow: inset 0 0 0 0.3rem #ffffff;
}

.woocommerce
  #secondary
  .widget_layered_nav
  ul.yith-wcan-color
  li
  a:hover:before,
.woocommerce
  #secondary
  .widget_layered_nav
  ul.yith-wcan-color
  li.chosen
  a:before {
  -webkit-transform: scale3d(1.15, 1.15, 1.15);
  transform: scale3d(1.15, 1.15, 1.15);
}

.woocommerce
  #secondary
  .widget_layered_nav
  ul.yith-wcan-color
  li.chosen
  a:after {
  line-height: 2.8rem;
  text-align: center;
  content: "\e9fd";
  color: #fff;
  text-indent: 0;
  font-size: 1.2rem;
}

.woocommerce .cart-collaterals h2,
.woocommerce .cart-collaterals h3,
.woocommerce .cart-collaterals h4,
.woocommerce .cart-collaterals h5 {
  margin-top: 0;
}

.woocommerce table.wishlist_table {
  font-size: inherit;
}

.woocommerce table.wishlist_table td.product-add-to-cart a {
  -js-display: flex !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.woocommerce table.wishlist_table a.remove {
  line-height: 2.24rem;
}

.yith-wcwl-share h4.yith-wcwl-share-title {
  margin: 2.5rem 0 1.5rem 0;
}

.wishlist-title {
  display: none;
}

.woocommerce div.product span.onsale {
  font-size: inherit;
  top: 2rem;
  left: 2rem;
}

.woocommerce div.product div.summary,
.woocommerce div.product div.images {
  margin-bottom: 0;
}

.woocommerce div.product .entry-summary p {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.woocommerce div.product .entry-summary > *:last-child {
  margin-bottom: 0;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  margin-bottom: 2rem;
}

.woocommerce div.product .woocommerce-product-gallery {
  -ms-flex-item-align: start;
  align-self: flex-start;
}

.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-prev,
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-next {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: calc(50% - 2.5rem - 6.2rem);
  z-index: 2;
  width: 5rem;
  height: 5rem;
  background-color: #fff;
  border-radius: 50%;
}

.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-prev {
  left: -2.5rem;
  right: auto;
}

.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-next {
  right: -2.5rem;
  left: auto;
}

.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav svg {
  width: 2.2rem;
}

.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  svg
  path {
  fill: #232323 !important;
}

.woocommerce div.product h1.product_title {
  margin-bottom: 0.7rem;
  font-weight: 500;
}

.woocommerce div.product .woocommerce-product-rating {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 0.5rem;
  margin-bottom: 1.6rem;
}

.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link {
  font-size: 1.3rem;
  margin-left: 1.2rem;
  position: relative;
  top: 0.1rem;
}

.woocommerce
  div.product
  .woocommerce-product-rating
  .woocommerce-review-link:hover {
  text-decoration: underline;
}

.woocommerce div.product form.cart {
  margin: 3rem 0;
}

.woocommerce div.product form.cart div.quantity {
  margin-right: 1.4rem;
}

.woocommerce div.product form.cart .variations {
  margin: 0;
  margin: 0 0 2rem 0;
}

.woocommerce div.product form.cart .variations select {
  min-width: auto;
  width: 100%;
  max-width: 22rem;
}

.woocommerce div.product form.cart .variations td {
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}

.woocommerce div.product form.cart .variations td.label {
  width: 10.1rem;
  line-height: 1.5;
  vertical-align: middle;
}

.woocommerce div.product form.cart .variations td.label label {
  font-weight: 500;
  margin-bottom: 0;
}

.woocommerce div.product form.cart .variations_button {
  margin-top: 3rem;
}

.woocommerce div.product form.cart .woocommerce-variation p {
  margin-top: 0;
}

.woocommerce div.product form.cart .woocommerce-variation-description p {
  margin-top: 0;
  font-size: 1.4rem;
}

.woocommerce div.product form.cart .woocommerce-variation-availability {
  margin-bottom: 0;
}

.woocommerce div.product form.cart .woocommerce-variation-price .price {
  font-size: 2rem;
}

.woocommerce div.product form.cart .group_table {
  margin-top: 0;
}

.woocommerce div.product form.cart .group_table td {
  vertical-align: middle;
  padding: 1rem 0;
}

.woocommerce div.product form.cart .group_table td:first-child {
  min-width: 16rem;
  padding-left: 2rem;
  text-align: left;
}

.woocommerce div.product form.cart .group_table td label {
  margin: 0;
  font-weight: 500;
  font-size: inherit;
}

.woocommerce div.product form.cart .group_table td del {
  color: #afafaf;
  opacity: 1;
}

.woocommerce div.product form.cart .group_table td ins {
  text-decoration: none;
}

.woocommerce div.product form.cart .group_table .button {
  background: none;
  padding: 0 !important;
  min-height: auto;
  height: auto !important;
  font-size: inherit !important;
  padding: 0;
  color: inherit;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  margin-top: 0.7rem;
  font-size: 2.6rem;
}

.woocommerce div.product p.price del,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price del,
.woocommerce div.product span.price ins {
  font-weight: 400;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  opacity: 0.75;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none;
}

.woocommerce div.product p.stock {
  font-size: 1.4rem;
  font-weight: 500;
  margin: 0;
}

.woocommerce div.product .bloglo-wc-product-wrap {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 5rem;
}

.woocommerce div.product .bloglo-wc-product-wrap .images {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  margin-right: 5rem;
  max-width: 100%;
}

.woocommerce div.product .bloglo-wc-product-wrap .images,
.woocommerce div.product .bloglo-wc-product-wrap .entry-summary {
  width: auto !important;
  float: none !important;
}

.woocommerce div.product .bloglo-wc-product-wrap .entry-summary {
  -ms-flex-item-align: start;
  align-self: flex-start;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.woocommerce
  div.product
  div.images.woocommerce-product-gallery--columns-6
  .flex-control-thumbs
  li {
  width: 16.67%;
  -ms-flex-preferred-size: 16.67%;
  flex-basis: 16.67%;
}

.woocommerce
  div.product
  div.images.woocommerce-product-gallery--columns-5
  .flex-control-thumbs
  li {
  width: 20%;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
}

.woocommerce
  div.product
  div.images.woocommerce-product-gallery--columns-4
  .flex-control-thumbs
  li {
  width: 25%;
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
}

.woocommerce
  div.product
  div.images.woocommerce-product-gallery--columns-3
  .flex-control-thumbs
  li {
  width: 33%;
  -ms-flex-preferred-size: 33%;
  flex-basis: 33%;
}

.woocommerce
  div.product
  div.images.woocommerce-product-gallery--columns-2
  .flex-control-thumbs
  li {
  width: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}

.woocommerce div.product div.images .flex-control-thumbs {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 0.8rem;
  margin-left: -0.2rem;
  margin-right: -0.2rem;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  padding: 0.2rem 0.2rem;
  clear: none !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  opacity: 1;
  padding: 0.2rem;
  border: 0.2rem solid rgba(0, 0, 0, 0);
  display: block;
  border-radius: var(--bloglo-normal-radius);
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  max-width: initial;
}

.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__wrapper
  > div {
  border-radius: var(--bloglo-normal-radius);
}

.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__wrapper
  > div
  img {
  border-radius: var(--bloglo-normal-radius);
}

.woocommerce div.product .woocommerce-tabs {
  margin-bottom: 4rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  text-align: center;
}

.woocommerce div.product .woocommerce-tabs ul.tabs:before,
.woocommerce div.product .woocommerce-tabs ul.tabs:after {
  position: absolute;
  bottom: auto;
  right: auto;
  top: 0;
  display: block;
  width: 100%;
  height: 0.1rem;
  border: 0 !important;
  background: rgba(190, 190, 190, 0.3);
  content: "";
}

.woocommerce div.product .woocommerce-tabs ul.tabs:after {
  top: auto;
  bottom: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none;
  background: none;
  border-radius: 0;
  margin: 0 1.6rem;
  padding: 2rem 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:not(.active) a:hover {
  color: #232323;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active > a:before {
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: scale(1, 1) translateZ(0.1rem);
  transform: scale(1, 1) translateZ(0.1rem);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:after {
  content: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-weight: 500;
}

.woocommerce div.product .woocommerce-tabs .wc-tab {
  background-color: rgba(190, 190, 190, 0.2);
  padding: 4rem 0;
  margin-bottom: 0;
}

.woocommerce div.product .woocommerce-tabs .wc-tab > .bloglo-container {
  max-width: 80rem;
}

.woocommerce
  div.product
  .woocommerce-tabs
  .wc-tab
  > .bloglo-container
  > h2:first-child {
  display: none;
}

.woocommerce div.product .woocommerce-tabs .wc-tab > .bloglo-container p {
  margin-top: 0;
}

.woocommerce
  div.product
  .woocommerce-tabs
  .wc-tab
  > .bloglo-container
  p:last-child {
  margin-bottom: 0;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes {
  background: #ffffff;
  font-size: 1.4rem;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes tr {
  background: none;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes th,
.woocommerce div.product .woocommerce-tabs table.shop_attributes td {
  padding: 1rem 2rem;
  border-top: none;
  border-bottom: none;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes th {
  border-right: 0.1rem solid rgba(190, 190, 190, 0.3);
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes td {
  font-style: normal;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  position: absolute;
  right: 2rem;
  top: 2rem;
  width: 4rem;
  height: 4rem;
  font-size: 1.6rem;
  background: none;
  text-indent: 0;
  z-index: 1;
  text-indent: -9999.9rem;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger img {
  display: none !important;
}

.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:before {
  border-radius: 50%;
  content: "";
  border: none !important;
  z-index: 1;
  -webkit-transition: var(--bloglo-transition-primary);
  transition: var(--bloglo-transition-primary);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.3);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:hover:before {
  -webkit-transform: scale(1.25);
  -ms-transform: scale(1.25);
  transform: scale(1.25);
}

.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:after {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.229 2.876a1.6 1.6 0 00-.667-.667c-.133-.133-.4-.133-.534-.133H20.02c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h4.805l-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l7.074-7.074v4.805c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335V3.411c0-.133 0-.4-.133-.534zm-16.817 14.28L5.338 24.23v-4.805c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.008c0 .133 0 .4.133.534.133.267.4.534.667.667.133.133.4.133.534.133h8.008c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H7.205l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.229 2.876a1.6 1.6 0 00-.667-.667c-.133-.133-.4-.133-.534-.133H20.02c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h4.805l-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l7.074-7.074v4.805c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335V3.411c0-.133 0-.4-.133-.534zm-16.817 14.28L5.338 24.23v-4.805c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.008c0 .133 0 .4.133.534.133.267.4.534.667.667.133.133.4.133.534.133h8.008c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H7.205l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0z"/></svg>');
  color: #fff;
  z-index: 2;
  text-indent: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells > h2 {
  margin-top: 5rem;
  margin-bottom: 2.4rem;
  text-align: center;
}

.woocommerce div.product .product_meta {
  padding: 1.6rem 0;
  margin: 4rem 0;
  border-top: 0.1rem solid rgba(190, 190, 190, 0.3);
  border-bottom: 0.1rem solid rgba(190, 190, 190, 0.3);
}

.woocommerce div.product .product_meta .bloglo-woo-meta-title {
  min-width: 11rem;
  display: inline-block;
}

.woocommerce div.product .product_meta > span {
  display: block;
}

.woocommerce div.product .product_meta > span a:hover {
  color: inherit;
}

.woocommerce div.product #reviews #comments {
  margin-top: 0;
}

.woocommerce div.product #reviews #comments h2 {
  margin-top: 0;
  margin-bottom: 4rem;
  text-align: center;
}

.woocommerce div.product #reviews #comments .woocommerce-noreviews {
  text-align: center;
  margin-top: -rem(30px);
}

.woocommerce div.product #reviews #comments ol.commentlist li img.avatar {
  display: block;
  position: absolute;
  z-index: 1;
  left: 2.5rem;
  top: 2.5rem;
  max-width: 50px;
  border-radius: 50%;
  width: initial;
  height: initial;
  padding: 0;
  border: none;
}

.woocommerce div.product #reviews #comments ol.commentlist li .comment-text {
  padding: 0;
  border: none;
  margin: 0;
}

.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p:last-child {
  margin-bottom: 0;
}

.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p.meta {
  font-size: 1.6rem;
}

.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p.meta
  strong {
  font-weight: 500;
  font-size: 1.6rem;
  color: #232323;
}

.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p.meta
  span,
.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p.meta
  em,
.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p.meta
  time {
  font-size: 1.376rem;
}

.woocommerce div.product #reviews #comments .comment_container {
  background-color: #fff;
}

.woocommerce div.product #reviews #respond {
  margin-top: 4rem;
}

.woocommerce div.product #reviews #respond p {
  margin: 0 0 2rem;
}

.woocommerce div.product #reviews #respond p:last-child {
  margin-bottom: 0;
}

.woocommerce div.product #reviews .comment-form-rating {
  margin-bottom: 2.4rem;
}

.woocommerce div.product #reviews .comment-form-rating label {
  display: block;
}

.woocommerce div.product #reviews .comment-form-rating .stars {
  display: inline-block;
  line-height: 1;
  font-size: 2rem;
  margin-bottom: 0 !important;
}

.woocommerce div.product #reviews .comment-form-rating .stars a {
  width: 1.84rem;
}

.woocommerce div.product #reviews #reply-title {
  margin-bottom: 2rem;
}

.woocommerce div.product .woocommerce-pagination ul {
  border: none;
}

.woocommerce div.product .woocommerce-pagination ul li {
  border: none;
}

.woocommerce div.product .woocommerce-pagination ul li a,
.woocommerce div.product .woocommerce-pagination ul li span {
  text-transform: uppercase;
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.2rem;
  width: 4rem;
  height: 4rem;
  text-align: center;
  vertical-align: middle;
  color: inherit;
  border-radius: var(--bloglo-normal-radius);
  font-weight: 600;
  border: 0.2rem solid rgba(0, 0, 0, 0);
  background: none !important;
}

.term-description {
  margin-bottom: 3.2rem;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid rgba(190, 190, 190, 0.3);
}

ul#uploadFileList {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 2rem;
}

ul#uploadFileList li {
  margin: 0;
  padding: 0 0.6rem 0 0;
}

ul#uploadFileList li img {
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: var(--bloglo-normal-radius);
}

#do_uploadFile {
  display: inline-block;
  width: auto;
  margin-left: 1rem;
  min-height: 3rem;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: #232323;
  text-shadow: none;
  color: #fff !important;
  border: none;
  border-radius: var(--bloglo-normal-radius);
  padding: 0 1.4rem;
}

.review_thumbnail {
  padding: 0.4rem 0;
}

.review_thumbnail a {
  margin: 0.6rem 0.6rem 0.6rem 0;
  vertical-align: middle;
  display: inline-block;
}

.review_thumbnail a img.ywar_thumbnail {
  display: block;
  padding: 0;
  border-radius: var(--bloglo-normal-radius);
}

.ywar_review_count {
  margin-left: 1.6rem;
}

.ywar_review_row span {
  color: #232323 !important;
}

.reviews_bar {
  margin: 2rem 0;
}

.yith-woocommerce-advanced-reviews #submit {
  font-size: inherit !important;
}

.wishlist_table .add_to_cart,
a.add_to_wishlist.button.alt {
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: var(--bloglo-normal-radius);
  padding: 0.8rem 3.2rem;
  font-weight: 500;
  font-size: 1.3rem;
  min-height: 4rem;
}

.term-description > h1:first-child,
.term-description > h2:first-child,
.term-description > h3:first-child,
.term-description > h4:first-child,
.term-description > h5:first-child,
.term-description > h6:first-child,
.term-description > p:first-child,
.term-description > ul:first-child,
.term-description > ol:first-child {
  margin-top: 0;
}

.term-description > h1:last-child,
.term-description > h2:last-child,
.term-description > h3:last-child,
.term-description > h4:last-child,
.term-description > h5:last-child,
.term-description > h6:last-child,
.term-description > p:last-child,
.term-description > ul:last-child,
.term-description > ol:last-child {
  margin-bottom: 0;
}

.wc-block-grid__products {
  list-style: none;
}

.pswp__caption__center {
  text-align: center;
}

@media screen and (max-width: 480px) {
  .woocommerce ul.products[class*="columns-"] li.product,
  .woocommerce-page ul.products[class*="columns-"] li.product {
    width: 100%;
    float: none;
  }
}

@media screen and (max-width: 768px) {
  .woocommerce #yith-wcwl-form table.shop_table tr,
  .woocommerce .woocommerce-cart-form table.shop_table tr,
  .woocommerce .woocommerce-checkout-review-order table.shop_table tr {
    border-bottom: solid 0.3rem rgba(190, 190, 190, 0.2);
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .woocommerce #yith-wcwl-form table.shop_table tr:last-child,
  .woocommerce .woocommerce-cart-form table.shop_table tr:last-child,
  .woocommerce
    .woocommerce-checkout-review-order
    table.shop_table
    tr:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .woocommerce .coupon {
    background: rgba(190, 190, 190, 0.2);
    padding: 1.6rem !important;
    border-radius: var(--bloglo-normal-radius);
    margin-bottom: 3.2rem;
  }

  .woocommerce .product-remove {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
  }

  .woocommerce .product-remove:before {
    display: inline-block !important;
    content: attr(data-title) ": ";
    font-weight: 700;
    float: left;
  }

  .woocommerce .product-remove a {
    margin-left: auto;
  }

  .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
  .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background: none;
  }

  .woocommerce ul.products {
    margin-top: 0;
  }
}

@media screen and (max-width: 960px) {
  #main .woocommerce-MyAccount-navigation {
    width: 100%;
    margin-bottom: 3rem;
  }

  .woocommerce div.product .woocommerce-product-gallery .flex-direction-nav {
    display: none;
  }

  .woocommerce div.product .bloglo-wc-product-wrap .images {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-right: 0;
    margin-bottom: 3rem;
  }
}

@media screen and (max-width: 599px) {
  .woocommerce div.product #reviews #comments ol.commentlist li img.avatar {
    display: none;
  }
}
assets/css/compatibility/woocommerce.min.css000064400000314215152425655550015346 0ustar00.woocommerce #yith-wcwl-form table.shop_table thead th,
.woocommerce .woocommerce-cart-form table.shop_table thead th,
.woocommerce .woocommerce-checkout-review-order table.shop_table thead th,
.woocommerce table.my_account_orders thead th,
.woocommerce table.woocommerce-table--order-details thead th,
.woocommerce table.woocommerce-table--order-downloads thead th {
  text-transform: uppercase;
  letter-spacing: 0.16rem;
}
.woocommerce div.product .woocommerce-tabs:after,
.woocommerce div.product .woocommerce-tabs:before,
.woocommerce div.product form.cart .variations_button:after,
.woocommerce div.product form.cart .variations_button:before {
  content: "";
  display: table;
  clear: both;
}
.bloglo-header-widget__cart .dropdown-item {
  position: absolute;
  right: -1.5rem;
  top: 100%;
  z-index: 9;
  border-top-width: 0.2rem;
  border-top-style: solid;
}
.bloglo-header-widget__cart .dropdown-item:after {
  bottom: 100%;
  right: 1.6rem;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  margin-left: -0.7rem;
  border-color: transparent;
  border-width: 0.7rem;
  position: absolute;
  pointer-events: none;
  z-index: -1;
}
#page .woocommerce-error a:not(.button):not(.bloglo-btn),
#page .woocommerce-info a:not(.button):not(.bloglo-btn),
#page .woocommerce-message a:not(.button):not(.bloglo-btn),
#page .woocommerce-error .button.wc-forward,
#page .woocommerce-info .button.wc-forward,
#page .woocommerce-message .button.wc-forward,
.woocommerce form.login .lost_password a,
.woocommerce form.register .lost_password a,
.shipping-calculator-button,
.bloglo-woo-before-shop #bloglo-orderby,
#add_payment_method #payment ul.payment_methods .about_paypal,
.woocommerce-cart #payment ul.payment_methods .about_paypal,
.woocommerce-checkout #payment ul.payment_methods .about_paypal,
#main .woocommerce-MyAccount-navigation ul li a,
.woocommerce-Addresses header.title a.edit,
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  position: relative;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
#page .woocommerce-error a:not(.bloglo-btn):not(.button):before,
#page .woocommerce-info a:not(.bloglo-btn):not(.button):before,
#page .woocommerce-message a:not(.bloglo-btn):not(.button):before,
#page .woocommerce-error .button.wc-forward:before,
#page .woocommerce-info .button.wc-forward:before,
#page .woocommerce-message .button.wc-forward:before,
.woocommerce form.login .lost_password a:before,
.woocommerce form.register .lost_password a:before,
.shipping-calculator-button:before,
.bloglo-woo-before-shop #bloglo-orderby:before,
#add_payment_method #payment ul.payment_methods .about_paypal:before,
.woocommerce-cart #payment ul.payment_methods .about_paypal:before,
.woocommerce-checkout #payment ul.payment_methods .about_paypal:before,
#main .woocommerce-MyAccount-navigation ul li a:before,
.woocommerce-Addresses header.title a.edit:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.2rem;
  border-radius: var(--bloglo-normal-radius);
  background: currentColor;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: scale(0, 1) translateZ(0.1rem);
  transform: scale(0, 1) translateZ(0.1rem);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  -webkit-transition: -webkit-transform 0.35s
    cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1),
    -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  will-change: scale;
}
#page .woocommerce-error a:not(.bloglo-btn):not(.button):hover:before,
#page .woocommerce-info a:not(.bloglo-btn):not(.button):hover:before,
#page .woocommerce-message a:not(.bloglo-btn):not(.button):hover:before,
#page .woocommerce-error .button.wc-forward:hover:before,
#page .woocommerce-info .button.wc-forward:hover:before,
#page .woocommerce-message .button.wc-forward:hover:before,
.woocommerce form.login .lost_password a:hover:before,
.woocommerce form.register .lost_password a:hover:before,
.shipping-calculator-button:hover:before,
.bloglo-woo-before-shop #bloglo-orderby:hover:before,
#add_payment_method #payment ul.payment_methods .about_paypal:hover:before,
.woocommerce-cart #payment ul.payment_methods .about_paypal:hover:before,
.woocommerce-checkout #payment ul.payment_methods .about_paypal:hover:before,
#main .woocommerce-MyAccount-navigation ul li a:hover:before,
.woocommerce-Addresses header.title a.edit:hover:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover:before {
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: scale(1, 1) translateZ(0.1rem);
  transform: scale(1, 1) translateZ(0.1rem);
}
.woocommerce .show-on-hover,
.woocommerce ul.products li.product.product-category > a:after,
.woocommerce .widget_shopping_cart .cart_list li a.remove:after,
.woocommerce.widget_shopping_cart .cart_list li a.remove:after,
.woocommerce .widget_shopping_cart .cart_list li a.remove:before,
.woocommerce.widget_shopping_cart .cart_list li a.remove:before,
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a:before,
.woocommerce
  #secondary
  .widget_layered_nav
  ul.yith-wcan-color
  li.chosen
  a:after,
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:before,
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.bloglo-empty-cart,
.bloglo-cart-item-title,
.woocommerce form.checkout_coupon p,
.woocommerce .show-on-hover,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .woocommerce-loop-category__title h3,
#ship-to-different-address,
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment,
#add_payment_method #payment div.form-row,
.woocommerce-cart #payment div.form-row,
.woocommerce-checkout #payment div.form-row,
#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods,
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout-review-order h3,
#main .woocommerce-MyAccount-navigation ul,
#main .woocommerce-MyAccount-navigation ul li,
.woocommerce-Addresses header.title h3,
.woocommerce .widget_layered_nav_filters ul li,
.woocommerce .widget_shopping_cart p,
.woocommerce.widget_shopping_cart p,
.yith-wcwl-share,
.yith-wcwl-share ul,
.woocommerce div.product .woocommerce-product-rating .star-rating,
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs table.shop_attributes,
.woocommerce div.product .woocommerce-tabs table.shop_attributes td p,
.woocommerce div.product .woocommerce-pagination ul li a,
.woocommerce div.product .woocommerce-pagination ul li span {
  margin: 0;
  padding: 0;
}
.woocommerce #respond input#submit:after,
.woocommerce a.button:after,
.woocommerce button.button:after,
.woocommerce input.button:after,
.bloglo-header-widget__cart .wc-cart-widget-header,
.bloglo-cart-item,
.bloglo-cart-item-meta,
.bloglo-cart-buttons,
.woocommerce form.checkout_coupon,
.woocommerce .quantity .bloglo-woo-minus,
.woocommerce .quantity .bloglo-woo-plus,
.bloglo-woo-before-shop,
#ship-to-different-address,
#add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice),
.woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice),
.woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice),
#add_payment_method
  #payment
  ul.payment_methods
  li.payment_method_paypal:not(.woocommerce-notice),
.woocommerce-cart
  #payment
  ul.payment_methods
  li.payment_method_paypal:not(.woocommerce-notice),
.woocommerce-checkout
  #payment
  ul.payment_methods
  li.payment_method_paypal:not(.woocommerce-notice),
#main .woocommerce-MyAccount-navigation ul li,
.woocommerce-Addresses header.title,
.widget.woocommerce .wc-layered-nav-rating a,
.woocommerce .widget_price_filter .price_slider_amount,
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-prev,
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-next,
.woocommerce div.product .woocommerce-product-rating,
.woocommerce div.product div.images .flex-control-thumbs {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#main .wc-block-grid__products,
#main .woocommerce-MyAccount-navigation ul li,
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav {
  padding: 0;
  margin: 0;
  list-style: none;
}
.widget.woocommerce a {
  text-decoration: none;
}
.bloglo-cart-item,
.bloglo-cart-item .bloglo-remove-cart-item,
.woocommerce .star-rating span:before,
.woocommerce ul.products li.product.product-category > a:after,
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title span,
.woocommerce ul.products li.product.outofstock a img,
.woocommerce ul.products li.product a.bloglo-btn,
.woocommerce ul.products li.product a.added_to_cart,
.widget.woocommerce .product-categories li .count,
.widget.woocommerce .wc-layered-nav-term .count,
.widget.woocommerce .wc-layered-nav-rating em,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:after,
.woocommerce .widget_shopping_cart .cart_list li a.remove:after,
.woocommerce.widget_shopping_cart .cart_list li a.remove:after,
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a,
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a:before,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product .woocommerce-pagination ul li a,
.woocommerce div.product .woocommerce-pagination ul li span {
  -webkit-transition: var(--bloglo-transition-primary);
  transition: var(--bloglo-transition-primary);
}
.woocommerce .cart_totals table.shop_table {
  outline: none;
  border: none;
  margin: 0;
  padding: 0;
  text-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}
.woocommerce
  #secondary
  .widget_layered_nav
  ul.yith-wcan-color
  li.chosen
  a:after {
  display: inline-block;
  fill: currentColor;
  width: auto;
}
#page .woocommerce-error:before,
#page .woocommerce-info:before,
#page .woocommerce-message:before,
.woocommerce ul.products li.product .added_to_cart:before,
#main .woocommerce-MyAccount-navigation ul li:before,
.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item
  a:after,
.widget.woocommerce .wc-layered-nav-rating a:after,
.woocommerce .widget_layered_nav_filters ul a:before,
.woocommerce .widget_shopping_cart .cart_list li a.remove:before,
.woocommerce.widget_shopping_cart .cart_list li a.remove:before,
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:after {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: currentColor;
  width: 1.6rem;
  height: 1.6rem;
}
.woocommerce #respond input#submit:after,
.woocommerce a.button:after,
.woocommerce button.button:after,
.woocommerce input.button:after {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  right: 0 !important;
  top: 50% !important;
  padding: 0 2.4rem 0 0;
  position: absolute;
  opacity: 0;
  margin-top: -0.8rem;
  width: 1.6rem;
  height: 1.6rem;
}
.woocommerce #respond input#submit.loading:after,
.woocommerce #respond input#submit.added:after,
.woocommerce a.button.loading:after,
.woocommerce a.button.added:after,
.woocommerce button.button.loading:after,
.woocommerce button.button.added:after,
.woocommerce input.button.loading:after,
.woocommerce input.button.added:after {
  opacity: 1;
}
.woocommerce #respond input#submit.loading:before,
.woocommerce #respond input#submit.loading:after,
.woocommerce a.button.loading:before,
.woocommerce a.button.loading:after,
.woocommerce button.button.loading:before,
.woocommerce button.button.loading:after,
.woocommerce input.button.loading:before,
.woocommerce input.button.loading:after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  text-indent: -99999.9rem;
  padding: 0;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-animation: si_bounce 1.6s infinite ease-in-out;
  animation: si_bounce 1.6s infinite ease-in-out;
  margin-right: 1em !important;
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 100%;
  margin-top: -0.8rem;
}
.woocommerce #respond input#submit.loading:after,
.woocommerce a.button.loading:after,
.woocommerce button.button.loading:after,
.woocommerce input.button.loading:after {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}
.woocommerce p.cart-empty {
  margin-top: 0;
}
.woocommerce .blockOverlay {
  background-color: #fff !important;
  opacity: 0.75 !important;
}
.woocommerce.add_to_cart_inline .add_to_cart_button {
  min-width: 17rem;
  margin-right: 1.5rem !important;
}
.woocommerce.add_to_cart_inline .added_to_cart {
  text-transform: capitalize;
}
.woocommerce.add_to_cart_inline ins {
  text-decoration: none;
  margin-right: 1.5rem;
}
.bloglo-header-widget__cart .dropdown-item {
  font-size: 1.3rem;
  background-color: #fff;
  width: 34rem;
  color: #232323;
}
.bloglo-header-widget__cart .wc-cart-widget-header {
  padding: 1.3rem 2rem 1.4rem;
  border-bottom: 0.1rem solid rgba(190, 190, 190, 0.3);
}
.bloglo-header-widget__cart .wc-cart-widget-header > span:first-child {
  margin-right: auto;
}
.bloglo-header-widget__cart .wc-cart-widget-header > span.bloglo-cart-subtotal {
  margin-left: auto;
  font-weight: 500;
}
.bloglo-header-widget__cart
  .wc-cart-widget-header
  > span.bloglo-cart-subtotal
  span {
  font-weight: 600;
}
.bloglo-header-widget__cart .woocommerce-placeholder {
  border: none;
}
.bloglo-tsp-header .bloglo-header-widget__cart .bloglo-cart-count {
  border: none;
}
.bloglo-tsp-header .bloglo-header-widgets p.bloglo-cart-item-title a,
.bloglo-tsp-header
  .bloglo-header-widgets
  .bloglo-cart-item
  a.bloglo-remove-cart-item {
  color: inherit;
}
.animate-pop {
  -webkit-animation: 0.5s ease-in-out 0.1s normal both 1 si_bounce_in;
  animation: 0.5s ease-in-out 0.1s normal both 1 si_bounce_in;
}
.wc-cart-widget-content {
  padding: 0.6rem 0;
  max-height: 40rem;
  overflow-y: auto;
}
.bloglo-empty-cart {
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.5;
  padding: 2.5rem;
}
.bloglo-empty-cart p {
  margin-top: 0.88rem;
  margin-bottom: 0;
}
.bloglo-cart-item {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1rem 4rem 1rem 2rem;
}
.bloglo-cart-item:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
.bloglo-cart-item:hover .bloglo-remove-cart-item {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
}
.bloglo-cart-item.removing .bloglo-cart-image,
.bloglo-cart-item.removing .bloglo-cart-item-details {
  opacity: 0.3;
}
.bloglo-cart-item .bloglo-remove-cart-item {
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  -webkit-transform: translateX(3rem);
  -ms-transform: translateX(3rem);
  transform: translateX(3rem);
  opacity: 0;
}
.bloglo-cart-item .bloglo-remove-cart-item:hover .bloglo-icon {
  color: inherit;
}
.bloglo-cart-item .bloglo-remove-cart-item .bloglo-icon {
  height: 1.4rem !important;
}
.bloglo-cart-image {
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
}
.bloglo-cart-image img {
  width: 6.5rem;
  margin-right: 2rem;
  height: auto;
  display: block;
  border-radius: var(--bloglo-normal-radius);
}
.bloglo-cart-item-quantity {
  font-weight: 500;
}
.bloglo-cart-item-quantity:after {
  content: "\00d7";
  display: inline-block;
  font-weight: 400;
  padding: 0 0.4rem;
}
.bloglo-cart-item-meta {
  margin-top: 0.4rem;
}
.bloglo-cart-item-meta ins {
  text-decoration: none;
}
.bloglo-cart-item-meta ins .amount {
  font-weight: 500;
}
.bloglo-cart-item-meta del {
  opacity: 1;
  color: #afafaf;
}
.bloglo-cart-buttons {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1.6rem 2rem;
  border-top: 0.1rem solid rgba(190, 190, 190, 0.3);
}
.bloglo-cart-buttons > a {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.bloglo-cart-buttons > a:first-child {
  margin-right: 1rem;
}
.bloglo-cart-item-title {
  font-size: 1.6rem;
  line-height: 1.25;
  color: #232323;
  font-weight: 500;
}
@-webkit-keyframes si_bounce_in {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  20% {
    -webkit-transform: scale(1.4, 1.4);
    transform: scale(1.4, 1.4);
  }
  50% {
    -webkit-transform: scale(0.8, 0.8);
    transform: scale(0.8, 0.8);
  }
  85% {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  100% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
@keyframes si_bounce_in {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  20% {
    -webkit-transform: scale(1.4, 1.4);
    transform: scale(1.4, 1.4);
  }
  50% {
    -webkit-transform: scale(0.8, 0.8);
    transform: scale(0.8, 0.8);
  }
  85% {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  100% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
#page .woocommerce-notices-wrapper {
  margin-top: -2rem;
  margin-bottom: 4rem;
}
#page .woocommerce-notices-wrapper:empty {
  display: none;
}
#page .woocommerce-error,
#page .woocommerce-info,
#page .woocommerce-message {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 1rem;
  border-radius: 0 0.3rem 0.3rem 0;
  border-top: none;
  border-left-width: 0.4rem;
  border-left-style: solid;
  padding: 1.28rem 3.2rem 1.28rem 5rem;
  line-height: 1.5;
}
#page .woocommerce-error:before,
#page .woocommerce-info:before,
#page .woocommerce-message:before {
  left: 2rem;
  top: 1.6rem;
  height: 2rem;
  width: 2rem;
  line-height: 1;
}
#page .woocommerce-error a:not(.button):not(.bloglo-btn),
#page .woocommerce-info a:not(.button):not(.bloglo-btn),
#page .woocommerce-message a:not(.button):not(.bloglo-btn) {
  display: inline-block;
  -webkit-box-shadow: none;
  box-shadow: none;
}
#page .woocommerce-error .button,
#page .woocommerce-info .button,
#page .woocommerce-message .button {
  padding: 0;
  line-height: inherit;
  background: none;
  color: inherit;
  min-height: auto;
  border: none;
}
#page .woocommerce-error .button.wc-forward,
#page .woocommerce-info .button.wc-forward,
#page .woocommerce-message .button.wc-forward {
  font-weight: 500;
  text-transform: capitalize;
}
#page .woocommerce-info {
  border-left-color: #1e85be;
}
#page .woocommerce-info:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm0-13.346c-.801 0-1.335.534-1.335 1.335v5.339c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-5.339c0-.801-.534-1.335-1.335-1.335zm-.935-4.938c-.267.267-.4.534-.4.934s.133.667.4.934.534.4.934.4.667-.133.934-.4.4-.534.4-.934-.133-.667-.4-.934a1.29 1.29 0 00-1.868 0z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm0-13.346c-.801 0-1.335.534-1.335 1.335v5.339c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-5.339c0-.801-.534-1.335-1.335-1.335zm-.935-4.938c-.267.267-.4.534-.4.934s.133.667.4.934.534.4.934.4.667-.133.934-.4.4-.534.4-.934-.133-.667-.4-.934a1.29 1.29 0 00-1.868 0z"/></svg>');
}
#page .woocommerce-error {
  border-left-color: #b81c23;
}
#page .woocommerce-error:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm4.938-16.95a1.29 1.29 0 00-1.868 0l-3.07 3.07-3.07-3.07c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l3.07 3.07-3.07 3.07a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l3.07-3.07 3.07 3.07c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-3.07-3.07 3.07-3.07a1.29 1.29 0 000-1.868z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016.74C7.875.74 1.335 7.28 1.335 15.421s6.54 14.681 14.681 14.681 14.681-6.54 14.681-14.681S24.157.74 16.016.74zm0 26.693c-6.673 0-12.012-5.339-12.012-12.012S9.343 3.409 16.016 3.409s12.012 5.339 12.012 12.012-5.339 12.012-12.012 12.012zm4.938-16.95a1.29 1.29 0 00-1.868 0l-3.07 3.07-3.07-3.07c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l3.07 3.07-3.07 3.07a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l3.07-3.07 3.07 3.07c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-3.07-3.07 3.07-3.07a1.29 1.29 0 000-1.868z"/></svg>');
}
#page .woocommerce-message {
  border-left-color: #8fae1b;
}
#page .woocommerce-message:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M0 17.824l3.203-3.203 8.008 8.008L28.828 5.012l3.203 3.203-20.82 20.82z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M0 17.824l3.203-3.203 8.008 8.008L28.828 5.012l3.203 3.203-20.82 20.82z"/></svg>');
}
.woocommerce ul#shipping_method li {
  margin-bottom: 0.96rem;
}
.woocommerce ul#shipping_method li input {
  margin: 0 1.12rem 0 0;
  vertical-align: middle;
}
.woocommerce .woocommerce-customer-details address {
  border-right-width: 0.1rem;
  border-radius: var(--bloglo-normal-radius);
  border-color: rgba(190, 190, 190, 0.3);
  border-bottom-width: 0.1rem;
  padding: 1.2rem 2rem;
}
.woocommerce form.checkout_coupon {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 3rem;
  border: 0.2rem dashed rgba(190, 190, 190, 0.3);
  border-radius: var(--bloglo-normal-radius);
  margin-top: 1.5rem;
}
.woocommerce form.checkout_coupon p {
  width: auto;
}
.woocommerce form.checkout_coupon p.form-row-first {
  margin-right: 1.5rem;
}
.woocommerce form.checkout_coupon p:first-child {
  text-align: center;
  margin-bottom: 1.6rem;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
}
.woocommerce form.checkout_coupon .button {
  text-transform: capitalize;
}
.woocommerce #customer_login h2 {
  margin-top: 0;
}
.woocommerce #customer_login h2 form.login,
.woocommerce #customer_login h2 form.register {
  margin: 0;
  min-height: 35.1rem;
  padding: 3rem 10%;
}
.woocommerce form.login,
.woocommerce form.register {
  padding: 0;
  margin-top: 1.5rem;
  border: none;
  max-width: 60rem;
}
.woocommerce form.login p:first-child,
.woocommerce form.register p:first-child {
  margin-top: 0;
}
.woocommerce form.login .form-row,
.woocommerce form.register .form-row {
  margin: 0 0 2.4rem;
}
.woocommerce form.login .form-row:last-child,
.woocommerce form.register .form-row:last-child {
  margin-bottom: 0;
}
.woocommerce form.login .button,
.woocommerce form.register .button {
  margin-right: 2rem;
}
.woocommerce form.login label span,
.woocommerce form.register label span {
  font-weight: 400;
}
.woocommerce form.login .woocommerce-form-login__rememberme,
.woocommerce form.register .woocommerce-form-login__rememberme {
  margin-top: 1.3rem;
  line-height: 1;
}
.woocommerce form.login .lost_password,
.woocommerce form.register .lost_password {
  font-size: 1.3rem;
  margin-bottom: -rem(15px);
  margin-top: 0;
}
.woocommerce form.login .form-row-first,
.woocommerce form.login .form-row-last,
.woocommerce form.register .form-row-first,
.woocommerce form.register .form-row-last {
  width: 49%;
}
.woocommerce strong {
  font-weight: 600;
}
.woocommerce .woocommerce-additional-fields {
  margin-top: 1.6rem;
}
.woocommerce .woocommerce-additional-fields textarea {
  min-height: 20rem;
}
.woocommerce .nav-links {
  text-align: center;
}
.woocommerce #yith-wcwl-form table.shop_table,
.woocommerce .woocommerce-cart-form table.shop_table,
.woocommerce .woocommerce-checkout-review-order table.shop_table {
  margin: 0;
  border: 0;
  border-radius: var(--bloglo-normal-radius);
  color: #232323;
  border-spacing: 0;
}
.woocommerce #yith-wcwl-form table.shop_table a,
.woocommerce .woocommerce-cart-form table.shop_table a,
.woocommerce .woocommerce-checkout-review-order table.shop_table a {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.woocommerce
  #yith-wcwl-form
  table.shop_table
  a:not(.bloglo-woo-plus):not(.bloglo-woo-minus):not(.bloglo-btn):not(
    .remove_from_wishlist
  ),
.woocommerce
  .woocommerce-cart-form
  table.shop_table
  a:not(.bloglo-woo-plus):not(.bloglo-woo-minus):not(.bloglo-btn):not(
    .remove_from_wishlist
  ),
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  a:not(.bloglo-woo-plus):not(.bloglo-woo-minus):not(.bloglo-btn):not(
    .remove_from_wishlist
  ) {
  color: inherit;
}
.woocommerce #yith-wcwl-form table.shop_table thead,
.woocommerce .woocommerce-cart-form table.shop_table thead,
.woocommerce .woocommerce-checkout-review-order table.shop_table thead {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.032rem;
}
.woocommerce #yith-wcwl-form table.shop_table thead th,
.woocommerce .woocommerce-cart-form table.shop_table thead th,
.woocommerce .woocommerce-checkout-review-order table.shop_table thead th {
  font-size: 1.2rem;
  font-weight: 400;
  padding: 2rem 0;
  border: 0 !important;
}
.woocommerce #yith-wcwl-form table.shop_table thead th:first-child,
.woocommerce .woocommerce-cart-form table.shop_table thead th:first-child,
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  thead
  th:first-child {
  border-radius: 0.3rem 0 0 0;
}
.woocommerce #yith-wcwl-form table.shop_table thead th:last-child,
.woocommerce .woocommerce-cart-form table.shop_table thead th:last-child,
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  thead
  th:last-child {
  border-radius: 0 0.3rem 0 0;
}
.woocommerce #yith-wcwl-form table.shop_table th,
.woocommerce #yith-wcwl-form table.shop_table td,
.woocommerce .woocommerce-cart-form table.shop_table th,
.woocommerce .woocommerce-cart-form table.shop_table td,
.woocommerce .woocommerce-checkout-review-order table.shop_table th,
.woocommerce .woocommerce-checkout-review-order table.shop_table td {
  font-weight: 400;
  border: none;
  text-align: center;
}
.woocommerce #yith-wcwl-form table.shop_table th:first-child,
.woocommerce #yith-wcwl-form table.shop_table td:first-child,
.woocommerce .woocommerce-cart-form table.shop_table th:first-child,
.woocommerce .woocommerce-cart-form table.shop_table td:first-child,
.woocommerce .woocommerce-checkout-review-order table.shop_table th:first-child,
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  td:first-child {
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: left;
  border-left: 0.3rem solid rgba(190, 190, 190, 0.2);
}
.woocommerce #yith-wcwl-form table.shop_table th:last-child,
.woocommerce #yith-wcwl-form table.shop_table td:last-child,
.woocommerce .woocommerce-cart-form table.shop_table th:last-child,
.woocommerce .woocommerce-cart-form table.shop_table td:last-child,
.woocommerce .woocommerce-checkout-review-order table.shop_table th:last-child,
.woocommerce .woocommerce-checkout-review-order table.shop_table td:last-child {
  padding-right: 2rem;
  padding-left: 2rem;
  border-right-width: 0.3rem;
}
.woocommerce #yith-wcwl-form table.shop_table td,
.woocommerce .woocommerce-cart-form table.shop_table td,
.woocommerce .woocommerce-checkout-review-order table.shop_table td {
  padding: 1.6rem 0;
  border-right: 0.1rem solid rgba(190, 190, 190, 0.2);
  border-bottom: 0.1rem solid rgba(190, 190, 190, 0.2);
}
.woocommerce #yith-wcwl-form table.shop_table tr:nth-last-child(2) td,
.woocommerce .woocommerce-cart-form table.shop_table tr:nth-last-child(2) td {
  border-bottom-width: 0.3rem;
  border-bottom-color: rgba(190, 190, 190, 0.2);
}
.woocommerce
  #yith-wcwl-form
  table.shop_table
  tr:nth-last-child(2)
  td:first-child,
.woocommerce
  .woocommerce-cart-form
  table.shop_table
  tr:nth-last-child(2)
  td:first-child {
  border-radius: 0 0 0 0.3rem;
}
.woocommerce
  #yith-wcwl-form
  table.shop_table
  tr:nth-last-child(2)
  td:last-child,
.woocommerce
  .woocommerce-cart-form
  table.shop_table
  tr:nth-last-child(2)
  td:last-child {
  border-radius: 0 0 0.3rem 0;
}
.woocommerce #yith-wcwl-form table.shop_table tr:last-child td,
.woocommerce .woocommerce-cart-form table.shop_table tr:last-child td {
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  padding: 2rem 0 0;
}
.woocommerce .woocommerce-checkout-review-order table.shop_table th,
.woocommerce .woocommerce-checkout-review-order table.shop_table td {
  text-align: left;
}
.woocommerce .woocommerce-checkout-review-order table.shop_table tfoot tr td,
.woocommerce .woocommerce-checkout-review-order table.shop_table tfoot tr th {
  border-radius: 0 !important;
  background-color: transparent;
}
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr
  td:first-child,
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr
  th:first-child {
  border-left: 0.3rem solid rgba(190, 190, 190, 0.2) !important;
  border-bottom: 0.1rem solid rgba(190, 190, 190, 0.2) !important;
}
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:last-child
  th:first-child {
  border-bottom-width: 0.3rem !important;
}
.woocommerce .woocommerce-checkout-review-order table.shop_table tfoot tr th {
  border-right: 0.1rem solid rgba(190, 190, 190, 0.2) !important;
}
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:first-child
  td,
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:first-child
  th {
  border-top: solid 1.5rem rgba(190, 190, 190, 0.2) !important;
}
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:last-child
  td {
  border-bottom-width: 0.3rem;
  border-bottom-color: rgba(190, 190, 190, 0.2);
}
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:last-child
  td:first-child {
  border-radius: 0 0 0 0.3rem;
}
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  tfoot
  tr:last-child
  td:last-child {
  border-radius: 0 0 0.3rem 0;
}
.woocommerce td.product-name img {
  display: block;
  width: 6.4rem;
  margin-right: 1.6rem;
  border-radius: var(--bloglo-normal-radius);
}
.woocommerce td.product-name a {
  display: inline-block;
  vertical-align: middle;
}
.woocommerce a.remove {
  height: 2.4rem;
  width: 2.4rem;
  line-height: 2.368rem;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.woocommerce .product-remove {
  width: 3rem;
}
.woocommerce .product-remove .bloglo-icon {
  height: 1.6rem;
}
.woocommerce .quantity {
  display: inline-block;
  position: relative;
  padding-right: 2.8rem;
}
.woocommerce .quantity .bloglo-woo-minus,
.woocommerce .quantity .bloglo-woo-plus {
  text-decoration: none;
  font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 2.8rem;
  height: 2.55rem;
  line-height: 2rem;
  border: 0.1rem solid rgba(190, 190, 190, 0.3);
  -webkit-box-align: initial;
  -ms-flex-align: initial;
  align-items: initial;
  color: inherit !important;
  font-size: 1.5rem;
  background-color: #fff;
}
.woocommerce .quantity .bloglo-woo-minus:hover,
.woocommerce .quantity .bloglo-woo-plus:hover {
  background-color: rgba(190, 190, 190, 0.2);
}
.woocommerce .quantity .bloglo-woo-plus {
  border-radius: 0 0.2rem 0 0;
}
.woocommerce .quantity .bloglo-woo-minus {
  top: auto;
  bottom: 0;
  height: 2.55rem;
  border-radius: 0 0 0.2rem 0;
}
.woocommerce .quantity .qty {
  outline: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: 0.1rem solid rgba(190, 190, 190, 0.3);
  border-right: none;
  height: 5rem;
  border-radius: 0.2rem 0 0 0.2rem;
  width: 6rem;
}
.woocommerce .quantity input[type="number"]::-webkit-inner-spin-button,
.woocommerce .quantity input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.woocommerce .quantity input[type="number"] {
  -moz-appearance: textfield;
}
.woocommerce #coupon_code {
  margin-right: 1.5rem;
  min-width: 21rem;
  min-height: 5rem;
  padding-left: 2rem;
  padding-right: 2rem;
}
.woocommerce .cart-collaterals {
  margin-top: 5rem;
}
.woocommerce .cart_totals h2,
.woocommerce .cross-sells > h4 {
  margin-bottom: 1.6rem;
}
.woocommerce .cart_totals {
  margin-left: auto;
  margin-bottom: 0;
}
.woocommerce .cart_totals table.shop_table {
  border: 0.3rem solid rgba(190, 190, 190, 0.2);
  border-radius: var(--bloglo-normal-radius);
}
.woocommerce .cart_totals table.shop_table th {
  border-right: 0.1rem solid rgba(190, 190, 190, 0.2);
}
.woocommerce .cart_totals table.shop_table td,
.woocommerce .cart_totals table.shop_table th {
  padding: 1.6rem 2rem;
}
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
  border-color: rgba(190, 190, 190, 0.2);
  border-top-width: 0.1rem;
  font-weight: 400;
}
.woocommerce .cart_totals table.shop_table .order-total th,
.woocommerce .cart_totals table.shop_table .order-total td {
  background-color: rgba(190, 190, 190, 0.2);
}
.woocommerce .show-on-hover {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear,
    -webkit-transform 5s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: opacity 0.2s linear,
    -webkit-transform 5s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: opacity 0.2s linear, transform 5s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: opacity 0.2s linear, transform 5s cubic-bezier(0.25, 0.8, 0.25, 1),
    -webkit-transform 5s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}
.woocommerce li.product:hover .show-on-hover {
  opacity: 1;
  -webkit-transform: scale3d(1.05, 1.05, 1.05);
  transform: scale3d(1.05, 1.05, 1.05);
}
.woocommerce form .form-row {
  margin: 1.6rem 0;
  padding: 0;
}
.woocommerce form .form-row.notes {
  margin-bottom: 0;
}
.shipping-calculator-form > p:last-of-type {
  margin-bottom: 0;
}
.shipping-calculator-button {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  text-transform: capitalize;
}
.shipping-calculator-button:after {
  display: none;
}
.woocommerce-shipping-methods label,
.woocommerce-remove-coupon,
.woocommerce .optional {
  font-weight: 400;
}
.woocommerce-cart .return-to-shop:not(.bloglo-woo-return) {
  display: none !important;
}
#add_payment_method
  .cart-collaterals
  .cart_totals
  .woocommerce-shipping-destination,
.woocommerce-cart
  .cart-collaterals
  .cart_totals
  .woocommerce-shipping-destination,
.woocommerce-checkout
  .cart-collaterals
  .cart_totals
  .woocommerce-shipping-destination {
  font-size: 1.3rem;
  margin-top: 1.6rem;
  margin-bottom: 0.72rem;
}
.bloglo-woo-before-shop {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 3rem;
}
.bloglo-woo-before-shop .woocommerce-ordering {
  position: relative;
  margin-left: auto;
}
.bloglo-woo-before-shop .woocommerce-ordering .orderby {
  width: 12.6rem;
}
.bloglo-woo-before-shop #bloglo-orderby {
  display: inline-block;
  position: relative;
  z-index: 1;
}
.bloglo-woo-before-shop #bloglo-orderby > svg {
  height: 1.386rem;
  margin-left: 1rem;
}
.bloglo-woo-before-shop select {
  background-position: calc(100%) 1.28rem;
  background-color: rgba(0, 0, 0, 0);
  padding-left: 0;
  padding-right: 1.9rem;
  border: none;
  cursor: pointer;
  height: initial;
  line-height: inherit;
}
.bloglo-woo-before-shop select.custom-select-loaded {
  position: absolute;
  opacity: 0;
  z-index: 2;
}
.bloglo-woo-before-shop
  select.custom-select-loaded:hover
  ~ #bloglo-orderby:before {
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: scale(1, 1) translateZ(0.1rem);
  transform: scale(1, 1) translateZ(0.1rem);
}
.woocommerce .star-rating {
  min-height: 1.6rem;
  position: relative;
  display: inline-block;
  font-size: 1.3rem !important;
  width: 7.7rem;
  max-width: 7.7rem;
  margin: 0.5rem 0 0;
  font-weight: 400 !important;
  letter-spacing: 0.2rem;
  white-space: nowrap;
}
.woocommerce .star-rating span {
  padding-top: 1.6rem;
}
.woocommerce .star-rating span:before {
  white-space: nowrap;
}
.woocommerce .star-rating:before {
  content: "\53\53\53\53\53";
  white-space: nowrap;
  opacity: 0.4;
}
.woocommerce .cross-sells ul.products {
  margin-top: 0;
}
.woocommerce ul.products {
  margin-top: -4rem;
  margin-bottom: 0;
}
.woocommerce ul.products li.product {
  position: relative;
  margin-top: 4rem;
  margin-bottom: 0;
  overflow: hidden;
  border-radius: 1rem;
  z-index: 0;
  border: 0.1rem solid rgba(190, 190, 190, 0.3);
  -webkit-transition: var(--bloglo-transition-primary);
  transition: var(--bloglo-transition-primary);
}
.woocommerce ul.products.columns-1 li.product:nth-child(1n),
.woocommerce-page ul.products.columns-1 li.product:nth-child(1n),
.woocommerce ul.products.columns-2 li.product:nth-child(2n),
.woocommerce-page ul.products.columns-2 li.product:nth-child(2n),
.woocommerce ul.products.columns-3 li.product:nth-child(3n),
.woocommerce-page ul.products.columns-3 li.product:nth-child(3n),
.woocommerce ul.products.columns-4 li.product:nth-child(4n),
.woocommerce-page ul.products.columns-4 li.product:nth-child(4n) {
  margin-right: 0;
}
.woocommerce ul.products.columns-1 li.product:nth-child(1n + 2),
.woocommerce-page ul.products.columns-1 li.product:nth-child(1n + 2),
.woocommerce ul.products.columns-2 li.product:nth-child(2n + 3),
.woocommerce-page ul.products.columns-2 li.product:nth-child(2n + 3),
.woocommerce ul.products.columns-3 li.product:nth-child(3n + 4),
.woocommerce-page ul.products.columns-3 li.product:nth-child(3n + 4),
.woocommerce ul.products.columns-4 li.product:nth-child(4n + 5),
.woocommerce-page ul.products.columns-4 li.product:nth-child(4n + 5) {
  clear: both;
}
.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within {
  border-color: transparent;
  box-shadow: 0 0 3rem 0 rgba(0, 0, 0, 0.08);
}
.woocommerce ul.products li.product .meta-wrap {
  padding: 1.9rem;
  padding-top: 0.3rem;
}
.woocommerce ul.products li.product .meta-wrap > * {
  margin: 1.2rem 0;
  display: block;
}
.woocommerce ul.products li.product .meta-wrap > .price {
  margin-top: 1.76rem;
  margin-bottom: 1.76rem;
  line-height: 1;
}
.woocommerce ul.products li.product .meta-wrap > .star-rating {
  line-height: 1;
}
.woocommerce
  ul.products
  li.product
  .meta-wrap
  > .bloglo-loop-product__category-wrap {
  font-size: 1.486rem;
}
.woocommerce ul.products li.product .meta-wrap > :first-child {
  margin-top: 0 !important;
}
.woocommerce ul.products li.product .meta-wrap > :last-child {
  margin-bottom: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__link h2,
.woocommerce ul.products li.product .bloglo-loop-product__category-wrap a,
.woocommerce ul.products li.product .price {
  padding: 0;
  line-height: 1.5;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link h2 {
  font-size: 1.707rem;
  font-family: inherit;
  font-style: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  font-weight: 500;
}
.woocommerce ul.products li.product .bloglo-loop-product__category-wrap {
  line-height: 1;
}
.woocommerce ul.products li.product .bloglo-loop-product__category-wrap a {
  line-height: inherit;
}
.woocommerce ul.products li.product .price {
  color: inherit;
  font-size: inherit;
  font-weight: 500;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  font-weight: 500;
}
.woocommerce ul.products li.product .price del {
  opacity: 1;
  color: #afafaf;
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product.product-category {
  border-radius: var(--bloglo-normal-radius);
}
.woocommerce ul.products li.product a img {
  margin: 0;
}
.woocommerce ul.products li.product .woocommerce-placeholder {
  border: none;
}
.woocommerce ul.products li.product.product-category {
  overflow: hidden;
}
.woocommerce ul.products li.product.product-category:hover > a:after {
  opacity: 1;
}
.woocommerce ul.products li.product.product-category > a {
  display: block;
}
.woocommerce ul.products li.product.product-category > a:after {
  content: "";
  z-index: 1;
  background-image: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(#000),
    to(transparent)
  );
  background-image: linear-gradient(to top, #000 0%, transparent 100%);
  -webkit-transform: translateY(40%);
  -ms-transform: translateY(40%);
  transform: translateY(40%);
  opacity: 0.85;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  right: 2rem;
  font-size: 1.6rem;
  color: #fff;
  z-index: 2;
  -webkit-transform: translate3d(0, 1.8rem, 0);
  transform: translate3d(0, 1.8rem, 0);
}
.woocommerce ul.products li.product .woocommerce-loop-category__title span {
  display: block;
  font-size: 1.3rem;
  font-weight: 400;
  margin-top: 0.5rem;
  line-height: 1;
  -webkit-transform: translate3d(0, 1.3rem, 0);
  transform: translate3d(0, 1.3rem, 0);
  opacity: 0;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-category__title {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.woocommerce
  ul.products
  li.product:hover
  .woocommerce-loop-category__title
  span {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title h3 {
  margin: 0;
}
.woocommerce ul.products li.product.outofstock a img {
  opacity: 0.5;
}
.woocommerce ul.products li.product.outofstock a img.show-on-hover {
  opacity: 0;
}
.woocommerce ul.products li.product.outofstock:hover .swap-on-hover a img {
  opacity: 0;
}
.woocommerce
  ul.products
  li.product.outofstock:hover
  .swap-on-hover
  a
  img.show-on-hover {
  opacity: 0.5;
}
.woocommerce ul.products li.product .added_to_cart {
  white-space: nowrap;
  bottom: 1.2rem;
  left: 1.2rem;
  right: 1.2rem;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background-color: #232323;
}
.woocommerce ul.products li.product .added_to_cart:hover {
  background-color: #2e353b;
}
.woocommerce ul.products li.product .added_to_cart:before {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 20 20"><path d="M3 2h14a1 1 0 011 1v14a1 1 0 01-1 1H3a1 1 0 01-1-1V3a1 1 0 011-1zM0 3a3 3 0 013-3h14a3 3 0 013 3v14a3 3 0 01-3 3H3a3 3 0 01-3-3zm10 7c-2.761 0-5-2.686-5-6h2c0 2.566 1.669 4 3 4s3-1.434 3-4h2c0 3.314-2.239 6-5 6z" fill="currentColor" fill-rule="evenodd"></path></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 20 20"><path d="M3 2h14a1 1 0 011 1v14a1 1 0 01-1 1H3a1 1 0 01-1-1V3a1 1 0 011-1zM0 3a3 3 0 013-3h14a3 3 0 013 3v14a3 3 0 01-3 3H3a3 3 0 01-3-3zm10 7c-2.761 0-5-2.686-5-6h2c0 2.566 1.669 4 3 4s3-1.434 3-4h2c0 3.314-2.239 6-5 6z" fill="currentColor" fill-rule="evenodd"></path></svg>');
  margin-right: 1rem;
}
.woocommerce ul.products li.product a.bloglo-btn,
.woocommerce ul.products li.product a.added_to_cart {
  position: absolute;
  z-index: 2;
  padding: 0.8rem 1.6rem;
  -webkit-transition-delay: 0.25s !important;
  transition-delay: 0.25s !important;
}
.woocommerce ul.products li.product .bloglo-product-thumb {
  margin-bottom: 1.5rem;
  border-radius: var(--bloglo-normal-radius);
  position: relative;
  overflow: hidden;
}
.woocommerce ul.products li.product .bloglo-product-thumb .bloglo-btn {
  -webkit-transform: translate3d(0, 3rem, 0);
  transform: translate3d(0, 3rem, 0);
  bottom: 1.2rem;
  left: 1.2rem;
  right: 1.2rem;
  opacity: 0;
  visibility: hidden;
  width: auto;
}
.woocommerce ul.products li.product:hover .bloglo-btn,
.woocommerce ul.products li.product .loading.bloglo-btn {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
  visibility: visible;
  -webkit-transition-delay: 0 !important;
  transition-delay: 0 !important;
}
.woocommerce ul.products li.product .loading.bloglo-btn {
  opacity: 0.75;
}
.woocommerce ul.products li.product:hover .added_to_cart {
  -webkit-transform: translate3d(0, -120%, 0);
  transform: translate3d(0, -120%, 0);
  -webkit-transition-delay: 0 !important;
  transition-delay: 0 !important;
}
.woocommerce ul.products.yith-wcan-loading {
  margin-bottom: 4rem;
}
.woocommerce ul#shipping_method .amount {
  font-weight: 600;
}
.woocommerce-page .entry-content {
  font-size: 1.5rem;
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 0;
}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  min-width: initial;
  min-height: initial;
  min-height: auto;
  margin: 0;
  left: 1.2rem;
  top: 1.2rem;
  right: auto;
  bottom: auto;
  border-radius: var(--bloglo-full-radius);
  line-height: inherit;
  padding: 0.3rem 1rem;
  font-size: 1.3rem;
  font-weight: 500;
  z-index: 2;
}
.woocommerce span.onsale.sold-out,
.woocommerce ul.products li.product .onsale.sold-out {
  background-color: #232323;
}
.woocommerce-checkout p.woocommerce-notice {
  margin-top: 0;
}
.woocommerce .woocommerce-checkout-review-order {
  padding: 0.2rem 2.7rem 3rem;
  background-color: rgba(190, 190, 190, 0.2);
  border-radius: 0 0 0.3rem 0.3rem;
}
.woocommerce .woocommerce-checkout-review-order strong,
.woocommerce
  .woocommerce-checkout-review-order
  .woocommerce-Price-amount.amount,
.woocommerce .woocommerce-checkout-review-order th,
.woocommerce .woocommerce-checkout-review-order td {
  font-weight: 400;
}
.woocommerce .woocommerce-checkout-review-order .order-total th {
  font-weight: 600 !important;
}
.woocommerce
  .woocommerce-checkout-review-order
  .order-total
  .woocommerce-Price-amount.amount {
  font-weight: 600;
}
.woocommerce .woocommerce-checkout-review-order table.shop_table {
  background-color: #fff;
  border-radius: 0.6rem;
  margin-bottom: 2rem;
}
.woocommerce .woocommerce-checkout-review-order table.shop_table thead th {
  background-color: #fff;
  border: 0.3rem solid rgba(190, 190, 190, 0.2) !important;
}
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  thead
  th:first-child {
  border-right: 0 !important;
}
.woocommerce
  .woocommerce-checkout-review-order
  table.shop_table
  thead
  th:last-child {
  border-left: 0 !important;
}
.woocommerce-checkout .col2-set .col-2 {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
#order_review_heading {
  background-color: rgba(190, 190, 190, 0.2);
  text-align: center;
  padding: 2.4rem 0 1.6rem;
  margin-bottom: 0;
  position: relative;
  text-transform: capitalize;
  z-index: -1;
}
#order_review_heading:after {
  content: "";
  display: block;
  position: absolute;
  top: -2rem;
  right: 0;
  left: 0;
  height: 2rem;
  background: linear-gradient(
      -45deg,
      rgba(190, 190, 190, 0.2) 33.333%,
      transparent 33.333%,
      transparent 66.667%,
      rgba(190, 190, 190, 0.2) 66.667%
    ),
    linear-gradient(
      45deg,
      rgba(190, 190, 190, 0.2) 33.333%,
      transparent 33.333%,
      transparent 66.667%,
      rgba(190, 190, 190, 0.2) 66.667%
    );
  background-size: 1.2rem 4.4rem;
  background-position: 0 -2.2rem;
}
#ship-to-different-address {
  margin-bottom: 1.6rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1.6rem 2rem;
  background-color: rgba(190, 190, 190, 0.2);
  color: inherit;
  border-radius: var(--bloglo-normal-radius);
  font-size: inherit;
}
#ship-to-different-address label {
  cursor: pointer;
  font-weight: 400;
  margin-bottom: 0;
}
.woocommerce-invalid #terms {
  outline: none;
  border-color: red;
}
.woocommerce-invalid #terms + span a {
  color: inherit;
}
#place_order {
  float: none;
  display: block;
  width: 100%;
  text-transform: capitalize;
  margin-top: 1.6rem;
}
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  border-radius: 0;
  background: none;
  border-bottom-color: rgba(190, 190, 190, 0.3);
}
#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
  margin: 0 0.3rem 2rem;
  border-bottom: none;
}
#add_payment_method #payment ul.payment_methods .woocommerce-notice,
.woocommerce-cart #payment ul.payment_methods .woocommerce-notice,
.woocommerce-checkout #payment ul.payment_methods .woocommerce-notice {
  background-color: #fff;
}
#add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice),
.woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice),
.woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice) {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  padding: 1.6rem 2rem;
  border-bottom: 0.3rem solid rgba(190, 190, 190, 0.2);
}
#add_payment_method
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal,
.woocommerce-cart
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal,
.woocommerce-checkout
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal {
  -webkit-box-pack: stretch;
  -ms-flex-pack: stretch;
  justify-content: stretch;
}
#add_payment_method
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  label,
.woocommerce-cart
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  label,
.woocommerce-checkout
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  label {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#add_payment_method
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  img,
.woocommerce-cart
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  img,
.woocommerce-checkout
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice).payment_method_paypal
  img {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  margin-left: auto;
  padding-left: 2rem;
  max-height: 5rem;
}
#add_payment_method
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice)
  input,
.woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice) input,
.woocommerce-checkout
  #payment
  ul.payment_methods
  li:not(.woocommerce-notice)
  input {
  margin-right: 1.12rem;
}
#add_payment_method #payment ul.payment_methods .about_paypal,
.woocommerce-cart #payment ul.payment_methods .about_paypal,
.woocommerce-checkout #payment ul.payment_methods .about_paypal {
  line-height: inherit;
  font-size: 1.2rem;
  margin-left: 1.4rem;
  -webkit-box-shadow: none;
  box-shadow: none;
}
#add_payment_method #payment ul.payment_methods li.woocommerce-info,
.woocommerce-cart #payment ul.payment_methods li.woocommerce-info,
.woocommerce-checkout #payment ul.payment_methods li.woocommerce-info {
  line-height: inherit;
}
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
  background: none;
  border-radius: 0;
  line-height: 1.6;
  font-size: 1.4rem;
  margin-top: 1rem;
}
#add_payment_method #payment div.payment_box p,
.woocommerce-cart #payment div.payment_box p,
.woocommerce-checkout #payment div.payment_box p {
  margin-top: 0;
}
#add_payment_method #payment div.payment_box:before,
.woocommerce-cart #payment div.payment_box:before,
.woocommerce-checkout #payment div.payment_box:before {
  display: none;
}
.woocommerce-checkout-review-order h3 {
  margin-top: 4rem;
  margin-bottom: 1.6rem;
  text-align: center;
}
.woocommerce-privacy-policy-text p {
  margin: 0 0.3rem 2rem;
  font-size: 1.4rem;
}
.woocommerce-checkout-review-order .woocommerce-form__label {
  font-weight: 500;
  margin: 2rem 0.3rem;
}
.woocommerce-password-strength {
  font-weight: 400;
  color: #232323;
}
.woocommerce-Button.button,
.woocommerce-address-fields .button {
  text-transform: capitalize;
}
.woocommerce-MyAccount-content > p:first-of-type {
  margin-top: 0;
}
.woocommerce-MyAccount-content > form > h3 {
  margin-top: 0;
  margin-bottom: 2rem;
}
.woocommerce-pagination .woocommerce-button {
  margin: 0 1rem !important;
}
#main .woocommerce-MyAccount-navigation {
  width: 25%;
}
#main .woocommerce-MyAccount-navigation ul li:before {
  content: "";
  display: inline-block;
  margin-right: 1.6rem;
}
#main .woocommerce-MyAccount-navigation ul li:first-child a {
  margin-top: 0;
}
#main .woocommerce-MyAccount-navigation ul li.is-active > a {
  font-weight: 500;
}
#main .woocommerce-MyAccount-navigation ul li a {
  display: inline-block;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: inherit;
  margin: 0.5rem 0;
  text-transform: capitalize;
}
#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--dashboard:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.362 14.087h-5.339c-.534 0-1.068.4-1.201.934l-2.803 8.141-6.807-20.153c-.133-.534-.667-.934-1.201-.934s-1.068.4-1.201.934L7.073 14.086H2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.534 0 1.068-.4 1.201-.934l2.803-8.141 6.807 20.286c.133.534.667.934 1.201.934s1.068-.4 1.201-.934l3.737-11.077h4.404c.801 0 1.335-.534 1.335-1.335s-.534-1.468-1.335-1.468z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.362 14.087h-5.339c-.534 0-1.068.4-1.201.934l-2.803 8.141-6.807-20.153c-.133-.534-.667-.934-1.201-.934s-1.068.4-1.201.934L7.073 14.086H2.669c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h5.339c.534 0 1.068-.4 1.201-.934l2.803-8.141 6.807 20.286c.133.534.667.934 1.201.934s1.068-.4 1.201-.934l3.737-11.077h4.404c.801 0 1.335-.534 1.335-1.335s-.534-1.468-1.335-1.468z"/></svg>');
}
#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--orders:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M28.428 5.545L17.751.206c-1.068-.534-2.402-.534-3.604 0L3.47 5.545a3.846 3.846 0 00-2.135 3.47v12.679c0 1.468.801 2.936 2.269 3.604l10.677 5.339c.534.267 1.201.4 1.735.4.667 0 1.201-.133 1.735-.4l10.677-5.339c1.335-.667 2.269-2.002 2.269-3.604V9.015c0-1.468-.801-2.803-2.269-3.47zm-12.946-3.07c.133-.133.4-.133.534-.133.267 0 .4 0 .534.133l9.876 4.938-3.737 1.868-10.41-5.205 3.203-1.602zm.534 10.144L5.606 7.414l3.737-1.868 10.41 5.205-3.737 1.868zM4.671 23.029c-.4-.267-.667-.801-.667-1.201V9.549l10.677 5.339v13.079l-10.01-4.938zm22.556 0l-9.876 4.938V14.888l10.677-5.339v12.279c0 .534-.267.934-.801 1.201z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M28.428 5.545L17.751.206c-1.068-.534-2.402-.534-3.604 0L3.47 5.545a3.846 3.846 0 00-2.135 3.47v12.679c0 1.468.801 2.936 2.269 3.604l10.677 5.339c.534.267 1.201.4 1.735.4.667 0 1.201-.133 1.735-.4l10.677-5.339c1.335-.667 2.269-2.002 2.269-3.604V9.015c0-1.468-.801-2.803-2.269-3.47zm-12.946-3.07c.133-.133.4-.133.534-.133.267 0 .4 0 .534.133l9.876 4.938-3.737 1.868-10.41-5.205 3.203-1.602zm.534 10.144L5.606 7.414l3.737-1.868 10.41 5.205-3.737 1.868zM4.671 23.029c-.4-.267-.667-.801-.667-1.201V9.549l10.677 5.339v13.079l-10.01-4.938zm22.556 0l-9.876 4.938V14.888l10.677-5.339v12.279c0 .534-.267.934-.801 1.201z"/></svg>');
}
#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--downloads:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M20.42 21.16l-3.07 3.07v-8.809c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.809l-3.07-3.07c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l5.339 5.339c.133.133.267.267.4.267.133.133.4.133.534.133s.4 0 .534-.133c.133-.133.267-.133.4-.267l5.339-5.339c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0zm10.143-7.741c-1.468-2.002-3.87-3.337-6.54-3.337h-.667C21.354 4.21 15.081.873 9.075 2.475c-3.203.801-5.739 2.669-7.474 5.472C-.001 10.75-.534 13.953.266 17.023c.534 1.868 1.335 3.604 2.669 4.938.534.534 1.335.667 1.868.133s.667-1.335.133-1.868c-.934-1.068-1.735-2.402-2.002-3.87-.667-2.402-.267-4.938 1.068-7.074s3.337-3.737 5.739-4.271c4.938-1.335 10.143 1.735 11.344 6.673.133.534.667 1.068 1.335 1.068h1.602c1.735 0 3.337.801 4.404 2.269.801 1.201 1.201 2.536.934 4.004s-1.068 2.669-2.135 3.47c-.667.4-.801 1.201-.267 1.868.267.4.667.534 1.068.534.267 0 .534-.133.801-.267 1.735-1.201 2.936-3.07 3.337-5.205s-.4-4.137-1.602-6.006z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M20.42 21.16l-3.07 3.07v-8.809c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.809l-3.07-3.07c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l5.339 5.339c.133.133.267.267.4.267.133.133.4.133.534.133s.4 0 .534-.133c.133-.133.267-.133.4-.267l5.339-5.339c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0zm10.143-7.741c-1.468-2.002-3.87-3.337-6.54-3.337h-.667C21.354 4.21 15.081.873 9.075 2.475c-3.203.801-5.739 2.669-7.474 5.472C-.001 10.75-.534 13.953.266 17.023c.534 1.868 1.335 3.604 2.669 4.938.534.534 1.335.667 1.868.133s.667-1.335.133-1.868c-.934-1.068-1.735-2.402-2.002-3.87-.667-2.402-.267-4.938 1.068-7.074s3.337-3.737 5.739-4.271c4.938-1.335 10.143 1.735 11.344 6.673.133.534.667 1.068 1.335 1.068h1.602c1.735 0 3.337.801 4.404 2.269.801 1.201 1.201 2.536.934 4.004s-1.068 2.669-2.135 3.47c-.667.4-.801 1.201-.267 1.868.267.4.667.534 1.068.534.267 0 .534-.133.801-.267 1.735-1.201 2.936-3.07 3.337-5.205s-.4-4.137-1.602-6.006z"/></svg>');
}
#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--edit-address:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M31.364.874a1.213 1.213 0 00-1.335 0l-8.675 5.072L11.211.874h-.133c-.133-.133-.267-.133-.4-.133s-.267 0-.534.133h-.133-.133L.536 6.213C.269 6.48.002 6.88.002 7.414v21.354c0 .534.267.934.667 1.201s.934.267 1.335 0l8.675-5.072 10.01 5.072c.267.133.4.133.667.133.133 0 .267 0 .4-.133h.266l9.342-5.339c.4-.267.667-.667.667-1.201V2.075c0-.534-.267-.934-.667-1.201zM12.012 4.21l8.008 4.004v18.418l-8.008-4.004V4.21zM2.669 8.214l6.673-3.87v18.285l-6.673 3.87V8.214zm26.693 14.414l-6.673 3.87V8.213l6.673-3.87v18.285z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M31.364.874a1.213 1.213 0 00-1.335 0l-8.675 5.072L11.211.874h-.133c-.133-.133-.267-.133-.4-.133s-.267 0-.534.133h-.133-.133L.536 6.213C.269 6.48.002 6.88.002 7.414v21.354c0 .534.267.934.667 1.201s.934.267 1.335 0l8.675-5.072 10.01 5.072c.267.133.4.133.667.133.133 0 .267 0 .4-.133h.266l9.342-5.339c.4-.267.667-.667.667-1.201V2.075c0-.534-.267-.934-.667-1.201zM12.012 4.21l8.008 4.004v18.418l-8.008-4.004V4.21zM2.669 8.214l6.673-3.87v18.285l-6.673 3.87V8.214zm26.693 14.414l-6.673 3.87V8.213l6.673-3.87v18.285z"/></svg>');
}
#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--edit-account:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M21.354 18.091H10.677c-3.737 0-6.673 2.936-6.673 6.673v2.669c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-2.669c0-2.269 1.735-4.004 4.004-4.004h10.677c2.269 0 4.004 1.735 4.004 4.004v2.669c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-2.669c0-3.737-2.936-6.673-6.673-6.673zm-5.338-2.67c3.737 0 6.673-2.936 6.673-6.673s-2.936-6.673-6.673-6.673-6.673 2.936-6.673 6.673 2.936 6.673 6.673 6.673zm0-10.677c2.269 0 4.004 1.735 4.004 4.004s-1.735 4.004-4.004 4.004-4.004-1.735-4.004-4.004 1.735-4.004 4.004-4.004z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M21.354 18.091H10.677c-3.737 0-6.673 2.936-6.673 6.673v2.669c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-2.669c0-2.269 1.735-4.004 4.004-4.004h10.677c2.269 0 4.004 1.735 4.004 4.004v2.669c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335v-2.669c0-3.737-2.936-6.673-6.673-6.673zm-5.338-2.67c3.737 0 6.673-2.936 6.673-6.673s-2.936-6.673-6.673-6.673-6.673 2.936-6.673 6.673 2.936 6.673 6.673 6.673zm0-10.677c2.269 0 4.004 1.735 4.004 4.004s-1.735 4.004-4.004 4.004-4.004-1.735-4.004-4.004 1.735-4.004 4.004-4.004z"/></svg>');
}
#main
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--customer-logout:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M12.012 26.098H6.673c-.801 0-1.335-.534-1.335-1.335V6.078c0-.801.534-1.335 1.335-1.335h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.673c-2.269 0-4.004 1.735-4.004 4.004v18.685c0 2.269 1.735 4.004 4.004 4.004h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm17.217-10.143c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H12.012c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M12.012 26.098H6.673c-.801 0-1.335-.534-1.335-1.335V6.078c0-.801.534-1.335 1.335-1.335h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.673c-2.269 0-4.004 1.735-4.004 4.004v18.685c0 2.269 1.735 4.004 4.004 4.004h5.339c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335zm17.217-10.143c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4l-6.673-6.673c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l4.404 4.404H12.012c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h12.813l-4.404 4.404a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l6.673-6.673c.133-.133.267-.267.267-.4z"/></svg>');
}
#main .woocommerce-MyAccount-content {
  width: 73%;
}
.woocommerce-form-register .woocommerce-privacy-policy-text {
  margin-bottom: 2.656rem;
}
.woocommerce-account .woocommerce h3,
.woocommerce-account .woocommerce h2,
.woocommerce-order-received .woocommerce h3,
.woocommerce-order-received .woocommerce h2,
.woocommerce-order-details h3,
.woocommerce-order-details h2,
.woocommerce-customer-details h3,
.woocommerce-customer-details h2 {
  font-size: 2rem;
  line-height: 2;
}
.woocommerce table {
  border-spacing: 0;
}
.woocommerce table dl,
.woocommerce table .wc-item-meta {
  margin-left: 0;
  padding-left: 0;
  font-size: 1.376rem;
}
.woocommerce table dl dt,
.woocommerce table dl strong,
.woocommerce table .wc-item-meta dt,
.woocommerce table .wc-item-meta strong {
  font-weight: 400;
}
.woocommerce table.my_account_orders,
.woocommerce table.woocommerce-table--order-downloads,
.woocommerce table.woocommerce-table--order-details {
  border-radius: var(--bloglo-normal-radius);
  font-size: inherit;
}
.woocommerce table.my_account_orders th,
.woocommerce table.my_account_orders td,
.woocommerce table.woocommerce-table--order-downloads th,
.woocommerce table.woocommerce-table--order-downloads td,
.woocommerce table.woocommerce-table--order-details th,
.woocommerce table.woocommerce-table--order-details td {
  padding: 1.5rem 2rem;
  font-weight: 400 !important;
}
.woocommerce table.my_account_orders strong,
.woocommerce table.woocommerce-table--order-downloads strong,
.woocommerce table.woocommerce-table--order-details strong {
  font-weight: 400 !important;
}
.woocommerce table.my_account_orders thead th,
.woocommerce table.woocommerce-table--order-downloads thead th,
.woocommerce table.woocommerce-table--order-details thead th {
  color: #232323;
  font-weight: 400;
  font-size: 1.2rem;
  background-color: rgba(190, 190, 190, 0.2);
}
.woocommerce table .button {
  height: 4rem !important;
  padding: 0 3.2rem !important;
  font-size: 1.3rem !important;
}
.woocommerce-Addresses header.title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 1.6rem;
}
.woocommerce-Addresses header.title a.edit {
  margin-left: 2rem;
  -webkit-box-shadow: none;
  box-shadow: none;
  font-size: 1.3rem;
}
.widget.woocommerce ul.product_list_widget li .product-title {
  display: block;
  padding-top: 0.4rem;
  line-height: 1.5;
}
.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item
  a,
.widget.woocommerce .wc-layered-nav-rating a {
  position: relative;
  padding-left: 2.7rem;
}
.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item
  a:before,
.widget.woocommerce .wc-layered-nav-rating a:before {
  content: "" !important;
  border: 0.2rem solid currentColor;
  border-radius: var(--bloglo-normal-radius);
  background: none;
  clear: none;
  cursor: pointer;
  line-height: 0;
  outline: 0;
  padding: 0 !important;
  text-align: center;
  vertical-align: middle;
  height: 1.7rem;
  width: 1.7rem;
  min-width: 1.7rem;
  opacity: 0.65;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item
  a:after,
.widget.woocommerce .wc-layered-nav-rating a:after {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M0 17.824l3.203-3.203 8.008 8.008L28.828 5.012l3.203 3.203-20.82 20.82z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M0 17.824l3.203-3.203 8.008 8.008L28.828 5.012l3.203 3.203-20.82 20.82z"/></svg>');
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0.3rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 1.1rem;
  opacity: 0;
}
.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item.chosen
  a,
.widget.woocommerce .wc-layered-nav-rating.chosen a {
  font-weight: 600;
}
.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item.chosen
  a:before,
.widget.woocommerce
  .woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item.chosen
  a:after,
.widget.woocommerce .wc-layered-nav-rating.chosen a:before,
.widget.woocommerce .wc-layered-nav-rating.chosen a:after {
  opacity: 1;
}
.widget.woocommerce .wc-layered-nav-rating a {
  -webkit-transition: none !important;
  transition: none !important;
  min-height: 2.5rem;
}
.widget.woocommerce .wc-layered-nav-rating a .star-rating {
  position: relative;
  top: -0.1rem;
  margin: 0;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.widget.woocommerce .product-categories li .count,
.widget.woocommerce .wc-layered-nav-term .count,
.widget.woocommerce .wc-layered-nav-rating em {
  font-style: normal;
  margin-left: auto;
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  right: 0;
  top: 0.3rem;
  background-color: rgba(145, 145, 145, 0.1);
  min-width: 2.4rem;
  min-height: 2.4rem;
  padding: 0.5rem 0.8rem;
  border-radius: 4rem;
  line-height: 1;
  font-size: 1.386rem;
  font-weight: 400;
  pointer-events: none;
}
.widget.woocommerce .wc-layered-nav-rating a:hover em,
.widget.woocommerce .wc-layered-nav-rating.chosen a em {
  color: #fff;
}
.widget.woocommerce .product-categories li,
.widget.woocommerce .wc-layered-nav-term {
  position: relative;
}
.widget.woocommerce .product-categories li a,
.widget.woocommerce .wc-layered-nav-term a {
  display: block;
}
.widget.woocommerce .product-categories li a:hover ~ .count,
.widget.woocommerce .wc-layered-nav-term a:hover ~ .count {
  color: #fff;
}
.widget.woocommerce .product-categories li.chosen > .count,
.widget.woocommerce .wc-layered-nav-term.chosen > .count {
  color: #fff;
}
.widget.woocommerce .product-categories li.current-cat > a {
  font-weight: 600;
}
.widget.woocommerce .product-categories li.current-cat > .count {
  color: #fff;
}
.widget.woocommerce .reviewer {
  font-size: 1.386rem;
}
.woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item,
.widget_rating_filter .wc-layered-nav-rating {
  padding: 0;
  margin-bottom: 1rem;
}
.woocommerce-widget-layered-nav-list
  .woocommerce-widget-layered-nav-list__item:last-child,
.widget_rating_filter .wc-layered-nav-rating:last-child {
  margin-bottom: 0;
}
.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li {
  padding: 0;
  margin-bottom: 2rem;
}
.woocommerce ul.cart_list li:last-child,
.woocommerce ul.product_list_widget li:last-child {
  margin-bottom: 0;
}
.woocommerce ul.cart_list li ins,
.woocommerce ul.product_list_widget li ins {
  text-decoration: none;
  font-weight: 500;
}
.woocommerce ul.cart_list li del,
.woocommerce ul.product_list_widget li del {
  opacity: 1;
  color: #afafaf;
}
.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
  float: left;
  width: 7rem;
  margin-left: 0;
  margin-right: 1.5rem;
  border-radius: var(--bloglo-normal-radius);
}
.woocommerce ul.cart_list li a,
.woocommerce ul.product_list_widget li a {
  font-weight: 500;
}
.woocommerce ul.cart_list li a:hover .product-title,
.woocommerce ul.product_list_widget li a:hover .product-title {
  color: inherit;
}
.woocommerce ul.cart_list li .product-title,
.woocommerce ul.product_list_widget li .product-title {
  color: #232323;
}
.woocommerce ul.cart_list li .star-rating,
.woocommerce ul.product_list_widget li .star-rating {
  display: block;
  margin: 0.5rem 0;
}
.woocommerce ul.product_list_widget li .product-title {
  color: inherit;
}
.woocommerce .widget_price_filter .ui-slider-horizontal {
  height: 0.2rem;
}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background-color: #e4e4e4;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.woocommerce .widget_price_filter .price_slider_amount {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 3rem;
}
.woocommerce .widget_price_filter .price_label {
  font-size: 1.4rem;
  margin-left: auto;
}
.woocommerce .widget_price_filter .price_label span {
  color: #232323;
  font-weight: 500;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  -webkit-transition: -webkit-transform 0.35s
    cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1),
    -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  width: 1.6rem;
  height: 1.6rem;
  z-index: 2;
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-transform-origin: center top;
  -ms-transform-origin: center top;
  transform-origin: center top;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: scale3d(0, 0, 0) translate3d(-50%, -50%, 0);
  transform: scale3d(0, 0, 0) translate3d(-50%, -50%, 0);
  width: 1.6rem;
  height: 1.6rem;
  opacity: 0.125;
  z-index: 1;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  border-radius: 50%;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
  -webkit-transform: scale3d(1.35, 1.35, 1.35) translate3d(0, -50%, 0);
  transform: scale3d(1.35, 1.35, 1.35) translate3d(0, -50%, 0);
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:active:after {
  -webkit-transform: scale3d(0, 0, 0) translate3d(-50%, -50%, 0) !important;
  transform: scale3d(0, 0, 0) translate3d(-50%, -50%, 0) !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:hover:after {
  -webkit-transform: scale3d(2, 2, 1) translate3d(-50%, -50%, 0);
  transform: scale3d(2, 2, 1) translate3d(-50%, -50%, 0);
}
.woocommerce .widget_layered_nav_filters ul {
  margin-top: -0.8rem;
}
.woocommerce .widget_layered_nav_filters ul li {
  display: inline-block;
}
.woocommerce .widget_layered_nav_filters ul a {
  color: inherit;
  display: block;
  float: left;
  text-transform: none;
  letter-spacing: 0;
  border-radius: var(--bloglo-normal-radius);
  padding: 0.8rem 1.2rem;
  margin: 0.8rem 0.8rem 0 0;
  background-color: rgba(145, 145, 145, 0.1);
  line-height: 1;
  font-size: 1.486rem;
}
.woocommerce .widget_layered_nav_filters ul a:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M17.884 15.421l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l7.074-7.074 7.074 7.074c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-7.074-7.074z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M17.884 15.421l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l7.074-7.074 7.074 7.074c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-7.074-7.074z"/></svg>');
  vertical-align: middle !important;
}
.woocommerce .widget_layered_nav_filters ul a:hover,
.woocommerce .widget_layered_nav_filters ul a:hover:before {
  color: #fff !important;
}
.woocommerce #colophon .widget_layered_nav_filters ul a:before {
  bottom: 0 !important;
}
.woocommerce .widget_shopping_cart .woocommerce-mini-cart__total,
.woocommerce.widget_shopping_cart .woocommerce-mini-cart__total {
  margin-top: 2rem;
}
.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total {
  border-top: 0.4rem double rgba(190, 190, 190, 0.3);
  padding: 1.3rem 0 1.4rem;
  text-align: center;
}
.woocommerce .widget_shopping_cart .total strong,
.woocommerce.widget_shopping_cart .total strong {
  font-weight: 500;
}
.woocommerce .widget_shopping_cart .total .amount,
.woocommerce .widget_shopping_cart .total .tax_label,
.woocommerce.widget_shopping_cart .total .amount,
.woocommerce.widget_shopping_cart .total .tax_label {
  font-weight: 600;
}
.woocommerce .widget_shopping_cart .bloglo-cart-buttons,
.woocommerce.widget_shopping_cart .bloglo-cart-buttons {
  border-top: 0.4rem double rgba(190, 190, 190, 0.3);
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}
.woocommerce .widget_shopping_cart .cart_list li,
.woocommerce.widget_shopping_cart .cart_list li {
  color: #232323;
  padding-left: 0;
  position: relative;
}
.woocommerce .widget_shopping_cart .cart_list li a.remove,
.woocommerce.widget_shopping_cart .cart_list li a.remove {
  -webkit-transform: scale3d(0, 0, 0);
  transform: scale3d(0, 0, 0);
  top: 0.3rem;
  right: 1.2rem;
  left: auto;
  color: rgba(0, 0, 0, 0) !important;
  width: 2.4rem;
  height: 2.4rem;
  background: none;
}
.woocommerce .widget_shopping_cart .cart_list li a.remove:after,
.woocommerce.widget_shopping_cart .cart_list li a.remove:after {
  content: "";
  background-color: rgba(190, 190, 190, 0.2);
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  border-radius: 50%;
}
.woocommerce .widget_shopping_cart .cart_list li a.remove:before,
.woocommerce.widget_shopping_cart .cart_list li a.remove:before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M17.884 15.421l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l7.074-7.074 7.074 7.074c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-7.074-7.074z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M17.884 15.421l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l7.074-7.074 7.074 7.074c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-7.074-7.074z"/></svg>');
  content: "";
  height: 1.2rem;
  width: 1.2rem;
  z-index: 2;
  top: 50%;
  left: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.woocommerce .widget_shopping_cart .cart_list li a.remove:hover:after,
.woocommerce.widget_shopping_cart .cart_list li a.remove:hover:after {
  -webkit-transform: scale3d(1.25, 1.25, 1.25);
  transform: scale3d(1.25, 1.25, 1.25);
}
.woocommerce .widget_shopping_cart .cart_list li:hover a.remove,
.woocommerce.widget_shopping_cart .cart_list li:hover a.remove {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}
.woocommerce .widget_shopping_cart .cart_list li .quantity,
.woocommerce.widget_shopping_cart .cart_list li .quantity {
  font-size: 1.3rem;
  display: block;
}
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color {
  margin-bottom: -0.7rem;
}
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li {
  margin-bottom: 0.7rem;
}
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a {
  position: relative;
  border-radius: 50%;
  height: 2.8rem;
  width: 2.8rem;
  border: none;
  margin: 0 0.7rem 0 0;
  overflow: visible;
  text-indent: -999.9rem;
}
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a:before {
  content: "";
  background-color: inherit;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  border-radius: 50%;
  z-index: -1;
}
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li a:hover,
.woocommerce #secondary .widget_layered_nav ul.yith-wcan-color li.chosen a {
  -webkit-box-shadow: inset 0 0 0 0.3rem #fff;
  box-shadow: inset 0 0 0 0.3rem #fff;
}
.woocommerce
  #secondary
  .widget_layered_nav
  ul.yith-wcan-color
  li
  a:hover:before,
.woocommerce
  #secondary
  .widget_layered_nav
  ul.yith-wcan-color
  li.chosen
  a:before {
  -webkit-transform: scale3d(1.15, 1.15, 1.15);
  transform: scale3d(1.15, 1.15, 1.15);
}
.woocommerce
  #secondary
  .widget_layered_nav
  ul.yith-wcan-color
  li.chosen
  a:after {
  line-height: 2.8rem;
  text-align: center;
  content: "\e9fd";
  color: #fff;
  text-indent: 0;
  font-size: 1.2rem;
}
.woocommerce .cart-collaterals h2,
.woocommerce .cart-collaterals h3,
.woocommerce .cart-collaterals h4,
.woocommerce .cart-collaterals h5 {
  margin-top: 0;
}
.woocommerce table.wishlist_table {
  font-size: inherit;
}
.woocommerce table.wishlist_table td.product-add-to-cart a {
  -js-display: flex !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.woocommerce table.wishlist_table a.remove {
  line-height: 2.24rem;
}
.yith-wcwl-share h4.yith-wcwl-share-title {
  margin: 2.5rem 0 1.5rem;
}
.wishlist-title {
  display: none;
}
.woocommerce div.product span.onsale {
  font-size: inherit;
  top: 2rem;
  left: 2rem;
}
.woocommerce div.product div.summary,
.woocommerce div.product div.images {
  margin-bottom: 0;
}
.woocommerce div.product .entry-summary p {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.woocommerce div.product .entry-summary > :last-child {
  margin-bottom: 0;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  margin-bottom: 2rem;
}
.woocommerce div.product .woocommerce-product-gallery {
  -ms-flex-item-align: start;
  align-self: flex-start;
}
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-prev,
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-next {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: calc(50% - 2.5rem - 6.2rem);
  z-index: 2;
  width: 5rem;
  height: 5rem;
  background-color: #fff;
  border-radius: 50%;
}
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-prev {
  left: -2.5rem;
  right: auto;
}
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  .flex-next {
  right: -2.5rem;
  left: auto;
}
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav svg {
  width: 2.2rem;
}
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-direction-nav
  svg
  path {
  fill: #232323 !important;
}
.woocommerce div.product h1.product_title {
  margin-bottom: 0.7rem;
  font-weight: 500;
}
.woocommerce div.product .woocommerce-product-rating {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 0.5rem;
  margin-bottom: 1.6rem;
}
.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link {
  font-size: 1.3rem;
  margin-left: 1.2rem;
  position: relative;
  top: 0.1rem;
}
.woocommerce
  div.product
  .woocommerce-product-rating
  .woocommerce-review-link:hover {
  text-decoration: underline;
}
.woocommerce div.product form.cart {
  margin: 3rem 0;
}
.woocommerce div.product form.cart div.quantity {
  margin-right: 1.4rem;
}
.woocommerce div.product form.cart .variations {
  margin: 0;
  margin: 0 0 2rem 0;
}
.woocommerce div.product form.cart .variations select {
  min-width: auto;
  width: 100%;
  max-width: 22rem;
}
.woocommerce div.product form.cart .variations td {
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}
.woocommerce div.product form.cart .variations td.label {
  width: 10.1rem;
  line-height: 1.5;
  vertical-align: middle;
}
.woocommerce div.product form.cart .variations td.label label {
  font-weight: 500;
  margin-bottom: 0;
}
.woocommerce div.product form.cart .variations_button {
  margin-top: 3rem;
}
.woocommerce div.product form.cart .woocommerce-variation p {
  margin-top: 0;
}
.woocommerce div.product form.cart .woocommerce-variation-description p {
  margin-top: 0;
  font-size: 1.4rem;
}
.woocommerce div.product form.cart .woocommerce-variation-availability {
  margin-bottom: 0;
}
.woocommerce div.product form.cart .woocommerce-variation-price .price {
  font-size: 2rem;
}
.woocommerce div.product form.cart .group_table {
  margin-top: 0;
}
.woocommerce div.product form.cart .group_table td {
  vertical-align: middle;
  padding: 1rem 0;
}
.woocommerce div.product form.cart .group_table td:first-child {
  min-width: 16rem;
  padding-left: 2rem;
  text-align: left;
}
.woocommerce div.product form.cart .group_table td label {
  margin: 0;
  font-weight: 500;
  font-size: inherit;
}
.woocommerce div.product form.cart .group_table td del {
  color: #afafaf;
  opacity: 1;
}
.woocommerce div.product form.cart .group_table td ins {
  text-decoration: none;
}
.woocommerce div.product form.cart .group_table .button {
  background: none;
  padding: 0 !important;
  min-height: auto;
  height: auto !important;
  font-size: inherit !important;
  padding: 0;
  color: inherit;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  margin-top: 0.7rem;
  font-size: 2.6rem;
}
.woocommerce div.product p.price del,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price del,
.woocommerce div.product span.price ins {
  font-weight: 400;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  opacity: 0.75;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none;
}
.woocommerce div.product p.stock {
  font-size: 1.4rem;
  font-weight: 500;
  margin: 0;
}
.woocommerce div.product .bloglo-wc-product-wrap {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 5rem;
}
.woocommerce div.product .bloglo-wc-product-wrap .images {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  margin-right: 5rem;
  max-width: 100%;
}
.woocommerce div.product .bloglo-wc-product-wrap .images,
.woocommerce div.product .bloglo-wc-product-wrap .entry-summary {
  width: auto !important;
  float: none !important;
}
.woocommerce div.product .bloglo-wc-product-wrap .entry-summary {
  -ms-flex-item-align: start;
  align-self: flex-start;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.woocommerce
  div.product
  div.images.woocommerce-product-gallery--columns-6
  .flex-control-thumbs
  li {
  width: 16.67%;
  -ms-flex-preferred-size: 16.67%;
  flex-basis: 16.67%;
}
.woocommerce
  div.product
  div.images.woocommerce-product-gallery--columns-5
  .flex-control-thumbs
  li {
  width: 20%;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
}
.woocommerce
  div.product
  div.images.woocommerce-product-gallery--columns-4
  .flex-control-thumbs
  li {
  width: 25%;
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
}
.woocommerce
  div.product
  div.images.woocommerce-product-gallery--columns-3
  .flex-control-thumbs
  li {
  width: 33%;
  -ms-flex-preferred-size: 33%;
  flex-basis: 33%;
}
.woocommerce
  div.product
  div.images.woocommerce-product-gallery--columns-2
  .flex-control-thumbs
  li {
  width: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}
.woocommerce div.product div.images .flex-control-thumbs {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 0.8rem;
  margin-left: -0.2rem;
  margin-right: -0.2rem;
}
.woocommerce div.product div.images .flex-control-thumbs li {
  padding: 0.2rem;
  clear: none !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
  opacity: 1;
  padding: 0.2rem;
  border: 0.2rem solid rgba(0, 0, 0, 0);
  display: block;
  border-radius: var(--bloglo-normal-radius);
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  max-width: initial;
}
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__wrapper
  > div {
  border-radius: var(--bloglo-normal-radius);
}
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__wrapper
  > div
  img {
  border-radius: var(--bloglo-normal-radius);
}
.woocommerce div.product .woocommerce-tabs {
  margin-bottom: 4rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  text-align: center;
}
.woocommerce div.product .woocommerce-tabs ul.tabs:before,
.woocommerce div.product .woocommerce-tabs ul.tabs:after {
  position: absolute;
  bottom: auto;
  right: auto;
  top: 0;
  display: block;
  width: 100%;
  height: 0.1rem;
  border: 0 !important;
  background: rgba(190, 190, 190, 0.3);
  content: "";
}
.woocommerce div.product .woocommerce-tabs ul.tabs:after {
  top: auto;
  bottom: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none;
  background: none;
  border-radius: 0;
  margin: 0 1.6rem;
  padding: 2rem 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:not(.active) a:hover {
  color: #232323;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active > a:before {
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: scale(1, 1) translateZ(0.1rem);
  transform: scale(1, 1) translateZ(0.1rem);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:after {
  content: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-weight: 500;
}
.woocommerce div.product .woocommerce-tabs .wc-tab {
  background-color: rgba(190, 190, 190, 0.2);
  padding: 4rem 0;
  margin-bottom: 0;
}
.woocommerce div.product .woocommerce-tabs .wc-tab > .bloglo-container {
  max-width: 80rem;
}
.woocommerce
  div.product
  .woocommerce-tabs
  .wc-tab
  > .bloglo-container
  > h2:first-child {
  display: none;
}
.woocommerce div.product .woocommerce-tabs .wc-tab > .bloglo-container p {
  margin-top: 0;
}
.woocommerce
  div.product
  .woocommerce-tabs
  .wc-tab
  > .bloglo-container
  p:last-child {
  margin-bottom: 0;
}
.woocommerce div.product .woocommerce-tabs table.shop_attributes {
  background: #fff;
  font-size: 1.4rem;
}
.woocommerce div.product .woocommerce-tabs table.shop_attributes tr {
  background: none;
}
.woocommerce div.product .woocommerce-tabs table.shop_attributes th,
.woocommerce div.product .woocommerce-tabs table.shop_attributes td {
  padding: 1rem 2rem;
  border-top: none;
  border-bottom: none;
}
.woocommerce div.product .woocommerce-tabs table.shop_attributes th {
  border-right: 0.1rem solid rgba(190, 190, 190, 0.3);
}
.woocommerce div.product .woocommerce-tabs table.shop_attributes td {
  font-style: normal;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  position: absolute;
  right: 2rem;
  top: 2rem;
  width: 4rem;
  height: 4rem;
  font-size: 1.6rem;
  background: none;
  text-indent: 0;
  z-index: 1;
  text-indent: -9999.9rem;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger img {
  display: none !important;
}
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:before {
  border-radius: 50%;
  content: "";
  border: none !important;
  z-index: 1;
  -webkit-transition: var(--bloglo-transition-primary);
  transition: var(--bloglo-transition-primary);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.3);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:hover:before {
  -webkit-transform: scale(1.25);
  -ms-transform: scale(1.25);
  transform: scale(1.25);
}
.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__trigger:after {
  content: "";
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.229 2.876a1.6 1.6 0 00-.667-.667c-.133-.133-.4-.133-.534-.133H20.02c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h4.805l-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l7.074-7.074v4.805c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335V3.411c0-.133 0-.4-.133-.534zm-16.817 14.28L5.338 24.23v-4.805c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.008c0 .133 0 .4.133.534.133.267.4.534.667.667.133.133.4.133.534.133h8.008c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H7.205l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.229 2.876a1.6 1.6 0 00-.667-.667c-.133-.133-.4-.133-.534-.133H20.02c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h4.805l-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l7.074-7.074v4.805c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335V3.411c0-.133 0-.4-.133-.534zm-16.817 14.28L5.338 24.23v-4.805c0-.801-.534-1.335-1.335-1.335s-1.335.534-1.335 1.335v8.008c0 .133 0 .4.133.534.133.267.4.534.667.667.133.133.4.133.534.133h8.008c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H7.205l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0z"/></svg>');
  color: #fff;
  z-index: 2;
  text-indent: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells > h2 {
  margin-top: 5rem;
  margin-bottom: 2.4rem;
  text-align: center;
}
.woocommerce div.product .product_meta {
  padding: 1.6rem 0;
  margin: 4rem 0;
  border-top: 0.1rem solid rgba(190, 190, 190, 0.3);
  border-bottom: 0.1rem solid rgba(190, 190, 190, 0.3);
}
.woocommerce div.product .product_meta .bloglo-woo-meta-title {
  min-width: 11rem;
  display: inline-block;
}
.woocommerce div.product .product_meta > span {
  display: block;
}
.woocommerce div.product .product_meta > span a:hover {
  color: inherit;
}
.woocommerce div.product #reviews #comments {
  margin-top: 0;
}
.woocommerce div.product #reviews #comments h2 {
  margin-top: 0;
  margin-bottom: 4rem;
  text-align: center;
}
.woocommerce div.product #reviews #comments .woocommerce-noreviews {
  text-align: center;
  margin-top: -rem(30px);
}
.woocommerce div.product #reviews #comments ol.commentlist li img.avatar {
  display: block;
  position: absolute;
  z-index: 1;
  left: 2.5rem;
  top: 2.5rem;
  max-width: 50px;
  border-radius: 50%;
  width: initial;
  height: initial;
  padding: 0;
  border: none;
}
.woocommerce div.product #reviews #comments ol.commentlist li .comment-text {
  padding: 0;
  border: none;
  margin: 0;
}
.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p:last-child {
  margin-bottom: 0;
}
.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p.meta {
  font-size: 1.6rem;
}
.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p.meta
  strong {
  font-weight: 500;
  font-size: 1.6rem;
  color: #232323;
}
.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p.meta
  span,
.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p.meta
  em,
.woocommerce
  div.product
  #reviews
  #comments
  ol.commentlist
  li
  .comment-text
  p.meta
  time {
  font-size: 1.376rem;
}
.woocommerce div.product #reviews #comments .comment_container {
  background-color: #fff;
}
.woocommerce div.product #reviews #respond {
  margin-top: 4rem;
}
.woocommerce div.product #reviews #respond p {
  margin: 0 0 2rem;
}
.woocommerce div.product #reviews #respond p:last-child {
  margin-bottom: 0;
}
.woocommerce div.product #reviews .comment-form-rating {
  margin-bottom: 2.4rem;
}
.woocommerce div.product #reviews .comment-form-rating label {
  display: block;
}
.woocommerce div.product #reviews .comment-form-rating .stars {
  display: inline-block;
  line-height: 1;
  font-size: 2rem;
  margin-bottom: 0 !important;
}
.woocommerce div.product #reviews .comment-form-rating .stars a {
  width: 1.84rem;
}
.woocommerce div.product #reviews #reply-title {
  margin-bottom: 2rem;
}
.woocommerce div.product .woocommerce-pagination ul {
  border: none;
}
.woocommerce div.product .woocommerce-pagination ul li {
  border: none;
}
.woocommerce div.product .woocommerce-pagination ul li a,
.woocommerce div.product .woocommerce-pagination ul li span {
  text-transform: uppercase;
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.2rem;
  width: 4rem;
  height: 4rem;
  text-align: center;
  vertical-align: middle;
  color: inherit;
  border-radius: var(--bloglo-normal-radius);
  font-weight: 600;
  border: 0.2rem solid rgba(0, 0, 0, 0);
  background: none !important;
}
.term-description {
  margin-bottom: 3.2rem;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid rgba(190, 190, 190, 0.3);
}
ul#uploadFileList {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 2rem;
}
ul#uploadFileList li {
  margin: 0;
  padding: 0 0.6rem 0 0;
}
ul#uploadFileList li img {
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: var(--bloglo-normal-radius);
}
#do_uploadFile {
  display: inline-block;
  width: auto;
  margin-left: 1rem;
  min-height: 3rem;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: #232323;
  text-shadow: none;
  color: #fff !important;
  border: none;
  border-radius: var(--bloglo-normal-radius);
  padding: 0 1.4rem;
}
.review_thumbnail {
  padding: 0.4rem 0;
}
.review_thumbnail a {
  margin: 0.6rem 0.6rem 0.6rem 0;
  vertical-align: middle;
  display: inline-block;
}
.review_thumbnail a img.ywar_thumbnail {
  display: block;
  padding: 0;
  border-radius: var(--bloglo-normal-radius);
}
.ywar_review_count {
  margin-left: 1.6rem;
}
.ywar_review_row span {
  color: #232323 !important;
}
.reviews_bar {
  margin: 2rem 0;
}
.yith-woocommerce-advanced-reviews #submit {
  font-size: inherit !important;
}
.wishlist_table .add_to_cart,
a.add_to_wishlist.button.alt {
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: var(--bloglo-normal-radius);
  padding: 0.8rem 3.2rem;
  font-weight: 500;
  font-size: 1.3rem;
  min-height: 4rem;
}
.term-description > h1:first-child,
.term-description > h2:first-child,
.term-description > h3:first-child,
.term-description > h4:first-child,
.term-description > h5:first-child,
.term-description > h6:first-child,
.term-description > p:first-child,
.term-description > ul:first-child,
.term-description > ol:first-child {
  margin-top: 0;
}
.term-description > h1:last-child,
.term-description > h2:last-child,
.term-description > h3:last-child,
.term-description > h4:last-child,
.term-description > h5:last-child,
.term-description > h6:last-child,
.term-description > p:last-child,
.term-description > ul:last-child,
.term-description > ol:last-child {
  margin-bottom: 0;
}
.wc-block-grid__products {
  list-style: none;
}
.pswp__caption__center {
  text-align: center;
}
@media screen and (max-width: 480px) {
  .woocommerce ul.products[class*="columns-"] li.product,
  .woocommerce-page ul.products[class*="columns-"] li.product {
    width: 100%;
    float: none;
  }
}
@media screen and (max-width: 768px) {
  .woocommerce #yith-wcwl-form table.shop_table tr,
  .woocommerce .woocommerce-cart-form table.shop_table tr,
  .woocommerce .woocommerce-checkout-review-order table.shop_table tr {
    border-bottom: solid 0.3rem rgba(190, 190, 190, 0.2);
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .woocommerce #yith-wcwl-form table.shop_table tr:last-child,
  .woocommerce .woocommerce-cart-form table.shop_table tr:last-child,
  .woocommerce
    .woocommerce-checkout-review-order
    table.shop_table
    tr:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .woocommerce .coupon {
    background: rgba(190, 190, 190, 0.2);
    padding: 1.6rem !important;
    border-radius: var(--bloglo-normal-radius);
    margin-bottom: 3.2rem;
  }
  .woocommerce .product-remove {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
  }
  .woocommerce .product-remove:before {
    display: inline-block !important;
    content: attr(data-title) ": ";
    font-weight: 700;
    float: left;
  }
  .woocommerce .product-remove a {
    margin-left: auto;
  }
  .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
  .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background: none;
  }
  .woocommerce ul.products {
    margin-top: 0;
  }
}
@media screen and (max-width: 960px) {
  #main .woocommerce-MyAccount-navigation {
    width: 100%;
    margin-bottom: 3rem;
  }
  .woocommerce div.product .woocommerce-product-gallery .flex-direction-nav {
    display: none;
  }
  .woocommerce div.product .bloglo-wc-product-wrap .images {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-right: 0;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 599px) {
  .woocommerce div.product #reviews #comments ol.commentlist li img.avatar {
    display: none;
  }
}
assets/css/compatibility/elementor.min.css000064400000003570152425655550015020 0ustar00.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget {border-radius: 3px;border: 1px solid rgba(190, 190, 190, 0.3);}.elementor-text-editor > *:first-child {margin-top: 0;}.elementor-text-editor > *:last-child {margin-bottom: 0;}.bloglo-sidebar-style-2 .elementor-widget-sidebar .widget-title {padding-left: 1rem;}.bloglo-sidebar-style-2 .elementor-widget-sidebar .widget-title:before {content: "";position: absolute;top: 16%;left: 0;display: inline-block;width: 3px;height: 70%;}.bloglo-sidebar-style-2 .elementor-widget-sidebar .widget-title:after, .bloglo-sidebar-style-3 .elementor-widget-sidebar .widget-title:after {content: "";position: absolute;top: 50%;width: 100%;height: 1px;background-color: rgba(190, 190, 190, 0.3);margin-left: 1.25rem;-webkit-transform-style: preserve-3d;}.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget {border: solid 1px rgba(190, 190, 190, 0.3);border-radius: 3px;margin-bottom: 20px;padding: 25px;}.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget:last-child {margin-bottom: 0;}.bloglo-sidebar-style-3 .elementor-widget-sidebar .widget-title {border-left-style: solid;border-left-width: 2px;margin-left: -26px;padding-left: 22px;}.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget {margin-bottom: 20px;}.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget.widget_media_image {padding: 0;overflow: hidden;}.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 .elementor-widget-sidebar .widget_media_image .widget-title {padding-left: 25px;margin-left: 0;margin-top: 20px;}@media screen and (max-width: 960px) {.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget {background: none !important;-webkit-box-shadow: none;box-shadow: none;border: none;margin-bottom: 40px;}}assets/css/compatibility/elementor.css000064400000005446152425655550014242 0ustar00/* ==========================================================================
*  Elementor styles.
*  ========================================================================== */
.bloglo-layout__boxed-separated.bloglo-sidebar-style-3
  .elementor-widget-sidebar
  .bloglo-widget {
  border-radius: 3px;
  border: 1px solid rgba(190, 190, 190, 0.3);
}

/*****************************************/
/* Responsive styles.
/*****************************************/
/* 
  ##Device = Most of the smartphones (portrait)
  ##Screen = 480px and under.
*/
/* 
  ##Device = Most of the tablets (portrait)
  ##Screen = Between 481px and 768px.
*/
/* 
  ##Device = Most of the tablets and smartphones
  ##Screen = 768px and under.
*/
/* 
  ##Device = Desktops and landscape tablets
  ##Screen = 769px and upper.
*/
/* 
  ##Device = Large desktops and upper (incl. iPad Pro in landscape mode)
  ##Screen = 1281px and upper.
*/
.elementor-text-editor > *:first-child {
  margin-top: 0;
}

.elementor-text-editor > *:last-child {
  margin-bottom: 0;
}

.bloglo-sidebar-style-2 .elementor-widget-sidebar .widget-title {
  padding-left: 1rem;
}

.bloglo-sidebar-style-2 .elementor-widget-sidebar .widget-title:before {
  content: "";
  position: absolute;
  top: 16%;
  left: 0;
  display: inline-block;
  width: 3px;
  height: 70%;
}

.bloglo-sidebar-style-2 .elementor-widget-sidebar .widget-title:after,
.bloglo-sidebar-style-3 .elementor-widget-sidebar .widget-title:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 100%;
  height: 1px;
  background-color: rgba(190, 190, 190, 0.3);
  margin-left: 1.25rem;
  -webkit-transform-style: preserve-3d;
}

.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget {
  border: solid 1px rgba(190, 190, 190, 0.3);
  border-radius: 3px;
  margin-bottom: 20px;
  padding: 25px;
}

.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget:last-child {
  margin-bottom: 0;
}

.bloglo-sidebar-style-3 .elementor-widget-sidebar .widget-title {
  border-left-style: solid;
  border-left-width: 2px;
  margin-left: -26px;
  padding-left: 22px;
}

.bloglo-layout__boxed-separated.bloglo-sidebar-style-3
  .elementor-widget-sidebar
  .bloglo-widget {
  margin-bottom: 20px;
}

.bloglo-layout__boxed-separated.bloglo-sidebar-style-3
  .elementor-widget-sidebar
  .bloglo-widget.widget_media_image {
  padding: 0;
  overflow: hidden;
}

.bloglo-layout__boxed-separated.bloglo-sidebar-style-3
  .elementor-widget-sidebar
  .widget_media_image
  .widget-title {
  padding-left: 25px;
  margin-left: 0;
  margin-top: 20px;
}

@media screen and (max-width: 960px) {
  .bloglo-layout__boxed-separated.bloglo-sidebar-style-3
    .elementor-widget-sidebar
    .bloglo-widget {
    background: none !important;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    margin-bottom: 40px;
  }
}
assets/css/compatibility/elementor-editor-style.min.css000064400000000111152425655550017426 0ustar00#elementor ul.elementor-editor-element-settings{margin:0;list-style:none}assets/css/compatibility/elementor-editor-style.css000064400000000420152425655550016647 0ustar00/* ==========================================================================
*  Elementor editor styles.
*  ========================================================================== */
#elementor ul.elementor-editor-element-settings {
  margin: 0;
  list-style: none;
}
assets/js/bloglo-wc.min.js000064400000005262152425655550011512 0ustar00"use strict";!function(o){var e=!1,t=o("body"),n=o("#page"),r={init:function(){o(document).ready(r.ready),o(document).ajaxComplete(r.ajaxComplete),t.on("added_to_cart",r.addedToCart),r.bindUIActions()},ready:function(){r.customDropdown(),r.quantButtons()},ajaxComplete:function(){r.quantButtons()},addedToCart:function(){r.showCartDropdown()},bindUIActions:function(){r.removeCartItem()},quantButtons:function(){var e,t,n,r,a=o("div.quantity:not(.appended), td.quantity:not(.appended)").find(".qty");a.length&&"date"!==a.prop("type")&&"hidden"!==a.prop("type")&&(a.parent().addClass("appended"),a.after('<a href="#" class="bloglo-woo-minus">-</a><a href="#" class="bloglo-woo-plus">+</a>'),o(".bloglo-woo-plus, .bloglo-woo-minus").unbind("click"),o(".bloglo-woo-plus, .bloglo-woo-minus").on("click",function(l){l.preventDefault(),r=o(this),n=r.parent().find("input"),t=n.val(),e=0,r.hasClass("bloglo-woo-plus")?e=parseInt(t)+1:t>0&&(e=parseInt(t)-1),n.val(e),a.trigger("change")}))},showCartDropdown:function(){o(".bloglo-header-widget__cart").length&&(o(".bloglo-header-widget__cart").addClass("dropdown-visible"),setTimeout(function(){o("#bloglo-header-inner").find(".bloglo-cart").find(".bloglo-cart-count").addClass("animate-pop")},100),e&&(clearTimeout(e),e=!1),e=setTimeout(function(){o(".bloglo-header-widget__cart").removeClass("dropdown-visible").find(".dropdown-item").removeAttr("style")},5e3))},customDropdown:function(){if(o("form.woocommerce-ordering").length){var e=o("form.woocommerce-ordering .orderby"),t=o("form.woocommerce-ordering"),n=o("form.woocommerce-ordering .orderby option:selected").text();t.append('<span id="bloglo-orderby"><span>'+n+'</span><svg class="bloglo-icon" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.958 10.483a1.29 1.29 0 00-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l8.008 8.008c.267.267.667.4.934.4s.667-.133.934-.4l8.008-8.008a1.29 1.29 0 000-1.868z"/></svg></span>'),e.addClass("custom-select-loaded");var r=o("#bloglo-orderby");e.width(r.width()).css("height",r.height()+"px"),e.change(function(){r.find("span").html(o("form.woocommerce-ordering .orderby option:selected").text()),o(this).width(r.width())})}},removeCartItem:function(){var e;o(".bloglo-remove-cart-item").length&&n.on("click",".bloglo-remove-cart-item",function(n){n.preventDefault(),(e=o(this)).closest(".bloglo-cart-item").addClass("removing");var r={action:"bloglo_remove_wc_cart_item",_ajax_nonce:bloglo_vars.nonce,product_key:e.data("product_key")};o.post(bloglo_vars.ajaxurl,r,function(o){o.success?t.trigger("wc_fragment_refresh"):e.closest(".bloglo-cart-item").removeClass("removing")})})}};r.init(),window.bloglo_wc=r}(jQuery);assets/js/vendors/html5.min.js000064400000007740152425655550012341 0ustar00/**
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
!function(window,document){var supportsHtml5Styles,supportsUnknownElements,options=window.html5||{},reSkip=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,saveClones=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,expanID=0,expandoData={};function getElements(){var elements=html5.elements;return"string"==typeof elements?elements.split(" "):elements}function getExpandoData(ownerDocument){var data=expandoData[ownerDocument._html5shiv];return data||(data={},expanID++,ownerDocument._html5shiv=expanID,expandoData[expanID]=data),data}function createElement(nodeName,ownerDocument,data){return ownerDocument||(ownerDocument=document),supportsUnknownElements?ownerDocument.createElement(nodeName):(data||(data=getExpandoData(ownerDocument)),!(node=data.cache[nodeName]?data.cache[nodeName].cloneNode():saveClones.test(nodeName)?(data.cache[nodeName]=data.createElem(nodeName)).cloneNode():data.createElem(nodeName)).canHaveChildren||reSkip.test(nodeName)||node.tagUrn?node:data.frag.appendChild(node));var node}function shivDocument(ownerDocument){ownerDocument||(ownerDocument=document);var data=getExpandoData(ownerDocument);return!html5.shivCSS||supportsHtml5Styles||data.hasCSS||(data.hasCSS=!!function(ownerDocument,cssText){var p=ownerDocument.createElement("p"),parent=ownerDocument.getElementsByTagName("head")[0]||ownerDocument.documentElement;return p.innerHTML="x<style>"+cssText+"</style>",parent.insertBefore(p.lastChild,parent.firstChild)}(ownerDocument,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),supportsUnknownElements||function(ownerDocument,data){data.cache||(data.cache={},data.createElem=ownerDocument.createElement,data.createFrag=ownerDocument.createDocumentFragment,data.frag=data.createFrag()),ownerDocument.createElement=function(nodeName){return html5.shivMethods?createElement(nodeName,ownerDocument,data):data.createElem(nodeName)},ownerDocument.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+getElements().join().replace(/[\w\-:]+/g,(function(nodeName){return data.createElem(nodeName),data.frag.createElement(nodeName),'c("'+nodeName+'")'}))+");return n}")(html5,data.frag)}(ownerDocument,data),ownerDocument}!function(){try{var a=document.createElement("a");a.innerHTML="<xyz></xyz>",supportsHtml5Styles="hidden"in a,supportsUnknownElements=1==a.childNodes.length||function(){document.createElement("a");var frag=document.createDocumentFragment();return void 0===frag.cloneNode||void 0===frag.createDocumentFragment||void 0===frag.createElement}()}catch(e){supportsHtml5Styles=!0,supportsUnknownElements=!0}}();var html5={elements:options.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:"3.7.3",shivCSS:!1!==options.shivCSS,supportsUnknownElements:supportsUnknownElements,shivMethods:!1!==options.shivMethods,type:"default",shivDocument:shivDocument,createElement:createElement,createDocumentFragment:function(ownerDocument,data){if(ownerDocument||(ownerDocument=document),supportsUnknownElements)return ownerDocument.createDocumentFragment();for(var clone=(data=data||getExpandoData(ownerDocument)).frag.cloneNode(),i=0,elems=getElements(),l=elems.length;i<l;i++)clone.createElement(elems[i]);return clone},addElements:function(newElements,ownerDocument){var elements=html5.elements;"string"!=typeof elements&&(elements=elements.join(" ")),"string"!=typeof newElements&&(newElements=newElements.join(" ")),html5.elements=elements+" "+newElements,shivDocument(ownerDocument)}};window.html5=html5,shivDocument(document),"object"==typeof module&&module.exports&&(module.exports=html5)}("undefined"!=typeof window?window:this,document);assets/js/vendors/jquery.marquee.min.js000064400000021505152425655550014260 0ustar00(function(factory){"use strict";if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof exports!=="undefined"){module.exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){$.fn.marquee=function(options){return this.each(function(){var o=$.extend({},$.fn.marquee.defaults,options),$this=$(this),$marqueeWrapper,containerWidth,animationCss,verticalDir,elWidth,loopCount=3,playState="animation-play-state",css3AnimationIsSupported=false,_prefixedEvent=function(element,type,callback){var pfx=["webkit","moz","MS","o",""];for(var p=0;p<pfx.length;p++){if(!pfx[p])type=type.toLowerCase();element.addEventListener(pfx[p]+type,callback,false)}},_objToString=function(obj){var tabjson=[];for(var p in obj){if(obj.hasOwnProperty(p)){tabjson.push(p+":"+obj[p])}}tabjson.push();return"{"+tabjson.join(",")+"}"},_startAnimationWithDelay=function(){$this.timer=setTimeout(animate,o.delayBeforeStart)},methods={pause:function(){if(css3AnimationIsSupported&&o.allowCss3Support){$marqueeWrapper.css(playState,"paused")}else{if($.fn.pause){$marqueeWrapper.pause()}}$this.data("runningStatus","paused");$this.trigger("paused")},resume:function(){if(css3AnimationIsSupported&&o.allowCss3Support){$marqueeWrapper.css(playState,"running")}else{if($.fn.resume){$marqueeWrapper.resume()}}$this.data("runningStatus","resumed");$this.trigger("resumed")},toggle:function(){methods[$this.data("runningStatus")==="resumed"?"pause":"resume"]()},destroy:function(){clearTimeout($this.timer);$this.find("*").addBack().off();$this.html($this.find(".js-marquee:first").html())}};if(typeof options==="string"){if($.isFunction(methods[options])){if(!$marqueeWrapper){$marqueeWrapper=$this.find(".js-marquee-wrapper")}if($this.data("css3AnimationIsSupported")===true){css3AnimationIsSupported=true}methods[options]()}return}var dataAttributes={},attr;$.each(o,function(key){attr=$this.attr("data-"+key);if(typeof attr!=="undefined"){switch(attr){case"true":attr=true;break;case"false":attr=false;break}o[key]=attr}});if(o.speed){o.duration=parseInt($this.width(),10)/o.speed*1e3}verticalDir=o.direction==="up"||o.direction==="down";o.gap=o.duplicated?parseInt(o.gap):0;$this.wrapInner('<div class="js-marquee"></div>');var $el=$this.find(".js-marquee").css({"margin-right":o.gap,float:"left"});if(o.duplicated){$el.clone(true).appendTo($this)}$this.wrapInner('<div style="width:100000px" class="js-marquee-wrapper"></div>');$marqueeWrapper=$this.find(".js-marquee-wrapper");if(verticalDir){var containerHeight=$this.height();$marqueeWrapper.removeAttr("style");$this.height(containerHeight);$this.find(".js-marquee").css({float:"none","margin-bottom":o.gap,"margin-right":0});if(o.duplicated){$this.find(".js-marquee:last").css({"margin-bottom":0})}var elHeight=$this.find(".js-marquee:first").height()+o.gap;if(o.startVisible&&!o.duplicated){o._completeDuration=(parseInt(elHeight,10)+parseInt(containerHeight,10))/parseInt(containerHeight,10)*o.duration;o.duration=parseInt(elHeight,10)/parseInt(containerHeight,10)*o.duration}else{o.duration=(parseInt(elHeight,10)+parseInt(containerHeight,10))/parseInt(containerHeight,10)*o.duration}}else{elWidth=$this.find(".js-marquee:first").width()+o.gap;containerWidth=$this.width();if(o.startVisible&&!o.duplicated){o._completeDuration=(parseInt(elWidth,10)+parseInt(containerWidth,10))/parseInt(containerWidth,10)*o.duration;o.duration=parseInt(elWidth,10)/parseInt(containerWidth,10)*o.duration}else{o.duration=(parseInt(elWidth,10)+parseInt(containerWidth,10))/parseInt(containerWidth,10)*o.duration}}if(o.duplicated){o.duration=o.duration/2}if(o.allowCss3Support){var elm=document.body||document.createElement("div"),animationName="marqueeAnimation-"+Math.floor(Math.random()*1e7),domPrefixes="Webkit Moz O ms Khtml".split(" "),animationString="animation",animationCss3Str="",keyframeString="";if(elm.style.animation!==undefined){keyframeString="@keyframes "+animationName+" ";css3AnimationIsSupported=true}if(css3AnimationIsSupported===false){for(var i=0;i<domPrefixes.length;i++){if(elm.style[domPrefixes[i]+"AnimationName"]!==undefined){var prefix="-"+domPrefixes[i].toLowerCase()+"-";animationString=prefix+animationString;playState=prefix+playState;keyframeString="@"+prefix+"keyframes "+animationName+" ";css3AnimationIsSupported=true;break}}}if(css3AnimationIsSupported){animationCss3Str=animationName+" "+o.duration/1e3+"s "+o.delayBeforeStart/1e3+"s infinite "+o.css3easing;$this.data("css3AnimationIsSupported",true)}}var _rePositionVertically=function(){$marqueeWrapper.css("transform","translateY("+(o.direction==="up"?containerHeight+"px":"-"+elHeight+"px")+")")},_rePositionHorizontally=function(){$marqueeWrapper.css("transform","translateX("+(o.direction==="left"?containerWidth+"px":"-"+elWidth+"px")+")")};if(o.duplicated){if(verticalDir){if(o.startVisible){$marqueeWrapper.css("transform","translateY(0)")}else{$marqueeWrapper.css("transform","translateY("+(o.direction==="up"?containerHeight+"px":"-"+(elHeight*2-o.gap)+"px")+")")}}else{if(o.startVisible){$marqueeWrapper.css("transform","translateX(0)")}else{$marqueeWrapper.css("transform","translateX("+(o.direction==="left"?containerWidth+"px":"-"+(elWidth*2-o.gap)+"px")+")")}}if(!o.startVisible){loopCount=1}}else if(o.startVisible){loopCount=2}else{if(verticalDir){_rePositionVertically()}else{_rePositionHorizontally()}}var animate=function(){if(o.duplicated){if(loopCount===1){o._originalDuration=o.duration;if(verticalDir){o.duration=o.direction==="up"?o.duration+containerHeight/(elHeight/o.duration):o.duration*2}else{o.duration=o.direction==="left"?o.duration+containerWidth/(elWidth/o.duration):o.duration*2}if(animationCss3Str){animationCss3Str=animationName+" "+o.duration/1e3+"s "+o.delayBeforeStart/1e3+"s "+o.css3easing}loopCount++}else if(loopCount===2){o.duration=o._originalDuration;if(animationCss3Str){animationName=animationName+"0";keyframeString=$.trim(keyframeString)+"0 ";animationCss3Str=animationName+" "+o.duration/1e3+"s 0s infinite "+o.css3easing}loopCount++}}if(verticalDir){if(o.duplicated){if(loopCount>2){$marqueeWrapper.css("transform","translateY("+(o.direction==="up"?0:"-"+elHeight+"px")+")")}animationCss={transform:"translateY("+(o.direction==="up"?"-"+elHeight+"px":0)+")"}}else if(o.startVisible){if(loopCount===2){if(animationCss3Str){animationCss3Str=animationName+" "+o.duration/1e3+"s "+o.delayBeforeStart/1e3+"s "+o.css3easing}animationCss={transform:"translateY("+(o.direction==="up"?"-"+elHeight+"px":containerHeight+"px")+")"};loopCount++}else if(loopCount===3){o.duration=o._completeDuration;if(animationCss3Str){animationName=animationName+"0";keyframeString=$.trim(keyframeString)+"0 ";animationCss3Str=animationName+" "+o.duration/1e3+"s 0s infinite "+o.css3easing}_rePositionVertically()}}else{_rePositionVertically();animationCss={transform:"translateY("+(o.direction==="up"?"-"+$marqueeWrapper.height()+"px":containerHeight+"px")+")"}}}else{if(o.duplicated){if(loopCount>2){$marqueeWrapper.css("transform","translateX("+(o.direction==="left"?0:"-"+elWidth+"px")+")")}animationCss={transform:"translateX("+(o.direction==="left"?"-"+elWidth+"px":0)+")"}}else if(o.startVisible){if(loopCount===2){if(animationCss3Str){animationCss3Str=animationName+" "+o.duration/1e3+"s "+o.delayBeforeStart/1e3+"s "+o.css3easing}animationCss={transform:"translateX("+(o.direction==="left"?"-"+elWidth+"px":containerWidth+"px")+")"};loopCount++}else if(loopCount===3){o.duration=o._completeDuration;if(animationCss3Str){animationName=animationName+"0";keyframeString=$.trim(keyframeString)+"0 ";animationCss3Str=animationName+" "+o.duration/1e3+"s 0s infinite "+o.css3easing}_rePositionHorizontally()}}else{_rePositionHorizontally();animationCss={transform:"translateX("+(o.direction==="left"?"-"+elWidth+"px":containerWidth+"px")+")"}}}$this.trigger("beforeStarting");if(css3AnimationIsSupported){$marqueeWrapper.css(animationString,animationCss3Str);var keyframeCss=keyframeString+" { 100%  "+_objToString(animationCss)+"}",$styles=$marqueeWrapper.find("style");if($styles.length!==0){$styles.filter(":last").html(keyframeCss)}else{$("head").append("<style>"+keyframeCss+"</style>")}_prefixedEvent($marqueeWrapper[0],"AnimationIteration",function(){$this.trigger("finished")});_prefixedEvent($marqueeWrapper[0],"AnimationEnd",function(){animate();$this.trigger("finished")})}else{$marqueeWrapper.animate(animationCss,o.duration,o.easing,function(){$this.trigger("finished");if(o.pauseOnCycle){_startAnimationWithDelay()}else{animate()}})}$this.data("runningStatus","resumed")};$this.on("pause",methods.pause);$this.on("resume",methods.resume);if(o.pauseOnHover){$this.on("mouseenter",methods.pause);$this.on("mouseleave",methods.resume)}if(css3AnimationIsSupported&&o.allowCss3Support){animate()}else{_startAnimationWithDelay()}})};$.fn.marquee.defaults={allowCss3Support:true,css3easing:"linear",easing:"linear",delayBeforeStart:1e3,direction:"left",duplicated:false,duration:5e3,speed:0,gap:20,pauseOnCycle:false,pauseOnHover:false,startVisible:false}});assets/js/vendors/flexibility.min.js000064400000036332152425655550013633 0ustar00!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).flexibility=e()}}((function(){return function e(t,r,l){function n(f,i){if(!r[f]){if(!t[f]){var s="function"==typeof require&&require;if(!i&&s)return s(f,!0);if(o)return o(f,!0);var a=new Error("Cannot find module '"+f+"'");throw a.code="MODULE_NOT_FOUND",a}var c=r[f]={exports:{}};t[f][0].call(c.exports,(function(e){var r=t[f][1][e];return n(r||e)}),c,c.exports,e,t,r,l)}return r[f].exports}for(var o="function"==typeof require&&require,f=0;f<l.length;f++)n(l[f]);return n}({1:[function(e,t,r){t.exports=function(e){var t,r,l,n=-1;if(e.lines.length>1&&"flex-start"===e.style.alignContent)for(t=0;l=e.lines[++n];)l.crossStart=t,t+=l.cross;else if(e.lines.length>1&&"flex-end"===e.style.alignContent)for(t=e.flexStyle.crossSpace;l=e.lines[++n];)l.crossStart=t,t+=l.cross;else if(e.lines.length>1&&"center"===e.style.alignContent)for(t=e.flexStyle.crossSpace/2;l=e.lines[++n];)l.crossStart=t,t+=l.cross;else if(e.lines.length>1&&"space-between"===e.style.alignContent)for(r=e.flexStyle.crossSpace/(e.lines.length-1),t=0;l=e.lines[++n];)l.crossStart=t,t+=l.cross+r;else if(e.lines.length>1&&"space-around"===e.style.alignContent)for(t=(r=2*e.flexStyle.crossSpace/(2*e.lines.length))/2;l=e.lines[++n];)l.crossStart=t,t+=l.cross+r;else for(r=e.flexStyle.crossSpace/e.lines.length,t=e.flexStyle.crossInnerBefore;l=e.lines[++n];)l.crossStart=t,l.cross+=r,t+=l.cross}},{}],2:[function(e,t,r){t.exports=function(e){for(var t,r=-1;line=e.lines[++r];)for(t=-1;child=line.children[++t];){var l=child.style.alignSelf;"auto"===l&&(l=e.style.alignItems),"flex-start"===l?child.flexStyle.crossStart=line.crossStart:"flex-end"===l?child.flexStyle.crossStart=line.crossStart+line.cross-child.flexStyle.crossOuter:"center"===l?child.flexStyle.crossStart=line.crossStart+(line.cross-child.flexStyle.crossOuter)/2:(child.flexStyle.crossStart=line.crossStart,child.flexStyle.crossOuter=line.cross,child.flexStyle.cross=child.flexStyle.crossOuter-child.flexStyle.crossBefore-child.flexStyle.crossAfter)}}},{}],3:[function(e,t,r){t.exports=function(e,l){var t="row"===l||"row-reverse"===l,r=e.mainAxis;r?t&&"inline"===r||!t&&"block"===r||(e.flexStyle={main:e.flexStyle.cross,cross:e.flexStyle.main,mainOffset:e.flexStyle.crossOffset,crossOffset:e.flexStyle.mainOffset,mainBefore:e.flexStyle.crossBefore,mainAfter:e.flexStyle.crossAfter,crossBefore:e.flexStyle.mainBefore,crossAfter:e.flexStyle.mainAfter,mainInnerBefore:e.flexStyle.crossInnerBefore,mainInnerAfter:e.flexStyle.crossInnerAfter,crossInnerBefore:e.flexStyle.mainInnerBefore,crossInnerAfter:e.flexStyle.mainInnerAfter,mainBorderBefore:e.flexStyle.crossBorderBefore,mainBorderAfter:e.flexStyle.crossBorderAfter,crossBorderBefore:e.flexStyle.mainBorderBefore,crossBorderAfter:e.flexStyle.mainBorderAfter}):(e.flexStyle=t?{main:e.style.width,cross:e.style.height,mainOffset:e.style.offsetWidth,crossOffset:e.style.offsetHeight,mainBefore:e.style.marginLeft,mainAfter:e.style.marginRight,crossBefore:e.style.marginTop,crossAfter:e.style.marginBottom,mainInnerBefore:e.style.paddingLeft,mainInnerAfter:e.style.paddingRight,crossInnerBefore:e.style.paddingTop,crossInnerAfter:e.style.paddingBottom,mainBorderBefore:e.style.borderLeftWidth,mainBorderAfter:e.style.borderRightWidth,crossBorderBefore:e.style.borderTopWidth,crossBorderAfter:e.style.borderBottomWidth}:{main:e.style.height,cross:e.style.width,mainOffset:e.style.offsetHeight,crossOffset:e.style.offsetWidth,mainBefore:e.style.marginTop,mainAfter:e.style.marginBottom,crossBefore:e.style.marginLeft,crossAfter:e.style.marginRight,mainInnerBefore:e.style.paddingTop,mainInnerAfter:e.style.paddingBottom,crossInnerBefore:e.style.paddingLeft,crossInnerAfter:e.style.paddingRight,mainBorderBefore:e.style.borderTopWidth,mainBorderAfter:e.style.borderBottomWidth,crossBorderBefore:e.style.borderLeftWidth,crossBorderAfter:e.style.borderRightWidth},"content-box"===e.style.boxSizing&&("number"==typeof e.flexStyle.main&&(e.flexStyle.main+=e.flexStyle.mainInnerBefore+e.flexStyle.mainInnerAfter+e.flexStyle.mainBorderBefore+e.flexStyle.mainBorderAfter),"number"==typeof e.flexStyle.cross&&(e.flexStyle.cross+=e.flexStyle.crossInnerBefore+e.flexStyle.crossInnerAfter+e.flexStyle.crossBorderBefore+e.flexStyle.crossBorderAfter)));e.mainAxis=t?"inline":"block",e.crossAxis=t?"block":"inline","number"==typeof e.style.flexBasis&&(e.flexStyle.main=e.style.flexBasis+e.flexStyle.mainInnerBefore+e.flexStyle.mainInnerAfter+e.flexStyle.mainBorderBefore+e.flexStyle.mainBorderAfter),e.flexStyle.mainOuter=e.flexStyle.main,e.flexStyle.crossOuter=e.flexStyle.cross,"auto"===e.flexStyle.mainOuter&&(e.flexStyle.mainOuter=e.flexStyle.mainOffset),"auto"===e.flexStyle.crossOuter&&(e.flexStyle.crossOuter=e.flexStyle.crossOffset),"number"==typeof e.flexStyle.mainBefore&&(e.flexStyle.mainOuter+=e.flexStyle.mainBefore),"number"==typeof e.flexStyle.mainAfter&&(e.flexStyle.mainOuter+=e.flexStyle.mainAfter),"number"==typeof e.flexStyle.crossBefore&&(e.flexStyle.crossOuter+=e.flexStyle.crossBefore),"number"==typeof e.flexStyle.crossAfter&&(e.flexStyle.crossOuter+=e.flexStyle.crossAfter)}},{}],4:[function(e,t,r){var l=e("../reduce");t.exports=function(e){if(e.mainSpace>0){var t=l(e.children,(function(e,t){return e+parseFloat(t.style.flexGrow)}),0);t>0&&(e.main=l(e.children,(function(r,l){return"auto"===l.flexStyle.main?l.flexStyle.main=l.flexStyle.mainOffset+parseFloat(l.style.flexGrow)/t*e.mainSpace:l.flexStyle.main+=parseFloat(l.style.flexGrow)/t*e.mainSpace,l.flexStyle.mainOuter=l.flexStyle.main+l.flexStyle.mainBefore+l.flexStyle.mainAfter,r+l.flexStyle.mainOuter}),0),e.mainSpace=0)}}},{"../reduce":12}],5:[function(e,t,r){var l=e("../reduce");t.exports=function(e){if(e.mainSpace<0){var t=l(e.children,(function(e,t){return e+parseFloat(t.style.flexShrink)}),0);t>0&&(e.main=l(e.children,(function(r,l){return l.flexStyle.main+=parseFloat(l.style.flexShrink)/t*e.mainSpace,l.flexStyle.mainOuter=l.flexStyle.main+l.flexStyle.mainBefore+l.flexStyle.mainAfter,r+l.flexStyle.mainOuter}),0),e.mainSpace=0)}}},{"../reduce":12}],6:[function(e,t,r){var l=e("../reduce");t.exports=function(e){var t;e.lines=[t={main:0,cross:0,children:[]}];for(var r,n=-1;r=e.children[++n];)"nowrap"===e.style.flexWrap||0===t.children.length||"auto"===e.flexStyle.main||e.flexStyle.main-e.flexStyle.mainInnerBefore-e.flexStyle.mainInnerAfter-e.flexStyle.mainBorderBefore-e.flexStyle.mainBorderAfter>=t.main+r.flexStyle.mainOuter?(t.main+=r.flexStyle.mainOuter,t.cross=Math.max(t.cross,r.flexStyle.crossOuter)):e.lines.push(t={main:r.flexStyle.mainOuter,cross:r.flexStyle.crossOuter,children:[]}),t.children.push(r);e.flexStyle.mainLines=l(e.lines,(function(e,t){return Math.max(e,t.main)}),0),e.flexStyle.crossLines=l(e.lines,(function(e,t){return e+t.cross}),0),"auto"===e.flexStyle.main&&(e.flexStyle.main=Math.max(e.flexStyle.mainOffset,e.flexStyle.mainLines+e.flexStyle.mainInnerBefore+e.flexStyle.mainInnerAfter+e.flexStyle.mainBorderBefore+e.flexStyle.mainBorderAfter)),"auto"===e.flexStyle.cross&&(e.flexStyle.cross=Math.max(e.flexStyle.crossOffset,e.flexStyle.crossLines+e.flexStyle.crossInnerBefore+e.flexStyle.crossInnerAfter+e.flexStyle.crossBorderBefore+e.flexStyle.crossBorderAfter)),e.flexStyle.crossSpace=e.flexStyle.cross-e.flexStyle.crossInnerBefore-e.flexStyle.crossInnerAfter-e.flexStyle.crossBorderBefore-e.flexStyle.crossBorderAfter-e.flexStyle.crossLines,e.flexStyle.mainOuter=e.flexStyle.main+e.flexStyle.mainBefore+e.flexStyle.mainAfter,e.flexStyle.crossOuter=e.flexStyle.cross+e.flexStyle.crossBefore+e.flexStyle.crossAfter}},{"../reduce":12}],7:[function(e,t,r){t.exports=function(t){for(var r,l=-1;r=t.children[++l];)e("./flex-direction")(r,t.style.flexDirection);e("./flex-direction")(t,t.style.flexDirection),e("./order")(t),e("./flexbox-lines")(t),e("./align-content")(t),l=-1;for(var n;n=t.lines[++l];)n.mainSpace=t.flexStyle.main-t.flexStyle.mainInnerBefore-t.flexStyle.mainInnerAfter-t.flexStyle.mainBorderBefore-t.flexStyle.mainBorderAfter-n.main,e("./flex-grow")(n),e("./flex-shrink")(n),e("./margin-main")(n),e("./margin-cross")(n),e("./justify-content")(n,t.style.justifyContent,t);e("./align-items")(t)}},{"./align-content":1,"./align-items":2,"./flex-direction":3,"./flex-grow":4,"./flex-shrink":5,"./flexbox-lines":6,"./justify-content":8,"./margin-cross":9,"./margin-main":10,"./order":11}],8:[function(e,t,r){t.exports=function(e,t,r){var l,n,o,f=r.flexStyle.mainInnerBefore,i=-1;if("flex-end"===t)for(l=e.mainSpace,l+=f;o=e.children[++i];)o.flexStyle.mainStart=l,l+=o.flexStyle.mainOuter;else if("center"===t)for(l=e.mainSpace/2,l+=f;o=e.children[++i];)o.flexStyle.mainStart=l,l+=o.flexStyle.mainOuter;else if("space-between"===t)for(n=e.mainSpace/(e.children.length-1),l=0,l+=f;o=e.children[++i];)o.flexStyle.mainStart=l,l+=o.flexStyle.mainOuter+n;else if("space-around"===t)for(l=(n=2*e.mainSpace/(2*e.children.length))/2,l+=f;o=e.children[++i];)o.flexStyle.mainStart=l,l+=o.flexStyle.mainOuter+n;else for(l=0,l+=f;o=e.children[++i];)o.flexStyle.mainStart=l,l+=o.flexStyle.mainOuter}},{}],9:[function(e,t,r){t.exports=function(e){for(var t,r=-1;t=e.children[++r];){var l=0;"auto"===t.flexStyle.crossBefore&&++l,"auto"===t.flexStyle.crossAfter&&++l;var n=e.cross-t.flexStyle.crossOuter;"auto"===t.flexStyle.crossBefore&&(t.flexStyle.crossBefore=n/l),"auto"===t.flexStyle.crossAfter&&(t.flexStyle.crossAfter=n/l),"auto"===t.flexStyle.cross?t.flexStyle.crossOuter=t.flexStyle.crossOffset+t.flexStyle.crossBefore+t.flexStyle.crossAfter:t.flexStyle.crossOuter=t.flexStyle.cross+t.flexStyle.crossBefore+t.flexStyle.crossAfter}}},{}],10:[function(e,t,r){t.exports=function(e){for(var t,r=0,l=-1;t=e.children[++l];)"auto"===t.flexStyle.mainBefore&&++r,"auto"===t.flexStyle.mainAfter&&++r;if(r>0){for(l=-1;t=e.children[++l];)"auto"===t.flexStyle.mainBefore&&(t.flexStyle.mainBefore=e.mainSpace/r),"auto"===t.flexStyle.mainAfter&&(t.flexStyle.mainAfter=e.mainSpace/r),"auto"===t.flexStyle.main?t.flexStyle.mainOuter=t.flexStyle.mainOffset+t.flexStyle.mainBefore+t.flexStyle.mainAfter:t.flexStyle.mainOuter=t.flexStyle.main+t.flexStyle.mainBefore+t.flexStyle.mainAfter;e.mainSpace=0}}},{}],11:[function(e,t,r){var l=/^(column|row)-reverse$/;t.exports=function(e){e.children.sort((function(e,t){return e.style.order-t.style.order||e.index-t.index})),l.test(e.style.flexDirection)&&e.children.reverse()}},{}],12:[function(e,t,r){t.exports=function(e,t,r){for(var l=e.length,n=-1;++n<l;)n in e&&(r=t(r,e[n],n));return r}},{}],13:[function(e,t,r){var n=e("./read"),o=e("./write"),f=e("./readAll"),i=e("./writeAll");t.exports=function(e){i(f(e))},t.exports.read=n,t.exports.write=o,t.exports.readAll=f,t.exports.writeAll=i},{"./read":15,"./readAll":16,"./write":17,"./writeAll":18}],14:[function(e,t,r){function n(e,t){f.style.cssText="border:none!important;clip:rect(0 0 0 0)!important;display:block!important;font-size:1em!important;height:0!important;margin:0!important;padding:0!important;position:relative!important;width:"+e+"!important",t.parentNode.insertBefore(f,t.nextSibling);var r=f.offsetWidth;return t.parentNode.removeChild(f),r}t.exports=function(e,t,r){var l=e[t],f=String(l).match(o);if(!f){var a=t.match(s);return a?"none"===e["border"+a[1]+"Style"]?0:i[l]||0:l}var y=f[1],x=f[2];return"px"===x?1*y:"cm"===x?.3937*y*96:"in"===x?96*y:"mm"===x?.3937*y*96/10:"pc"===x?12*y*96/72:"pt"===x?96*y/72:"rem"===x?16*y:n(l,r)};var o=/^([-+]?\d*\.?\d+)(%|[a-z]+)$/,f=document.createElement("div"),i={medium:4,none:0,thick:6,thin:2},s=/^border(Bottom|Left|Right|Top)Width$/},{}],15:[function(e,t,r){function o(e,t){for(var r;r=i.exec(t);){var l=r[1].toLowerCase().replace(/-[a-z]/g,(function(e){return e.slice(1).toUpperCase()}));e[l]=r[2]}}function f(e,t){for(var r in e){r in t&&!s.test(r)&&(e[r]=t[r])}}t.exports=function(e){var t={alignContent:"stretch",alignItems:"stretch",alignSelf:"auto",borderBottomStyle:"none",borderBottomWidth:0,borderLeftStyle:"none",borderLeftWidth:0,borderRightStyle:"none",borderRightWidth:0,borderTopStyle:"none",borderTopWidth:0,boxSizing:"content-box",display:"inline",flexBasis:"auto",flexDirection:"row",flexGrow:0,flexShrink:1,flexWrap:"nowrap",justifyContent:"flex-start",height:"auto",marginTop:0,marginRight:0,marginLeft:0,marginBottom:0,paddingTop:0,paddingRight:0,paddingLeft:0,paddingBottom:0,maxHeight:"none",maxWidth:"none",minHeight:0,minWidth:0,order:0,position:"static",width:"auto"};if(e instanceof Element){var l=e.hasAttribute("data-style"),i=l?e.getAttribute("data-style"):e.getAttribute("style")||"";l||e.setAttribute("data-style",i),f(t,window.getComputedStyle&&getComputedStyle(e)||{});var c=e.currentStyle||{};for(var y in function(e,t){for(var r in e){if(r in t)e[r]=t[r];else{var n=r.replace(/[A-Z]/g,"-$&").toLowerCase();n in t&&(e[r]=t[n])}}"-js-display"in t&&(e.display=t["-js-display"])}(t,c),o(t,i),t)t[y]=a(t,y,e);var x=e.getBoundingClientRect();t.offsetHeight=x.height||e.offsetHeight,t.offsetWidth=x.width||e.offsetWidth}return{element:e,style:t}};var i=/([^\s:;]+)\s*:\s*([^;]+?)\s*(;|$)/g,s=/^(alignSelf|height|width)$/,a=e("./getComputedLength")},{"./getComputedLength":14}],16:[function(e,t,r){function n(e,t){for(var r,l=o(e),i=[],s=-1;r=e.childNodes[++s];){var a=3===r.nodeType&&!/^\s*$/.test(r.nodeValue);if(l&&a){var c=r;(r=e.insertBefore(document.createElement("flex-item"),c)).appendChild(c)}if(r instanceof Element){var x=n(r,t);if(l){var S=r.style;S.display="inline-block",S.position="absolute",x.style=f(r).style,i.push(x)}}}var m={element:e,children:i};return l&&(m.style=f(e).style,t.push(m)),m}function o(e){var t=e instanceof Element,r=t&&e.getAttribute("data-style"),l=t&&e.currentStyle&&e.currentStyle["-js-display"];return i.test(r)||s.test(l)}t.exports=function(e){var t=[];return n(e,t),t};var f=e("../read"),i=/(^|;)\s*display\s*:\s*(inline-)?flex\s*(;|$)/i,s=/^(inline-)?flex$/i},{"../read":15}],17:[function(e,t,r){function n(e){return"string"==typeof e?e:Math.max(e,0)+"px"}t.exports=function(e){o(e);var t=e.element.style,r="inline"===e.mainAxis?["main","cross"]:["cross","main"];t.boxSizing="content-box",t.display="block",t.position="relative",t.width=n(e.flexStyle[r[0]]-e.flexStyle[r[0]+"InnerBefore"]-e.flexStyle[r[0]+"InnerAfter"]-e.flexStyle[r[0]+"BorderBefore"]-e.flexStyle[r[0]+"BorderAfter"]),t.height=n(e.flexStyle[r[1]]-e.flexStyle[r[1]+"InnerBefore"]-e.flexStyle[r[1]+"InnerAfter"]-e.flexStyle[r[1]+"BorderBefore"]-e.flexStyle[r[1]+"BorderAfter"]);for(var l,f=-1;l=e.children[++f];){var i=l.element.style,s="inline"===l.mainAxis?["main","cross"]:["cross","main"];i.boxSizing="content-box",i.display="block",i.position="absolute","auto"!==l.flexStyle[s[0]]&&(i.width=n(l.flexStyle[s[0]]-l.flexStyle[s[0]+"InnerBefore"]-l.flexStyle[s[0]+"InnerAfter"]-l.flexStyle[s[0]+"BorderBefore"]-l.flexStyle[s[0]+"BorderAfter"])),"auto"!==l.flexStyle[s[1]]&&(i.height=n(l.flexStyle[s[1]]-l.flexStyle[s[1]+"InnerBefore"]-l.flexStyle[s[1]+"InnerAfter"]-l.flexStyle[s[1]+"BorderBefore"]-l.flexStyle[s[1]+"BorderAfter"])),i.top=n(l.flexStyle[s[1]+"Start"]),i.left=n(l.flexStyle[s[0]+"Start"]),i.marginTop=n(l.flexStyle[s[1]+"Before"]),i.marginRight=n(l.flexStyle[s[0]+"After"]),i.marginBottom=n(l.flexStyle[s[1]+"After"]),i.marginLeft=n(l.flexStyle[s[0]+"Before"])}};var o=e("../flexbox")},{"../flexbox":7}],18:[function(e,t,r){t.exports=function(e){for(var t,r=-1;t=e[++r];)n(t)};var n=e("../write")},{"../write":17}]},{},[13])(13)}));assets/js/dev/vendors/jquery.marquee.js000064400000056200152425655550014254 0ustar00/**
 * jQuery.marquee - scrolling text like old marquee element
 * @author Aamir Afridi - aamirafridi(at)gmail(dot)com / http://aamirafridi.com/jquery/jquery-marquee-plugin
 */
;(function(factory) {
    'use strict';
    if (typeof define === 'function' && define.amd) {
        define(['jquery'], factory);
    } else if (typeof exports !== 'undefined') {
        module.exports = factory(require('jquery'));
    } else {
        factory(jQuery);
    }
})(function($) {
    $.fn.marquee = function(options) {
        return this.each(function() {
            // Extend the options if any provided
            var o = $.extend({}, $.fn.marquee.defaults, options),
              $this = $(this),
              $marqueeWrapper, containerWidth, animationCss, verticalDir, elWidth,
              loopCount = 3,
              playState = 'animation-play-state',
              css3AnimationIsSupported = false,

              // Private methods
              _prefixedEvent = function(element, type, callback) {
                  var pfx = ["webkit", "moz", "MS", "o", ""];
                  for (var p = 0; p < pfx.length; p++) {
                      if (!pfx[p]) type = type.toLowerCase();
                      element.addEventListener(pfx[p] + type, callback, false);
                  }
              },

              _objToString = function(obj) {
                  var tabjson = [];
                  for (var p in obj) {
                      if (obj.hasOwnProperty(p)) {
                          tabjson.push(p + ':' + obj[p]);
                      }
                  }
                  tabjson.push();
                  return '{' + tabjson.join(',') + '}';
              },

              _startAnimationWithDelay = function() {
                  $this.timer = setTimeout(animate, o.delayBeforeStart);
              },

              // Public methods
              methods = {
                  pause: function() {
                      if (css3AnimationIsSupported && o.allowCss3Support) {
                          $marqueeWrapper.css(playState, 'paused');
                      } else {
                          // pause using pause plugin
                          if ($.fn.pause) {
                              $marqueeWrapper.pause();
                          }
                      }
                      // save the status
                      $this.data('runningStatus', 'paused');
                      // fire event
                      $this.trigger('paused');
                  },

                  resume: function() {
                      // resume using css3
                      if (css3AnimationIsSupported && o.allowCss3Support) {
                          $marqueeWrapper.css(playState, 'running');
                      } else {
                          // resume using pause plugin
                          if ($.fn.resume) {
                              $marqueeWrapper.resume();
                          }
                      }
                      // save the status
                      $this.data('runningStatus', 'resumed');
                      // fire event
                      $this.trigger('resumed');
                  },

                  toggle: function() {
                      methods[$this.data('runningStatus') === 'resumed' ? 'pause' : 'resume']();
                  },

                  destroy: function() {
                      // Clear timer
                      clearTimeout($this.timer);
                      // Unbind all events
                      $this.find("*").addBack().off();
                      // Just unwrap the elements that has been added using this plugin
                      $this.html($this.find('.js-marquee:first').html());
                  }
              };

            // Check for methods
            if (typeof options === 'string') {
                if ($.isFunction(methods[options])) {
                    // Following two IF statements to support public methods
                    if (!$marqueeWrapper) {
                        $marqueeWrapper = $this.find('.js-marquee-wrapper');
                    }
                    if ($this.data('css3AnimationIsSupported') === true) {
                        css3AnimationIsSupported = true;
                    }
                    methods[options]();
                }
                return;
            }

            /* Check if element has data attributes. They have top priority
               For details https://twitter.com/aamirafridi/status/403848044069679104 - Can't find a better solution :/
               jQuery 1.3.2 doesn't support $.data().KEY hence writting the following */
            var dataAttributes = {},
              attr;
            $.each(o, function(key) {
                // Check if element has this data attribute
                attr = $this.attr('data-' + key);
                if (typeof attr !== 'undefined') {
                    // Now check if value is boolean or not
                    switch (attr) {
                        case 'true':
                            attr = true;
                            break;
                        case 'false':
                            attr = false;
                            break;
                    }
                    o[key] = attr;
                }
            });

            // Reintroduce speed as an option. It calculates duration as a factor of the container width
            // measured in pixels per second.
            if (o.speed) {
                o.duration = parseInt($this.width(), 10) / o.speed * 1000;
            }

            // Shortcut to see if direction is upward or downward
            verticalDir = o.direction === 'up' || o.direction === 'down';

            // no gap if not duplicated
            o.gap = o.duplicated ? parseInt(o.gap) : 0;

            // wrap inner content into a div
            $this.wrapInner('<div class="js-marquee"></div>');

            // Make copy of the element
            var $el = $this.find('.js-marquee').css({
                'margin-right': o.gap,
                'float': 'left'
            });

            if (o.duplicated) {
                $el.clone(true).appendTo($this);
            }

            // wrap both inner elements into one div
            $this.wrapInner('<div style="width:100000px" class="js-marquee-wrapper"></div>');

            // Save the reference of the wrapper
            $marqueeWrapper = $this.find('.js-marquee-wrapper');

            // If direction is up or down, get the height of main element
            if (verticalDir) {
                var containerHeight = $this.height();
                $marqueeWrapper.removeAttr('style');
                $this.height(containerHeight);

                // Change the CSS for js-marquee element
                $this.find('.js-marquee').css({
                    'float': 'none',
                    'margin-bottom': o.gap,
                    'margin-right': 0
                });

                // Remove bottom margin from 2nd element if duplicated
                if (o.duplicated) {
                    $this.find('.js-marquee:last').css({
                        'margin-bottom': 0
                    });
                }

                var elHeight = $this.find('.js-marquee:first').height() + o.gap;

                // adjust the animation duration according to the text length
                if (o.startVisible && !o.duplicated) {
                    // Compute the complete animation duration and save it for later reference
                    // formula is to: (Height of the text node + height of the main container / Height of the main container) * duration;
                    o._completeDuration = ((parseInt(elHeight, 10) + parseInt(containerHeight, 10)) / parseInt(containerHeight, 10)) * o.duration;

                    // formula is to: (Height of the text node / height of the main container) * duration
                    o.duration = (parseInt(elHeight, 10) / parseInt(containerHeight, 10)) * o.duration;
                } else {
                    // formula is to: (Height of the text node + height of the main container / Height of the main container) * duration;
                    o.duration = ((parseInt(elHeight, 10) + parseInt(containerHeight, 10)) / parseInt(containerHeight, 10)) * o.duration;
                }

            } else {
                // Save the width of the each element so we can use it in animation
                elWidth = $this.find('.js-marquee:first').width() + o.gap;

                // container width
                containerWidth = $this.width();

                // adjust the animation duration according to the text length
                if (o.startVisible && !o.duplicated) {
                    // Compute the complete animation duration and save it for later reference
                    // formula is to: (Width of the text node + width of the main container / Width of the main container) * duration;
                    o._completeDuration = ((parseInt(elWidth, 10) + parseInt(containerWidth, 10)) / parseInt(containerWidth, 10)) * o.duration;

                    // (Width of the text node / width of the main container) * duration
                    o.duration = (parseInt(elWidth, 10) / parseInt(containerWidth, 10)) * o.duration;
                } else {
                    // formula is to: (Width of the text node + width of the main container / Width of the main container) * duration;
                    o.duration = ((parseInt(elWidth, 10) + parseInt(containerWidth, 10)) / parseInt(containerWidth, 10)) * o.duration;
                }
            }

            // if duplicated then reduce the duration
            if (o.duplicated) {
                o.duration = o.duration / 2;
            }

            if (o.allowCss3Support) {
                var elm = document.body || document.createElement('div'),
                  animationName = 'marqueeAnimation-' + Math.floor(Math.random() * 10000000),
                  domPrefixes = 'Webkit Moz O ms Khtml'.split(' '),
                  animationString = 'animation',
                  animationCss3Str = '',
                  keyframeString = '';

                // Check css3 support
                if (elm.style.animation !== undefined) {
                    keyframeString = '@keyframes ' + animationName + ' ';
                    css3AnimationIsSupported = true;
                }

                if (css3AnimationIsSupported === false) {
                    for (var i = 0; i < domPrefixes.length; i++) {
                        if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {
                            var prefix = '-' + domPrefixes[i].toLowerCase() + '-';
                            animationString = prefix + animationString;
                            playState = prefix + playState;
                            keyframeString = '@' + prefix + 'keyframes ' + animationName + ' ';
                            css3AnimationIsSupported = true;
                            break;
                        }
                    }
                }

                if (css3AnimationIsSupported) {
                    animationCss3Str = animationName + ' ' + o.duration / 1000 + 's ' + o.delayBeforeStart / 1000 + 's infinite ' + o.css3easing;
                    $this.data('css3AnimationIsSupported', true);
                }
            }

            var _rePositionVertically = function() {
                  $marqueeWrapper.css('transform', 'translateY(' + (o.direction === 'up' ? containerHeight + 'px' : '-' + elHeight + 'px') + ')');
              },
              _rePositionHorizontally = function() {
                  $marqueeWrapper.css('transform', 'translateX(' + (o.direction === 'left' ? containerWidth + 'px' : '-' + elWidth + 'px') + ')');
              };

            // if duplicated option is set to true than position the wrapper
            if (o.duplicated) {
                if (verticalDir) {
                    if (o.startVisible) {
                        $marqueeWrapper.css('transform', 'translateY(0)');
                    } else {
                        $marqueeWrapper.css('transform', 'translateY(' + (o.direction === 'up' ? containerHeight + 'px' : '-' + ((elHeight * 2) - o.gap) + 'px') + ')');
                    }
                } else {
                    if (o.startVisible) {
                        $marqueeWrapper.css('transform', 'translateX(0)');
                    } else {
                        $marqueeWrapper.css('transform', 'translateX(' + (o.direction === 'left' ? containerWidth + 'px' : '-' + ((elWidth * 2) - o.gap) + 'px') + ')');
                    }
                }

                // If the text starts out visible we can skip the two initial loops
                if (!o.startVisible) {
                    loopCount = 1;
                }
            } else if (o.startVisible) {
                // We only have two different loops if marquee is duplicated and starts visible
                loopCount = 2;
            } else {
                if (verticalDir) {
                    _rePositionVertically();
                } else {
                    _rePositionHorizontally();
                }
            }

            // Animate recursive method
            var animate = function() {
                if (o.duplicated) {
                    // When duplicated, the first loop will be scroll longer so double the duration
                    if (loopCount === 1) {
                        o._originalDuration = o.duration;
                        if (verticalDir) {
                            o.duration = o.direction === 'up' ? o.duration + (containerHeight / ((elHeight) / o.duration)) : o.duration * 2;
                        } else {
                            o.duration = o.direction === 'left' ? o.duration + (containerWidth / ((elWidth) / o.duration)) : o.duration * 2;
                        }
                        // Adjust the css3 animation as well
                        if (animationCss3Str) {
                            animationCss3Str = animationName + ' ' + o.duration / 1000 + 's ' + o.delayBeforeStart / 1000 + 's ' + o.css3easing;
                        }
                        loopCount++;
                    }
                    // On 2nd loop things back to normal, normal duration for the rest of animations
                    else if (loopCount === 2) {
                        o.duration = o._originalDuration;
                        // Adjust the css3 animation as well
                        if (animationCss3Str) {
                            animationName = animationName + '0';
                            keyframeString = $.trim(keyframeString) + '0 ';
                            animationCss3Str = animationName + ' ' + o.duration / 1000 + 's 0s infinite ' + o.css3easing;
                        }
                        loopCount++;
                    }
                }

                if (verticalDir) {
                    if (o.duplicated) {

                        // Adjust the starting point of animation only when first loops finishes
                        if (loopCount > 2) {
                            $marqueeWrapper.css('transform', 'translateY(' + (o.direction === 'up' ? 0 : '-' + elHeight + 'px') + ')');
                        }

                        animationCss = {
                            'transform': 'translateY(' + (o.direction === 'up' ? '-' + elHeight + 'px' : 0) + ')'
                        };
                    } else if (o.startVisible) {
                        // This loop moves the marquee out of the container
                        if (loopCount === 2) {
                            // Adjust the css3 animation as well
                            if (animationCss3Str) {
                                animationCss3Str = animationName + ' ' + o.duration / 1000 + 's ' + o.delayBeforeStart / 1000 + 's ' + o.css3easing;
                            }
                            animationCss = {
                                'transform': 'translateY(' + (o.direction === 'up' ? '-' + elHeight + 'px' : containerHeight + 'px') + ')'
                            };
                            loopCount++;
                        } else if (loopCount === 3) {
                            // Set the duration for the animation that will run forever
                            o.duration = o._completeDuration;
                            // Adjust the css3 animation as well
                            if (animationCss3Str) {
                                animationName = animationName + '0';
                                keyframeString = $.trim(keyframeString) + '0 ';
                                animationCss3Str = animationName + ' ' + o.duration / 1000 + 's 0s infinite ' + o.css3easing;
                            }
                            _rePositionVertically();
                        }
                    } else {
                        _rePositionVertically();
                        animationCss = {
                            'transform': 'translateY(' + (o.direction === 'up' ? '-' + ($marqueeWrapper.height()) + 'px' : containerHeight + 'px') + ')'
                        };
                    }
                } else {
                    if (o.duplicated) {

                        // Adjust the starting point of animation only when first loops finishes
                        if (loopCount > 2) {
                            $marqueeWrapper.css('transform', 'translateX(' + (o.direction === 'left' ? 0 : '-' + elWidth + 'px') + ')');
                        }

                        animationCss = {
                            'transform': 'translateX(' + (o.direction === 'left' ? '-' + elWidth + 'px' : 0) + ')'
                        };

                    } else if (o.startVisible) {
                        // This loop moves the marquee out of the container
                        if (loopCount === 2) {
                            // Adjust the css3 animation as well
                            if (animationCss3Str) {
                                animationCss3Str = animationName + ' ' + o.duration / 1000 + 's ' + o.delayBeforeStart / 1000 + 's ' + o.css3easing;
                            }
                            animationCss = {
                                'transform': 'translateX(' + (o.direction === 'left' ? '-' + elWidth + 'px' : containerWidth + 'px') + ')'
                            };
                            loopCount++;
                        } else if (loopCount === 3) {
                            // Set the duration for the animation that will run forever
                            o.duration = o._completeDuration;
                            // Adjust the css3 animation as well
                            if (animationCss3Str) {
                                animationName = animationName + '0';
                                keyframeString = $.trim(keyframeString) + '0 ';
                                animationCss3Str = animationName + ' ' + o.duration / 1000 + 's 0s infinite ' + o.css3easing;
                            }
                            _rePositionHorizontally();
                        }
                    } else {
                        _rePositionHorizontally();
                        animationCss = {
                            'transform': 'translateX(' + (o.direction === 'left' ? '-' + elWidth + 'px' : containerWidth + 'px') + ')'
                        };
                    }
                }

                // fire event
                $this.trigger('beforeStarting');

                // If css3 support is available than do it with css3, otherwise use jQuery as fallback
                if (css3AnimationIsSupported) {
                    // Add css3 animation to the element
                    $marqueeWrapper.css(animationString, animationCss3Str);
                    var keyframeCss = keyframeString + ' { 100%  ' + _objToString(animationCss) + '}',
                      $styles = $marqueeWrapper.find('style');

                    // Now add the keyframe animation to the marquee element
                    if ($styles.length !== 0) {
                        // Bug fixed for jQuery 1.3.x - Instead of using .last(), use following
                        $styles.filter(":last").html(keyframeCss);
                    } else {
                        $('head').append('<style>' + keyframeCss + '</style>');
                    }

                    // Animation iteration event
                    _prefixedEvent($marqueeWrapper[0], "AnimationIteration", function() {
                        $this.trigger('finished');
                    });
                    // Animation stopped
                    _prefixedEvent($marqueeWrapper[0], "AnimationEnd", function() {
                        animate();
                        $this.trigger('finished');
                    });

                } else {
                    // Start animating
                    $marqueeWrapper.animate(animationCss, o.duration, o.easing, function() {
                        // fire event
                        $this.trigger('finished');
                        // animate again
                        if (o.pauseOnCycle) {
                            _startAnimationWithDelay();
                        } else {
                            animate();
                        }
                    });
                }
                // save the status
                $this.data('runningStatus', 'resumed');
            };

            // bind pause and resume events
            $this.on('pause', methods.pause);
            $this.on('resume', methods.resume);

            if (o.pauseOnHover) {
                $this.on('mouseenter', methods.pause);
                $this.on('mouseleave', methods.resume);
            }

            // If css3 animation is supported than call animate method at once
            if (css3AnimationIsSupported && o.allowCss3Support) {
                animate();
            } else {
                // Starts the recursive method
                _startAnimationWithDelay();
            }

        });
    }; // End of Plugin
    // Public: plugin defaults options
    $.fn.marquee.defaults = {
        // If you wish to always animate using jQuery
        allowCss3Support: true,
        // works when allowCss3Support is set to true - for full list see http://www.w3.org/TR/2013/WD-css3-transitions-20131119/#transition-timing-function
        css3easing: 'linear',
        // requires jQuery easing plugin. Default is 'linear'
        easing: 'linear',
        // pause time before the next animation turn in milliseconds
        delayBeforeStart: 1000,
        // 'left', 'right', 'up' or 'down'
        direction: 'left',
        // true or false - should the marquee be duplicated to show an effect of continues flow
        duplicated: false,
        // duration in milliseconds of the marquee in milliseconds
        duration: 5000,
        // Speed allows you to set a relatively constant marquee speed regardless of the width of the containing element. Speed is measured in pixels per second.
        speed: 0,
        // gap in pixels between the tickers
        gap: 20,
        // on cycle pause the marquee
        pauseOnCycle: false,
        // on hover pause the marquee - using jQuery plugin https://github.com/tobia/Pause
        pauseOnHover: false,
        // the marquee is visible initially positioned next to the border towards it will be moving
        startVisible: false
    };
});
assets/js/dev/vendors/html5.js000064400000024132152425655550012327 0ustar00/**
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
;(function(window, document) {
/*jshint evil:true */
  /** version */
  var version = '3.7.3';

  /** Preset options */
  var options = window.html5 || {};

  /** Used to skip problem elements */
  var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;

  /** Not all elements can be cloned in IE **/
  var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;

  /** Detect whether the browser supports default html5 styles */
  var supportsHtml5Styles;

  /** Name of the expando, to work with multiple documents or to re-shiv one document */
  var expando = '_html5shiv';

  /** The id for the the documents expando */
  var expanID = 0;

  /** Cached data for each document */
  var expandoData = {};

  /** Detect whether the browser supports unknown elements */
  var supportsUnknownElements;

  (function() {
    try {
        var a = document.createElement('a');
        a.innerHTML = '<xyz></xyz>';
        //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
        supportsHtml5Styles = ('hidden' in a);

        supportsUnknownElements = a.childNodes.length == 1 || (function() {
          // assign a false positive if unable to shiv
          (document.createElement)('a');
          var frag = document.createDocumentFragment();
          return (
            typeof frag.cloneNode == 'undefined' ||
            typeof frag.createDocumentFragment == 'undefined' ||
            typeof frag.createElement == 'undefined'
          );
        }());
    } catch(e) {
      // assign a false positive if detection fails => unable to shiv
      supportsHtml5Styles = true;
      supportsUnknownElements = true;
    }

  }());

  /*--------------------------------------------------------------------------*/

  /**
   * Creates a style sheet with the given CSS text and adds it to the document.
   * @private
   * @param {Document} ownerDocument The document.
   * @param {String} cssText The CSS text.
   * @returns {StyleSheet} The style element.
   */
  function addStyleSheet(ownerDocument, cssText) {
    var p = ownerDocument.createElement('p'),
        parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;

    p.innerHTML = 'x<style>' + cssText + '</style>';
    return parent.insertBefore(p.lastChild, parent.firstChild);
  }

  /**
   * Returns the value of `html5.elements` as an array.
   * @private
   * @returns {Array} An array of shived element node names.
   */
  function getElements() {
    var elements = html5.elements;
    return typeof elements == 'string' ? elements.split(' ') : elements;
  }

  /**
   * Extends the built-in list of html5 elements
   * @memberOf html5
   * @param {String|Array} newElements whitespace separated list or array of new element names to shiv
   * @param {Document} ownerDocument The context document.
   */
  function addElements(newElements, ownerDocument) {
    var elements = html5.elements;
    if(typeof elements != 'string'){
      elements = elements.join(' ');
    }
    if(typeof newElements != 'string'){
      newElements = newElements.join(' ');
    }
    html5.elements = elements +' '+ newElements;
    shivDocument(ownerDocument);
  }

   /**
   * Returns the data associated to the given document
   * @private
   * @param {Document} ownerDocument The document.
   * @returns {Object} An object of data.
   */
  function getExpandoData(ownerDocument) {
    var data = expandoData[ownerDocument[expando]];
    if (!data) {
        data = {};
        expanID++;
        ownerDocument[expando] = expanID;
        expandoData[expanID] = data;
    }
    return data;
  }

  /**
   * returns a shived element for the given nodeName and document
   * @memberOf html5
   * @param {String} nodeName name of the element
   * @param {Document|DocumentFragment} ownerDocument The context document.
   * @returns {Object} The shived element.
   */
  function createElement(nodeName, ownerDocument, data){
    if (!ownerDocument) {
        ownerDocument = document;
    }
    if(supportsUnknownElements){
        return ownerDocument.createElement(nodeName);
    }
    if (!data) {
        data = getExpandoData(ownerDocument);
    }
    var node;

    if (data.cache[nodeName]) {
        node = data.cache[nodeName].cloneNode();
    } else if (saveClones.test(nodeName)) {
        node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
    } else {
        node = data.createElem(nodeName);
    }

    // Avoid adding some elements to fragments in IE < 9 because
    // * Attributes like `name` or `type` cannot be set/changed once an element
    //   is inserted into a document/fragment
    // * Link elements with `src` attributes that are inaccessible, as with
    //   a 403 response, will cause the tab/window to crash
    // * Script elements appended to fragments will execute when their `src`
    //   or `text` property is set
    return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
  }

  /**
   * returns a shived DocumentFragment for the given document
   * @memberOf html5
   * @param {Document} ownerDocument The context document.
   * @returns {Object} The shived DocumentFragment.
   */
  function createDocumentFragment(ownerDocument, data){
    if (!ownerDocument) {
        ownerDocument = document;
    }
    if(supportsUnknownElements){
        return ownerDocument.createDocumentFragment();
    }
    data = data || getExpandoData(ownerDocument);
    var clone = data.frag.cloneNode(),
        i = 0,
        elems = getElements(),
        l = elems.length;
    for(;i<l;i++){
        clone.createElement(elems[i]);
    }
    return clone;
  }

  /**
   * Shivs the `createElement` and `createDocumentFragment` methods of the document.
   * @private
   * @param {Document|DocumentFragment} ownerDocument The document.
   * @param {Object} data of the document.
   */
  function shivMethods(ownerDocument, data) {
    if (!data.cache) {
        data.cache = {};
        data.createElem = ownerDocument.createElement;
        data.createFrag = ownerDocument.createDocumentFragment;
        data.frag = data.createFrag();
    }


    ownerDocument.createElement = function(nodeName) {
      //abort shiv
      if (!html5.shivMethods) {
          return data.createElem(nodeName);
      }
      return createElement(nodeName, ownerDocument, data);
    };

    ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
      'var n=f.cloneNode(),c=n.createElement;' +
      'h.shivMethods&&(' +
        // unroll the `createElement` calls
        getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
          data.createElem(nodeName);
          data.frag.createElement(nodeName);
          return 'c("' + nodeName + '")';
        }) +
      ');return n}'
    )(html5, data.frag);
  }

  /*--------------------------------------------------------------------------*/

  /**
   * Shivs the given document.
   * @memberOf html5
   * @param {Document} ownerDocument The document to shiv.
   * @returns {Document} The shived document.
   */
  function shivDocument(ownerDocument) {
    if (!ownerDocument) {
        ownerDocument = document;
    }
    var data = getExpandoData(ownerDocument);

    if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
      data.hasCSS = !!addStyleSheet(ownerDocument,
        // corrects block display not defined in IE6/7/8/9
        'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
        // adds styling not present in IE6/7/8/9
        'mark{background:#FF0;color:#000}' +
        // hides non-rendered elements
        'template{display:none}'
      );
    }
    if (!supportsUnknownElements) {
      shivMethods(ownerDocument, data);
    }
    return ownerDocument;
  }

  /*--------------------------------------------------------------------------*/

  /**
   * The `html5` object is exposed so that more elements can be shived and
   * existing shiving can be detected on iframes.
   * @type Object
   * @example
   *
   * // options can be changed before the script is included
   * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
   */
  var html5 = {

    /**
     * An array or space separated string of node names of the elements to shiv.
     * @memberOf html5
     * @type Array|String
     */
    'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',

    /**
     * current version of html5shiv
     */
    'version': version,

    /**
     * A flag to indicate that the HTML5 style sheet should be inserted.
     * @memberOf html5
     * @type Boolean
     */
    'shivCSS': (options.shivCSS !== false),

    /**
     * Is equal to true if a browser supports creating unknown/HTML5 elements
     * @memberOf html5
     * @type boolean
     */
    'supportsUnknownElements': supportsUnknownElements,

    /**
     * A flag to indicate that the document's `createElement` and `createDocumentFragment`
     * methods should be overwritten.
     * @memberOf html5
     * @type Boolean
     */
    'shivMethods': (options.shivMethods !== false),

    /**
     * A string to describe the type of `html5` object ("default" or "default print").
     * @memberOf html5
     * @type String
     */
    'type': 'default',

    // shivs the document according to the specified `html5` object options
    'shivDocument': shivDocument,

    //creates a shived element
    createElement: createElement,

    //creates a shived documentFragment
    createDocumentFragment: createDocumentFragment,

    //extends list of elements
    addElements: addElements
  };

  /*--------------------------------------------------------------------------*/

  // expose html5
  window.html5 = html5;

  // shiv the document
  shivDocument(document);

  if(typeof module == 'object' && module.exports){
    module.exports = html5;
  }

}(typeof window !== "undefined" ? window : this, document));assets/js/dev/vendors/flexibility.js000064400000036526152425655550013634 0ustar00!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.flexibility=e()}}(function(){return function e(t,r,l){function n(f,i){if(!r[f]){if(!t[f]){var s="function"==typeof require&&require;if(!i&&s)return s(f,!0);if(o)return o(f,!0);var a=new Error("Cannot find module '"+f+"'");throw a.code="MODULE_NOT_FOUND",a}var c=r[f]={exports:{}};t[f][0].call(c.exports,function(e){var r=t[f][1][e];return n(r?r:e)},c,c.exports,e,t,r,l)}return r[f].exports}for(var o="function"==typeof require&&require,f=0;f<l.length;f++)n(l[f]);return n}({1:[function(e,t,r){t.exports=function(e){var t,r,l,n=-1;if(e.lines.length>1&&"flex-start"===e.style.alignContent)for(t=0;l=e.lines[++n];)l.crossStart=t,t+=l.cross;else if(e.lines.length>1&&"flex-end"===e.style.alignContent)for(t=e.flexStyle.crossSpace;l=e.lines[++n];)l.crossStart=t,t+=l.cross;else if(e.lines.length>1&&"center"===e.style.alignContent)for(t=e.flexStyle.crossSpace/2;l=e.lines[++n];)l.crossStart=t,t+=l.cross;else if(e.lines.length>1&&"space-between"===e.style.alignContent)for(r=e.flexStyle.crossSpace/(e.lines.length-1),t=0;l=e.lines[++n];)l.crossStart=t,t+=l.cross+r;else if(e.lines.length>1&&"space-around"===e.style.alignContent)for(r=2*e.flexStyle.crossSpace/(2*e.lines.length),t=r/2;l=e.lines[++n];)l.crossStart=t,t+=l.cross+r;else for(r=e.flexStyle.crossSpace/e.lines.length,t=e.flexStyle.crossInnerBefore;l=e.lines[++n];)l.crossStart=t,l.cross+=r,t+=l.cross}},{}],2:[function(e,t,r){t.exports=function(e){for(var t,r=-1;line=e.lines[++r];)for(t=-1;child=line.children[++t];){var l=child.style.alignSelf;"auto"===l&&(l=e.style.alignItems),"flex-start"===l?child.flexStyle.crossStart=line.crossStart:"flex-end"===l?child.flexStyle.crossStart=line.crossStart+line.cross-child.flexStyle.crossOuter:"center"===l?child.flexStyle.crossStart=line.crossStart+(line.cross-child.flexStyle.crossOuter)/2:(child.flexStyle.crossStart=line.crossStart,child.flexStyle.crossOuter=line.cross,child.flexStyle.cross=child.flexStyle.crossOuter-child.flexStyle.crossBefore-child.flexStyle.crossAfter)}}},{}],3:[function(e,t,r){t.exports=function l(e,l){var t="row"===l||"row-reverse"===l,r=e.mainAxis;if(r){var n=t&&"inline"===r||!t&&"block"===r;n||(e.flexStyle={main:e.flexStyle.cross,cross:e.flexStyle.main,mainOffset:e.flexStyle.crossOffset,crossOffset:e.flexStyle.mainOffset,mainBefore:e.flexStyle.crossBefore,mainAfter:e.flexStyle.crossAfter,crossBefore:e.flexStyle.mainBefore,crossAfter:e.flexStyle.mainAfter,mainInnerBefore:e.flexStyle.crossInnerBefore,mainInnerAfter:e.flexStyle.crossInnerAfter,crossInnerBefore:e.flexStyle.mainInnerBefore,crossInnerAfter:e.flexStyle.mainInnerAfter,mainBorderBefore:e.flexStyle.crossBorderBefore,mainBorderAfter:e.flexStyle.crossBorderAfter,crossBorderBefore:e.flexStyle.mainBorderBefore,crossBorderAfter:e.flexStyle.mainBorderAfter})}else t?e.flexStyle={main:e.style.width,cross:e.style.height,mainOffset:e.style.offsetWidth,crossOffset:e.style.offsetHeight,mainBefore:e.style.marginLeft,mainAfter:e.style.marginRight,crossBefore:e.style.marginTop,crossAfter:e.style.marginBottom,mainInnerBefore:e.style.paddingLeft,mainInnerAfter:e.style.paddingRight,crossInnerBefore:e.style.paddingTop,crossInnerAfter:e.style.paddingBottom,mainBorderBefore:e.style.borderLeftWidth,mainBorderAfter:e.style.borderRightWidth,crossBorderBefore:e.style.borderTopWidth,crossBorderAfter:e.style.borderBottomWidth}:e.flexStyle={main:e.style.height,cross:e.style.width,mainOffset:e.style.offsetHeight,crossOffset:e.style.offsetWidth,mainBefore:e.style.marginTop,mainAfter:e.style.marginBottom,crossBefore:e.style.marginLeft,crossAfter:e.style.marginRight,mainInnerBefore:e.style.paddingTop,mainInnerAfter:e.style.paddingBottom,crossInnerBefore:e.style.paddingLeft,crossInnerAfter:e.style.paddingRight,mainBorderBefore:e.style.borderTopWidth,mainBorderAfter:e.style.borderBottomWidth,crossBorderBefore:e.style.borderLeftWidth,crossBorderAfter:e.style.borderRightWidth},"content-box"===e.style.boxSizing&&("number"==typeof e.flexStyle.main&&(e.flexStyle.main+=e.flexStyle.mainInnerBefore+e.flexStyle.mainInnerAfter+e.flexStyle.mainBorderBefore+e.flexStyle.mainBorderAfter),"number"==typeof e.flexStyle.cross&&(e.flexStyle.cross+=e.flexStyle.crossInnerBefore+e.flexStyle.crossInnerAfter+e.flexStyle.crossBorderBefore+e.flexStyle.crossBorderAfter));e.mainAxis=t?"inline":"block",e.crossAxis=t?"block":"inline","number"==typeof e.style.flexBasis&&(e.flexStyle.main=e.style.flexBasis+e.flexStyle.mainInnerBefore+e.flexStyle.mainInnerAfter+e.flexStyle.mainBorderBefore+e.flexStyle.mainBorderAfter),e.flexStyle.mainOuter=e.flexStyle.main,e.flexStyle.crossOuter=e.flexStyle.cross,"auto"===e.flexStyle.mainOuter&&(e.flexStyle.mainOuter=e.flexStyle.mainOffset),"auto"===e.flexStyle.crossOuter&&(e.flexStyle.crossOuter=e.flexStyle.crossOffset),"number"==typeof e.flexStyle.mainBefore&&(e.flexStyle.mainOuter+=e.flexStyle.mainBefore),"number"==typeof e.flexStyle.mainAfter&&(e.flexStyle.mainOuter+=e.flexStyle.mainAfter),"number"==typeof e.flexStyle.crossBefore&&(e.flexStyle.crossOuter+=e.flexStyle.crossBefore),"number"==typeof e.flexStyle.crossAfter&&(e.flexStyle.crossOuter+=e.flexStyle.crossAfter)}},{}],4:[function(e,t,r){var l=e("../reduce");t.exports=function(e){if(e.mainSpace>0){var t=l(e.children,function(e,t){return e+parseFloat(t.style.flexGrow)},0);t>0&&(e.main=l(e.children,function(r,l){return"auto"===l.flexStyle.main?l.flexStyle.main=l.flexStyle.mainOffset+parseFloat(l.style.flexGrow)/t*e.mainSpace:l.flexStyle.main+=parseFloat(l.style.flexGrow)/t*e.mainSpace,l.flexStyle.mainOuter=l.flexStyle.main+l.flexStyle.mainBefore+l.flexStyle.mainAfter,r+l.flexStyle.mainOuter},0),e.mainSpace=0)}}},{"../reduce":12}],5:[function(e,t,r){var l=e("../reduce");t.exports=function(e){if(e.mainSpace<0){var t=l(e.children,function(e,t){return e+parseFloat(t.style.flexShrink)},0);t>0&&(e.main=l(e.children,function(r,l){return l.flexStyle.main+=parseFloat(l.style.flexShrink)/t*e.mainSpace,l.flexStyle.mainOuter=l.flexStyle.main+l.flexStyle.mainBefore+l.flexStyle.mainAfter,r+l.flexStyle.mainOuter},0),e.mainSpace=0)}}},{"../reduce":12}],6:[function(e,t,r){var l=e("../reduce");t.exports=function(e){var t;e.lines=[t={main:0,cross:0,children:[]}];for(var r,n=-1;r=e.children[++n];)"nowrap"===e.style.flexWrap||0===t.children.length||"auto"===e.flexStyle.main||e.flexStyle.main-e.flexStyle.mainInnerBefore-e.flexStyle.mainInnerAfter-e.flexStyle.mainBorderBefore-e.flexStyle.mainBorderAfter>=t.main+r.flexStyle.mainOuter?(t.main+=r.flexStyle.mainOuter,t.cross=Math.max(t.cross,r.flexStyle.crossOuter)):e.lines.push(t={main:r.flexStyle.mainOuter,cross:r.flexStyle.crossOuter,children:[]}),t.children.push(r);e.flexStyle.mainLines=l(e.lines,function(e,t){return Math.max(e,t.main)},0),e.flexStyle.crossLines=l(e.lines,function(e,t){return e+t.cross},0),"auto"===e.flexStyle.main&&(e.flexStyle.main=Math.max(e.flexStyle.mainOffset,e.flexStyle.mainLines+e.flexStyle.mainInnerBefore+e.flexStyle.mainInnerAfter+e.flexStyle.mainBorderBefore+e.flexStyle.mainBorderAfter)),"auto"===e.flexStyle.cross&&(e.flexStyle.cross=Math.max(e.flexStyle.crossOffset,e.flexStyle.crossLines+e.flexStyle.crossInnerBefore+e.flexStyle.crossInnerAfter+e.flexStyle.crossBorderBefore+e.flexStyle.crossBorderAfter)),e.flexStyle.crossSpace=e.flexStyle.cross-e.flexStyle.crossInnerBefore-e.flexStyle.crossInnerAfter-e.flexStyle.crossBorderBefore-e.flexStyle.crossBorderAfter-e.flexStyle.crossLines,e.flexStyle.mainOuter=e.flexStyle.main+e.flexStyle.mainBefore+e.flexStyle.mainAfter,e.flexStyle.crossOuter=e.flexStyle.cross+e.flexStyle.crossBefore+e.flexStyle.crossAfter}},{"../reduce":12}],7:[function(e,t,r){function l(t){for(var r,l=-1;r=t.children[++l];)e("./flex-direction")(r,t.style.flexDirection);e("./flex-direction")(t,t.style.flexDirection),e("./order")(t),e("./flexbox-lines")(t),e("./align-content")(t),l=-1;for(var n;n=t.lines[++l];)n.mainSpace=t.flexStyle.main-t.flexStyle.mainInnerBefore-t.flexStyle.mainInnerAfter-t.flexStyle.mainBorderBefore-t.flexStyle.mainBorderAfter-n.main,e("./flex-grow")(n),e("./flex-shrink")(n),e("./margin-main")(n),e("./margin-cross")(n),e("./justify-content")(n,t.style.justifyContent,t);e("./align-items")(t)}t.exports=l},{"./align-content":1,"./align-items":2,"./flex-direction":3,"./flex-grow":4,"./flex-shrink":5,"./flexbox-lines":6,"./justify-content":8,"./margin-cross":9,"./margin-main":10,"./order":11}],8:[function(e,t,r){t.exports=function(e,t,r){var l,n,o,f=r.flexStyle.mainInnerBefore,i=-1;if("flex-end"===t)for(l=e.mainSpace,l+=f;o=e.children[++i];)o.flexStyle.mainStart=l,l+=o.flexStyle.mainOuter;else if("center"===t)for(l=e.mainSpace/2,l+=f;o=e.children[++i];)o.flexStyle.mainStart=l,l+=o.flexStyle.mainOuter;else if("space-between"===t)for(n=e.mainSpace/(e.children.length-1),l=0,l+=f;o=e.children[++i];)o.flexStyle.mainStart=l,l+=o.flexStyle.mainOuter+n;else if("space-around"===t)for(n=2*e.mainSpace/(2*e.children.length),l=n/2,l+=f;o=e.children[++i];)o.flexStyle.mainStart=l,l+=o.flexStyle.mainOuter+n;else for(l=0,l+=f;o=e.children[++i];)o.flexStyle.mainStart=l,l+=o.flexStyle.mainOuter}},{}],9:[function(e,t,r){t.exports=function(e){for(var t,r=-1;t=e.children[++r];){var l=0;"auto"===t.flexStyle.crossBefore&&++l,"auto"===t.flexStyle.crossAfter&&++l;var n=e.cross-t.flexStyle.crossOuter;"auto"===t.flexStyle.crossBefore&&(t.flexStyle.crossBefore=n/l),"auto"===t.flexStyle.crossAfter&&(t.flexStyle.crossAfter=n/l),"auto"===t.flexStyle.cross?t.flexStyle.crossOuter=t.flexStyle.crossOffset+t.flexStyle.crossBefore+t.flexStyle.crossAfter:t.flexStyle.crossOuter=t.flexStyle.cross+t.flexStyle.crossBefore+t.flexStyle.crossAfter}}},{}],10:[function(e,t,r){t.exports=function(e){for(var t,r=0,l=-1;t=e.children[++l];)"auto"===t.flexStyle.mainBefore&&++r,"auto"===t.flexStyle.mainAfter&&++r;if(r>0){for(l=-1;t=e.children[++l];)"auto"===t.flexStyle.mainBefore&&(t.flexStyle.mainBefore=e.mainSpace/r),"auto"===t.flexStyle.mainAfter&&(t.flexStyle.mainAfter=e.mainSpace/r),"auto"===t.flexStyle.main?t.flexStyle.mainOuter=t.flexStyle.mainOffset+t.flexStyle.mainBefore+t.flexStyle.mainAfter:t.flexStyle.mainOuter=t.flexStyle.main+t.flexStyle.mainBefore+t.flexStyle.mainAfter;e.mainSpace=0}}},{}],11:[function(e,t,r){var l=/^(column|row)-reverse$/;t.exports=function(e){e.children.sort(function(e,t){return e.style.order-t.style.order||e.index-t.index}),l.test(e.style.flexDirection)&&e.children.reverse()}},{}],12:[function(e,t,r){function l(e,t,r){for(var l=e.length,n=-1;++n<l;)n in e&&(r=t(r,e[n],n));return r}t.exports=l},{}],13:[function(e,t,r){function l(e){i(f(e))}var n=e("./read"),o=e("./write"),f=e("./readAll"),i=e("./writeAll");t.exports=l,t.exports.read=n,t.exports.write=o,t.exports.readAll=f,t.exports.writeAll=i},{"./read":15,"./readAll":16,"./write":17,"./writeAll":18}],14:[function(e,t,r){function l(e,t,r){var l=e[t],f=String(l).match(o);if(!f){var a=t.match(s);if(a){var c=e["border"+a[1]+"Style"];return"none"===c?0:i[l]||0}return l}var y=f[1],x=f[2];return"px"===x?1*y:"cm"===x?.3937*y*96:"in"===x?96*y:"mm"===x?.3937*y*96/10:"pc"===x?12*y*96/72:"pt"===x?96*y/72:"rem"===x?16*y:n(l,r)}function n(e,t){f.style.cssText="border:none!important;clip:rect(0 0 0 0)!important;display:block!important;font-size:1em!important;height:0!important;margin:0!important;padding:0!important;position:relative!important;width:"+e+"!important",t.parentNode.insertBefore(f,t.nextSibling);var r=f.offsetWidth;return t.parentNode.removeChild(f),r}t.exports=l;var o=/^([-+]?\d*\.?\d+)(%|[a-z]+)$/,f=document.createElement("div"),i={medium:4,none:0,thick:6,thin:2},s=/^border(Bottom|Left|Right|Top)Width$/},{}],15:[function(e,t,r){function l(e){var t={alignContent:"stretch",alignItems:"stretch",alignSelf:"auto",borderBottomStyle:"none",borderBottomWidth:0,borderLeftStyle:"none",borderLeftWidth:0,borderRightStyle:"none",borderRightWidth:0,borderTopStyle:"none",borderTopWidth:0,boxSizing:"content-box",display:"inline",flexBasis:"auto",flexDirection:"row",flexGrow:0,flexShrink:1,flexWrap:"nowrap",justifyContent:"flex-start",height:"auto",marginTop:0,marginRight:0,marginLeft:0,marginBottom:0,paddingTop:0,paddingRight:0,paddingLeft:0,paddingBottom:0,maxHeight:"none",maxWidth:"none",minHeight:0,minWidth:0,order:0,position:"static",width:"auto"},r=e instanceof Element;if(r){var l=e.hasAttribute("data-style"),i=l?e.getAttribute("data-style"):e.getAttribute("style")||"";l||e.setAttribute("data-style",i);var s=window.getComputedStyle&&getComputedStyle(e)||{};f(t,s);var c=e.currentStyle||{};n(t,c),o(t,i);for(var y in t)t[y]=a(t,y,e);var x=e.getBoundingClientRect();t.offsetHeight=x.height||e.offsetHeight,t.offsetWidth=x.width||e.offsetWidth}var S={element:e,style:t};return S}function n(e,t){for(var r in e){var l=r in t;if(l)e[r]=t[r];else{var n=r.replace(/[A-Z]/g,"-$&").toLowerCase(),o=n in t;o&&(e[r]=t[n])}}var f="-js-display"in t;f&&(e.display=t["-js-display"])}function o(e,t){for(var r;r=i.exec(t);){var l=r[1].toLowerCase().replace(/-[a-z]/g,function(e){return e.slice(1).toUpperCase()});e[l]=r[2]}}function f(e,t){for(var r in e){var l=r in t;l&&!s.test(r)&&(e[r]=t[r])}}t.exports=l;var i=/([^\s:;]+)\s*:\s*([^;]+?)\s*(;|$)/g,s=/^(alignSelf|height|width)$/,a=e("./getComputedLength")},{"./getComputedLength":14}],16:[function(e,t,r){function l(e){var t=[];return n(e,t),t}function n(e,t){for(var r,l=o(e),i=[],s=-1;r=e.childNodes[++s];){var a=3===r.nodeType&&!/^\s*$/.test(r.nodeValue);if(l&&a){var c=r;r=e.insertBefore(document.createElement("flex-item"),c),r.appendChild(c)}var y=r instanceof Element;if(y){var x=n(r,t);if(l){var S=r.style;S.display="inline-block",S.position="absolute",x.style=f(r).style,i.push(x)}}}var m={element:e,children:i};return l&&(m.style=f(e).style,t.push(m)),m}function o(e){var t=e instanceof Element,r=t&&e.getAttribute("data-style"),l=t&&e.currentStyle&&e.currentStyle["-js-display"],n=i.test(r)||s.test(l);return n}t.exports=l;var f=e("../read"),i=/(^|;)\s*display\s*:\s*(inline-)?flex\s*(;|$)/i,s=/^(inline-)?flex$/i},{"../read":15}],17:[function(e,t,r){function l(e){o(e);var t=e.element.style,r="inline"===e.mainAxis?["main","cross"]:["cross","main"];t.boxSizing="content-box",t.display="block",t.position="relative",t.width=n(e.flexStyle[r[0]]-e.flexStyle[r[0]+"InnerBefore"]-e.flexStyle[r[0]+"InnerAfter"]-e.flexStyle[r[0]+"BorderBefore"]-e.flexStyle[r[0]+"BorderAfter"]),t.height=n(e.flexStyle[r[1]]-e.flexStyle[r[1]+"InnerBefore"]-e.flexStyle[r[1]+"InnerAfter"]-e.flexStyle[r[1]+"BorderBefore"]-e.flexStyle[r[1]+"BorderAfter"]);for(var l,f=-1;l=e.children[++f];){var i=l.element.style,s="inline"===l.mainAxis?["main","cross"]:["cross","main"];i.boxSizing="content-box",i.display="block",i.position="absolute","auto"!==l.flexStyle[s[0]]&&(i.width=n(l.flexStyle[s[0]]-l.flexStyle[s[0]+"InnerBefore"]-l.flexStyle[s[0]+"InnerAfter"]-l.flexStyle[s[0]+"BorderBefore"]-l.flexStyle[s[0]+"BorderAfter"])),"auto"!==l.flexStyle[s[1]]&&(i.height=n(l.flexStyle[s[1]]-l.flexStyle[s[1]+"InnerBefore"]-l.flexStyle[s[1]+"InnerAfter"]-l.flexStyle[s[1]+"BorderBefore"]-l.flexStyle[s[1]+"BorderAfter"])),i.top=n(l.flexStyle[s[1]+"Start"]),i.left=n(l.flexStyle[s[0]+"Start"]),i.marginTop=n(l.flexStyle[s[1]+"Before"]),i.marginRight=n(l.flexStyle[s[0]+"After"]),i.marginBottom=n(l.flexStyle[s[1]+"After"]),i.marginLeft=n(l.flexStyle[s[0]+"Before"])}}function n(e){return"string"==typeof e?e:Math.max(e,0)+"px"}t.exports=l;var o=e("../flexbox")},{"../flexbox":7}],18:[function(e,t,r){function l(e){for(var t,r=-1;t=e[++r];)n(t)}t.exports=l;var n=e("../write")},{"../write":17}]},{},[13])(13)});assets/js/dev/skip-link-focus-fix.js000064400000001736152425655550013425 0ustar00/**
 * File skip-link-focus-fix.js
 *
 * Helps with accessibility for keyboard only users.
 * This is the source file for what is minified in the astra_skip_link_focus_fix() PHP function.
 *
 * Learn more: https://github.com/Automattic/_s/pull/136
 */

( function() {
	var isWebkit = -1 < navigator.userAgent.toLowerCase().indexOf( 'webkit' ),
		isOpera  = -1 < navigator.userAgent.toLowerCase().indexOf( 'opera' ),
		isIE     = -1 < navigator.userAgent.toLowerCase().indexOf( 'msie' );

	if ( ( isWebkit || isOpera || isIE ) && document.getElementById && window.addEventListener ) {
		window.addEventListener( 'hashchange', function() {
			var id = location.hash.substring( 1 ),
				element;

			if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {
				return;
			}

			element = document.getElementById( id );

			if ( element ) {
				if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {
					element.tabIndex = -1;
				}

				element.focus();
			}
		}, false );
	}
}() );
assets/js/dev/bloglo-wc.js000064400000015007152425655550011504 0ustar00//--------------------------------------------------------------------//
// Bloglo WooCommerce compatibility script.
//--------------------------------------------------------------------//
(function ($) {
  "use strict";

  /**
   * Cart dropdown timer.
   * @type {Boolean}
   */
  var cartDropdownTimer = false;

  /**
   * Common element caching.
   */
  var $body = $("body");
  var $wrapper = $("#page");

  /**
   * Holds most important methods that bootstrap the whole theme.
   *
   * @type {Object}
   */
  var BlogloWC = {
    /**
     * Start the engine.
     *
     * @since 1.0.0
     */
    init: function () {
      // Document ready.
      $(document).ready(BlogloWC.ready);

      // Ajax complete event.
      $(document).ajaxComplete(BlogloWC.ajaxComplete);

      // On WooCommerce ajax added to cart event.
      $body.on("added_to_cart", BlogloWC.addedToCart);

      // Bind UI actions.
      BlogloWC.bindUIActions();
    },

    //--------------------------------------------------------------------//
    // Events
    //--------------------------------------------------------------------//

    /**
     * Document ready.
     *
     * @since 1.0.0
     */
    ready: function () {
      BlogloWC.customDropdown();
      BlogloWC.quantButtons();
    },

    /**
     * On ajax request complete.
     *
     * @since 1.0.0
     */
    ajaxComplete: function () {
      BlogloWC.quantButtons();
    },

    /**
     * On WooCommerce added to cart event.
     *
     * @since 1.0.0
     */
    addedToCart: function () {
      BlogloWC.showCartDropdown();
    },

    /**
     * Bind UI actions.
     *
     * @since 1.0.0
     */
    bindUIActions: function () {
      BlogloWC.removeCartItem();
    },

    //--------------------------------------------------------------------//
    // Functions
    //--------------------------------------------------------------------//

    /**
     * Adds plus-munus quantity buttons to WooCommerce.
     *
     * @since 1.0.0
     */
    quantButtons: function () {
      var $newQuantity, $quantity, $input, $this;

      // Append plus and minus buttons to cart quantity.
      var $quantInput = $(
        "div.quantity:not(.appended), td.quantity:not(.appended)"
      ).find(".qty");

      if (
        $quantInput.length &&
        "date" !== $quantInput.prop("type") &&
        "hidden" !== $quantInput.prop("type")
      ) {
        // Add plus and minus icons
        $quantInput.parent().addClass("appended");
        $quantInput.after(
          '<a href="#" class="bloglo-woo-minus">-</a><a href="#" class="bloglo-woo-plus">+</a>'
        );

        $(".bloglo-woo-plus, .bloglo-woo-minus").unbind("click");
        $(".bloglo-woo-plus, .bloglo-woo-minus").on("click", function (e) {
          e.preventDefault();

          $this = $(this);
          $input = $this.parent().find("input");
          $quantity = $input.val();
          $newQuantity = 0;

          if ($this.hasClass("bloglo-woo-plus")) {
            $newQuantity = parseInt($quantity) + 1;
          } else {
            if (0 < $quantity) {
              $newQuantity = parseInt($quantity) - 1;
            }
          }

          $input.val($newQuantity);

          // Trigger change.
          $quantInput.trigger("change");
        });
      }
    },

    /**
     * Shows cart dropdown widget for 5 seconds aftern an item has been added to the cart.
     *
     * @since 1.0.0
     */
    showCartDropdown: function () {
      // Exit if header cart dropdown is not available.
      if (!$(".bloglo-header-widget__cart").length) {
        return;
      }

      $(".bloglo-header-widget__cart").addClass("dropdown-visible");

      setTimeout(function () {
        $("#bloglo-header-inner")
          .find(".bloglo-cart")
          .find(".bloglo-cart-count")
          .addClass("animate-pop");
      }, 100);

      if (cartDropdownTimer) {
        clearTimeout(cartDropdownTimer);
        cartDropdownTimer = false;
      }

      cartDropdownTimer = setTimeout(function () {
        $(".bloglo-header-widget__cart")
          .removeClass("dropdown-visible")
          .find(".dropdown-item")
          .removeAttr("style");
      }, 5000);
    },

    /**
     * Adds custom dropdown field for shop orderby.
     *
     * @since 1.0.0
     */
    customDropdown: function () {
      if (!$("form.woocommerce-ordering").length) {
        return;
      }

      var $select = $("form.woocommerce-ordering .orderby");
      var $formWrap = $("form.woocommerce-ordering");
      var $sellOption = $(
        "form.woocommerce-ordering .orderby option:selected"
      ).text();
      var chevronSvg =
        '<svg class="bloglo-icon" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.958 10.483a1.29 1.29 0 00-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l8.008 8.008c.267.267.667.4.934.4s.667-.133.934-.4l8.008-8.008a1.29 1.29 0 000-1.868z"/></svg>';

      $formWrap.append(
        '<span id="bloglo-orderby"><span>' +
          $sellOption +
          "</span>" +
          chevronSvg +
          "</span>"
      );
      $select.addClass("custom-select-loaded");

      var $appended = $("#bloglo-orderby");
      $select.width($appended.width()).css("height", $appended.height() + "px");

      $select.change(function () {
        $appended
          .find("span")
          .html($("form.woocommerce-ordering .orderby option:selected").text());
        $(this).width($appended.width());
      });
    },

    /**
     * Removes an item from cart via ajax.
     *
     * @since 1.0.0
     */
    removeCartItem: function () {
      var $this;

      // Exit if there is no cart item remove button.
      if (!$(".bloglo-remove-cart-item").length) {
        return;
      }

      $wrapper.on("click", ".bloglo-remove-cart-item", function (e) {
        e.preventDefault();
        $this = $(this);

        $this.closest(".bloglo-cart-item").addClass("removing");

        var data = {
          action: "bloglo_remove_wc_cart_item",
          /* eslint-disable camelcase */
          _ajax_nonce: blogloVars.nonce,
          product_key: $this.data("product_key"),
          /* eslint-enable camelcase */
        };

        $.post(blogloVars.ajaxurl, data, function (response) {
          if (response.success) {
            $body.trigger("wc_fragment_refresh");
          } else {
            $this.closest(".bloglo-cart-item").removeClass("removing");
          }
        });
      });
    },
  }; // END var BlogloWC.

  BlogloWC.init();
  window.bloglo_wc = BlogloWC; // eslint-disable-line camelcase
})(jQuery);
assets/js/dev/bloglo.js000064400000140013152425655550011071 0ustar00//--------------------------------------------------------------------//
// Global helper functions
//--------------------------------------------------------------------//

/**
 * Matches polyfill.
 *
 * @since 1.0.0
 */
if (!Element.prototype.matches) {
  Element.prototype.matches =
    Element.prototype.msMatchesSelector ||
    Element.prototype.webkitMatchesSelector;
}

/**
 * Closest polyfill.
 *
 * @since 1.0.0
 */
if (!Element.prototype.closest) {
  Element.prototype.closest = function (s) {
    var el = this;

    do {
      if (el.matches(s)) {
        return el;
      }
      el = el.parentElement || el.parentNode;
    } while (null !== el && 1 === el.nodeType);

    return null;
  };
}

/**
 * Foreach polyfill.
 *
 * @since 1.0.0
 */
if (window.NodeList && !NodeList.prototype.forEach) {
  NodeList.prototype.forEach = Array.prototype.forEach;
}

/**
 * Element.prototype.classList for IE8/9, Safari.
 *
 * @since 1.10
 */
(function () {
  // Helpers.
  var trim = function (s) {
      return s.replace(/^\s+|\s+$/g, "");
    },
    regExp = function (name) {
      return new RegExp("(^|\\s+)" + name + "(\\s+|$)");
    },
    forEach = function (list, fn, scope) {
      for (var i = 0; i < list.length; i++) {
        fn.call(scope, list[i]);
      }
    };

  // Class list object with basic methods.
  function ClassList(element) {
    this.element = element;
  }

  ClassList.prototype = {
    add: function () {
      forEach(
        arguments,
        function (name) {
          if (!this.contains(name)) {
            this.element.className = trim(this.element.className + " " + name);
          }
        },
        this
      );
    },
    remove: function () {
      forEach(
        arguments,
        function (name) {
          this.element.className = trim(
            this.element.className.replace(regExp(name), " ")
          );
        },
        this
      );
    },
    toggle: function (name) {
      return this.contains(name)
        ? (this.remove(name), false)
        : (this.add(name), true);
    },
    contains: function (name) {
      return regExp(name).test(this.element.className);
    },
    item: function (i) {
      return this.element.className.split(/\s+/)[i] || null;
    },

    // bonus
    replace: function (oldName, newName) {
      this.remove(oldName), this.add(newName);
    },
  };

  // IE8/9, Safari
  // Remove this if statements to override native classList.
  if (!("classList" in Element.prototype)) {
    // Use this if statement to override native classList that does not have for example replace() method.
    // See browser compatibility: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList#Browser_compatibility.
    // if (!('classList' in Element.prototype) ||
    //     !('classList' in Element.prototype && Element.prototype.classList.replace)) {
    Object.defineProperty(Element.prototype, "classList", {
      get: function () {
        return new ClassList(this);
      },
    });
  }

  // For others replace() support.
  if (window.DOMTokenList && !DOMTokenList.prototype.replace) {
    DOMTokenList.prototype.replace = ClassList.prototype.replace;
  }
})();

/**
 * Index polyfill.
 *
 * @since 1.0.0
 */
var blogloGetIndex = function (el) {
  var i = 0;

  while ((el = el.previousElementSibling)) {
    i++;
  }

  return i;
};

/**
 * Slide Up animation.
 *
 * @since 1.0.0
 *
 * @param  {[type]} target   Element to slide.
 * @param  {Number} duration Animation duration.
 */
var blogloSlideUp = (target, duration = 500) => {
  target.style.transitionProperty = "height, margin, padding";
  target.style.transitionDuration = duration + "ms";
  target.style.boxSizing = "border-box";
  target.style.height = target.offsetHeight + "px";
  target.offsetHeight;
  target.style.overflow = "hidden";
  target.style.height = 0;
  target.style.paddingTop = 0;
  target.style.paddingBottom = 0;
  target.style.marginTop = 0;
  target.style.marginBottom = 0;
  window.setTimeout(() => {
    target.style.display = null;
    target.style.removeProperty("height");
    target.style.removeProperty("padding-top");
    target.style.removeProperty("padding-bottom");
    target.style.removeProperty("margin-top");
    target.style.removeProperty("margin-bottom");
    target.style.removeProperty("overflow");
    target.style.removeProperty("transition-duration");
    target.style.removeProperty("transition-property");
  }, duration);
};

/**
 * Slide Down animation.
 *
 * @since 1.0.0
 *
 * @param  {[type]} target   Element to slide.
 * @param  {Number} duration Animation duration.
 */
var blogloSlideDown = (target, duration = 500) => {
  target.style.removeProperty("display");
  let display = window.getComputedStyle(target).display;

  if ("none" === display) {
    display = "block";
  }

  target.style.display = display;
  let height = target.offsetHeight;
  target.style.overflow = "hidden";
  target.style.height = 0;
  target.style.paddingTop = 0;
  target.style.paddingBottom = 0;
  target.style.marginTop = 0;
  target.style.marginBottom = 0;
  target.offsetHeight;
  target.style.boxSizing = "border-box";
  target.style.transitionProperty = "height, margin, padding";
  target.style.transitionDuration = duration + "ms";
  target.style.height = height + "px";
  target.style.removeProperty("padding-top");
  target.style.removeProperty("padding-bottom");
  target.style.removeProperty("margin-top");
  target.style.removeProperty("margin-bottom");
  window.setTimeout(() => {
    target.style.removeProperty("height");
    target.style.removeProperty("overflow");
    target.style.removeProperty("transition-duration");
    target.style.removeProperty("transition-property");
  }, duration);
};

/**
 * MoveTo - A lightweight scroll animation javascript library without any dependency.
 * Version 1.8.3 (21-07-2019 00:32)
 * Licensed under MIT
 * Copyright 2019 Hasan Aydoğdu <hsnaydd@gmail.com>
 */
var blogloScrollTo = (function () {
  /**
   * Defaults
   * @type {object}
   */
  var defaults = {
    tolerance: 0,
    duration: 800,
    easing: "easeOutQuart",
    container: window,
    callback: function callback() {},
  };

  /**
   * easeOutQuart Easing Function
   * @param  {number} t - current time
   * @param  {number} b - start value
   * @param  {number} c - change in value
   * @param  {number} d - duration
   * @return {number} - calculated value
   */

  function easeOutQuart(t, b, c, d) {
    t /= d;
    t--;
    return -c * (t * t * t * t - 1) + b;
  }

  /**
   * Merge two object
   *
   * @param  {object} obj1
   * @param  {object} obj2
   * @return {object} merged object
   */
  function mergeObject(obj1, obj2) {
    var obj3 = {};
    Object.keys(obj1).forEach(function (propertyName) {
      obj3[propertyName] = obj1[propertyName];
    });
    Object.keys(obj2).forEach(function (propertyName) {
      obj3[propertyName] = obj2[propertyName];
    });
    return obj3;
  }

  /**
   * Converts camel case to kebab case
   * @param  {string} val the value to be converted
   * @return {string} the converted value
   */
  function kebabCase(val) {
    return val.replace(/([A-Z])/g, function ($1) {
      return "-" + $1.toLowerCase();
    });
  }

  /**
   * Count a number of item scrolled top
   * @param  {Window|HTMLElement} container
   * @return {number}
   */
  function countScrollTop(container) {
    if (container instanceof HTMLElement) {
      return container.scrollTop;
    }

    return container.pageYOffset;
  }

  /**
   * blogloScrollTo Constructor
   * @param {object} options Options
   * @param {object} easeFunctions Custom ease functions
   */
  function blogloScrollTo() {
    var options =
      0 < arguments.length && arguments[0] !== undefined ? arguments[0] : {};
    var easeFunctions =
      1 < arguments.length && arguments[1] !== undefined ? arguments[1] : {};
    this.options = mergeObject(defaults, options);
    this.easeFunctions = mergeObject(
      {
        easeOutQuart: easeOutQuart,
      },
      easeFunctions
    );
  }

  /**
   * Register a dom element as trigger
   * @param  {HTMLElement} dom Dom trigger element
   * @param  {function} callback Callback function
   * @return {function|void} unregister function
   */
  blogloScrollTo.prototype.registerTrigger = function (dom, callback) {
    var _this = this;

    if (!dom) {
      return;
    }

    var href = dom.getAttribute("href") || dom.getAttribute("data-target"); // The element to be scrolled

    var target =
      href && "#" !== href
        ? document.getElementById(href.substring(1))
        : document.body;
    var options = mergeObject(
      this.options,
      _getOptionsFromTriggerDom(dom, this.options)
    );

    if ("function" === typeof callback) {
      options.callback = callback;
    }

    var listener = function listener(e) {
      e.preventDefault();

      _this.move(target, options);
    };

    dom.addEventListener("click", listener, false);
    return function () {
      return dom.removeEventListener("click", listener, false);
    };
  };

  /**
   * Move
   * Scrolls to given element by using easeOutQuart function
   * @param  {HTMLElement|number} target Target element to be scrolled or target position
   * @param  {object} options Custom options
   */
  blogloScrollTo.prototype.move = function (target) {
    var _this2 = this;

    var options =
      1 < arguments.length && arguments[1] !== undefined ? arguments[1] : {};

    if (0 !== target && !target) {
      return;
    }

    options = mergeObject(this.options, options);
    var distance =
      "number" === typeof target ? target : target.getBoundingClientRect().top;
    var from = countScrollTop(options.container);
    var startTime = null;
    var lastYOffset;
    distance -= options.tolerance; // rAF loop

    var loop = function loop(currentTime) {
      var currentYOffset = countScrollTop(_this2.options.container);

      if (!startTime) {
        // To starts time from 1, we subtracted 1 from current time
        // If time starts from 1 The first loop will not do anything,
        // because easing value will be zero
        startTime = currentTime - 1;
      }

      var timeElapsed = currentTime - startTime;

      if (lastYOffset) {
        if (
          (0 < distance && lastYOffset > currentYOffset) ||
          (0 > distance && lastYOffset < currentYOffset)
        ) {
          return options.callback(target);
        }
      }

      lastYOffset = currentYOffset;

      var val = _this2.easeFunctions[options.easing](
        timeElapsed,
        from,
        distance,
        options.duration
      );

      options.container.scroll(0, val);

      if (timeElapsed < options.duration) {
        window.requestAnimationFrame(loop);
      } else {
        options.container.scroll(0, distance + from);
        options.callback(target);
      }
    };

    window.requestAnimationFrame(loop);
  };

  /**
   * Adds custom ease function
   * @param {string}   name Ease function name
   * @param {function} fn   Ease function
   */
  blogloScrollTo.prototype.addEaseFunction = function (name, fn) {
    this.easeFunctions[name] = fn;
  };

  /**
   * Returns options which created from trigger dom element
   * @param  {HTMLElement} dom Trigger dom element
   * @param  {object} options The instance's options
   * @return {object} The options which created from trigger dom element
   */
  function _getOptionsFromTriggerDom(dom, options) {
    var domOptions = {};
    Object.keys(options).forEach(function (key) {
      var value = dom.getAttribute("data-mt-".concat(kebabCase(key)));

      if (value) {
        domOptions[key] = isNaN(value) ? value : parseInt(value, 10);
      }
    });
    return domOptions;
  }

  return blogloScrollTo;
})();

/**
 * Get all of an element's parent elements up the DOM tree
 *
 * @since 1.0.0
 *
 * @param  {Node}   elem     The element.
 * @param  {String} selector Selector to match against [optional].
 * @return {Array}           The parent elements.
 */
var blogloGetParents = (elem, selector) => {
  // Element.matches() polyfill.
  if (!Element.prototype.matches) {
    Element.prototype.matches =
      Element.prototype.matchesSelector ||
      Element.prototype.mozMatchesSelector ||
      Element.prototype.msMatchesSelector ||
      Element.prototype.oMatchesSelector ||
      Element.prototype.webkitMatchesSelector ||
      function (s) {
        var matches = (this.document || this.ownerDocument).querySelectorAll(s),
          i = matches.length;
        while (0 <= --i && matches.item(i) !== this) {}
        return -1 < i;
      };
  }

  // Setup parents array.
  var parents = [];

  // Get matching parent elements.
  for (; elem && elem !== document; elem = elem.parentNode) {
    // Add matching parents to array.
    if (selector) {
      if (elem.matches(selector)) {
        parents.push(elem);
      }
    } else {
      parents.push(elem);
    }
  }
  return parents;
};

// CustomEvent() constructor functionality in Internet Explorer 9 and higher.
(function () {
  if ("function" === typeof window.CustomEvent) {
    return false;
  }

  function CustomEvent(event, params) {
    params = params || { bubbles: false, cancelable: false, detail: undefined };
    var evt = document.createEvent("CustomEvent");
    evt.initCustomEvent(
      event,
      params.bubbles,
      params.cancelable,
      params.detail
    );
    return evt;
  }

  CustomEvent.prototype = window.Event.prototype;
  window.CustomEvent = CustomEvent;
})();

/**
 * Trigger custom JS Event.
 *
 * @since 1.0.0
 *
 * @link https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent
 * @param {Node} el Dom Node element on which the event is to be triggered.
 * @param {Node} typeArg A DOMString representing the name of the event.
 * @param {String} A CustomEventInit dictionary, having the following fields:
 *			"detail", optional and defaulting to null, of type any, that is an event-dependent value associated with the event.
 */
var blogloTriggerEvent = function (el, typeArg) {
  var customEventInit =
    2 < arguments.length && arguments[2] !== undefined ? arguments[2] : {};

  var event = new CustomEvent(typeArg, customEventInit);
  el.dispatchEvent(event);
};

// Main
(function () {
  //--------------------------------------------------------------------//
  // Variable caching
  //--------------------------------------------------------------------//

  var blogloScrollButton = document.querySelector("#bloglo-scroll-top");
  var pageWrapper = document.getElementById("page");

  //--------------------------------------------------------------------//
  // Local helper functions
  //--------------------------------------------------------------------//

  /**
   * Submenu overflow helper
   *
   * @since 1.0.0
   */
  var blogloSmartSubmenus = () => {
    if (document.body.classList.contains("bloglo-is-mobile")) {
      return;
    }

    var el, elPosRight, elPosLeft, winRight;

    winRight = window.innerWidth;

    document.querySelectorAll(".sub-menu").forEach((item) => {
      // Set item to be visible so we can grab offsets
      item.style.visibility = "visible";

      // Left offset
      const rect = item.getBoundingClientRect();
      elPosLeft = rect.left + window.pageXOffset;

      // Right offset
      elPosRight = elPosLeft + rect.width;

      // Remove styles
      item.removeAttribute("style");

      // Decide where to open
      if (elPosRight > winRight) {
        item.closest("li").classList.add("opens-left");
      } else if (0 > elPosLeft) {
        item.closest("li").classList.add("opens-right");
      }
    });
  };

  /**
   * Debounce functions for better performance
   * (c) 2018 Chris Ferdinandi, MIT License, https://gomakethings.com
   *
   * @since 1.0.0
   *
   * @param  {Function} fn The function to debounce
   */
  var blogloDebounce = (fn) => {
    // Setup a timer
    var timeout;

    // Return a function to run debounced
    return function () {
      // Setup the arguments
      var context = this;
      var args = arguments;

      // If there's a timer, cancel it
      if (timeout) {
        window.cancelAnimationFrame(timeout);
      }

      // Setup the new requestAnimationFrame()
      timeout = window.requestAnimationFrame(function () {
        fn.apply(this, args);
      });
    };
  };

  /**
   * Handles Scroll to Top button click
   *
   * @since 1.0.0
   */
  var blogloScrollTopButton = () => {
    if (null === blogloScrollButton) {
      return;
    }

    if (450 < window.pageYOffset || 450 < document.documentElement.scrollTop) {
      blogloScrollButton.classList.add("bloglo-visible");
    } else {
      blogloScrollButton.classList.remove("bloglo-visible");
    }
  };

  /**
   * Handles Sticky Header functionality.
   *
   * @since 1.0.0
   */
  var blogloStickyHeader = () => {
    // Check if sticky is enabled.
    if (!bloglo_vars["sticky-header"].enabled) {
      return;
    }

    var header = document.getElementById("bloglo-header");
    var headerInner = document.getElementById("bloglo-header-inner");
    var wpadminbar = document.getElementById("wpadminbar");

    // Check for header layout 3 & 4.
    if (document.body.classList.contains("bloglo-header-layout-3") || document.body.classList.contains("bloglo-header-layout-4")) {
      header = document.querySelector("#bloglo-header .bloglo-nav-container");
      headerInner = document.querySelector(
        "#bloglo-header .bloglo-nav-container .bloglo-container"
      );
    }

    // Mobile nav active.
    if (window.outerWidth <= bloglo_vars["responsive-breakpoint"]) {
      var header = document.getElementById("bloglo-header");
      var headerInner = document.getElementById("bloglo-header-inner");
    }

    // Check if elements exist.
    if (null === header || null === headerInner) {
      return;
    }

    // Calculate the initial sticky position.
    var stickyPosition = header.getBoundingClientRect().bottom;
    var sticky = 0 >= stickyPosition - tolerance;
    var tolerance;
    var stickyPlaceholder;

    // Check if there is a top bar.
    if (null === wpadminbar) {
      tolerance = 0;
    } else if (600 >= window.outerWidth) {
      tolerance = 0;
    } else {
      tolerance = wpadminbar.getBoundingClientRect().height;
    }

    var checkPosition = function () {
      if (null === wpadminbar) {
        tolerance = 0;
      } else if (600 >= window.outerWidth) {
        tolerance = 0;
      } else {
        tolerance = wpadminbar.getBoundingClientRect().height;
      }

      stickyPosition = header.getBoundingClientRect().bottom;
      sticky = 0 >= stickyPosition - tolerance;

      maybeStickHeader();
    };

    var maybeStickHeader = function () {
      let hideOn = bloglo_vars["sticky-header"]["hide_on"];

      // Desktop.
      if (hideOn.includes("desktop") && 992 <= window.innerWidth) {
        sticky = false;
      }

      // Tablet.
      if (
        hideOn.includes("tablet") &&
        481 <= window.innerWidth &&
        992 > window.innerWidth
      ) {
        sticky = false;
      }

      // Mobile.
      if (hideOn.includes("mobile") && 481 > window.innerWidth) {
        sticky = false;
      }

      if (sticky) {
        if (!document.body.classList.contains("bloglo-sticky-header")) {
          stickyPlaceholder = document.createElement("div");
          stickyPlaceholder.setAttribute("id", "bloglo-sticky-placeholder");

          stickyPlaceholder.style.height =
            headerInner.getBoundingClientRect().height + "px";
          header.appendChild(stickyPlaceholder);

          document.body.classList.add("bloglo-sticky-header");

          // Add sticky header offset variable.
          document.body.style.setProperty(
            "--bloglo-sticky-h-offset",
            header.offsetHeight + 20 + "px"
          );
        }
      } else {
        if (document.body.classList.contains("bloglo-sticky-header")) {
          document.body.classList.remove("bloglo-sticky-header");
          document.getElementById("bloglo-sticky-placeholder").remove();
        }

        // Remove sticky header offset variable.
        document.body.style.removeProperty("--bloglo-sticky-h-offset");
      }
    };

    // Debounce scroll.
    if ("true" !== header.getAttribute("data-scroll-listener")) {
      window.addEventListener("scroll", function () {
        blogloDebounce(checkPosition());
      });

      header.setAttribute("data-scroll-listener", "true");
    }

    // Debounce resize.
    if ("true" !== header.getAttribute("data-resize-listener")) {
      window.addEventListener("resize", function () {
        blogloDebounce(checkPosition());
      });

      header.setAttribute("data-resize-listener", "true");
    }

    // Trigger scroll.
    blogloTriggerEvent(window, "scroll");
  };

  /**
   * Handles smooth scrolling of elements that have 'bloglo-smooth-scroll' class.
   *
   * @since 1.0.0
   */
  var blogloSmoothScroll = () => {
    const scrollTo = new blogloScrollTo({
      tolerance:
        null === document.getElementById("wpadminbar")
          ? 0
          : document.getElementById("wpadminbar").getBoundingClientRect()
              .height,
    });

    const scrollTriggers = document.getElementsByClassName(
      "bloglo-smooth-scroll"
    );

    for (var i = 0; i < scrollTriggers.length; i++) {
      scrollTo.registerTrigger(scrollTriggers[i]);
    }
  };

  /**
   * Menu accessibility.
   *
   * @since 1.0.0
   */
  var blogloMenuAccessibility = () => {
    if (!document.body.classList.contains("bloglo-menu-accessibility")) {
      return;
    }

    document.querySelectorAll(".bloglo-nav").forEach((menu) => {
      // aria-haspopup
      menu.querySelectorAll("ul").forEach((subMenu) => {
        subMenu.parentNode.setAttribute("aria-haspopup", "true");
      });

      // Dropdown visibility on focus
      menu.querySelectorAll("a").forEach((link) => {
        link.addEventListener("focus", blogloMenuFocus, true);
        link.addEventListener("blur", blogloMenuFocus, true);
      });
    });
  };

  /**
   * Helper function that toggles .hovered on focused/blurred menu items.
   *
   * @since 1.0.0
   */
  function blogloMenuFocus() {
    var self = this;

    // Move up until we find .bloglo-nav
    while (!self.classList.contains("bloglo-nav")) {
      if ("li" === self.tagName.toLowerCase()) {
        if (!self.classList.contains("hovered")) {
          self.classList.add("hovered");
        } else {
          self.classList.remove("hovered");
        }
      }

      self = self.parentElement;
    }
  }

  /**
   * Helps with accessibility for keyboard only users.
   *
   * @since 1.0.0
   */
  var blogloKeyboardFocus = () => {
    document.body.addEventListener("keydown", function (e) {
      document.body.classList.add("using-keyboard");
    });

    document.body.addEventListener("mousedown", function (e) {
      document.body.classList.remove("using-keyboard");
    });
  };

  /**
   * Calculates screen width without scrollbars.
   *
   * @since 1.0.0
   */
  var blogloCalcScreenWidth = () => {
    document.body.style.setProperty(
      "--bloglo-screen-width",
      document.body.clientWidth + "px"
    );
  };

  /**
   * Adds visibility delay on navigation submenus.
   *
   * @since 1.0.0
   */
  var blogloDropdownDelay = () => {
    var hoverTimer = null;

    document
      .querySelectorAll(".bloglo-nav .menu-item-has-children")
      .forEach((item) => {
        item.addEventListener("mouseenter", function () {
          document
            .querySelectorAll(".menu-item-has-children")
            .forEach((subitem) => {
              subitem.classList.remove("hovered");
            });
        });
      });

    document
      .querySelectorAll(".bloglo-nav .menu-item-has-children")
      .forEach((item) => {
        item.addEventListener("mouseleave", function () {
          item.classList.add("hovered");

          if (null !== hoverTimer) {
            clearTimeout(hoverTimer);
            hoverTimer = null;
          }

          hoverTimer = setTimeout(() => {
            item.classList.remove("hovered");

            item
              .querySelectorAll(".menu-item-has-children")
              .forEach((childItem) => {
                childItem.classList.remove("hovered");
              });
          }, 700);
        });
      });
  };

  /**
   * Adds visibility delay for cart widget dropdown.
   *
   * @since 1.0.0
   */
  var blogloCartDropdownDelay = () => {
    var hoverTimer = null;

    document
      .querySelectorAll(".bloglo-header-widget__cart .bloglo-widget-wrapper")
      .forEach((item) => {
        item.addEventListener("mouseenter", function () {
          item.classList.remove("dropdown-visible");
        });
      });

    document
      .querySelectorAll(".bloglo-header-widget__cart .bloglo-widget-wrapper")
      .forEach((item) => {
        item.addEventListener("mouseleave", function () {
          item.classList.add("dropdown-visible");

          if (null !== hoverTimer) {
            clearTimeout(hoverTimer);
            hoverTimer = null;
          }

          hoverTimer = setTimeout(() => {
            item.classList.remove("dropdown-visible");
          }, 700);
        });
      });
  };

  /**
   * Handles header search widget functionality.
   *
   * @since 1.0.0
   */
  var blogloHeaderSearch = () => {
    var searchButton = document.querySelectorAll(".bloglo-search");

    if (0 === searchButton.length) {
      return;
    }

    searchButton.forEach((item) => {
      item.addEventListener("click", (e) => {
        e.preventDefault();

        if (item.classList.contains("bloglo-active")) {
          close_search(item);
        } else {
          show_search(item);
        }
      });
    });

    document.querySelectorAll(".bloglo-search-close").forEach((item) =>
      item.addEventListener("click", function (e) {
        e.preventDefault();
        if (!item.classList.contains("bloglo-active")) {
          close_search(document.querySelector(".bloglo-search"));
          document.querySelector(".bloglo-search").focus();
        }
      })
    );

    // Show search.
    var show_search = function (item) {
      var bloglosearch = document.querySelectorAll(".bloglo-search-form");
      bloglosearch.forEach(function (bloglosearch) {
        if (!bloglosearch) {
          return false;
        }
        document.addEventListener("keydown", function (e) {
          var firstEl, selectors, elements, lastEl, tabKey, shiftKey;
          selectors = "input, a, button";
          elements = bloglosearch.querySelectorAll(selectors);
          lastEl = elements[elements.length - 1];
          firstEl = elements[0];
          tabKey = 9 === e.keyCode;
          shiftKey = e.shiftKey;
          if (!shiftKey && tabKey && lastEl === document.activeElement) {
            e.preventDefault();
            firstEl.focus();
          }
          if (shiftKey && tabKey && firstEl === document.activeElement) {
            e.preventDefault();
            lastEl.focus();
          }
        });
      });

      // Make search visible
      document.body.classList.add("bloglo-search-visible");

      setTimeout(function () {
        // Highlight the search icon
        item.classList.add("bloglo-active");

        // Focus the input
        if (
          null !== item.nextElementSibling &&
          null !== item.nextElementSibling.querySelector("input")
        ) {
          item.nextElementSibling.querySelector("input").focus();
          item.nextElementSibling.querySelector("input").select();
        }
      }, 100);

      // Attach the ESC listener
      document.addEventListener("keydown", esc_close_search);

      // Attach the outside click listener
      pageWrapper.addEventListener("click", outside_close_search);
    };

    // Close search
    var close_search = function (item) {
      // Animate out
      document.body.classList.remove("bloglo-search-visible");

      // Unhighlight the search icon
      item.classList.remove("bloglo-active");

      // Unhook the ESC listener
      document.removeEventListener("keydown", esc_close_search);

      // Unhook the click listener
      pageWrapper.removeEventListener("click", outside_close_search);
    };

    // Esc support to close search
    var esc_close_search = function (e) {
      if (27 == e.keyCode) {
        document.querySelectorAll(".bloglo-search").forEach((item) => {
          close_search(item);
        });
      }
    };

    // Close search when clicked anywhere outside the search box
    var outside_close_search = function (e) {
      if (
        null === e.target.closest(".bloglo-search-container") &&
        null === e.target.closest(".bloglo-search")
      ) {
        document.querySelectorAll(".bloglo-search").forEach((item) => {
          close_search(item);
        });
      }
    };
  };

  /**
   * Handles mobile menu functionality.
   *
   * @since 1.0.0
   */
  var blogloMobileMenu = () => {
    var page = pageWrapper,
      nav = document.querySelector("#bloglo-header-inner .bloglo-nav"),
      current;

    document.querySelectorAll(".bloglo-mobile-nav > button").forEach((item) => {
      item.addEventListener(
        "click",
        function (e) {
          e.preventDefault();

          if (
            document.body.parentNode.classList.contains("is-mobile-menu-active")
          ) {
            close_menu();
          } else {
            show_menu();
          }
        },
        false
      );
    });

    document.addEventListener("keydown", function (e) {
      var firstEl,
        menuWrap,
        selectors,
        elements,
        lastEl,
        tabKey,
        shiftKey,
        closeIcon;
      (menuWrap = document.querySelector(".bloglo-mobile-nav")),
        (closeIcon = document.querySelector(
          ".bloglo-hamburger-bloglo-primary-nav"
        ));
      selectors =
        'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])';
      elements = menuWrap.querySelectorAll(selectors);
      lastEl = elements[elements.length - 1];
      firstEl = closeIcon;
      tabKey = 9 === e.keyCode;
      shiftKey = e.shiftKey;

      let isTabPressed = e.key === "Tab" || e.keyCode === 9;

      if (
        document.body.parentNode.classList.contains("is-mobile-menu-active")
      ) {
        if (!isTabPressed) {
          return;
        }

        if (shiftKey) {
          // if shift key pressed for shift + tab combination
          if (document.activeElement === firstEl) {
            lastEl.focus(); // add focus for the last focusable element
            e.preventDefault();
          }
        } else {
          // if tab key is pressed
          if (document.activeElement === lastEl) {
            // if focused has reached to last focusable element then focus first focusable element after pressing tab
            firstEl.focus(); // add focus for the first focusable element
            e.preventDefault();
          }
        }
      }
    });

    // Helper functions.
    var show_menu = function (e) {
      var bloglonav = document.querySelectorAll(".site-header");
      if (document.body.classList.contains("bloglo-is-mobile")) {
        bloglonav.forEach(function (bloglonav) {
          if (!bloglonav) {
            return false;
          }
        });
      }

      // Add the active class.
      document.body.parentNode.classList.add("is-mobile-menu-active");

      // Hook the ESC listener
      document.addEventListener("keyup", esc_close_menu);

      // Hook the click listener
      if (null !== page) {
        page.addEventListener("click", outside_close_menu);
      }

      // Hook the click listener for submenu toggle.
      document
        .querySelectorAll("#bloglo-header .bloglo-nav")
        .forEach((item) => {
          item.addEventListener("click", submenu_toggle);
        });

      // Slide down the menu.
      blogloSlideDown(nav, 350);
    };

    var close_menu = function (e) {
      // Remove the active class.
      document.body.parentNode.classList.remove("is-mobile-menu-active");

      // Unhook the ESC listener
      document.removeEventListener("keyup", esc_close_menu);

      // Unhook the click listener
      if (null !== page) {
        page.removeEventListener("click", outside_close_menu);
      }

      // Close submenus
      document
        .querySelectorAll("#bloglo-header .bloglo-nav > ul > .bloglo-open")
        .forEach((item) => {
          submenu_display_toggle(item);
        });

      nav.querySelectorAll(".hovered").forEach((li) => {
        li.classList.remove("hovered");
      });

      if (document.body.classList.contains("bloglo-is-mobile")) {
        // Unhook the click listener for submenu toggle
        document
          .querySelectorAll("#bloglo-header .bloglo-nav")
          .forEach((item) => {
            item.removeEventListener("click", submenu_toggle);
          });

        // Slide up the menu
        blogloSlideUp(nav, 250);
      } else {
        nav.style.display = null;
      }
    };

    var outside_close_menu = function (e) {
      if (
        null === e.target.closest(".bloglo-hamburger") &&
        null === e.target.closest(".site-navigation")
      ) {
        close_menu();
      }
    };

    var esc_close_menu = function (e) {
      if (27 == e.keyCode) {
        close_menu();
      }
    };

    var submenu_toggle = function (e) {
      if (e.target.parentElement.querySelectorAll(".sub-menu").length) {
        e.preventDefault();
        if ("button" === e.target.type) {
          submenu_display_toggle(e.target.parentElement);
        }
      }
    };

    // Show or hide the sub menu.
    var submenu_display_toggle = (current) => {
      if (current.classList.contains("bloglo-open")) {
        current.classList.remove("bloglo-open");
        current.querySelectorAll(".sub-menu").forEach((submenu) => {
          //submenu.style.display = null;
          blogloSlideUp(submenu, 350);
        });

        // Close all submenus automatically.
        current.querySelectorAll("li").forEach((item) => {
          item.classList.remove("bloglo-open");
          item.querySelectorAll(".sub-menu").forEach((submenu) => {
            //submenu.style.display = null;
            blogloSlideUp(submenu, 350);
          });
        });
      } else {
        current.querySelectorAll(".sub-menu").forEach((submenu) => {
          // Target first level elements only.
          if (current === submenu.parentElement) {
            //submenu.style.display = 'block';
            blogloSlideDown(submenu, 350);
          }
        });

        current.classList.add("bloglo-open");
      }
    };

    // Create custom event for closing mobile menu.
    document.addEventListener("bloglo-close-mobile-menu", close_menu);
  };

  /**
   * Bloglo preloader.
   *
   * @since 1.0.0
   */
  var blogloPreloader = (timeout = 0) => {
    var preloader = document.getElementById("bloglo-preloader");

    if (null === preloader) {
      return;
    }

    var delay = 250;

    var hide_preloader = () => {
      if (document.body.classList.contains("bloglo-loaded")) {
        return;
      }

      // Start fade out animation.
      document.body.classList.add("bloglo-loading");

      setTimeout(function () {
        // Fade out animation completed - set display none
        document.body.classList.replace("bloglo-loading", "bloglo-loaded");

        // Dispatch event when preloader is done
        blogloTriggerEvent(document.body, "bloglo-preloader-done");
      }, delay);
    };

    // Set timeout or hide immediately
    if (0 < timeout) {
      setTimeout(function () {
        hide_preloader();
      }, timeout);
    } else {
      hide_preloader();
    }

    return false;
  };

  /**
   * Handles comments toggle functionality.
   *
   * @since 1.0.0
   */
  var blogloToggleComments = () => {
    if (!document.body.classList.contains("bloglo-has-comments-toggle")) {
      return;
    }

    if (null == document.getElementById("bloglo-comments-toggle")) {
      return;
    }

    var toggleComments = (e) => {
      if ("undefined" !== typeof e) {
        e.preventDefault();
      }

      if (document.body.classList.contains("comments-visible")) {
        document.body.classList.remove("comments-visible");
        document
          .getElementById("bloglo-comments-toggle")
          .querySelector("span").innerHTML =
          bloglo_vars.strings.comments_toggle_show;
      } else {
        document.body.classList.add("comments-visible");
        document
          .getElementById("bloglo-comments-toggle")
          .querySelector("span").innerHTML =
          bloglo_vars.strings.comments_toggle_hide;
      }
    };

    if (
      null !== document.getElementById("bloglo-comments-toggle") &&
      (-1 !== location.href.indexOf("#comment") ||
        -1 !== location.href.indexOf("respond"))
    ) {
      toggleComments();
    }

    document
      .getElementById("bloglo-comments-toggle")
      .addEventListener("click", toggleComments);
  };

  /**
   * Handles toggling and smooth scrolling when clicked on "Comments" link
   *
   * @since 1.0.0
   */
  var blogloCommentsClick = () => {
    var commentsLink = document.querySelector(".single .comments-link");

    if (null === commentsLink) {
      return;
    }

    commentsLink.addEventListener("click", function (e) {
      // Show comments if hidden under a toggle
      if (
        document.body.classList.contains("bloglo-has-comments-toggle") &&
        !document.body.classList.contains("comments-visible")
      ) {
        document.getElementById("bloglo-comments-toggle").click();
      }
    });
  };

  /**
   * Removes inline styles on menus on resize.
   *
   * @since 1.0.0
   */
  var blogloCheckMobileMenu = () => {
    // Update body class if mobile breakpoint is reached.
    if (window.innerWidth <= bloglo_vars["responsive-breakpoint"]) {
      document.body.classList.add("bloglo-is-mobile");
    } else {
      if (document.body.classList.contains("bloglo-is-mobile")) {
        document.body.classList.remove("bloglo-is-mobile");
        blogloTriggerEvent(document, "bloglo-close-mobile-menu");
      }
    }
  };

  //--------------------------------------------------------------------//
  // Events
  //--------------------------------------------------------------------//

  // DOM ready
  document.addEventListener("DOMContentLoaded", function () {
    blogloPreloader(5000);
    blogloMenuAccessibility();
    blogloKeyboardFocus();
    blogloScrollTopButton();
    blogloSmoothScroll();
    blogloDropdownDelay();
    blogloToggleComments();
    blogloHeaderSearch();
    blogloMobileMenu();
    blogloCheckMobileMenu();
    blogloSmartSubmenus();
    blogloCommentsClick();
    blogloCartDropdownDelay();
    blogloStickyHeader();
    blogloCalcScreenWidth();
  });

  // Window load
  window.addEventListener("load", function () {
    blogloPreloader();
  });

  // Scroll
  window.addEventListener("scroll", function () {
    blogloDebounce(blogloScrollTopButton());
  });

  // Resize
  window.addEventListener("resize", function () {
    blogloDebounce(blogloSmartSubmenus());
    blogloDebounce(blogloCheckMobileMenu());
    blogloDebounce(blogloCalcScreenWidth());
  });

  // Bloglo ready
  blogloTriggerEvent(document.body, "bloglo-ready");

  //--------------------------------------------------------------------//
  // Global
  //--------------------------------------------------------------------//

  window.bloglo = window.bloglo || {};

  // Make these function global.
  window.bloglo.preloader = blogloPreloader;
  window.bloglo.stickyHeader = blogloStickyHeader;

  window.App = {};
  App.config = {
    headroom: {
      enabled: true,
      options: {
        classes: {
          initial: "headroom",
          pinned: "is-pinned",
          unpinned: "is-unpinned",
          top: "is-top",
          notTop: "is-not-top",
          bottom: "is-bottom",
          notBottom: "is-not-bottom",
          frozen: "is-frozen",
        },
      },
    },
    ajax: {
      enabled: true,
    },
    cursorFollower: {
      enabled: true,
      disableBreakpoint: "992",
    },
  };
  App.html = document.querySelector("html");
  App.body = document.querySelector("body");
  window.onload = function () {
    if (App.config.cursorFollower.enabled) {
      Cursor.init();
    }
  };
  const Cursor = (function () {
    const cursor = document.querySelector(".bloglo-js-cursor");
    let follower;
    let label;
    let icon;

    let clientX;
    let clientY;
    let cursorWidth;
    let cursorHeight;
    let cursorTriggers;
    let state;

    function variables() {
      follower = cursor.querySelector(".bloglo-js-follower");
      label = cursor.querySelector(".bloglo-js-label");
      icon = cursor.querySelector(".bloglo-js-icon");

      clientX = -100;
      clientY = -100;
      cursorWidth = cursor.offsetWidth / 2;
      cursorHeight = cursor.offsetHeight / 2;
      cursorTriggers;
      state = false;
    }

    function init() {
      if (!cursor) {
        return;
      }

      variables();
      state = true;
      cursor.classList.add("is-enabled");

      document.addEventListener("mousedown", (e) => {
        cursor.classList.add("is-mouse-down");
      });

      document.addEventListener("mouseup", (e) => {
        cursor.classList.remove("is-mouse-down");
      });

      document.addEventListener("mousemove", (event) => {
        clientX = event.clientX;
        clientY = event.clientY;
      });

      const render = () => {
        cursor.style.transform = `translate(${clientX - cursorWidth}px, ${
          clientY - cursorHeight
        }px)`;
        requestAnimationFrame(render);
      };

      requestAnimationFrame(render);

      update();
      breakpoint();
    }

    function enterHandler({ target }) {
      cursor.classList.add("is-active");

      if (target.getAttribute("data-cursor-label")) {
        App.body.classList.add("is-cursor-active");
        cursor.classList.add("has-label");
        label.innerHTML = target.getAttribute("data-cursor-label");
      }

      if (target.getAttribute("data-cursor-icon")) {
        App.body.classList.add("is-cursor-active");
        cursor.classList.add("has-icon");
        const iconAttr = target.getAttribute("data-cursor-icon");
      }
    }

    function leaveHandler({ target }) {
      App.body.classList.remove("is-cursor-active");
      cursor.classList.remove("is-active");
      cursor.classList.remove("has-label");
      cursor.classList.remove("has-icon");
      label.innerHTML = "";
      icon.innerHTML = "";
    }

    function update() {
      if (!cursor) {
        return;
      }

      cursorTriggers = document.querySelectorAll([
        "button",
        "a",
        "input",
        "[data-cursor]",
        "[data-cursor-label]",
        "[data-cursor-icon]",
        "textarea",
      ]);

      cursorTriggers.forEach((el) => {
        el.addEventListener("mouseenter", enterHandler);
        el.addEventListener("mouseleave", leaveHandler);
      });
    }

    function clear() {
      if (!cursor) {
        return;
      }

      cursorTriggers.forEach((el) => {
        el.removeEventListener("mouseenter", enterHandler);
        el.removeEventListener("mouseleave", leaveHandler);
      });
    }

    function hide() {
      if (!cursor) {
        return;
      }
      cursor.classList.add("is-hidden");
    }

    function show() {
      if (!cursor) {
        return;
      }
      cursor.classList.remove("is-hidden");
    }

    function breakpoint() {
      if (!state) {
        return;
      }
      if (!App.config.cursorFollower.disableBreakpoint) {
        return;
      }

      let width = 0 < window.innerWidth ? window.innerWidth : screen.width;

      if (width < App.config.cursorFollower.disableBreakpoint) {
        state = false;
        cursor.classList.remove("is-enabled");
        clear();
      } else {
        state = true;
        cursor.classList.add("is-enabled");
        update();
      }

      window.addEventListener("resize", () => {
        let width = 0 < window.innerWidth ? window.innerWidth : screen.width;

        if (width < App.config.cursorFollower.disableBreakpoint) {
          state = false;
          cursor.classList.remove("is-enabled");
          clear();
        } else {
          state = true;
          cursor.classList.add("is-enabled");
          update();
        }
      });
    }

    return {
      init: init,
      update: update,
      clear: clear,
      hide: hide,
      show: show,
    };
  })();
  if (document.body.classList.contains("is-parallax-footer")) {
    var body = document.querySelector(".is-parallax-footer");
    initializeParallaxFooter(
      document.getElementById("main"),
      document.getElementById("colophon")
    );
    function initializeParallaxFooter(mainElement, footerElement) {
      footerElement.style.left = "0";
      footerElement.style.right = "0";
      footerElement.style.zIndex = "-1";
      updateParallaxFooter(mainElement, footerElement);
      window.addEventListener("resize", function () {
        updateParallaxFooter(mainElement, footerElement);
      });
      window.addEventListener("scroll", function () {
        updateParallaxFooter(mainElement, footerElement);
      });
    }
    function updateParallaxFooter(mainElement, footerElement) {
      if (isViewportSmallerThanFooter(footerElement)) {
        footerElement.style.bottom = "";
        footerElement.style.top = "0";
      } else {
        footerElement.style.top = "";
        footerElement.style.bottom = "0";
      }
      if (window.scrollY > getBottomY(mainElement)) {
        footerElement.style.position = "static";
        body.style.marginBottom = "0";
      } else {
        body.style.marginBottom = footerElement.offsetHeight + "px";
        footerElement.style.position = "fixed";
      }
    }
    function isViewportSmallerThanFooter(footerElement) {
      return window.innerHeight < footerElement.offsetHeight;
    }
    function getBottomY(element) {
      return element.offsetTop + element.offsetHeight;
    }
  }
  /****** // Start --> Dark / Light Mode Setup // ******/
	document.addEventListener('DOMContentLoaded', function() {
		const toggleButton = document.querySelector('.bloglo-darkmode input[type="checkbox"]');
    if (toggleButton) {
      // Initialize dark mode based on customizer setting or local storage
      let darkModeEnabled = bloglo_vars.dark_mode || localStorage.getItem('darkmode') === 'dark';
      updateDarkMode(darkModeEnabled);
    
      // Toggle button click handler
      toggleButton.addEventListener('change', function() {
        darkModeEnabled = !darkModeEnabled; // Toggle dark mode state
        updateDarkMode(darkModeEnabled); // Update UI and store preference
      });
    
      function updateDarkMode(enabled) {
        if (enabled) {
          document.documentElement.setAttribute('data-theme', 'dark');
          localStorage.setItem('darkmode', 'dark');
          toggleButton.classList.add('active');
        } else {
          document.documentElement.setAttribute('data-theme', 'light');
          localStorage.setItem('darkmode', 'light');
          toggleButton.classList.remove('active');
        }
      }
    }
	});
})();

//jQuery Script
(function ($) {
  $(document).ready(function () {
    // Time
    if ($("#bloglo-time").length) {
      let ct = setInterval(function () {
        myCurrentTimer();
      }, 1000);
    }
    function myCurrentTimer() {
      let currentDateTime = new Date();
      document.getElementById("bloglo-time").innerHTML =
        currentDateTime.toLocaleTimeString();
    }

    if ($("#bloglo-date").length) {
      const currentDate = new Date();
      const options = {
        weekday: 'short', // Short day name (e.g., "Wed")
        month: 'short',   // Short month name (e.g., "Nov")
        day: 'numeric',   // Day of the month (e.g., "8")
        year: 'numeric',  // Full year (e.g., "2023")
      };
      document.getElementById("bloglo-date").innerHTML = currentDate.toLocaleString(document.documentElement.lang, options);
    }
  

    // ticker news slider events
    let htc = $(".ticker-slider-items");
    let hdir = "left";
    if ($("body").hasClass("rtl")) {
      hrtl = true;
      hdir = "right";
    }
    if (htc.length) {
      let htcM = htc.find(".ticker-slider-wrap").marquee({
        speed: 50,
        duration: 14000,
        gap: 0,
        delayBeforeStart: 0,
        direction: hdir,
        duplicated: true,
        startVisible: true,
        pauseOnHover: true,
      });
      htc.on("click", ".ticker-slider-pause", function () {
        $(this).find("i").toggleClass("fa-pause fa-play");
        htcM.marquee("toggle");
      });
    }

    // Masonry Options
    if ($(".masonries").length) {
      setTimeout(() => {
        $(".masonries").masonry({
          // options
          itemSelector: ".masonries > *",
        });
      }, 500);
    }
  });
})(jQuery);
assets/js/dev/bloglo-slider.js000064400000011363152425655550012356 0ustar00/**
 * Blogloom hover slider
 *
 * @since 1.0.0
 */
var blogloHoverSlider = function(el) {

  var current = 0,
      spinner = el.querySelector('.bloglo-spinner');

  // Hide spinner
  var hideSpinner = function() {

      spinner.classList.remove('visible');

      setTimeout(function() {
          spinner.style.display = 'none';
      }, 300);

      el.querySelector('.hover-slider-backgrounds').classList.add('loaded');
  };

  el.querySelector('.hover-slide-bg').classList.add('active');

  // Set background images from data-background
  el.querySelectorAll('.hover-slider-backgrounds .hover-slide-bg').forEach((item, i) => {
      item.style.backgroundImage = 'url(' + item.getAttribute('data-background') + ')';

      el.querySelector('.hover-slider-items > div:nth-child(' + (i + 1) + ')').style.setProperty('--bg-image', 'url("' + item.getAttribute('data-background') + '")');

      item.removeAttribute('data-background');
  });

  // Wait for images to load
  imagesLoaded(el.querySelectorAll('.hover-slider-backgrounds'), {
      background: '.hover-slide-bg'
  }, function() {

      var preloader = document.getElementById('bloglo-preloader');

      // Wait for preloader to finish before we show fade in animation
      if (null !== preloader && !document.body.classList.contains('bloglo-loaded')) {
          document.body.addEventListener('bloglo-preloader-done', function() {
              setTimeout(function() {
                  hideSpinner();
              }, 300);
          });
      } else {
          setTimeout(function() {
              hideSpinner();
          }, 300);
      }
  });

  // Change backgrounds on hover
  el.querySelectorAll('.hover-slider-item-wrapper').forEach((item) => {
      item.addEventListener('mouseenter', function() {

          if (current !== blogloGetIndex(item)) {
              current = blogloGetIndex(item);

              el.querySelectorAll('.hover-slide-bg').forEach((item, i) => {
                  item.classList.remove('active');

                  if (i === current) {
                      item.classList.add('active');
                  }
              });
          }
      });
  });

  return el;
};

/**
* Blogloom horizontal/vertical slider
*
* @since 1.0.0
*/
var blogloHorizontalSlider = function(el) {

  var current = 0,
      spinner = el.querySelector('.bloglo-spinner');

  // Hide spinner
  var hideSpinner = function() {

      spinner.classList.remove('visible');

      setTimeout(function() {
          spinner.style.display = 'none';
      }, 300);

  };

  // Wait for images to load
  imagesLoaded(el.querySelectorAll('.hover-slider-backgrounds'), function() {

      var preloader = document.getElementById('bloglo-preloader');

      // Wait for preloader to finish before we show fade in animation
      if (null !== preloader && !document.body.classList.contains('bloglo-loaded')) {
          document.body.addEventListener('bloglo-preloader-done', function() {
              setTimeout(function() {
                  hideSpinner();
              }, 300);
          });
      } else {
          setTimeout(function() {
              hideSpinner();
          }, 300);
      }
  });

  return el;
};

// Main
(function() {

  // On ready event
  document.addEventListener('DOMContentLoaded', function() {

      // Init sliders
      document.querySelectorAll('.bloglo-hover-slider').forEach((item) => {
          blogloHoverSlider(item);
      });

      document.querySelectorAll('.bloglo-horizontal-slider').forEach((item) => {
          blogloHorizontalSlider(item);
      });

      document.querySelectorAll('.bloglo-vertical-slider').forEach((item) => {
          blogloHorizontalSlider(item);
      });

      // horizontal-slider-items
      if (document.querySelector('.bloglo-horizontal-slider')) {
          let blogloHorizontalSwiper = document.querySelector('.horizontal-slider-items');
          let swiperOptions = {
              slidesPerView: 1,
              spaceBetween: 40,
              centeredSlides: true,
              loop: true,
              autoHeight: true,
              autoplay: {
                  delay: 8000,
                  disableOnInteraction: false,
              },
              navigation: {
                  nextEl: ".swiper-button-next",
                  prevEl: ".swiper-button-prev",
              },
          };
          let blogloHorizontalSwiperSlider = new Swiper(blogloHorizontalSwiper, swiperOptions);
      }

      // vertical-slider-items
      if (document.querySelector('.bloglo-vertical-slider')) {
          let blogloVerticalSwiper = document.querySelector('.vertical-slider-items');
          let swiperOptions = JSON.parse(blogloVerticalSwiper.dataset.swiperOptions);
          let blogloVerticalSwiperSlider = new Swiper(blogloVerticalSwiper, swiperOptions);
      }

  });
}());assets/js/bloglo-slider.min.js000064400000005040152425655550012355 0ustar00var blogloHoverSlider=function(e){var o=0,l=e.querySelector(".bloglo-spinner"),t=function(){l.classList.remove("visible"),setTimeout((function(){l.style.display="none"}),300),e.querySelector(".hover-slider-backgrounds").classList.add("loaded")};return e.querySelector(".hover-slide-bg").classList.add("active"),e.querySelectorAll(".hover-slider-backgrounds .hover-slide-bg").forEach(((o,l)=>{o.style.backgroundImage="url("+o.getAttribute("data-background")+")",e.querySelector(".hover-slider-items > div:nth-child("+(l+1)+")").style.setProperty("--bg-image",'url("'+o.getAttribute("data-background")+'")'),o.removeAttribute("data-background")})),imagesLoaded(e.querySelectorAll(".hover-slider-backgrounds"),{background:".hover-slide-bg"},(function(){null===document.getElementById("bloglo-preloader")||document.body.classList.contains("bloglo-loaded")?setTimeout((function(){t()}),300):document.body.addEventListener("bloglo-preloader-done",(function(){setTimeout((function(){t()}),300)}))})),e.querySelectorAll(".hover-slider-item-wrapper").forEach((l=>{l.addEventListener("mouseenter",(function(){o!==blogloGetIndex(l)&&(o=blogloGetIndex(l),e.querySelectorAll(".hover-slide-bg").forEach(((e,l)=>{e.classList.remove("active"),l===o&&e.classList.add("active")})))}))})),e},blogloHorizontalSlider=function(e){var o=e.querySelector(".bloglo-spinner"),l=function(){o.classList.remove("visible"),setTimeout((function(){o.style.display="none"}),300)};return imagesLoaded(e.querySelectorAll(".hover-slider-backgrounds"),(function(){null===document.getElementById("bloglo-preloader")||document.body.classList.contains("bloglo-loaded")?setTimeout((function(){l()}),300):document.body.addEventListener("bloglo-preloader-done",(function(){setTimeout((function(){l()}),300)}))})),e};document.addEventListener("DOMContentLoaded",(function(){if(document.querySelectorAll(".bloglo-hover-slider").forEach((e=>{blogloHoverSlider(e)})),document.querySelectorAll(".bloglo-horizontal-slider").forEach((e=>{blogloHorizontalSlider(e)})),document.querySelectorAll(".bloglo-vertical-slider").forEach((e=>{blogloHorizontalSlider(e)})),document.querySelector(".bloglo-horizontal-slider")){let e=document.querySelector(".horizontal-slider-items");new Swiper(e,{slidesPerView:1,spaceBetween:40,centeredSlides:!0,loop:!0,autoHeight:!0,autoplay:{delay:8e3,disableOnInteraction:!1},navigation:{nextEl:".swiper-button-next",prevEl:".swiper-button-prev"}})}if(document.querySelector(".bloglo-vertical-slider")){let e=document.querySelector(".vertical-slider-items"),o=JSON.parse(e.dataset.swiperOptions);new Swiper(e,o)}}));assets/js/bloglo.min.js000064400000052531152425655550011104 0ustar00Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;do{if(t.matches(e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null}),window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),function(){var e=function(e){return e.replace(/^\s+|\s+$/g,"")},t=function(e){return new RegExp("(^|\\s+)"+e+"(\\s+|$)")},o=function(e,t,o){for(var n=0;n<e.length;n++)t.call(o,e[n])};function n(e){this.element=e}n.prototype={add:function(){o(arguments,(function(t){this.contains(t)||(this.element.className=e(this.element.className+" "+t))}),this)},remove:function(){o(arguments,(function(o){this.element.className=e(this.element.className.replace(t(o)," "))}),this)},toggle:function(e){return this.contains(e)?(this.remove(e),!1):(this.add(e),!0)},contains:function(e){return t(e).test(this.element.className)},item:function(e){return this.element.className.split(/\s+/)[e]||null},replace:function(e,t){this.remove(e),this.add(t)}},"classList"in Element.prototype||Object.defineProperty(Element.prototype,"classList",{get:function(){return new n(this)}}),window.DOMTokenList&&!DOMTokenList.prototype.replace&&(DOMTokenList.prototype.replace=n.prototype.replace)}();var blogloGetIndex=function(e){for(var t=0;e=e.previousElementSibling;)t++;return t},blogloSlideUp=(e,t=500)=>{e.style.transitionProperty="height, margin, padding",e.style.transitionDuration=t+"ms",e.style.boxSizing="border-box",e.style.height=e.offsetHeight+"px",e.offsetHeight,e.style.overflow="hidden",e.style.height=0,e.style.paddingTop=0,e.style.paddingBottom=0,e.style.marginTop=0,e.style.marginBottom=0,window.setTimeout((()=>{e.style.display=null,e.style.removeProperty("height"),e.style.removeProperty("padding-top"),e.style.removeProperty("padding-bottom"),e.style.removeProperty("margin-top"),e.style.removeProperty("margin-bottom"),e.style.removeProperty("overflow"),e.style.removeProperty("transition-duration"),e.style.removeProperty("transition-property")}),t)},blogloSlideDown=(e,t=500)=>{e.style.removeProperty("display");let o=window.getComputedStyle(e).display;"none"===o&&(o="block"),e.style.display=o;let n=e.offsetHeight;e.style.overflow="hidden",e.style.height=0,e.style.paddingTop=0,e.style.paddingBottom=0,e.style.marginTop=0,e.style.marginBottom=0,e.offsetHeight,e.style.boxSizing="border-box",e.style.transitionProperty="height, margin, padding",e.style.transitionDuration=t+"ms",e.style.height=n+"px",e.style.removeProperty("padding-top"),e.style.removeProperty("padding-bottom"),e.style.removeProperty("margin-top"),e.style.removeProperty("margin-bottom"),window.setTimeout((()=>{e.style.removeProperty("height"),e.style.removeProperty("overflow"),e.style.removeProperty("transition-duration"),e.style.removeProperty("transition-property")}),t)},blogloScrollTo=function(){var e={tolerance:0,duration:800,easing:"easeOutQuart",container:window,callback:function(){}};function t(e,t,o,n){return e/=n,-o*(--e*e*e*e-1)+t}function o(e,t){var o={};return Object.keys(e).forEach((function(t){o[t]=e[t]})),Object.keys(t).forEach((function(e){o[e]=t[e]})),o}function n(e){return e instanceof HTMLElement?e.scrollTop:e.pageYOffset}function l(){var n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};this.options=o(e,n),this.easeFunctions=o({easeOutQuart:t},l)}return l.prototype.registerTrigger=function(e,t){var n=this;if(e){var l=e.getAttribute("href")||e.getAttribute("data-target"),i=l&&"#"!==l?document.getElementById(l.substring(1)):document.body,r=o(this.options,function(e,t){var o={};return Object.keys(t).forEach((function(t){var n=e.getAttribute("data-mt-".concat(t.replace(/([A-Z])/g,(function(e){return"-"+e.toLowerCase()}))));n&&(o[t]=isNaN(n)?n:parseInt(n,10))})),o}(e,this.options));"function"==typeof t&&(r.callback=t);var s=function(e){e.preventDefault(),n.move(i,r)};return e.addEventListener("click",s,!1),function(){return e.removeEventListener("click",s,!1)}}},l.prototype.move=function(e){var t=this,l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(0===e||e){l=o(this.options,l);var i,r="number"==typeof e?e:e.getBoundingClientRect().top,s=n(l.container),c=null;r-=l.tolerance;window.requestAnimationFrame((function o(a){var d=n(t.options.container);c||(c=a-1);var u=a-c;if(i&&(0<r&&i>d||0>r&&i<d))return l.callback(e);i=d;var m=t.easeFunctions[l.easing](u,s,r,l.duration);l.container.scroll(0,m),u<l.duration?window.requestAnimationFrame(o):(l.container.scroll(0,r+s),l.callback(e))}))}},l.prototype.addEaseFunction=function(e,t){this.easeFunctions[e]=t},l}(),blogloGetParents=(e,t)=>{Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),o=t.length;0<=--o&&t.item(o)!==this;);return-1<o});for(var o=[];e&&e!==document;e=e.parentNode)t?e.matches(t)&&o.push(e):o.push(e);return o};!function(){if("function"==typeof window.CustomEvent)return!1;function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var o=document.createEvent("CustomEvent");return o.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),o}e.prototype=window.Event.prototype,window.CustomEvent=e}();var blogloTriggerEvent=function(e,t){var o=new CustomEvent(t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:{});e.dispatchEvent(o)};!function(){var e=document.querySelector("#bloglo-scroll-top"),t=document.getElementById("page"),o=()=>{var e,t,o;document.body.classList.contains("bloglo-is-mobile")||(o=window.innerWidth,document.querySelectorAll(".sub-menu").forEach((n=>{n.style.visibility="visible";const l=n.getBoundingClientRect();t=l.left+window.pageXOffset,e=t+l.width,n.removeAttribute("style"),e>o?n.closest("li").classList.add("opens-left"):0>t&&n.closest("li").classList.add("opens-right")})))},n=e=>{var t;return function(){var o=arguments;t&&window.cancelAnimationFrame(t),t=window.requestAnimationFrame((function(){e.apply(this,o)}))}},l=()=>{null!==e&&(450<window.pageYOffset||450<document.documentElement.scrollTop?e.classList.add("bloglo-visible"):e.classList.remove("bloglo-visible"))},i=()=>{if(bloglo_vars["sticky-header"].enabled){var e=document.getElementById("bloglo-header"),t=document.getElementById("bloglo-header-inner"),o=document.getElementById("wpadminbar");if((document.body.classList.contains("bloglo-header-layout-3")||document.body.classList.contains("bloglo-header-layout-4"))&&(e=document.querySelector("#bloglo-header .bloglo-nav-container"),t=document.querySelector("#bloglo-header .bloglo-nav-container .bloglo-container")),window.outerWidth<=bloglo_vars["responsive-breakpoint"])e=document.getElementById("bloglo-header"),t=document.getElementById("bloglo-header-inner");if(null!==e&&null!==t){var l,i,r=e.getBoundingClientRect().bottom,s=0>=r-l;l=null===o||600>=window.outerWidth?0:o.getBoundingClientRect().height;var c=function(){l=null===o||600>=window.outerWidth?0:o.getBoundingClientRect().height,r=e.getBoundingClientRect().bottom,s=0>=r-l,a()},a=function(){let o=bloglo_vars["sticky-header"].hide_on;o.includes("desktop")&&992<=window.innerWidth&&(s=!1),o.includes("tablet")&&481<=window.innerWidth&&992>window.innerWidth&&(s=!1),o.includes("mobile")&&481>window.innerWidth&&(s=!1),s?document.body.classList.contains("bloglo-sticky-header")||((i=document.createElement("div")).setAttribute("id","bloglo-sticky-placeholder"),i.style.height=t.getBoundingClientRect().height+"px",e.appendChild(i),document.body.classList.add("bloglo-sticky-header"),document.body.style.setProperty("--bloglo-sticky-h-offset",e.offsetHeight+20+"px")):(document.body.classList.contains("bloglo-sticky-header")&&(document.body.classList.remove("bloglo-sticky-header"),document.getElementById("bloglo-sticky-placeholder").remove()),document.body.style.removeProperty("--bloglo-sticky-h-offset"))};"true"!==e.getAttribute("data-scroll-listener")&&(window.addEventListener("scroll",(function(){n(c())})),e.setAttribute("data-scroll-listener","true")),"true"!==e.getAttribute("data-resize-listener")&&(window.addEventListener("resize",(function(){n(c())})),e.setAttribute("data-resize-listener","true")),blogloTriggerEvent(window,"scroll")}}};function r(){for(var e=this;!e.classList.contains("bloglo-nav");)"li"===e.tagName.toLowerCase()&&(e.classList.contains("hovered")?e.classList.remove("hovered"):e.classList.add("hovered")),e=e.parentElement}var s=()=>{document.body.style.setProperty("--bloglo-screen-width",document.body.clientWidth+"px")},c=(e=0)=>{if(null!==document.getElementById("bloglo-preloader")){var t=()=>{document.body.classList.contains("bloglo-loaded")||(document.body.classList.add("bloglo-loading"),setTimeout((function(){document.body.classList.replace("bloglo-loading","bloglo-loaded"),blogloTriggerEvent(document.body,"bloglo-preloader-done")}),250))};return 0<e?setTimeout((function(){t()}),e):t(),!1}},a=()=>{window.innerWidth<=bloglo_vars["responsive-breakpoint"]?document.body.classList.add("bloglo-is-mobile"):document.body.classList.contains("bloglo-is-mobile")&&(document.body.classList.remove("bloglo-is-mobile"),blogloTriggerEvent(document,"bloglo-close-mobile-menu"))};document.addEventListener("DOMContentLoaded",(function(){var e,n;c(5e3),document.body.classList.contains("bloglo-menu-accessibility")&&document.querySelectorAll(".bloglo-nav").forEach((e=>{e.querySelectorAll("ul").forEach((e=>{e.parentNode.setAttribute("aria-haspopup","true")})),e.querySelectorAll("a").forEach((e=>{e.addEventListener("focus",r,!0),e.addEventListener("blur",r,!0)}))})),document.body.addEventListener("keydown",(function(e){document.body.classList.add("using-keyboard")})),document.body.addEventListener("mousedown",(function(e){document.body.classList.remove("using-keyboard")})),l(),(()=>{const e=new blogloScrollTo({tolerance:null===document.getElementById("wpadminbar")?0:document.getElementById("wpadminbar").getBoundingClientRect().height}),t=document.getElementsByClassName("bloglo-smooth-scroll");for(var o=0;o<t.length;o++)e.registerTrigger(t[o])})(),e=null,document.querySelectorAll(".bloglo-nav .menu-item-has-children").forEach((e=>{e.addEventListener("mouseenter",(function(){document.querySelectorAll(".menu-item-has-children").forEach((e=>{e.classList.remove("hovered")}))}))})),document.querySelectorAll(".bloglo-nav .menu-item-has-children").forEach((t=>{t.addEventListener("mouseleave",(function(){t.classList.add("hovered"),null!==e&&(clearTimeout(e),e=null),e=setTimeout((()=>{t.classList.remove("hovered"),t.querySelectorAll(".menu-item-has-children").forEach((e=>{e.classList.remove("hovered")}))}),700)}))})),(()=>{if(document.body.classList.contains("bloglo-has-comments-toggle")&&null!=document.getElementById("bloglo-comments-toggle")){var e=e=>{void 0!==e&&e.preventDefault(),document.body.classList.contains("comments-visible")?(document.body.classList.remove("comments-visible"),document.getElementById("bloglo-comments-toggle").querySelector("span").innerHTML=bloglo_vars.strings.comments_toggle_show):(document.body.classList.add("comments-visible"),document.getElementById("bloglo-comments-toggle").querySelector("span").innerHTML=bloglo_vars.strings.comments_toggle_hide)};null===document.getElementById("bloglo-comments-toggle")||-1===location.href.indexOf("#comment")&&-1===location.href.indexOf("respond")||e(),document.getElementById("bloglo-comments-toggle").addEventListener("click",e)}})(),(()=>{var e=document.querySelectorAll(".bloglo-search");if(0!==e.length){e.forEach((e=>{e.addEventListener("click",(t=>{t.preventDefault(),e.classList.contains("bloglo-active")?n(e):o(e)}))})),document.querySelectorAll(".bloglo-search-close").forEach((e=>e.addEventListener("click",(function(t){t.preventDefault(),e.classList.contains("bloglo-active")||(n(document.querySelector(".bloglo-search")),document.querySelector(".bloglo-search").focus())}))));var o=function(e){document.querySelectorAll(".bloglo-search-form").forEach((function(e){if(!e)return!1;document.addEventListener("keydown",(function(t){var o,n,l,i,r;l=(n=e.querySelectorAll("input, a, button"))[n.length-1],o=n[0],i=9===t.keyCode,!(r=t.shiftKey)&&i&&l===document.activeElement&&(t.preventDefault(),o.focus()),r&&i&&o===document.activeElement&&(t.preventDefault(),l.focus())}))})),document.body.classList.add("bloglo-search-visible"),setTimeout((function(){e.classList.add("bloglo-active"),null!==e.nextElementSibling&&null!==e.nextElementSibling.querySelector("input")&&(e.nextElementSibling.querySelector("input").focus(),e.nextElementSibling.querySelector("input").select())}),100),document.addEventListener("keydown",l),t.addEventListener("click",i)},n=function(e){document.body.classList.remove("bloglo-search-visible"),e.classList.remove("bloglo-active"),document.removeEventListener("keydown",l),t.removeEventListener("click",i)},l=function(e){27==e.keyCode&&document.querySelectorAll(".bloglo-search").forEach((e=>{n(e)}))},i=function(e){null===e.target.closest(".bloglo-search-container")&&null===e.target.closest(".bloglo-search")&&document.querySelectorAll(".bloglo-search").forEach((e=>{n(e)}))}}})(),(()=>{var e=t,o=document.querySelector("#bloglo-header-inner .bloglo-nav");document.querySelectorAll(".bloglo-mobile-nav > button").forEach((e=>{e.addEventListener("click",(function(e){e.preventDefault(),document.body.parentNode.classList.contains("is-mobile-menu-active")?l():n()}),!1)})),document.addEventListener("keydown",(function(e){var t,o,n,l,i,r;o=document.querySelector(".bloglo-mobile-nav"),r=document.querySelector(".bloglo-hamburger-bloglo-primary-nav"),l=(n=o.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'))[n.length-1],t=r,e.keyCode,i=e.shiftKey;let s="Tab"===e.key||9===e.keyCode;if(document.body.parentNode.classList.contains("is-mobile-menu-active")){if(!s)return;i?document.activeElement===t&&(l.focus(),e.preventDefault()):document.activeElement===l&&(t.focus(),e.preventDefault())}}));var n=function(t){var n=document.querySelectorAll(".site-header");document.body.classList.contains("bloglo-is-mobile")&&n.forEach((function(e){if(!e)return!1})),document.body.parentNode.classList.add("is-mobile-menu-active"),document.addEventListener("keyup",r),null!==e&&e.addEventListener("click",i),document.querySelectorAll("#bloglo-header .bloglo-nav").forEach((e=>{e.addEventListener("click",s)})),blogloSlideDown(o,350)},l=function(t){document.body.parentNode.classList.remove("is-mobile-menu-active"),document.removeEventListener("keyup",r),null!==e&&e.removeEventListener("click",i),document.querySelectorAll("#bloglo-header .bloglo-nav > ul > .bloglo-open").forEach((e=>{c(e)})),o.querySelectorAll(".hovered").forEach((e=>{e.classList.remove("hovered")})),document.body.classList.contains("bloglo-is-mobile")?(document.querySelectorAll("#bloglo-header .bloglo-nav").forEach((e=>{e.removeEventListener("click",s)})),blogloSlideUp(o,250)):o.style.display=null},i=function(e){null===e.target.closest(".bloglo-hamburger")&&null===e.target.closest(".site-navigation")&&l()},r=function(e){27==e.keyCode&&l()},s=function(e){e.target.parentElement.querySelectorAll(".sub-menu").length&&(e.preventDefault(),"button"===e.target.type&&c(e.target.parentElement))},c=e=>{e.classList.contains("bloglo-open")?(e.classList.remove("bloglo-open"),e.querySelectorAll(".sub-menu").forEach((e=>{blogloSlideUp(e,350)})),e.querySelectorAll("li").forEach((e=>{e.classList.remove("bloglo-open"),e.querySelectorAll(".sub-menu").forEach((e=>{blogloSlideUp(e,350)}))}))):(e.querySelectorAll(".sub-menu").forEach((t=>{e===t.parentElement&&blogloSlideDown(t,350)})),e.classList.add("bloglo-open"))};document.addEventListener("bloglo-close-mobile-menu",l)})(),a(),o(),null!==(n=document.querySelector(".single .comments-link"))&&n.addEventListener("click",(function(e){document.body.classList.contains("bloglo-has-comments-toggle")&&!document.body.classList.contains("comments-visible")&&document.getElementById("bloglo-comments-toggle").click()})),(()=>{var e=null;document.querySelectorAll(".bloglo-header-widget__cart .bloglo-widget-wrapper").forEach((e=>{e.addEventListener("mouseenter",(function(){e.classList.remove("dropdown-visible")}))})),document.querySelectorAll(".bloglo-header-widget__cart .bloglo-widget-wrapper").forEach((t=>{t.addEventListener("mouseleave",(function(){t.classList.add("dropdown-visible"),null!==e&&(clearTimeout(e),e=null),e=setTimeout((()=>{t.classList.remove("dropdown-visible")}),700)}))}))})(),i(),s()})),window.addEventListener("load",(function(){c()})),window.addEventListener("scroll",(function(){n(l())})),window.addEventListener("resize",(function(){n(o()),n(a()),n(s())})),blogloTriggerEvent(document.body,"bloglo-ready"),window.bloglo=window.bloglo||{},window.bloglo.preloader=c,window.bloglo.stickyHeader=i,window.App={},App.config={headroom:{enabled:!0,options:{classes:{initial:"headroom",pinned:"is-pinned",unpinned:"is-unpinned",top:"is-top",notTop:"is-not-top",bottom:"is-bottom",notBottom:"is-not-bottom",frozen:"is-frozen"}}},ajax:{enabled:!0},cursorFollower:{enabled:!0,disableBreakpoint:"992"}},App.html=document.querySelector("html"),App.body=document.querySelector("body"),window.onload=function(){App.config.cursorFollower.enabled&&d.init()};const d=function(){const e=document.querySelector(".bloglo-js-cursor");let t,o,n,l,i,r,s,c,a;function d({target:t}){if(e.classList.add("is-active"),t.getAttribute("data-cursor-label")&&(App.body.classList.add("is-cursor-active"),e.classList.add("has-label"),o.innerHTML=t.getAttribute("data-cursor-label")),t.getAttribute("data-cursor-icon")){App.body.classList.add("is-cursor-active"),e.classList.add("has-icon");t.getAttribute("data-cursor-icon")}}function u({target:t}){App.body.classList.remove("is-cursor-active"),e.classList.remove("is-active"),e.classList.remove("has-label"),e.classList.remove("has-icon"),o.innerHTML="",n.innerHTML=""}function m(){e&&(c=document.querySelectorAll(["button","a","input","[data-cursor]","[data-cursor-label]","[data-cursor-icon]","textarea"]),c.forEach((e=>{e.addEventListener("mouseenter",d),e.addEventListener("mouseleave",u)})))}function g(){e&&c.forEach((e=>{e.removeEventListener("mouseenter",d),e.removeEventListener("mouseleave",u)}))}return{init:function(){if(!e)return;t=e.querySelector(".bloglo-js-follower"),o=e.querySelector(".bloglo-js-label"),n=e.querySelector(".bloglo-js-icon"),l=-100,i=-100,r=e.offsetWidth/2,s=e.offsetHeight/2,a=!1,a=!0,e.classList.add("is-enabled"),document.addEventListener("mousedown",(t=>{e.classList.add("is-mouse-down")})),document.addEventListener("mouseup",(t=>{e.classList.remove("is-mouse-down")})),document.addEventListener("mousemove",(e=>{l=e.clientX,i=e.clientY}));const c=()=>{e.style.transform=`translate(${l-r}px, ${i-s}px)`,requestAnimationFrame(c)};requestAnimationFrame(c),m(),function(){if(!a)return;if(!App.config.cursorFollower.disableBreakpoint)return;(0<window.innerWidth?window.innerWidth:screen.width)<App.config.cursorFollower.disableBreakpoint?(a=!1,e.classList.remove("is-enabled"),g()):(a=!0,e.classList.add("is-enabled"),m());window.addEventListener("resize",(()=>{(0<window.innerWidth?window.innerWidth:screen.width)<App.config.cursorFollower.disableBreakpoint?(a=!1,e.classList.remove("is-enabled"),g()):(a=!0,e.classList.add("is-enabled"),m())}))}()},update:m,clear:g,hide:function(){e&&e.classList.add("is-hidden")},show:function(){e&&e.classList.remove("is-hidden")}}}();if(document.body.classList.contains("is-parallax-footer")){var u=document.querySelector(".is-parallax-footer");function m(e,t){var o;!function(e){return window.innerHeight<e.offsetHeight}(t)?(t.style.top="",t.style.bottom="0"):(t.style.bottom="",t.style.top="0"),window.scrollY>(o=e).offsetTop+o.offsetHeight?(t.style.position="static",u.style.marginBottom="0"):(u.style.marginBottom=t.offsetHeight+"px",t.style.position="fixed")}g=document.getElementById("main"),(b=document.getElementById("colophon")).style.left="0",b.style.right="0",b.style.zIndex="-1",m(g,b),window.addEventListener("resize",(function(){m(g,b)})),window.addEventListener("scroll",(function(){m(g,b)}))}var g,b;document.addEventListener("DOMContentLoaded",(function(){const e=document.querySelector('.bloglo-darkmode input[type="checkbox"]');if(e){let o=bloglo_vars.dark_mode||"dark"===localStorage.getItem("darkmode");function t(t){t?(document.documentElement.setAttribute("data-theme","dark"),localStorage.setItem("darkmode","dark"),e.classList.add("active")):(document.documentElement.setAttribute("data-theme","light"),localStorage.setItem("darkmode","light"),e.classList.remove("active"))}t(o),e.addEventListener("change",(function(){o=!o,t(o)}))}}))}(),function(e){e(document).ready((function(){if(e("#bloglo-time").length){setInterval((function(){!function(){let e=new Date;document.getElementById("bloglo-time").innerHTML=e.toLocaleTimeString()}()}),1e3)}if(e("#bloglo-date").length){const e=new Date,t={weekday:"short",month:"short",day:"numeric",year:"numeric"};document.getElementById("bloglo-date").innerHTML=e.toLocaleString(document.documentElement.lang,t)}let t=e(".ticker-slider-items"),o="left";if(e("body").hasClass("rtl")&&(hrtl=!0,o="right"),t.length){let n=t.find(".ticker-slider-wrap").marquee({speed:50,duration:14e3,gap:0,delayBeforeStart:0,direction:o,duplicated:!0,startVisible:!0,pauseOnHover:!0});t.on("click",".ticker-slider-pause",(function(){e(this).find("i").toggleClass("fa-pause fa-play"),n.marquee("toggle")}))}e(".masonries").length&&setTimeout((()=>{e(".masonries").masonry({itemSelector:".masonries > *"})}),500)}))}(jQuery);assets/js/skip-link-focus-fix.min.js000064400000000755152425655550013431 0ustar00"use strict";!function(){var e=navigator.userAgent.toLowerCase().indexOf("webkit")>-1,t=navigator.userAgent.toLowerCase().indexOf("opera")>-1,n=navigator.userAgent.toLowerCase().indexOf("msie")>-1;(e||t||n)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",(function(){var e,t=location.hash.substring(1);/^[A-z0-9_-]+$/.test(t)&&(e=document.getElementById(t))&&(/^(?:a|select|input|button|textarea)$/i.test(e.tagName)||(e.tabIndex=-1),e.focus())}),!1)}();readme.txt000064400000014237152425655550006567 0ustar00=== Bloglo ===
Contributors: Peregrinethemes
Tags: two-columns, right-sidebar, left-sidebar, footer-widgets, blog, news, entertainment, custom-background, custom-menu, custom-logo, post-formats, sticky-post, editor-style, threaded-comments, translation-ready, custom-colors, featured-images, full-width-template, microformats, theme-options, e-commerce, front-page-posting, flexible-header, wide-blocks
Requires at least: 5.4
Tested up to: 6.7
Requires PHP: 5.6
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Stable tag: 1.1.18

A lightweight and highly customizable multi-purpose theme that makes it easy for anyone to create their perfect website.

== Description ==
Bloglo is lightweight, moderate and customizable blog and news WordPress theme with one click demo importer. You'll be able to fully customize your site color and typography with rich customization options. Bloglo is suitable for dynamic news, newspaper, magazine, blogs, publishers, publishing, editors, online and gaming magazines, personal blogs, news portals or review site and any creative site. Bloglo is SEO friendly, WPML, Gutenberg, WooCommerce, translation and RTL ready.Checkout ready to import demos at https://peregrine-themes.com/bloglo/#demos

== Frequently Asked Questions ==

= How to install Bloglo? =

1. Log into your WordPress Dashboard and go to Appearance » Themes and click the "Add New" button.
2. Type in "Bloglo" in the search field and press the "Enter" key on your keyboard.
3. Click the "Activate" button to activate Bloglo theme on your site.
4. Navigate to Appearance » Customize to access theme options.

== Copyright ==

Bloglo WordPress Theme, Copyright (c) 2023, Peregrinethemes
Bloglo is distributed under the terms of the GNU GPLs

== Changelog ==

= 1.0.18 =
* WooCommerce 9.6.0 templates updated.
* New social media icons for header added: BlueSky, GemSpace, LifeGroupChat

= 1.1.17 =
* Show site Title and tagline markup on webpage for search engines.

= 1.1.16 =
* Fixed a warning in PHP-8.2 which was causing an issue with the customizer.
* Woocomerce v-9.4.1 templates updates.

= 1.1.15 =
* Added svg icons.
* Improve time script.
* Fixed custom meta checkbox style issue.

= 1.1.14 =
* Allowed time tag in wp_kses.

= 1.1.13 =
* Fixed 'screen-reader-text' style.
* Fixed darkmode issue.

= 1.1.12 =
* Fixed classic editor embed video style issue.
* Fixed list style issue.

= 1.1.11 =
* Fixed style issues.
* Added social icon.

= 1.1.10 =
* Fixed dark mode issue when enabled from customizer.
* Post format quote: Dark mode issue fixed.

= 1.1.9 =
* Fixed ad block issue for header banner.

= 1.1.8 =
* Fixed some block editor style issues.
* FIxed PYML issue on custom homepage.

= 1.1.7 =
* Fixed some dynamic style issues.

= 1.1.6 =
* Added WeChat, QQ, Bilibili, Threads social icons.

= 1.1.5 =
* Added Telegram and Discord social icons.

= 1.1.4 =
* Data escaping issue fixed.

= 1.1.3 =
* Post format gallery issue fixed.
* Styling issues fixed and improvments.

= 1.1.2 =
* Fixed style issue.

= 1.1.1 =
* Tiktok social icon color change.
* Single post typography issue fixed.

= 1.1.0 =
* Featured Links!, New Feature added.
* Style issues fixed and improvments.

= 1.0.15 =
* PYML meta style changed.

= 1.0.14 =
* Style.min.css issue fixed.

= 1.0.13 =
* Minor issue fixed.
* Screenshot update.

= 1.0.12 =
* Limit the number of categories to be shown.

= 1.0.11 =
* Added new dynamic rgba color in preview js :root
* Link to documentation added in customizer.

= 1.0.10 =
* Image not showing up in 'Ticker' and 'Post you might like section' when optimizing image with Jetpack plugin. Fixed!

= 1.0.9 =
* Added new dynamic rgba color in :root.

= 1.0.8 =
* Screenshot update.
* Header button border issue fixed when user change Accent color.
* View pro features section added in customizer.

= 1.0.7 =
* Ticker stop sliding in customizer preview when user show/hide Post Element in styles tab. Fixed!

= 1.0.6 =
* Header required condition fixed.
* Hester Core plugin support added.
* Theme URI updated.

= 1.0.5 =
* Removed install free plugin and pre-built demo import card from Theme optons.

= 1.0.4 =
* Removed non-functional components.

= 1.0.3 =
* Skip to content accessibility issue fixed.

= 1.0.2 =
* esc_html_e missing text domain issue fixed.

= 1.0.1 =
* Accessibility issue fixed.
* kses_post depricated issue fixed.

= 1.0.0 =
* Initial release 🚀

== Resources ==
Feather Icons, https://feathericons.com/
Copyright (c) 2013-2017 Cole Bemis, MIT License, http://www.opensource.org/licenses/mit-license.php

HTML5 Shiv, https://github.com/aFarkas/html5shiv
Copyright (c) 2014 Alexander Farkas, MIT/GPL2 License, https://github.com/aFarkas/html5shiv/blob/master/MIT%20and%20GPL2%20licenses.md

Flexibility, https://github.com/jonathantneal/flexibility
Copyright (c) 2015 Jonathan Neal 10up, MIT License, https://github.com/jonathantneal/flexibility/blob/master/LICENSE.md

Breadcrumb Trail, https://github.com/justintadlock/breadcrumb-trail
Copyright (c) 2008-2017 Justin Tadlock, GNU GPL v2 or later License, https://opensource.org/licenses/GPL-2.0

WP Color Picker Alpha, https://github.com/kallookoo/wp-color-picker-alpha
Copyright (c) Sergio GNU GPL v2 or later, https://opensource.org/licenses/GPL-2.0

Normalize.css, https://necolas.github.io/normalize.css/
Copyright (c) Nicolas Gallagher and Jonathan Neal, MIT License, http://www.opensource.org/licenses/mit-license.php

Select2, https://select2.org/
Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors, MIT License, http://www.opensource.org/licenses/mit-license.php

jquery.marquee, https://github.com/aamirafridi/jQuery.Marquee
MIT License, https://github.com/aamirafridi/jQuery.Marquee/blob/master/licence

Screenshot Hero Image
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://stocksnap.io/license
Source: https://stocksnap.io/photo/hotairballoon-blue-9WD286D2DS

Header Banner Image
License: CC0 1.0 Universal (CC0 1.0)
License URL: https://stocksnap.io/license
Source: https://stocksnap.io/photo/abstract-geometric-I4ZAJDDXBA

== Post Images ==

License: CC0 Public Domain
https://stocksnap.io/photo/camera-object-GJ8ZDV9GVE
https://stocksnap.io/photo/color-ink-XZRMQHLJBC
https://stocksnap.io/photo/volcano-mountain-AUACFKUQ5Lwoocommerce/content-single-product.php000064400000004434152425655550014226 0ustar00<?php
/**
 * The template for displaying product content in the single-product.php template
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/content-single-product.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * Bloglo changes: added .bloglo-entry to .entry-summary.
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce/Templates
 * @version 3.6.0
 */

defined( 'ABSPATH' ) || exit;

global $product;

/**
 * Hook: woocommerce_before_single_product.
 *
 * @hooked wc_print_notices - 10
 */
do_action( 'woocommerce_before_single_product' );

if ( post_password_required() ) {
	echo get_the_password_form(); // phpcs:ignore
	return;
}
?>
<div id="product-<?php the_ID(); ?>" <?php wc_product_class( '', $product ); ?>>

	<?php
	/**
	 * Hook: woocommerce_before_single_product_summary.
	 *
	 * @hooked woocommerce_show_product_sale_flash - 10
	 * @hooked woocommerce_show_product_images - 20
	 */
	do_action( 'woocommerce_before_single_product_summary' );
	?>

	<div class="summary entry-summary bloglo-entry">
		<?php
		/**
		 * Hook: woocommerce_single_product_summary.
		 *
		 * @hooked woocommerce_template_single_title - 5
		 * @hooked woocommerce_template_single_rating - 10
		 * @hooked woocommerce_template_single_price - 10
		 * @hooked woocommerce_template_single_excerpt - 20
		 * @hooked woocommerce_template_single_add_to_cart - 30
		 * @hooked woocommerce_template_single_meta - 40
		 * @hooked woocommerce_template_single_sharing - 50
		 * @hooked WC_Structured_Data::generate_product_data() - 60
		 */
		do_action( 'woocommerce_single_product_summary' );
		?>
	</div>

	<?php
	/**
	 * Hook: woocommerce_after_single_product_summary.
	 *
	 * @hooked woocommerce_output_product_data_tabs - 10
	 * @hooked woocommerce_upsell_display - 15
	 * @hooked woocommerce_output_related_products - 20
	 */
	do_action( 'woocommerce_after_single_product_summary' );
	?>
</div>

<?php do_action( 'woocommerce_after_single_product' ); ?>
woocommerce/checkout/form-checkout.php000064400000004406152425655550014171 0ustar00<?php
/**
 * Checkout Form
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/checkout/form-checkout.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * Bloglo changes: moved shipping to col-1, moved order review to col-2.
 *
 * @see https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce/Templates
 * @version 9.4.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

do_action( 'woocommerce_before_checkout_form', $checkout );

// If checkout registration is disabled and not logged in, the user cannot checkout.
if ( ! $checkout->is_registration_enabled() && $checkout->is_registration_required() && ! is_user_logged_in() ) {
	echo esc_html( apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'bloglo' ) ) );
	return;
}

?>

<form name="checkout" method="post" class="checkout woocommerce-checkout" action="<?php echo esc_url( wc_get_checkout_url() ); ?>" enctype="multipart/form-data">

	<?php if ( $checkout->get_checkout_fields() ) : ?>

		<?php do_action( 'woocommerce_checkout_before_customer_details' ); ?>

		<div class="col2-set" id="customer_details">
			<div class="col-1">
				<?php do_action( 'woocommerce_checkout_billing' ); ?>
				<?php do_action( 'woocommerce_checkout_shipping' ); ?>
			</div>

			<div class="col-2">

				<?php do_action( 'woocommerce_checkout_before_order_review_heading' ); ?>
				<h3 id="order_review_heading"><?php esc_html_e( 'Your order', 'bloglo' ); ?></h3>
				
				<?php do_action( 'woocommerce_checkout_before_order_review' ); ?>
				<div id="order_review" class="woocommerce-checkout-review-order">
					<?php do_action( 'woocommerce_checkout_order_review' ); ?>
				</div>
				<?php do_action( 'woocommerce_checkout_after_order_review' ); ?>
				
			</div>
		</div>

		<?php do_action( 'woocommerce_checkout_after_customer_details' ); ?>

	<?php endif; ?>

</form>

<?php do_action( 'woocommerce_after_checkout_form', $checkout ); ?>
woocommerce/single-product/meta.php000064400000003456152425655550013507 0ustar00<?php
/**
 * Single Product Meta
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/single-product/meta.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * Bloglo changes: wrapped meta titles with span.bloglo-woo-meta-title.
 *
 * @see         https://docs.woocommerce.com/document/template-structure/
 * @author      WooThemes
 * @package     WooCommerce/Templates
 * @version     3.0.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

global $product;
?>
<div class="product_meta">

	<?php do_action( 'woocommerce_product_meta_start' ); ?>

	<?php if ( wc_product_sku_enabled() && ( $product->get_sku() || $product->is_type( 'variable' ) ) ) : ?>

		<span class="sku_wrapper"><span class="bloglo-woo-meta-title"><?php esc_html_e( 'SKU:', 'bloglo' ); ?></span> <span class="sku"><?php echo ( $sku = $product->get_sku() ) ? esc_html( $sku ) : esc_html__( 'N/A', 'bloglo' ); // phpcs:ignore ?></span></span>

	<?php endif; ?>

	<?php echo wc_get_product_category_list( $product->get_id(), ', ', '<span class="posted_in"><span class="bloglo-woo-meta-title">' . _n( 'Category:', 'Categories:', count( $product->get_category_ids() ), 'bloglo' ) . '</span> ', '</span>' ); // phpcs:ignore ?>

	<?php echo wc_get_product_tag_list( $product->get_id(), ', ', '<span class="tagged_as"><span class="bloglo-woo-meta-title">' . _n( 'Tag:', 'Tags:', count( $product->get_tag_ids() ), 'bloglo' ) . '</span> ', '</span>' ); // phpcs:ignore ?>

	<?php do_action( 'woocommerce_product_meta_end' ); ?>

</div>
woocommerce/single-product/rating.php000064400000002763152425655550014045 0ustar00<?php
/**
 * Single Product Rating
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/single-product/rating.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * Bloglo changes: removed parenthesis from output. Removed 'customer' from output.
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @author  WooThemes
 * @package WooCommerce/Templates
 * @version 3.6.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

global $product;

if ( ! wc_review_ratings_enabled() ) {
	return;
}

$rating_count = $product->get_rating_count();
$review_count = $product->get_review_count();
$average      = $product->get_average_rating();

if ( $rating_count > 0 ) : ?>

	<div class="woocommerce-product-rating">
		<?php echo wc_get_rating_html( $average, $rating_count ); // phpcs:ignore ?>
		<?php if ( comments_open() ) : ?>
			<?php //phpcs:disable ?>
			<a href="#reviews" class="woocommerce-review-link" rel="nofollow"><?php printf( _n( '%s review', '%s reviews', $review_count, 'bloglo' ), '<span class="count">' . esc_html( $review_count ) . '</span>' ); ?></a>
			<?php // phpcs:enable ?>
		<?php endif ?>
	</div>

<?php endif; ?>
woocommerce/single-product/tabs/tabs.php000064400000005134152425655550014436 0ustar00<?php
/**
 * Single Product tabs
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/single-product/tabs/tabs.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * Bloglo changes: added bloglo-container wrappers and bloglo-fw-section. Added span inside tabs a elements,
 * because of underline animation. Added .bloglo-entry to woocommerce-Tabs-panel (only if key === 'description' ).
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @author  WooThemes
 * @package WooCommerce/Templates
 * @version 9.6.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Filter tabs and allow third parties to add their own.
 *
 * Each tab is an array containing title, callback and priority.
 *
 * @see woocommerce_default_product_tabs()
 */
$product_tabs = apply_filters( 'woocommerce_product_tabs', array() );

if ( ! empty( $product_tabs ) ) : ?>

	<div class="woocommerce-tabs bloglo-fw-section wc-tabs-wrapper">
		<ul class="tabs wc-tabs" role="tablist">
			<div class="bloglo-container">
				<?php foreach ( $product_tabs as $key => $product_tab ) : ?>
					<li class="<?php echo esc_attr( $key ); ?>_tab" id="tab-title-<?php echo esc_attr( $key ); ?>">
                        <a href="#tab-<?php echo esc_attr( $key ); ?>" role="tab" aria-controls="tab-<?php echo esc_attr( $key ); ?>">
                            <span><?php echo wp_kses_post( apply_filters( 'woocommerce_product_' . $key . '_tab_title', $product_tab['title'], $key ) ); ?></span>
                        </a>
					</li>
				<?php endforeach; ?>
			</div>
		</ul>
		<?php
		foreach ( $product_tabs as $key => $product_tab ) :
			$bloglo_classes = 'description' === $key ? 'bloglo-entry ' : '';

			$bloglo_classes .= sprintf( 'woocommerce-Tabs-panel woocommerce-Tabs-panel--%s', esc_attr( $key ) );
			?>
			<div class="<?php echo esc_attr( $bloglo_classes ); ?>
			panel entry-content wc-tab" id="tab-<?php echo esc_attr( $key ); ?>" role="tabpanel" aria-labelledby="tab-title-<?php echo esc_attr( $key ); ?>">
				<div class="bloglo-container">
					<?php
					if ( isset( $product_tab['callback'] ) ) {
						call_user_func( $product_tab['callback'], $key, $product_tab ); }
					?>
				</div>
			</div>
		<?php endforeach; ?>

		<?php do_action( 'woocommerce_product_after_tabs' ); ?>
	</div>

<?php endif; ?>
woocommerce/cart/proceed-to-checkout-button.php000064400000002353152425655550015723 0ustar00<?php
/**
 * Proceed to checkout button
 *
 * Contains the markup for the proceed to checkout button on the cart.
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/cart/proceed-to-checkout-button.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * Bloglo changes: button classes to include our own styling.
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @author  WooThemes
 * @package WooCommerce/Templates
 * @version 7.0.1
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}
?>

<a href="<?php echo esc_url( wc_get_checkout_url() ); ?>" class="bloglo-woo-checkout btn-right-icon bloglo-btn btn-large btn-fw" role="button">
	<span><?php esc_html_e( 'Proceed to Checkout', 'bloglo' ); ?></span>
	<?php echo bloglo()->icons->get_svg( 'arrow-right', array( 'aria-hidden' => 'true' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</a>
woocommerce/cart/cart.php000064400000016646152425655550011511 0ustar00<?php
/**
 * Cart Page
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/cart/cart.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * Bloglo changes: cart table.
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce/Templates
 * @version 7.9.0
 */

defined( 'ABSPATH' ) || exit;

do_action( 'woocommerce_before_cart' ); ?>

<form class="woocommerce-cart-form" action="<?php echo esc_url( wc_get_cart_url() ); ?>" method="post">
	<?php do_action( 'woocommerce_before_cart_table' ); ?>

	<table class="shop_table shop_table_responsive cart woocommerce-cart-form__contents" cellspacing="0">
		<thead>
			<tr>
				<th class="product-name"><?php esc_html_e( 'Product', 'bloglo' ); ?>  <?php echo '(' . count( WC()->cart->get_cart() ) . ')'; ?></th>
				<th class="product-price"><?php esc_html_e( 'Price', 'bloglo' ); ?></th>
				<th class="product-quantity"><?php esc_html_e( 'Quantity', 'bloglo' ); ?></th>
				<th class="product-subtotal"><?php esc_html_e( 'Total', 'bloglo' ); ?></th>
				<th class="product-remove"></th>
			</tr>
		</thead>
		<tbody>
			<?php do_action( 'woocommerce_before_cart_contents' ); ?>

			<?php
			foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
				$_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
				$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );

				if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
					$product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
					?>
					<tr class="woocommerce-cart-form__cart-item <?php echo esc_attr( apply_filters( 'woocommerce_cart_item_class', 'cart_item', $cart_item, $cart_item_key ) ); ?>">

						<td class="product-name" data-title="<?php esc_attr_e( 'Product', 'bloglo' ); ?>">
						<?php
						$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );

						if ( ! $product_permalink ) {
							echo $thumbnail; // phpcs:ignore
						} else {
							printf( '<a href="%s" class="bloglo-woo-thumb">%s</a>', esc_url( $product_permalink ), $thumbnail ); // phpcs:ignore
						}
						?>

						<?php
						if ( ! $product_permalink ) {
							echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', esc_html( $_product->get_name() ), $cart_item, $cart_item_key ) . '&nbsp;' );
						} else {
							echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), esc_html( $_product->get_name() ) ), $cart_item, $cart_item_key ) );
						}

						do_action( 'woocommerce_after_cart_item_name', $cart_item, $cart_item_key );

						// Meta data.
						echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore

						// Backorder notification.
						if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {
							echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="backorder_notification">' . esc_html__( 'Available on backorder', 'bloglo' ) . '</p>', $product_id ) );
						}
						?>
						</td>

						<td class="product-price" data-title="<?php esc_attr_e( 'Price', 'bloglo' ); ?>">
							<?php
								echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); // phpcs:ignore
							?>
						</td>

						<td class="product-quantity" data-title="<?php esc_attr_e( 'Quantity', 'bloglo' ); ?>">
						<?php
						if ( $_product->is_sold_individually() ) {
							$product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
						} else {
							$product_quantity = woocommerce_quantity_input(
								array(
									'input_name'   => "cart[{$cart_item_key}][qty]",
									'input_value'  => $cart_item['quantity'],
									'max_value'    => $_product->get_max_purchase_quantity(),
									'min_value'    => '0',
									'product_name' => $_product->get_name(),
								),
								$_product,
								false
							);
						}

						echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item ); // phpcs:ignore
						?>
						</td>

						<td class="product-subtotal" data-title="<?php esc_attr_e( 'Subtotal', 'bloglo' ); ?>">
							<?php
								echo apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key ); // phpcs:ignore
							?>
						</td>

						<td class="product-remove" data-title="<?php esc_attr_e( 'Remove', 'bloglo' ); ?>">
							<?php
								echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
									'woocommerce_cart_item_remove_link',
									sprintf(
										'<a href="%s" class="remove" aria-label="%s" data-product_id="%s" data-product_sku="%s">' . bloglo()->icons->get_svg( 'x' ) . '</a>',
										esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
										esc_html__( 'Remove this item', 'bloglo' ),
										esc_attr( $product_id ),
										esc_attr( $_product->get_sku() )
									),
									$cart_item_key
								);
							?>
						</td>
					</tr>
					<?php
				}
			}
			?>

			<?php do_action( 'woocommerce_cart_contents' ); ?>

			<tr>
				<td colspan="6" class="actions">

					<?php if ( wc_coupons_enabled() ) { ?>
						<div class="coupon">
							<label for="coupon_code"><?php esc_html_e( 'Coupon:', 'bloglo' ); ?></label> <input type="text" name="coupon_code" class="input-text" id="coupon_code" value="" placeholder="<?php esc_attr_e( 'Coupon code', 'bloglo' ); ?>" /> <button type="submit" class="bloglo-btn btn-secondary" name="apply_coupon" value="<?php esc_attr_e( 'Apply Coupon', 'bloglo' ); ?>"><?php esc_html_e( 'Apply Coupon', 'bloglo' ); ?></button>
							<?php do_action( 'woocommerce_cart_coupon' ); ?>
						</div>
					<?php } ?>

					<a href="<?php echo esc_url( wc_get_page_permalink( 'shop' ) ); ?>" class="bloglo-btn btn-text-1 mr-20"><span><?php esc_html_e( 'Continue Shopping', 'bloglo' ); ?></span></a>

					<button type="submit" class="bloglo-btn btn-secondary" name="update_cart" value="<?php esc_attr_e( 'Update Cart', 'bloglo' ); ?>"><?php esc_html_e( 'Update Cart', 'bloglo' ); ?></button>

					<?php do_action( 'woocommerce_cart_actions' ); ?>

					<?php wp_nonce_field( 'woocommerce-cart', 'woocommerce-cart-nonce' ); ?>
				</td>
			</tr>

			<?php do_action( 'woocommerce_after_cart_contents' ); ?>
		</tbody>
	</table>
	<?php do_action( 'woocommerce_after_cart_table' ); ?>
</form>

<?php do_action( 'woocommerce_before_cart_collaterals' ); ?>

<div class="cart-collaterals">
	<?php
		/**
		 * Cart collaterals hook.
		 *
		 * @hooked woocommerce_cross_sell_display
		 * @hooked woocommerce_cart_totals - 10
		 */
		do_action( 'woocommerce_cart_collaterals' );
	?>
</div>

<?php do_action( 'woocommerce_after_cart' ); ?>
woocommerce/cart/header-widget.php000064400000001164152425655550013256 0ustar00<?php
/**
 * Header Cart Widget.
 *
 * @package Bloglo
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

$bloglo_cart_count = WC()->cart->get_cart_contents_count();
$bloglo_cart_icon  = apply_filters( 'bloglo_wc_cart_widget_icon', 'shopping-bag' );

?>
<a href="<?php echo esc_url( wc_get_cart_url() ); ?>" class="bloglo-cart">
	<?php echo bloglo()->icons->get_svg( $bloglo_cart_icon ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
	<?php if ( $bloglo_cart_count > 0 ) { ?>
		<span class="bloglo-cart-count"><?php echo esc_html( $bloglo_cart_count ); ?></span>
	<?php } ?>
</a>
woocommerce/cart/header-widget/icon.php000064400000001171152425655550014204 0ustar00<?php
/**
 * Header Cart Widget icon.
 *
 * @package Bloglo
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

$bloglo_cart_count = WC()->cart->get_cart_contents_count();
$bloglo_cart_icon  = apply_filters( 'bloglo_wc_cart_widget_icon', 'shopping-bag' );

?>
<a href="<?php echo esc_url( wc_get_cart_url() ); ?>" class="bloglo-cart">
	<?php echo bloglo()->icons->get_svg( $bloglo_cart_icon ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
	<?php if ( $bloglo_cart_count > 0 ) { ?>
		<span class="bloglo-cart-count"><?php echo esc_html( $bloglo_cart_count ); ?></span>
	<?php } ?>
</a>
woocommerce/cart/header-widget/content.php000064400000006050152425655550014727 0ustar00<?php
/**
 * Header Cart Widget dropdown content.
 *
 * @package Bloglo
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

$bloglo_cart_items = WC()->cart->get_cart();
?>
<div class="wc-cart-widget-content">
	<?php foreach ( $bloglo_cart_items as $cart_item_key => $cart_item ) { // phpcs:ignore ?>

		<?php
		$bloglo_product    = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
		$bloglo_product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );

		if ( $bloglo_product && $bloglo_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
			$bloglo_product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $bloglo_product->is_visible() ? $bloglo_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
			?>
			<div class="bloglo-cart-item">
				<div class="bloglo-cart-image">
					<?php
					$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $bloglo_product->get_image(), $cart_item, $cart_item_key );

					if ( ! $bloglo_product_permalink ) {
						echo $thumbnail; // phpcs:ignore
					} else {
						printf( '<a href="%s" class="bloglo-woo-thumb">%s</a>', esc_url( $bloglo_product_permalink ), $thumbnail ); // phpcs:ignore
					}
					?>
				</div>

				<div class="bloglo-cart-item-details">
					<p class="bloglo-cart-item-title">
						<?php
						if ( ! $bloglo_product_permalink ) {
							echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', esc_html( $bloglo_product->get_name() ), $cart_item, $cart_item_key ) . '&nbsp;' );
						} else {
							echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $bloglo_product_permalink ), esc_html( $bloglo_product->get_name() ) ), $cart_item, $cart_item_key ) );
						}
						?>
					</p>
					<div class="bloglo-cart-item-meta">

					<?php if ( $cart_item['quantity'] > 1 ) { ?>
							<span class="bloglo-cart-item-quantity"><?php echo esc_html( $cart_item['quantity'] ); ?></span>
						<?php } ?>

						<span class="bloglo-cart-item-price"><?php echo $bloglo_product->get_price_html(); // phpcs:ignore ?></span>
					</div>
				</div>

				<?php /* translators: %s is cart item title. */ ?>
				<a href="<?php echo esc_url( wc_get_cart_remove_url( $cart_item ) ); ?>" class="bloglo-remove-cart-item" data-product_key="<?php echo esc_attr( $cart_item['key'] ); ?>" title="<?php echo esc_html( sprintf( __( 'Remove %s from cart', 'bloglo' ), $bloglo_product->get_title() ) ); ?>">
					<?php echo bloglo()->icons->get_svg( 'x', array( 'aria-hidden' => 'true' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					<?php /* translators: %s is cart item title. */ ?>
					<span class="screen-reader-text"><?php echo esc_html( sprintf( __( 'Remove %s from cart', 'bloglo' ), $bloglo_product->get_title() ) ); ?></span>
				</a>
			</div>
		<?php } ?>
	<?php } ?>
</div><!-- END .wc-cart-widget-content -->
woocommerce/cart/header-widget/buttons.php000064400000001026152425655550014751 0ustar00<?php
/**
 * Header Cart Widget cart & checkout buttons.
 *
 * @package Bloglo
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

?>
<div class="bloglo-cart-buttons">
	<a href="<?php echo esc_url( wc_get_cart_url() ); ?>" class="bloglo-btn btn-text-1" role="button">
		<span><?php esc_html_e( 'View Cart', 'bloglo' ); ?></span>
	</a>

	<a href="<?php echo esc_url( wc_get_checkout_url() ); ?>" class="bloglo-btn btn-fw" role="button">
		<span><?php esc_html_e( 'Checkout', 'bloglo' ); ?></span>
	</a>
</div>
woocommerce/cart/header-widget/dropdown.php000064400000000764152425655550015117 0ustar00<?php
/**
 * Header Cart Widget dropdown.
 *
 * @package Bloglo
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

?>
<div id="wc-cart-dropdown" class="dropdown-item">

	<?php
	if ( WC()->cart->get_cart_contents_count() < 1 ) {
		wc_get_template_part( 'cart/header-widget/empty' );
	} else {
		wc_get_template_part( 'cart/header-widget/header' );
		wc_get_template_part( 'cart/header-widget/content' );
		wc_get_template_part( 'cart/header-widget/buttons' );
	}
	?>

</div>
woocommerce/cart/header-widget/header.php000064400000001361152425655550014505 0ustar00<?php
/**
 * Header Cart Widget dropdown header.
 *
 * @package Bloglo
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

$bloglo_cart_count    = WC()->cart->get_cart_contents_count();
$bloglo_cart_subtotal = WC()->cart->get_cart_subtotal();

?>
<div class="wc-cart-widget-header">
	<span class="bloglo-cart-count">
		<?php
		/* translators: %s: the number of cart items; */
		echo wp_kses_post( sprintf( _n( '%s item', '%s items', $bloglo_cart_count, 'bloglo' ), $bloglo_cart_count ) );
		?>
	</span>

	<span class="bloglo-cart-subtotal">
		<?php
		/* translators: %s is the cart subtotal. */
		echo wp_kses_post( sprintf( __( 'Subtotal: %s', 'bloglo' ), '<span>' . $bloglo_cart_subtotal . '</span>' ) );
		?>
	</span>
</div>
woocommerce/cart/header-widget/empty.php000064400000000636152425655550014417 0ustar00<?php
/**
 * Header Cart Widget empty cart.
 *
 * @package Bloglo
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

?>
<div class="bloglo-empty-cart">
	<?php echo bloglo()->icons->get_svg( 'shopping-empty', array( 'aria-hidden' => 'true' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
	<p><?php esc_html_e( 'No products in the cart.', 'bloglo' ); ?></p>
</div>
woocommerce/cart/cross-sells.php000064400000002750152425655550013020 0ustar00<?php
/**
 * Cross-sells
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/cart/cross-sells.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * Bloglo changes: h2 to h4 tag. Removed &hellip from title output.
 *
 * @see https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce/Templates
 * @version 9.6.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( $cross_sells ) : ?>

	<div class="cross-sells">
		<?php
		$heading = apply_filters( 'woocommerce_product_cross_sells_products_heading', __( 'You may be interested in', 'bloglo' ) );

		if ( $heading ) :
			?>
			<h4><?php echo esc_html( $heading ); ?></h4>
		<?php endif; ?>

		<?php woocommerce_product_loop_start(); ?>

			<?php foreach ( $cross_sells as $cross_sell ) : ?>

				<?php
					$post_object = get_post( $cross_sell->get_id() );

					setup_postdata( $GLOBALS['post'] = $post_object ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited, Squiz.PHP.DisallowMultipleAssignments.Found

					wc_get_template_part( 'content', 'product' );
				?>

			<?php endforeach; ?>

		<?php woocommerce_product_loop_end(); ?>

	</div>
	<?php
endif;

wp_reset_postdata();
woocommerce/product-searchform.php000064400000003422152425655550013422 0ustar00<?php
/**
 * The template for displaying product search form
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/product-searchform.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * Bloglo changes: added search icon inside button.
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @author  WooThemes
 * @package WooCommerce/Templates
 * @version 7.0.1
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

?>
<form role="search" method="get" class="search-form woocommerce-product-search" action="<?php echo esc_url( home_url( '/' ) ); ?>">
	<div>
		<label class="screen-reader-text" for="woocommerce-product-search-field-<?php echo isset( $index ) ? absint( $index ) : 0; ?>"><?php esc_html_e( 'Search for:', 'bloglo' ); ?></label>
		<input type="search" id="woocommerce-product-search-field-<?php echo isset( $index ) ? absint( $index ) : 0; ?>" class="search-field" placeholder="<?php echo esc_attr__( 'Search products&hellip;', 'bloglo' ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
		<button type="submit" class="search-submit" aria-label="<?php echo esc_attr_x( 'Search', 'submit button', 'bloglo' ); ?>" value="<?php echo esc_attr_x( 'Search', 'submit button', 'bloglo' ); ?>">
			<?php echo bloglo()->icons->get_svg( 'search', array( 'aria-hidden' => 'true' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
			</button>
		<input type="hidden" name="post_type" value="product" />
	</div>
</form>
footer.php000064400000001507152425655550006574 0ustar00<?php
/**
 * The template for displaying the footer in our theme.
 *
 * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>
		<?php do_action( 'bloglo_main_end' ); ?>

	</div><!-- #main .site-main -->
	<?php do_action( 'bloglo_after_main' ); ?>

	<?php do_action( 'bloglo_before_colophon' ); ?>

	<?php if ( bloglo_is_colophon_displayed() ) { ?>
		<footer id="colophon" class="site-footer" role="contentinfo"<?php bloglo_schema_markup( 'footer' ); ?>>

			<?php do_action( 'bloglo_footer' ); ?>

		</footer><!-- #colophon .site-footer -->
	<?php } ?>

	<?php do_action( 'bloglo_after_colophon' ); ?>

</div><!-- END #page -->
<?php do_action( 'bloglo_after_page_wrapper' ); ?>
<?php wp_footer(); ?>

</body>
</html>
sidebar.php000064400000002636152425655550006713 0ustar00<?php
/**
 * The template for displaying theme sidebar.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

if ( ! bloglo_is_sidebar_displayed() ) {
	return;
}

$bloglo_sidebar = bloglo_get_sidebar();
?>

<aside id="secondary" class="widget-area bloglo-sidebar-container"<?php bloglo_schema_markup( 'sidebar' ); ?> role="complementary">

	<div class="bloglo-sidebar-inner">
		<?php do_action( 'bloglo_before_sidebar' ); ?>

		<?php
		if ( is_active_sidebar( $bloglo_sidebar ) ) {

			dynamic_sidebar( $bloglo_sidebar );

		} elseif ( current_user_can( 'edit_theme_options' ) ) {

			$bloglo_sidebar_name = bloglo_get_sidebar_name_by_id( $bloglo_sidebar );
			?>
			<div class="bloglo-sidebar-widget bloglo-widget bloglo-no-widget">

				<div class='h4 widget-title'><?php echo esc_html( $bloglo_sidebar_name ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></div> 

				<p class='no-widget-text'>
					<?php if ( is_customize_preview() ) { ?>
						<a href='#' class="bloglo-set-widget" data-sidebar-id="<?php echo esc_attr( $bloglo_sidebar ); ?>">
					<?php } else { ?>
						<a href='<?php echo esc_url( admin_url( 'widgets.php' ) ); ?>'>
					<?php } ?>
						<?php esc_html_e( 'Click here to assign a widget.', 'bloglo' ); ?>
					</a>
				</p>
			</div>
			<?php
		}
		?>

		<?php do_action( 'bloglo_after_sidebar' ); ?>
	</div>

</aside><!--#secondary .widget-area -->

<?php
archive.php000064400000001467152425655550006724 0ustar00<?php
/**
 * The template for displaying archive pages.
 *
 * Learn more: http://codex.wordpress.org/Template_Hierarchy
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

?>

<?php get_header(); ?>

<?php do_action( 'bloglo_before_container' ); ?>

<div class="bloglo-container">

	<div id="primary" class="content-area">

		<?php do_action( 'bloglo_before_content' ); ?>

		<main id="content" class="site-content" role="main"<?php bloglo_schema_markup( 'main' ); ?>>

			<?php do_action( 'bloglo_content_archive' ); ?>

		</main><!-- #content .site-content -->

		<?php do_action( 'bloglo_after_content' ); ?>

	</div><!-- #primary .content-area -->

	<?php do_action( 'bloglo_sidebar' ); ?>

</div><!-- END .bloglo-container -->

<?php do_action( 'bloglo_after_container' ); ?>

<?php
get_footer();
style.css000064400000002743152425655550006442 0ustar00/*
Theme Name: Bloglo
Text Domain: bloglo
Version: 1.1.18
Requires at least: 5.4
Tested up to: 6.7
Requires PHP: 5.6
Description: Bloglo is lightweight, moderate and customizable blog and news WordPress theme with one click demo importer. You'll be able to fully customize your site color and typography with rich customization options. Bloglo is suitable for dynamic news, newspaper, magazine, blogs, publishers, publishing, editors, online and gaming magazines, personal blogs, news portals or review site and any creative site. Bloglo is SEO friendly, WPML, Gutenberg, WooCommerce, translation and RTL ready.Checkout ready to import demos at https://peregrine-themes.com/bloglo/#demos
Tags: two-columns, right-sidebar, left-sidebar, footer-widgets, blog, news, entertainment, custom-background, custom-menu, custom-logo, post-formats, sticky-post, editor-style, threaded-comments, translation-ready, custom-colors, featured-images, full-width-template, microformats, theme-options, flexible-header, wide-blocks
Author: Peregrine themes
Author URI: https://peregrine-themes.com/
Theme URI: https://peregrine-themes.com/bloglo
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

Do not add your CSS to this file, use a child theme instead: https://codex.wordpress.org/Child_Themes
The main CSS file is loaded from "assets/css folder".
*/wpml-config.xml000064400000001457152425655550007535 0ustar00<wpml-config>
    <admin-texts>
        <key name="theme_mods_bloglo">
            <key name="bloglo_ticker_title" />
            <key name="bloglo_featured_links_title" />
            <key name="bloglo_pyml_title" />
            <key name="bloglo_main_nav_mobile_label" />
            <key name="bloglo_excerpt_more" />
            <key name="bloglo_pre_footer_cta_text" />
            <key name="bloglo_pre_footer_cta_btn_text" />
            <key name="bloglo_header_widgets">
                <key name="*" />
            </key>
            <key name="bloglo_copyright_widgets" >
                <key name="*" />
            </key>
            <key name='custom_logo' />
            <key name='bloglo_logo_default_retina' />
            <key name='blogname' />
        </key>
    </admin-texts>   
</wpml-config>index.php000064400000002123152425655550006400 0ustar00<?php
/**
 * The main template file.
 *
 * This is the most generic template file in a WordPress theme and one of the
 * two required files for a theme (the other being style.css).
 * It is used to display a page when nothing more specific matches a query.
 * For example, it puts together the home page when no home.php file exists.
 *
 * Learn more: http://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<?php get_header(); ?>

<?php do_action( 'bloglo_before_container' ); ?>

<div class="bloglo-container">

	<div id="primary" class="content-area">

		<?php do_action( 'bloglo_before_content' ); ?>

		<main id="content" class="site-content" role="main"<?php bloglo_schema_markup( 'main' ); ?>>

			<?php do_action( 'bloglo_content' ); ?>

		</main><!-- #content .site-content -->

		<?php do_action( 'bloglo_after_content' ); ?>

	</div><!-- #primary .content-area -->

	<?php do_action( 'bloglo_sidebar' ); ?>
	
</div><!-- END .bloglo-container -->

<?php do_action( 'bloglo_after_container' ); ?>

<?php
get_footer();
languages/bloglo.pot000064400000303347152425655550010544 0ustar00# Copyright (C) 2021 Bloglo
# This file is distributed under the same license as the Bloglo package.
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Bloglo\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 3.0.1\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SearchPathExcluded-0: *.js\n"

#: comments.php:34
#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:153
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:167
msgid "Comments"
msgstr ""

#: comments.php:37
#, php-format
msgid "%s Comment"
msgid_plural "%s Comments"
msgstr[0] ""
msgstr[1] ""

#: comments.php:49
msgid "No comments yet. Why don&rsquo;t you start the discussion?"
msgstr ""

#: comments.php:63
msgid "Reply"
msgstr ""

#: comments.php:73
msgid "Comments are closed"
msgstr ""

#: comments.php:79
msgid "Previous"
msgstr ""

#: comments.php:80
msgid "Next"
msgstr ""

#: comments.php:89
#, php-format
msgid "You must be %1$slogged in%2$s to post a comment."
msgstr ""

#: comments.php:90
msgid "Logged in as"
msgstr ""

#: comments.php:90
msgid "Log out of this account"
msgstr ""

#: comments.php:90
msgid "Log out?"
msgstr ""

#: comments.php:92
msgid "Write a comment&hellip;"
msgstr ""

#: header.php:27
msgid "Skip to content"
msgstr ""

#: inc/admin/class-bloglo-admin.php:142
msgid "Install"
msgstr ""

#: inc/admin/class-bloglo-admin.php:143
msgid "Installing..."
msgstr ""

#: inc/admin/class-bloglo-admin.php:144
msgid "Activating..."
msgstr ""

#: inc/admin/class-bloglo-admin.php:145
msgid "Deactivating..."
msgstr ""

#: inc/admin/class-bloglo-admin.php:146
msgid "Active"
msgstr ""

#: inc/admin/class-bloglo-admin.php:147
msgid "Retry"
msgstr ""

#: inc/admin/class-bloglo-admin.php:148
msgid "Please Wait..."
msgstr ""

#: inc/admin/class-bloglo-admin.php:149
msgid "Importing... Please Wait..."
msgstr ""

#: inc/admin/class-bloglo-admin.php:150
msgid "Currently processing: "
msgstr ""

#: inc/admin/class-bloglo-admin.php:151
msgid "Import"
msgstr ""

#: inc/admin/class-bloglo-admin.php:152
msgid "Import Demo"
msgstr ""

#: inc/admin/class-bloglo-admin.php:153
msgid "The demo importer is still working. Closing this window may result in failed import."
msgstr ""

#: inc/admin/class-bloglo-admin.php:154
msgid "Import Complete!"
msgstr ""

#: inc/admin/class-bloglo-admin.php:155
msgid "The demo has been imported."
msgstr ""

#: inc/admin/class-bloglo-admin.php:155
msgid "Visit site."
msgstr ""

#: inc/admin/class-bloglo-admin.php:184 inc/admin/class-bloglo-dashboard.php:76
msgid "Bloglo Theme"
msgstr ""

#: inc/admin/class-bloglo-admin.php:227
msgid "Customize"
msgstr ""

#: inc/admin/class-bloglo-admin.php:228 inc/admin/class-bloglo-admin.php:251
#: inc/admin/class-bloglo-dashboard.php:219
msgid "Help Articles"
msgstr ""

#: inc/admin/class-bloglo-admin.php:252
msgid "Follow Facebook page"
msgstr ""

#: inc/admin/class-bloglo-admin.php:253
msgid "Leave a Review"
msgstr ""

#: inc/admin/class-bloglo-admin.php:297
#, php-format
msgid "Bloglo theme recommends the following plugins: %1$s."
msgstr ""

#: inc/admin/class-bloglo-admin.php:308
msgid "Install Now"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:87
msgid "Plugins"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:101
#: inc/admin/class-bloglo-dashboard.php:456
msgid "Changelog"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:126
msgid "Getting Started"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:133
#: inc/admin/class-bloglo-dashboard.php:137
msgid "Install Plugins"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:134
msgid "Explore recommended plugins. These free plugins provide additional features and customization options."
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:144
msgid "Start with a Template"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:145
msgid "Don&rsquo;t want to start from scratch? Import a pre-built demo website in 1-click and get a head start."
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:152
msgid "Activate Hester Core"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:157
msgid "Install Hester Core"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:162
msgid "Browse Demos"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:182
msgid "Upload Your Logo"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:183
msgid "Kick off branding your new site by uploading your logo. Simply upload your logo and customize as you need."
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:186
msgid "Upload Logo"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:193
msgid "Change Menus"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:194
msgid "Customize menu links and choose what&rsquo;s displayed in available theme menu locations."
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:197
msgid "Go to Menus"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:204
#: inc/admin/class-bloglo-dashboard.php:208
msgid "Change Colors"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:205
msgid "Replace the default theme colors and make your website color scheme match your brand design."
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:215
#: inc/customizer/settings/class-bloglo-customizer-buttons.php:63
msgid "Need Help?"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:216
msgid "Head over to our site to learn more about the Bloglo theme, read help articles and get support."
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:230
msgid "Let‘s customize your website"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:231
msgid "There are many changes you can make to customize your website. Explore Bloglo customization options and make it unique."
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:234
msgid "Start Customizing"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:261
#: inc/admin/class-bloglo-dashboard.php:450
msgid "Recommended Plugins"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:273
#: inc/customizer/ui/plugin-install-helper/class-bloglo-customizer-plugin-install-helper.php:128
msgid "Deactivate"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:275
msgid "Plugin activated"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:278
#: inc/customizer/ui/plugin-install-helper/class-bloglo-customizer-plugin-install-helper.php:113
#: inc/customizer/ui/plugin-install-helper/class-bloglo-customizer-plugin-install-helper.php:133
msgid "Activate"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:283
msgid "Install & Activate"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:332
msgid "Changelog file not found."
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:334
msgid "Changelog file not readable."
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:351
msgid "Bloglo Theme Changelog"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:444
#: template-parts/entry/entry-about-author.php:33
msgid "About"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:479
#: inc/admin/class-bloglo-dashboard.php:510
msgid "Missing plugin data"
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:493
msgid "Failed to activate plugin. Missing plugin data."
msgstr ""

#: inc/admin/class-bloglo-dashboard.php:523
msgid "Failed to deactivate plugin. Missing plugin data."
msgstr ""

#: inc/admin/helpers.php:53
msgid "Dismiss"
msgstr ""

#: inc/admin/helpers.php:251
msgid "How to use"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:125
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:47
msgid "Sidebar"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:129
#: inc/admin/metabox/class-bloglo-meta-boxes.php:143
#: inc/admin/metabox/class-bloglo-meta-boxes.php:157
msgid "Default (from Customizer)"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:130
#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:375
#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:392
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:61
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:79
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:97
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:115
msgid "No Sidebar"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:131
#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:376
#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:393
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:62
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:80
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:98
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:116
msgid "Left Sidebar"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:132
#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:377
#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:394
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:63
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:81
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:99
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:117
msgid "Right Sidebar"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:139
msgid "Content Layout"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:144
#: inc/customizer/settings/class-bloglo-customizer-layout.php:61
msgid "Full Width: Contained"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:145
#: inc/customizer/settings/class-bloglo-customizer-layout.php:62
msgid "Full Width: Stretched"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:146
msgid "Boxed"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:153
msgid "Transparent Header"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:158
msgid "Enable"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:159
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:166
msgid "Disable"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:174
msgid "Disable Top Bar"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:183
msgid "Disable Main Header"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:192
msgid "Disable Page Title"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:202
msgid "Disable Breadcrumbs"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:211
msgid "Disable Featured Image"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:220
msgid "Disable Pre Footer CTA"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:230
msgid "Disable Main Footer"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:240
msgid "Disable Copyright Bar"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:250
msgid "Disable Post Card Border"
msgstr ""

#: inc/admin/metabox/class-bloglo-meta-boxes.php:262
msgid "Theme Page Options"
msgstr ""

#: inc/breadcrumbs.php:331
msgid "Browse:"
msgstr ""

#: inc/breadcrumbs.php:332
msgctxt "breadcrumbs aria label"
msgid "Breadcrumbs"
msgstr ""

#: inc/breadcrumbs.php:333 inc/helpers.php:116
msgid "Home"
msgstr ""

#: inc/breadcrumbs.php:334
msgid "404 Not Found"
msgstr ""

#: inc/breadcrumbs.php:335
msgid "Archives"
msgstr ""

#: inc/breadcrumbs.php:337 inc/helpers.php:126
#, php-format
msgid "Search results for: %s"
msgstr ""

#: inc/breadcrumbs.php:339
#, php-format
msgid "Page %s"
msgstr ""

#: inc/breadcrumbs.php:341
#, php-format
msgid "Comment Page %s"
msgstr ""

#: inc/breadcrumbs.php:343
#, php-format
msgid "Minute %s"
msgstr ""

#: inc/breadcrumbs.php:345
#, php-format
msgid "Week %s"
msgstr ""

#: inc/breadcrumbs.php:804
msgctxt "minute and hour archives time format"
msgid "g:i a"
msgstr ""

#: inc/breadcrumbs.php:822
msgctxt "minute archives time format"
msgid "i"
msgstr ""

#: inc/breadcrumbs.php:840
msgctxt "hour archives time format"
msgid "g a"
msgstr ""

#: inc/breadcrumbs.php:857 inc/breadcrumbs.php:887 inc/breadcrumbs.php:927
#: inc/breadcrumbs.php:955 inc/breadcrumbs.php:1305
msgctxt "yearly archives date format"
msgid "Y"
msgstr ""

#: inc/breadcrumbs.php:858 inc/breadcrumbs.php:928 inc/breadcrumbs.php:1308
msgctxt "monthly archives date format"
msgid "F"
msgstr ""

#: inc/breadcrumbs.php:859 inc/breadcrumbs.php:1311
msgctxt "daily archives date format"
msgid "j"
msgstr ""

#: inc/breadcrumbs.php:888
msgctxt "weekly archives date format"
msgid "W"
msgstr ""

#: inc/compatibility/back-compat.php:46 inc/compatibility/back-compat.php:74
#, php-format
msgid "Bloglo theme requires at least WordPress version 4.7. You are running version %s. Please upgrade and try again."
msgstr ""

#: inc/compatibility/back-compat.php:59
#, php-format
msgid "Bloglo theme requires at least WordPress version 4.7. You are running version %s. Please upgrade your WordPress and try again."
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:144
msgid "Before Header"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:145
msgid "After Header"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:151
msgid "Before Main"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:152
msgid "After Main"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:158
msgid "Before Content"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:159
msgid "After Content"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:165
msgid "Before Footer"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:166
msgid "After Footer"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:172
msgid "Before Sidebar"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:173
msgid "After Sidebar"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:179
msgid "Before Singular"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:180
msgid "After Singular"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:181
msgid "Before Comments"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:182
msgid "After Comments"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:183
msgid "Before Single Content"
msgstr ""

#: inc/compatibility/class-bloglo-beaver-themer.php:184
msgid "After Single Content"
msgstr ""

#: inc/compatibility/class-bloglo-jetpack.php:101
msgid "Proudly powered by WordPress"
msgstr ""

#: inc/compatibility/class-bloglo-jetpack.php:112
msgid "Load More"
msgstr ""

#: inc/compatibility/socialsnap/class-bloglo-socialsnap.php:67
#: inc/compatibility/socialsnap/class-bloglo-socialsnap.php:69
msgid "Shares"
msgstr ""

#: inc/compatibility/socialsnap/socialsnap-functions.php:26
msgid "Share"
msgid_plural "Shares"
msgstr[0] ""
msgstr[1] ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-widget-cart.php:34
msgid "Cart"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-widget-cart.php:35
msgid "Displays WooCommerce cart."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:53
#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:138
msgid "Sale!"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:104
msgid "Product image hover"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:105
msgid "Effect for product image on hover"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:107
msgid "No Effect"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:108
msgid "Image Swap"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:120
msgid "Product sale badge"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:121
msgid "Choose what to display on the product sale badge."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:123
msgid "Hide badge"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:124
msgid "Show percentage"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:125
msgid "Show text"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:136
msgid "Sale badge text"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:137
msgid "Add custom text for the product sale badge."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:157
msgid "Product details"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:158
msgid "Set order and visibility for product details."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:160
#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:126
#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:68
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:67
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:67
msgid "Title"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:161
msgid "Ratings"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:162
#: woocommerce/cart/cart.php:31 woocommerce/cart/cart.php:80
msgid "Price"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:163
#: inc/customizer/settings/class-bloglo-customizer-hero.php:147
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:226
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:177
msgid "Category"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:170
msgid "Single Product"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:181
msgid "Gallery Zoom"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:182
msgid "Enable zoom effect when hovering product gallery."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:194
msgid "Gallery Lightbox"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:195
msgid "Open product gallery images in lightbox."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:207
msgid "Slider Arrows"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:208
msgid "Enable left and right arrows on product gallery slider."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:220
#: inc/compatibility/woocommerce/class-bloglo-woocommerce.php:944
msgid "Related Products"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:221
msgid "Display related products."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:233
msgid "Related Products Columns"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:234
msgid "How many related products should be shown per row?"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:255
msgid "Related Products Rows"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:256
msgid "How many rows of related products should be shown?"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:277
msgid "Up-Sell Products"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:278
msgid "Display linked upsell products."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:290
msgid "Up-Sell Products Columns"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:291
msgid "How many up-sell products should be shown per row?"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:312
msgid "Up-Sell Products Rows"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:313
msgid "How many rows of up-sell products should be shown?"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:334
msgid "Cross-Sell Products"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:335
msgid "Display linked cross-sell products on cart page."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:347
msgid "Cross-Sell Products Rows"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:348
msgid "How many rows of cross-sell products should be shown?"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:370
msgid "WooCommerce"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:371
msgid "Choose default sidebar position for cart, checkout and catalog pages. You can change this setting per page via metabox settings."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:374
#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:391
#: inc/customizer/controls/gallery/class-bloglo-customizer-control-gallery.php:53
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:78
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:96
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:114
msgid "Default"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:387
msgid "WooCommerce - Single Product"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php:388
msgid "Choose default sidebar position layout for product pages. You can change this setting per product via metabox settings."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-woocommerce.php:589
msgid "WooCommerce Sidebar"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-woocommerce.php:591
msgid "Widgets in this area are displayed on WooCommerce pages except Product pages."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-woocommerce.php:605
msgid "Product Sidebar"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-woocommerce.php:607
msgid "Widgets in this area are displayed on WooCommerce Product pages."
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-woocommerce.php:820
msgid "Payment"
msgstr ""

#: inc/compatibility/woocommerce/class-bloglo-woocommerce.php:835
msgid "Shipping"
msgstr ""

#: inc/compatibility/woocommerce/woocommerce-functions.php:101
msgid "Sold Out"
msgstr ""

#: inc/compatibility/woocommerce/woocommerce-functions.php:193
msgid "Return to Shop"
msgstr ""

#: inc/compatibility/woocommerce/woocommerce-functions.php:267
#, php-format
msgid "%s product"
msgid_plural "%s products"
msgstr[0] ""
msgstr[1] ""

#: inc/core/class-bloglo-enqueue-scripts.php:148
#: template-parts/entry/entry-show-comments.php:20
#, php-format
msgid "Show %s Comment"
msgid_plural "Show %s Comments"
msgstr[0] ""
msgstr[1] ""

#: inc/core/class-bloglo-enqueue-scripts.php:148
#: template-parts/entry/entry-show-comments.php:16
msgid "Leave a Comment"
msgstr ""

#: inc/core/class-bloglo-enqueue-scripts.php:149
msgid "Hide Comments"
msgstr ""

#: inc/core/class-bloglo-fonts.php:228
msgid "Arabic"
msgstr ""

#: inc/core/class-bloglo-fonts.php:229
msgid "Bengali"
msgstr ""

#: inc/core/class-bloglo-fonts.php:230
msgid "Chinese (Hong Kong)"
msgstr ""

#: inc/core/class-bloglo-fonts.php:231
msgid "Chinese (Simplified)"
msgstr ""

#: inc/core/class-bloglo-fonts.php:232
msgid "Chinese (Traditional)"
msgstr ""

#: inc/core/class-bloglo-fonts.php:233
msgid "Cyrillic"
msgstr ""

#: inc/core/class-bloglo-fonts.php:234
msgid "Cyrillic Extended"
msgstr ""

#: inc/core/class-bloglo-fonts.php:235
msgid "Devanagari"
msgstr ""

#: inc/core/class-bloglo-fonts.php:236
msgid "Greek"
msgstr ""

#: inc/core/class-bloglo-fonts.php:237
msgid "Greek Extended"
msgstr ""

#: inc/core/class-bloglo-fonts.php:238
msgid "Gujarati"
msgstr ""

#: inc/core/class-bloglo-fonts.php:239
msgid "Gurmukhi"
msgstr ""

#: inc/core/class-bloglo-fonts.php:240
msgid "Hebrew"
msgstr ""

#: inc/core/class-bloglo-fonts.php:241
msgid "Japanese"
msgstr ""

#: inc/core/class-bloglo-fonts.php:242
msgid "Kannada"
msgstr ""

#: inc/core/class-bloglo-fonts.php:243
msgid "Khmer"
msgstr ""

#: inc/core/class-bloglo-fonts.php:244
msgid "Korean"
msgstr ""

#: inc/core/class-bloglo-fonts.php:245
msgid "Latin"
msgstr ""

#: inc/core/class-bloglo-fonts.php:246
msgid "Latin Extended"
msgstr ""

#: inc/core/class-bloglo-fonts.php:247
msgid "Malayalam"
msgstr ""

#: inc/core/class-bloglo-fonts.php:248
msgid "Myanmar"
msgstr ""

#: inc/core/class-bloglo-fonts.php:249
msgid "Oriya"
msgstr ""

#: inc/core/class-bloglo-fonts.php:250
msgid "Sinhala"
msgstr ""

#: inc/core/class-bloglo-fonts.php:251
msgid "Tamil"
msgstr ""

#: inc/core/class-bloglo-fonts.php:252
msgid "Telugu"
msgstr ""

#: inc/core/class-bloglo-fonts.php:253
msgid "Thai"
msgstr ""

#: inc/core/class-bloglo-fonts.php:254
msgid "Vietnamese"
msgstr ""

#: inc/core/class-bloglo-fonts.php:414
#: inc/customizer/settings/class-bloglo-customizer-main-header.php:176
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:107
msgid "Standard"
msgstr ""

#: inc/core/class-bloglo-fonts.php:419
msgid "System Fonts"
msgstr ""

#: inc/core/class-bloglo-fonts.php:424
msgid "Google Fonts"
msgstr ""

#: inc/core/class-bloglo-options.php:684
msgid "Post You Might Like"
msgstr ""

#: inc/core/class-bloglo-options.php:701
msgid "Breakings"
msgstr ""

#: inc/core/class-bloglo-options.php:718
msgid "Site Under construction."
msgstr ""

#: inc/core/class-bloglo-options.php:718
msgid "Subscribe today and we will inform you once we go online."
msgstr ""

#: inc/core/class-bloglo-options.php:848
msgid "This is an example of <em>Pre Footer</em> section in Bloglo."
msgstr ""

#: inc/core/class-bloglo-options.php:849
msgid "Example Button"
msgstr ""

#: inc/core/class-bloglo-options.php:891
msgid "Copyright {{the_year}} &mdash; {{site_title}}. All rights reserved. {{theme_link}}"
msgstr ""

#: inc/core/class-bloglo-theme-setup.php:119
msgid "Primary Navigation"
msgstr ""

#: inc/customizer/class-bloglo-customizer.php:158
msgid "Logos &amp; Site Title"
msgstr ""

#: inc/customizer/class-bloglo-customizer.php:161
msgid "Upload your logo image here."
msgstr ""

#: inc/customizer/class-bloglo-customizer.php:178
msgid "Enter the name of your site here."
msgstr ""

#: inc/customizer/class-bloglo-customizer.php:183
msgid "A tagline is a short phrase, or sentence, used to convey the essence of the site."
msgstr ""

#: inc/customizer/class-bloglo-customizer.php:553
msgid "Select a category"
msgstr ""

#: inc/customizer/controls/alignment/class-bloglo-customizer-control-alignment.php:44
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:117
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:571
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:738
msgid "Top Left"
msgstr ""

#: inc/customizer/controls/alignment/class-bloglo-customizer-control-alignment.php:45
#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:143
#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:267
#: inc/customizer/settings/class-bloglo-customizer-logo.php:112
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:218
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:72
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:95
msgid "Top"
msgstr ""

#: inc/customizer/controls/alignment/class-bloglo-customizer-control-alignment.php:46
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:118
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:572
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:739
msgid "Top Right"
msgstr ""

#: inc/customizer/controls/alignment/class-bloglo-customizer-control-alignment.php:47
#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:217
#: inc/customizer/settings/class-bloglo-customizer-logo.php:115
#: inc/customizer/settings/class-bloglo-customizer-main-header.php:184
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:114
msgid "Left"
msgstr ""

#: inc/customizer/controls/alignment/class-bloglo-customizer-control-alignment.php:48
msgid "Center"
msgstr ""

#: inc/customizer/controls/alignment/class-bloglo-customizer-control-alignment.php:49
#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:218
#: inc/customizer/settings/class-bloglo-customizer-logo.php:113
#: inc/customizer/settings/class-bloglo-customizer-main-header.php:185
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:115
msgid "Right"
msgstr ""

#: inc/customizer/controls/alignment/class-bloglo-customizer-control-alignment.php:50
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:120
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:574
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:741
msgid "Bottom Left"
msgstr ""

#: inc/customizer/controls/alignment/class-bloglo-customizer-control-alignment.php:51
#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:144
#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:268
#: inc/customizer/settings/class-bloglo-customizer-logo.php:114
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:219
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:73
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:96
msgid "Bottom"
msgstr ""

#: inc/customizer/controls/alignment/class-bloglo-customizer-control-alignment.php:52
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:121
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:575
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:742
msgid "Bottom Right"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:59
#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:120
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:125
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:314
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:196
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:768
msgid "No image selected"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:60
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:126
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:197
msgid "Less Settings"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:61
#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:131
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:127
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:326
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:198
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:780
#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:117
msgid "Advanced"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:62
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:128
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:199
msgid "Select Image"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:63
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:129
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:200
msgid "Use This Image"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:125
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:321
#: inc/customizer/controls/gallery/class-bloglo-customizer-control-gallery.php:54
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:429
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:449
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:775
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:990
#: woocommerce/cart/cart.php:114
msgid "Remove"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:147
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:340
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:794
msgid "No Repeat"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:148
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:341
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:795
msgid "Repeat All"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:149
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:342
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:796
msgid "Repeat Horizontally"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:150
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:343
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:797
msgid "Repeat Vertically"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:157
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:350
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:804
msgid "Background Position"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:160
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:353
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:807
msgid "Horizontal"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:178
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:372
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:827
msgid "Vertical"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:199
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:394
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:850
msgid "Background Size"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:202
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:397
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:853
msgid "Cover"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:205
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:400
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:856
msgid "Contain"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:208
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:403
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:859
msgid "Auto"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:215
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:410
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:866
msgid "Background Attachment"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:218
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:413
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:869
#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:127
#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:130
#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:152
#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:159
#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:166
msgid "Inherit"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:221
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:416
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:872
msgid "Scroll"
msgstr ""

#: inc/customizer/controls/background/class-bloglo-customizer-control-background.php:224
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:419
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:875
msgid "Fixed"
msgstr ""

#: inc/customizer/controls/class-bloglo-customizer-control.php:56
#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:229
msgid "Desktop"
msgstr ""

#: inc/customizer/controls/class-bloglo-customizer-control.php:60
#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:233
msgid "Tablet"
msgstr ""

#: inc/customizer/controls/class-bloglo-customizer-control.php:64
#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:237
msgid "Mobile"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:102
#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:107
msgid "Type"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:104
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:456
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:642
msgid "Color 1"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:105
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:484
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:670
msgid "Color 2"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:106
msgid "Location"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:108
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:516
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:701
msgid "Linear"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:109
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:517
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:702
msgid "Radial"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:110
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:524
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:709
msgid "Angle"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:111
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:546
#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:88
msgid "Position"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:113
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:567
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:734
msgid "Center Center"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:114
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:568
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:735
msgid "Center Left"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:115
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:569
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:736
msgid "Center Right"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:116
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:570
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:737
msgid "Top Center"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:119
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:573
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:740
msgid "Bottom Center"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:132
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:948
msgid "Solid"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:133
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:949
msgid "Dotted"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:134
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:950
msgid "Dashed"
msgstr ""

#: inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php:427
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:883
msgid "Overlay Color"
msgstr ""

#: inc/customizer/controls/gallery/class-bloglo-customizer-control-gallery.php:51
msgid "Select Images"
msgstr ""

#: inc/customizer/controls/gallery/class-bloglo-customizer-control-gallery.php:52
msgid "Modify Gallery"
msgstr ""

#: inc/customizer/controls/gallery/class-bloglo-customizer-control-gallery.php:55
msgid "No images selected"
msgstr ""

#: inc/customizer/controls/gallery/class-bloglo-customizer-control-gallery.php:56
msgid "Select Gallery Images"
msgstr ""

#: inc/customizer/controls/gallery/class-bloglo-customizer-control-gallery.php:57
msgid "Choose Images"
msgstr ""

#: inc/customizer/controls/info/class-bloglo-customizer-control-info.php:103
msgid "Learn More"
msgstr ""

#: inc/customizer/controls/pro/class-bloglo-customizer-control-pro.php:64
#: inc/customizer/controls/pro/class-bloglo-customizer-control-pro.php:80
msgid "Upgrade to Bloglo Pro"
msgstr ""

#: inc/customizer/controls/pro/class-bloglo-customizer-control-pro.php:68
msgid "Bloglo Pro"
msgstr ""

#: inc/customizer/controls/pro/class-bloglo-customizer-control-pro.php:72
msgid "Bloglo Pro Features"
msgstr ""

#: inc/customizer/controls/pro/class-bloglo-customizer-control-pro.php:85
#, php-format
msgid "If you Like our Products , Please Rate us 5 star on %1$sWordPress.org%2$s.  We'd really appreciate it! </br></br>  Thank You"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:124
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:306
msgid "Item"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:189
msgid "Add new item"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:430
msgid "Add"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:430
msgid "Change"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:462
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:491
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:649
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:677
msgid "Color location"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:513
#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:698
msgid "Gradient type"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:614
msgid "Background type"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:629
msgid "Background color"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:730
msgid "Gradinet position"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:777
msgid "Select image"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:992
msgid "Close"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:1014
#: inc/customizer/customizer-helpers.php:54
#: inc/customizer/widgets/class-bloglo-customizer-widget-search.php:51
#: searchform.php:24 searchform.php:27
#: template-parts/header/widgets/search.php:14
#: template-parts/header/widgets/search.php:22
msgid "Search"
msgstr ""

#: inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php:1018
msgid "Font Awesome"
msgstr ""

#: inc/customizer/controls/spacing/class-bloglo-customizer-control-spacing.php:45
msgid "Link values"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:118
msgid "Font Family"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:119
msgid "Languages"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:120
msgid "Weight"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:121
#: inc/customizer/widgets/class-bloglo-customizer-widget-socials.php:85
msgid "Size"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:122
#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:263
#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:165
#: inc/customizer/settings/class-bloglo-customizer-hero.php:174
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:214
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:121
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:209
#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:138
#: inc/customizer/widgets/class-bloglo-customizer-widget-darkmode.php:70
#: inc/customizer/widgets/class-bloglo-customizer-widget-search.php:70
#: inc/customizer/widgets/class-bloglo-customizer-widget-socials.php:66
msgid "Style"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:123
msgid "Transform"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:124
msgid "Decoration"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:125
msgid "Line Height"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:126
msgid "Letter Spacing"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:128
msgid "Default System Font"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:131
msgid "Thin 100"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:132
msgid "Thin 100 Italic"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:133
msgid "Extra-Thin 200"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:134
msgid "Extra-Thin 200 Italic"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:135
msgid "Light 300"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:136
msgid "Light 300 Italic"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:137
msgid "Normal 400"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:138
msgid "Normal 400 Italic"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:139
msgid "Medium 500"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:140
msgid "Medium 500 Italic"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:141
msgid "Semi-Bold 600"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:142
msgid "Semi-Bold 600 Italic"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:143
msgid "Bold 700"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:144
msgid "Bold 700 Italic"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:145
msgid "Extra-Bold 800"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:146
msgid "Extra-Bold 800 Italic"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:147
msgid "Black 900"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:148
msgid "Black 900 Italic"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:153
msgid "Uppercase"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:154
msgid "Lowercase"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:155
msgid "Capitalize"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:156
#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:163
msgid "None"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:160
msgid "Underline"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:161
msgid "Overline"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:162
msgid "Line Through"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:167
msgid "Normal"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:168
msgid "Italic"
msgstr ""

#: inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php:169
msgid "Oblique"
msgstr ""

#: inc/customizer/controls/widget/class-bloglo-customizer-control-widget.php:160
msgid "Add Widget"
msgstr ""

#: inc/customizer/customizer-helpers.php:48
#: inc/customizer/settings/class-bloglo-customizer-hero.php:72
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:89
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:89
msgid "Home Page"
msgstr ""

#: inc/customizer/customizer-helpers.php:51
#: inc/customizer/settings/class-bloglo-customizer-hero.php:75
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:92
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:92
msgid "Blog / Posts Page"
msgstr ""

#: inc/customizer/customizer-helpers.php:57
msgid "Archive"
msgstr ""

#: inc/customizer/customizer-helpers.php:58
msgid "Dynamic pages such as categories, tags, custom taxonomies..."
msgstr ""

#: inc/customizer/customizer-helpers.php:61
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:101
#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:74
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:46
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:101
msgid "Single Post"
msgstr ""

#: inc/customizer/customizer-helpers.php:64
msgid "Single Page"
msgstr ""

#: inc/customizer/customizer-helpers.php:99
msgid "Hide On Desktop"
msgstr ""

#: inc/customizer/customizer-helpers.php:102
msgid "Hide On Tablet"
msgstr ""

#: inc/customizer/customizer-helpers.php:105
msgid "Hide On Mobile"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:46
msgid "Blog Page / Archive"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:56
#: inc/customizer/settings/class-bloglo-customizer-layout.php:46
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:57
msgid "Layout"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:57
msgid "Choose blog layout. This will affect blog layout on archives, search results and posts page."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:60
msgid "Masonry"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:71
msgid "Layout Column"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:72
msgid "Choose blog layout Column. This will affect blog layout on archives, search results and posts page."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:75
msgid "Layout 1 Column"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:76
msgid "Layout 1/2 Column"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:109
msgid "Featured Image Size"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:122
#: inc/customizer/settings/class-bloglo-customizer-hero.php:220
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:139
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:123
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:134
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:232
msgid "Post Elements"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:123
#: inc/customizer/settings/class-bloglo-customizer-hero.php:221
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:140
msgid "Set order and visibility for post elements."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:125
msgid "Summary"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:127
#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:148
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:161
msgid "Post Meta"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:128
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:138
msgid "Featured Image"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:129
#: template-parts/entry/entry-summary-footer.php:26
msgid "Read More"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:149
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:162
msgid "Set order and visibility for post meta details."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:151
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:165
msgid "Author"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:152
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:166
msgid "Publish Date"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:154
#: inc/customizer/settings/class-bloglo-customizer-hero.php:224
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:143
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:168
msgid "Categories"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:155
msgid "Tags"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:166
msgid "Show Post Categories"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:167
msgid "A list of categories the post belongs to. Displayed above post title."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:185
msgid "Show Read More Button"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:204
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:187
msgid "Show avatar and icons in post meta"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:214
msgid "Featured Image Position"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:237
msgid "Excerpt Length"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:238
msgid "Number of words displayed in the excerpt."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:254
msgid "Excerpt More"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-blog-page.php:255
msgid "What to append to excerpt if the text is cut."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:46
msgid "Breadcrumbs"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:57
msgid "Enable Breadcrumbs"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:68
msgid "Disable On: "
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:69
msgid "Choose on which pages you want to disable breadcrumbs. "
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:91
#: inc/customizer/settings/class-bloglo-customizer-single-post.php:73
msgid "In Page Header"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:92
msgid "Below Header (Separate Container)"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:110
msgid "Alignment"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:139
msgid "Spacing"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:140
msgid "Specify top and bottom padding."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:166
#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:159
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:131
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:95
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:150
msgid "Design Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:189
#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:177
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:149
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:113
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:168
msgid "Background"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:193
#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:181
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:153
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:117
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:172
msgid "Solid Color"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:194
#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:182
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:154
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:118
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:173
msgid "Gradient"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:195
#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:113
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:155
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:119
msgid "Image"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:224
#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:207
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:179
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:143
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:197
msgid "Font Color"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:228
#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:212
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:183
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:147
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:201
msgid "Text Color"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:229
#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:213
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:184
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:148
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:202
msgid "Link Color"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:230
#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:214
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:185
#: inc/customizer/settings/class-bloglo-customizer-page-header.php:149
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:203
msgid "Link Hover Color"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:259
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:210
msgid "Border"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:264
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:215
msgid "Color"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php:265
#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:216
msgid "Width (px)"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-buttons.php:48
msgid "Need more features?"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-buttons.php:50
msgid "Upgrade to pro"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-buttons.php:65
msgid "See the Articles"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-colors.php:46
msgid "Base Colors"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-colors.php:57
msgid "Accent Color"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-colors.php:58
msgid "The accent color is used subtly throughout your site, to call attention to key elements."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-colors.php:71
#: inc/customizer/widgets/class-bloglo-customizer-widget-darkmode.php:51
msgid "Dark mode"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-colors.php:72
msgid "Enable dark mode."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-colors.php:85
msgid "Body Background"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:44
msgid "Copyright Bar"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:55
msgid "Enable Copyright Bar"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:67
msgid "Copyright Layout"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:68
msgid "Choose your site&rsquo;s copyright widgets layout."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:72
msgid "Centered"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:92
#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:111
msgid "Copyright Bar Widgets"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:93
msgid "Click the Add Widget button to add available widgets to your Copyright Bar."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:122
msgid "Start"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:123
msgid "End"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:126
#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:143
#: inc/customizer/settings/class-bloglo-customizer-main-header.php:188
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:118
msgid "Show on All Devices"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:127
#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:144
#: inc/customizer/settings/class-bloglo-customizer-main-header.php:189
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:119
msgid "Hide on Mobile"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:128
#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:145
#: inc/customizer/settings/class-bloglo-customizer-main-header.php:190
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:120
msgid "Hide on Tablet"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-copyright-settings.php:129
#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:146
#: inc/customizer/settings/class-bloglo-customizer-main-header.php:191
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:121
msgid "Hide on Mobile and Tablet"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:46
#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:91
msgid "Featured Items"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:57
msgid "Enable featured items section"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:93
msgid "Featured Link"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:95
msgid "[live_title]"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:96
msgid "Add new Feature"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:98
msgid "Upgrade to <a target=\"_blank\" href=\"https://peregrine-themes.com/bloglo/\">Bloglo Pro</a> to be able to add more items and unlock other premium features!"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:101
#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:84
msgid "Button Text"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:105
#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:96
msgid "Button URL"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:109
msgid "Open link in new tab "
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:140
msgid "Device Visibility"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:141
msgid "Devices where the Posts You Might Like is displayed."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:183
msgid "Width"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:184
msgid "Stretch the container to full width, or match your site&rsquo;s content width."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:186
msgid "Content Width"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-featured-links.php:187
msgid "Full Width"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:46
msgid "Hero"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:57
msgid "Enable Hero Section"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:67
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:84
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:84
msgid "Enable On: "
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:68
msgid "Choose on which pages you want to enable Hero. "
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:95
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:174
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:121
msgid "Post Settings"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:113
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:192
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:144
msgid "Post Number"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:114
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:193
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:145
msgid "Set the number of visible posts."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:148
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:227
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:178
msgid "Display posts from selected category only. Leave empty to include all."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:192
msgid "Height"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:193
msgid "Set the height of the container."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:225
#: inc/customizer/settings/class-bloglo-customizer-pyml.php:144
msgid "Post Details"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-hero.php:226
#: inc/helpers.php:1635 template-parts/hero/hero-hover-slider.php:90
msgid "Continue Reading"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-layout.php:58
msgid "Site Layout"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-layout.php:59
msgid "Choose your site&rsquo;s main layout."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:51
msgid "Retina Logo"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:52
msgid "Upload exactly 2x the size of your default logo to make your logo crisp on HiDPI screens. This options is not required if logo above is in SVG format."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:56
msgid "Select logo"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:57
msgid "Select"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:81
msgid "Logo Height"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:82
msgid "Maximum logo image height."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:106
msgid "Logo Margin"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:107
msgid "Specify spacing around logo. Negative values are allowed."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:130
msgid "Display Tagline"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:149
msgid "Site Identity"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:163
msgid "Typography"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-logo.php:182
msgid "Site Title Font Size"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:46
msgid "Main Footer"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:57
msgid "Enable Main Footer"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:68
msgid "Column Layout"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:69
msgid "Choose your site&rsquo;s footer column layout."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:74
msgid "1/4 + 1/4 + 1/4 + 1/4"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:78
msgid "1/3 + 1/3 + 1/3"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:82
msgid "1"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:107
msgid "Center Widget Content"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-footer.php:186
msgid "Widget Title Color"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:46
msgid "Main Header"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:57
msgid "Header Layout"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:58
msgid "Pre-defined positions of header elements, such as logo and navigation."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:64
msgid "Header 1"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:77
msgid "Ads image"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:78
msgid "Click “Add new image” to upload an image file from your computer. Your theme works best with an image with a banner size of 732 × 90 pixels. "
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:97
msgid "Ads url"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:116
msgid "Open Ads link on"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:120
msgid "Open in same tab"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:121
msgid "Open in new tab"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:139
#: inc/customizer/settings/class-bloglo-customizer-main-header.php:152
msgid "Header Widgets"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:140
msgid "Click the Add Widget button to add available widgets to your Header. Click the down arrow icon to expand widget options."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:169
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:100
msgid "Minimal"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:170
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:101
msgid "Rounded"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:171
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:102
msgid "Minimal Fill"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:172
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:103
msgid "Rounded Fill"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:175
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:106
msgid "Small"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:177
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:108
msgid "Large"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-header.php:178
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:109
msgid "Extra Large"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-navigation.php:46
msgid "Main Navigation"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-navigation.php:57
msgid "Mobile Menu"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-navigation.php:68
msgid "Mobile Breakpoint"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-main-navigation.php:69
msgid "Choose the breakpoint (in px) when to show the mobile navigation."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:46
msgid "Misc Settings"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:57
msgid "Schema Markup"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:58
msgid "Add structured data to your content."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:69
msgid "Custom Form Styles"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:70
msgid "Custom design for checkboxes and radio buttons."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:81
msgid "Scroll Top Button"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:92
msgid "Enable Scroll Top Button"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:93
msgid "A sticky button that allows users to easily return to the top of a page."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:111
msgid "Cursor Dot Effect"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:122
msgid "Enable Cursor Dot"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-misc.php:123
msgid "A cursor dot effect show on desktop size mode only with work on mouse."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-page-header.php:46
msgid "Page Header"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-page-header.php:57
msgid "Enable Page Header"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-page-header.php:68
msgid "Page Title Spacing"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-page-header.php:69
msgid "Specify Page Title top and bottom padding."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:45
msgid "View pro features"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:59
msgid "All starter sites included"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:60
msgid "Advance Header Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:61
msgid "Advance FrontPage Slider Layouts"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:62
msgid "Body and H1 to H6 typography options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:63
msgid "Primary, Seconday and text Buttons color and typography options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:64
msgid "Post Advance Featured"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:65
msgid "Post Like ❤️ Feature"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:66
msgid "Unlimited Featured links + some additional features"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:67
msgid "Post Category Color Change Feature"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:68
msgid "Meta Category Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:69
msgid "Site Layouts Options e.g. Boxed, Framed etc"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:70
msgid "Archive Layout Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:71
msgid "Sticky Sidebar Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:72
msgid "Advance Color Scheme"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:73
msgid "Author Widgets"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:74
msgid "Title Design Settings"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:75
msgid "Masonry Grid & Multi Post Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:76
msgid "Full Width Post/Page Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:77
msgid "Single Post/Page Layout Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:78
msgid "Single Post/Page Left/Right Sidebar"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:79
msgid "Footer Advance Featured"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:80
msgid "Footer Widgets Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:81
msgid "Call to action / Pre-Footer"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:82
msgid "Live Container Manage Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:83
msgid "Parallax Footer"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:84
msgid "Site pre-loader"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:85
msgid "SEO Meta"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:86
msgid "AMP Compatibility"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:87
msgid "Coming Soon/Maintenance Mode Option"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:88
msgid "Regular Premium Updates"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:89
msgid "Quick Support"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pro-features.php:90
msgid "And much more..."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pyml.php:45
msgid "Posts You Might Like"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pyml.php:56
msgid "Enable Posts You Might Like Section"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pyml.php:85
msgid "Choose on which pages you want to enable Posts You Might Like. "
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pyml.php:95
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:95
msgid "Archive Page"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-pyml.php:98
#: inc/customizer/settings/class-bloglo-customizer-ticker.php:98
msgid "Search Page"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sections.php:46
msgid "General Settings"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sections.php:52
msgid "Homapage sections"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sections.php:58
msgid "Header"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sections.php:64
msgid "Footer"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sections.php:70
msgid "Blog"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:58
msgid "Default Position"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:59
msgid "Choose default sidebar position layout. You can change this setting per page via metabox settings."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:75
msgid "Choose default sidebar position layout for single posts. You can change this setting per post via metabox settings."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:92
msgid "Page"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:93
msgid "Choose default sidebar position layout for pages. You can change this setting per page via metabox settings."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:110
msgid "Archives & Search"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:111
msgid "Choose default sidebar position layout for archives and search results."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:128
msgid "Options"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:140
msgid "Sidebar Width"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:141
msgid "Change your sidebar width."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:163
msgid "Sticky Sidebar"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:164
msgid "Stick sidebar when scrolling."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sidebar.php:167
msgid "Stick first widget"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:68
msgid "Title Position"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:69
msgid "Select title position for single post pages."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:72
msgid "In Content"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:91
msgid "Title Spacing"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:92
msgid "Specify title top and bottom padding."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:135
msgid "Set visibility of post elements."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:139
msgid "Post Categories"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:140
msgid "Post Tags"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:141
msgid "Last Updated Date"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:142
msgid "About Author Box"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:143
msgid "Next/Prev Post Links"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:204
msgid "Show Toggle Comments"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-single-post.php:205
msgid "Hide comments and comment form behind a toggle button. "
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sticky-header.php:46
msgid "Sticky Header"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-sticky-header.php:57
msgid "Enable Sticky Header"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-ticker.php:45
msgid "Ticker News"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-ticker.php:56
msgid "Enable Ticker News Section"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-ticker.php:85
msgid "Choose on which pages you want to enable Ticker News. "
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-ticker.php:235
msgid "Post Date"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:46
msgid "Top Bar"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:57
msgid "Enable Top Bar"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:58
msgid "Top Bar is a section with widgets located above Main Header area."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:69
#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:88
msgid "Top Bar Widgets"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-top-bar.php:70
msgid "Click the Add Widget button to add available widgets to your Top Bar."
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-typography.php:46
msgid "Base Typography"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-typography.php:57
msgid "Body & Content"
msgstr ""

#: inc/customizer/settings/class-bloglo-customizer-typography.php:68
msgid "Body Typography"
msgstr ""

#: inc/customizer/ui/plugin-install-helper/class-bloglo-customizer-plugin-install-helper.php:109
msgid "Install and activate"
msgstr ""

#: inc/customizer/ui/plugin-install-helper/class-bloglo-customizer-plugin-install-helper.php:133
msgid "Jetpack Portfolio"
msgstr ""

#: inc/customizer/ui/plugin-install-helper/class-bloglo-customizer-plugin-install-helper.php:175
msgid "Activating "
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:60
msgid "Button"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:61
msgid "A button with custom link."
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:77
#: inc/customizer/widgets/class-bloglo-customizer-widget-text.php:32
msgid "Text"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:89
msgid "URL"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:101
msgid "Open link in"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:114
msgid "Same Tab"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:128
msgid "New Tab"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-button.php:154
msgid "Additional class"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-darkmode.php:52
msgid "A dark mode for your site."
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-nav.php:41
msgid "Navigation"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-nav.php:42
msgid "Add a navigation menu."
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-nav.php:62
msgctxt "Widget"
msgid "Select Menu:"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-nav.php:66
msgctxt "Widget"
msgid "&mdash; Select &mdash;"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-nav.php:82
#, php-format
msgid "No menus found: %1$sCreate a new menu?%2$s"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-search.php:52
msgid "A search form for your site."
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-socials.php:45
msgid "Social Links"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-socials.php:46
msgid "Links to your social media profiles."
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-text.php:33
msgid "Arbitrary text."
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-text.php:38
msgid "Text widget content goes here..."
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-text.php:58
msgid "Content"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget-text.php:65
msgid "Shortcodes and basic html elements allowed."
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget.php:161
msgid "Edit widget:"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget.php:187
msgid "Widget Location"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget.php:215
msgid "Visibility"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget.php:236
msgid "Delete"
msgstr ""

#: inc/customizer/widgets/class-bloglo-customizer-widget.php:239
msgid "Done"
msgstr ""

#: inc/helpers.php:108
msgid "Wishlist"
msgstr ""

#: inc/helpers.php:122
msgid "This page doesn&rsquo;t seem to exist."
msgstr ""

#: inc/helpers.php:132
msgid "Posts by"
msgstr ""

#: inc/helpers.php:196
#, php-format
msgid "%s result found"
msgid_plural "%s results found"
msgstr[0] ""
msgstr[1] ""

#: inc/helpers.php:198
msgid "No results found"
msgstr ""

#: inc/template-tags.php:341
msgid "Menu"
msgstr ""

#: inc/template-tags.php:376
msgid "Previous page"
msgstr ""

#: inc/template-tags.php:377
msgid "Next page"
msgstr ""

#: inc/template-tags.php:396
msgid "Pages"
msgstr ""

#: inc/template-tags.php:491
msgid "Posted by"
msgstr ""

#: inc/template-tags.php:503
msgid "By "
msgstr ""

#: inc/template-tags.php:504
#, php-format
msgid "View all posts by %1$s"
msgstr ""

#: inc/template-tags.php:526
msgid "Last updated on"
msgstr ""

#: inc/template-tags.php:592
msgid "No Comments"
msgstr ""

#: inc/template-tags.php:592
msgid "1 Comment"
msgstr ""

#: inc/template-tags.php:592
msgid "% Comments"
msgstr ""

#: inc/template-tags.php:638
msgid "Posted in"
msgstr ""

#: inc/template-tags.php:686
msgid "Tags:"
msgstr ""

#: inc/template-tags.php:830 inc/template-tags.php:1014
msgid "Menu not assigned"
msgstr ""

#: inc/template-tags.php:833 inc/template-tags.php:1017
msgid "Assign a menu"
msgstr ""

#: inc/template-tags.php:917
msgid "Add Button Text"
msgstr ""

#: inc/template-tags.php:1081 sidebar.php:41
msgid "Click here to assign a widget."
msgstr ""

#: inc/template-tags.php:1114
msgid "Pingback: "
msgstr ""

#: inc/template-tags.php:1114
msgid "(Edit)"
msgstr ""

#: inc/template-tags.php:1133
msgid "The post author"
msgstr ""

#: inc/template-tags.php:1133
msgctxt "Post author badge on comments"
msgid "A"
msgstr ""

#: inc/template-tags.php:1158
msgid "Edit"
msgstr ""

#: inc/template-tags.php:1186
msgid "Your comment is awaiting moderation."
msgstr ""

#: inc/utilities/class-bloglo-plugin-utilities.php:90
#: inc/utilities/class-bloglo-plugin-utilities.php:144
msgid "Current user can't activate plugins"
msgstr ""

#: inc/utilities/class-bloglo-plugin-utilities.php:98
#: inc/utilities/class-bloglo-plugin-utilities.php:152
msgid "Missing plugin data."
msgstr ""

#: inc/utilities/class-bloglo-plugin-utilities.php:113
#, php-format
msgid "Plugin %s is not installed."
msgstr ""

#: inc/utilities/class-bloglo-plugin-utilities.php:167
#, php-format
msgid "Plugin %s is not active."
msgstr ""

#: inc/widgets.php:29
msgid "Default Sidebar"
msgstr ""

#: inc/widgets.php:31
msgid "Widgets in this area are displayed in the left or right sidebar area based on your Default Sidebar Position settings."
msgstr ""

#: inc/widgets.php:42
msgid "Footer 1"
msgstr ""

#: inc/widgets.php:44
msgid "Widgets in this area are displayed in the first footer column."
msgstr ""

#: inc/widgets.php:55
msgid "Footer 2"
msgstr ""

#: inc/widgets.php:57
msgid "Widgets in this area are displayed in the second footer column."
msgstr ""

#: inc/widgets.php:68
msgid "Footer 3"
msgstr ""

#: inc/widgets.php:70
msgid "Widgets in this area are displayed in the third footer column."
msgstr ""

#: inc/widgets.php:81
msgid "Footer 4"
msgstr ""

#: inc/widgets.php:83
msgid "Widgets in this area are displayed in the fourth footer column."
msgstr ""

#: searchform.php:24
msgid "Enter search keywords"
msgstr ""

#: template-parts/content/content-404.php:19
msgid "404"
msgstr ""

#: template-parts/content/content-404.php:20
msgid "Oops! Page not found."
msgstr ""

#: template-parts/content/content-404.php:24
msgid "We couldn&rsquo;t find the page you are looking for. Perhaps you can try searching:"
msgstr ""

#: template-parts/content/content-404.php:29
msgid "Return to Home"
msgstr ""

#: template-parts/content/content-none.php:24
#, php-format
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr ""

#: template-parts/content/content-none.php:37
msgid "Sorry, no results were found. Please try again with different keywords."
msgstr ""

#: template-parts/content/content-none.php:44
msgid "There aren&rsquo;t any posts currently published in this category."
msgstr ""

#: template-parts/content/content-none.php:50
msgid "There aren&rsquo;t any posts currently published under this taxonomy."
msgstr ""

#: template-parts/content/content-none.php:56
msgid "There aren&rsquo;t any posts currently published under this tag."
msgstr ""

#: template-parts/content/content-none.php:62
msgid "It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help."
msgstr ""

#: template-parts/entry/entry-about-author.php:53
#, php-format
msgid "You haven&rsquo;t entered your Biographical Information yet. %1$sEdit your Profile%2$s now."
msgstr ""

#: template-parts/entry/entry-author-posts-button.php:13
msgid "View All Posts"
msgstr ""

#: template-parts/entry/entry-meta.php:53
#, php-format
msgid "Edit <span class=\"screen-reader-text\">%s</span>"
msgstr ""

#: template-parts/entry/entry-prev-next-post.php:26
msgid "Post navigation"
msgstr ""

#: template-parts/entry/entry-prev-next-post.php:32
msgid "Previous Post"
msgstr ""

#: template-parts/entry/entry-prev-next-post.php:42
msgid "Next Post"
msgstr ""

#: template-parts/entry/entry-summary.php:26
msgid "This content is password protected. To view it please go to the post page and enter the password."
msgstr ""

#: template-parts/entry/format/media-quote.php:32
msgid "Read more"
msgstr ""

#: template-parts/entry/format/media.php:36
msgid "Featured"
msgstr ""

#: template-parts/header/navigation.php:12
msgid "Site Navigation"
msgstr ""

#: template-parts/header/widgets/search.php:18
msgid "Site Search"
msgstr ""

#: template-parts/header/widgets/search.php:21
#: woocommerce/product-searchform.php:28
msgid "Search for:"
msgstr ""

#: template-parts/misc/back-to-top.php:12
#: template-parts/misc/back-to-top.php:17
msgid "Scroll to Top"
msgstr ""

#: woocommerce/cart/cart.php:30 woocommerce/cart/cart.php:50
msgid "Product"
msgstr ""

#: woocommerce/cart/cart.php:32 woocommerce/cart/cart.php:86
msgid "Quantity"
msgstr ""

#: woocommerce/cart/cart.php:33
msgid "Total"
msgstr ""

#: woocommerce/cart/cart.php:75
msgid "Available on backorder"
msgstr ""

#: woocommerce/cart/cart.php:108
msgid "Subtotal"
msgstr ""

#: woocommerce/cart/cart.php:121
msgid "Remove this item"
msgstr ""

#: woocommerce/cart/cart.php:142
msgid "Coupon:"
msgstr ""

#: woocommerce/cart/cart.php:142
msgid "Coupon code"
msgstr ""

#: woocommerce/cart/cart.php:142
msgid "Apply Coupon"
msgstr ""

#: woocommerce/cart/cart.php:147
msgid "Continue Shopping"
msgstr ""

#: woocommerce/cart/cart.php:149
msgid "Update Cart"
msgstr ""

#: woocommerce/cart/cross-sells.php:28
msgid "You may be interested in"
msgstr ""

#: woocommerce/cart/header-widget/buttons.php:16
msgid "View Cart"
msgstr ""

#: woocommerce/cart/header-widget/buttons.php:20
msgid "Checkout"
msgstr ""

#: woocommerce/cart/header-widget/content.php:59
#: woocommerce/cart/header-widget/content.php:62
#, php-format
msgid "Remove %s from cart"
msgstr ""

#: woocommerce/cart/header-widget/empty.php:16
msgid "No products in the cart."
msgstr ""

#: woocommerce/cart/header-widget/header.php:21
#, php-format
msgid "%s item"
msgid_plural "%s items"
msgstr[0] ""
msgstr[1] ""

#: woocommerce/cart/header-widget/header.php:28
#, php-format
msgid "Subtotal: %s"
msgstr ""

#: woocommerce/cart/proceed-to-checkout-button.php:29
msgid "Proceed to Checkout"
msgstr ""

#: woocommerce/checkout/form-checkout.php:28
msgid "You must be logged in to checkout."
msgstr ""

#: woocommerce/checkout/form-checkout.php:50
msgid "Your order"
msgstr ""

#: woocommerce/product-searchform.php:29
msgid "Search products&hellip;"
msgstr ""

#: woocommerce/product-searchform.php:30
msgctxt "submit button"
msgid "Search"
msgstr ""

#: woocommerce/single-product/meta.php:33
msgid "SKU:"
msgstr ""

#: woocommerce/single-product/meta.php:33
msgid "N/A"
msgstr ""

#: woocommerce/single-product/meta.php:37
msgid "Category:"
msgid_plural "Categories:"
msgstr[0] ""
msgstr[1] ""

#: woocommerce/single-product/meta.php:39
msgid "Tag:"
msgid_plural "Tags:"
msgstr[0] ""
msgstr[1] ""

#: woocommerce/single-product/rating.php:41
#, php-format
msgid "%s review"
msgid_plural "%s reviews"
msgstr[0] ""
msgstr[1] ""
page.php000064400000002505152425655550006211 0ustar00<?php
/**
 * The main template file.
 *
 * This is the most generic template file in a WordPress theme and one of the
 * two required files for a theme (the other being style.css).
 * It is used to display a page when nothing more specific matches a query.
 * For example, it puts together the home page when no home.php file exists.
 *
 * Learn more: http://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<?php
get_header();

do_action( 'bloglo_before_singular_container' );
?>

<?php if ( '' !== get_the_content() ) : 
	do_action( 'bloglo_before_container' ); ?>
<div class="bloglo-container">

	<div id="primary" class="content-area">

		<?php do_action( 'bloglo_before_content' ); ?>

		<main id="content" class="site-content" role="main"<?php bloglo_schema_markup( 'main' ); ?>>

			<?php
				do_action( 'bloglo_before_singular' );

				do_action( 'bloglo_content_singular' );

				do_action( 'bloglo_after_singular' );
			?>

		</main><!-- #content .site-content -->

		<?php do_action( 'bloglo_after_content' ); ?>

	</div><!-- #primary .content-area -->

	<?php do_action( 'bloglo_sidebar' ); ?>

</div><!-- END .bloglo-container -->
<?php 
do_action( 'bloglo_after_container' );
endif; ?>

<?php
do_action( 'bloglo_after_singular_container' );
get_footer();
page-templates/template-bloglo-fullwidth.php000064400000000726152425655550015277 0ustar00<?php
/**
 * Template Name: Bloglo Fullwidth
 *
 * 100% wide page template without vertical spacing.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

get_header();
do_action( 'bloglo_before_singular_container' );
if ( have_posts() ) :
	while ( have_posts() ) :
		the_post();

		get_template_part( 'template-parts/content/content', 'bloglo-fullwidth' );
	endwhile;
endif;
do_action( 'bloglo_after_singular_container' );
get_footer();
template-parts/footer/copyright/copyright.php000064400000001325152425655550015554 0ustar00<?php
/**
 * The template for displaying theme copyright bar.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<?php do_action( 'bloglo_before_copyright' ); ?>
<div id="bloglo-copyright" <?php bloglo_copyright_classes(); ?>>
	<div class="bloglo-container">
		<div class="bloglo-flex-row">

			<div class="col-xs-12 center-xs col-md flex-basis-auto start-md"><?php do_action( 'bloglo_copyright_widgets', 'start' ); ?></div>
			<div class="col-xs-12 center-xs col-md flex-basis-auto end-md"><?php do_action( 'bloglo_copyright_widgets', 'end' ); ?></div>

		</div><!-- END .bloglo-flex-row -->
	</div>
</div><!-- END #bloglo-copyright -->
<?php do_action( 'bloglo_after_copyright' ); ?>
template-parts/footer/base.php000064400000001027152425655550012445 0ustar00<?php
/**
 * The template for displaying theme footer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<?php do_action( 'bloglo_before_footer' ); ?>
<div id="bloglo-footer" <?php bloglo_footer_classes(); ?>>
	<div class="bloglo-container">
		<div class="bloglo-flex-row" id="bloglo-footer-widgets">

			<?php bloglo_footer_widgets(); ?>

		</div><!-- END .bloglo-flex-row -->
	</div><!-- END .bloglo-container -->
</div><!-- END #bloglo-footer -->
<?php do_action( 'bloglo_after_footer' ); ?>
template-parts/featured-links/featured-links.php000064400000004504152425655550016072 0ustar00<?php
/**
 * The template for displaying Featured Links.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */


$bloglo_featured_links_items_html = '';

foreach ( $args['features'] as $key => $feature ) :

	// Post items HTML markup.
	ob_start();
	?>
	
	<div id="bloghsah-featured-item-<?php echo esc_attr($key); ?>" class="col-md-4 col-sm-12 col-xs-12">
		<div class="bloglo-post-item style-1 center">
			<div class="bloglo-post-thumb">
				<span class="bloglo-post-animation"><span></span></span>
				<div class="inner bloghsah-featured-item-image">
					<?php if ( ! empty($feature['image']['id']) ) : echo wp_get_attachment_image($feature['image']['id'], 'large'); endif; ?>
				</div>
			</div><!-- END .bloglo-post-thumb-->
			<div class="bloglo-post-content">

				<?php if ( ! empty($feature['btn_text']) ) : 
					printf( '<a href="%1$s" class="bloglo-btn btn-small btn-white" title="%2$s" target="%3$s">%4$s</a>', esc_url_raw( $feature['btn_url'] ), esc_attr( $feature['btn_text'] ), esc_attr( $feature['btn_target'] ), esc_html( $feature['btn_text'] ) );
				endif; ?>
			</div><!-- END .bloglo-post-content -->
		</div><!-- END .bloglo-post-item -->
	</div>
	<?php
	$bloglo_featured_links_items_html .= ob_get_clean();
endforeach;

// Restore original Post Data.
wp_reset_postdata();

// Container.
$bloglo_featured_links_container = bloglo_option( 'featured_links_container' );
$bloglo_featured_links_container = 'full-width' === $bloglo_featured_links_container ? 'bloglo-container bloglo-container__wide' : 'bloglo-container';

// Title.
$bloglo_featured_links_title     = bloglo_option( 'featured_links_title' );

?>

<div class="bloglo-featured-slider featured-one slider-overlay-1 mt-5">
	<div class="bloglo-featured-container <?php echo esc_attr( $bloglo_featured_links_container ); ?>">
		<div class="bloglo-flex-row g-0">
			<div class="col-xs-12">
				<div class="bloglo-featured-items">
					<?php if ( $bloglo_featured_links_title ) : ?>
					<div class="h4 widget-title">
						<span><?php echo esc_html( $bloglo_featured_links_title ); ?></span>
					</div>
					<?php endif; ?>
					<div class="bloglo-flex-row gy-4">
						<?php echo wp_kses_post( $bloglo_featured_links_items_html ); ?>
					</div>
				</div>
			</div>
		</div><!-- END .bloglo-card-items -->
	</div>
</div><!-- END .bloglo-featured-slider -->
template-parts/preloader/preloader-1.php000064400000000335152425655550014326 0ustar00<?php
/**
 * The template for displaying page preloader layout 1.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

?>

<div class="preloader-1">
	<div></div>
</div><!-- END .bloglo-preloader-1 -->
template-parts/preloader/base.php000064400000000657152425655550013134 0ustar00<?php
/**
 * The template for displaying page preloader.
 *
 * @see https://developer.wordpress.org/themes/basics/template-files/#template-partials
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

?>

<div id="bloglo-preloader"<?php bloglo_preloader_classes(); ?>>
	<?php get_template_part( 'template-parts/preloader/preloader', bloglo_option( 'preloader_style' ) ); ?>
</div><!-- END #bloglo-preloader -->
template-parts/header-page-title.php000064400000001572152425655550013523 0ustar00<?php
/**
 * Template part for displaying page header.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

?>

<div <?php bloglo_page_header_classes(); ?><?php bloglo_page_header_atts(); ?>>
	<div class="bloglo-container">

	<?php do_action( 'bloglo_page_header_start' ); ?>

	<?php if ( bloglo_page_header_has_title() ) { ?>

		<div class="bloglo-page-header-wrapper">

			<div class="bloglo-page-header-title">
				<?php bloglo_page_header_title(); ?>
			</div>

			<?php $bloglo_description = apply_filters( 'bloglo_page_header_description', bloglo_get_the_description() ); ?>

			<?php if ( $bloglo_description ) { ?>

				<div class="bloglo-page-header-description">
					<?php echo wp_kses( $bloglo_description, bloglo_get_allowed_html_tags() ); ?>
				</div>

			<?php } ?>
		</div>

	<?php } ?>

	<?php do_action( 'bloglo_page_header_end' ); ?>

	</div>
</div>
template-parts/ticker/ticker.php000064400000007632152425655550013007 0ustar00<?php
/**
 * The template for displaying Hero Hover Slider.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

$bloglo_ticker_categories = ! empty( $bloglo_ticker_categories ) ? implode( ', ', $bloglo_ticker_categories ) : '';

// Setup Hero posts.
$bloglo_args = array(
	'post_type'           => 'post',
	'post_status'         => 'publish',
	'posts_per_page'      => bloglo_option( 'ticker_post_number' ), // phpcs:ignore WordPress.WP.PostsPerPage.posts_per_page_posts_per_page
	'ignore_sticky_posts' => true,
	'tax_query'           => array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_tax_query
		array(
			'taxonomy' => 'post_format',
			'field'    => 'slug',
			'terms'    => array( 'post-format-quote' ),
			'operator' => 'NOT IN',
		),
	),
);

$bloglo_ticker_categories = bloglo_option( 'ticker_category' );

if ( ! empty( $bloglo_ticker_categories ) ) {
	$bloglo_args['category_name'] = implode( ', ', $bloglo_ticker_categories );
}

$bloglo_args = apply_filters( 'bloglo_ticker_query_args', $bloglo_args );

$bloglo_posts = new WP_Query( $bloglo_args );

// No posts found.
if ( ! $bloglo_posts->have_posts() ) {
	return;
}

$bloglo_ticker_items_html = '';

$bloglo_ticker_elements = (array) bloglo_option( 'ticker_elements' );

while ( $bloglo_posts->have_posts() ) :
	$bloglo_posts->the_post();

	// Post items HTML markup.
	ob_start();
	?>
	<div class="ticker-slide-item">

		<?php if ( get_the_post_thumbnail_url( get_the_ID(), 'thumbnail' ) ) { ?>
		<div class="ticker-slider-backgrounds">
			<a href="<?php echo esc_url( bloglo_entry_get_permalink() ); ?>">
				<?php echo get_the_post_thumbnail( get_the_ID(), 'thumbnail' ); ?>
			</a>
		</div><!-- END .ticker-slider-items -->
		<?php } ?>

		<div class="slide-inner">				

			<?php if ( get_the_title() ) { ?>
				<h6><a href="<?php echo esc_url( bloglo_entry_get_permalink() ); ?>"><?php the_title(); ?></a></h6>
			<?php } ?>

			<?php if ( isset( $bloglo_ticker_elements['meta'] ) && $bloglo_ticker_elements['meta'] ) { ?>
				<div class="entry-meta">
					<div class="entry-meta-elements">
						<?php
						bloglo_entry_meta_date(
							array(
								'show_modified'   => false,
								'published_label' => '',
							)
						);
						?>
					</div>
				</div><!-- END .entry-meta -->
			<?php } ?>

		</div><!-- END .slide-inner -->
	</div><!-- END .ticker-slide-item -->
	<?php
	$bloglo_ticker_items_html .= ob_get_clean();
endwhile;

// Restore original Post Data.
wp_reset_postdata();

// Hero container.
$bloglo_ticker_container = bloglo_option( 'ticker_container' );
$bloglo_ticker_container = 'full-width' === $bloglo_ticker_container ? 'bloglo-container bloglo-container__wide' : 'bloglo-container';

$bloglo_ticker_title = bloglo()->options->get( 'bloglo_ticker_title' );

?>

<div class="bloglo-ticker-slider">

	<div class="bloglo-ticker-container <?php echo esc_attr( $bloglo_ticker_container ); ?>">
		<div class="bloglo-flex-row">
			<div class="col-xs-12">
				<div class="ticker-slider-items">
					<?php if ( $bloglo_ticker_title ) : ?>
					<div class="ticker-title">
						<span class="icon">
							<i class="fas fa-bolt"></i>
						</span>
						<span class="title"><?php echo esc_html( $bloglo_ticker_title ); ?></span>
					</div>
					<?php endif; ?>
					<?php
						$ticker_direction = 'left';
						$ticker_dir       = 'ltr';
					if ( is_rtl() ) {
						$ticker_direction = 'right';
						$ticker_dir       = 'ltr';
					}
					?>
					<div class="ticker-slider-box">
						<div class="ticker-slider-wrap" direction="<?php echo esc_attr( $ticker_direction ); ?>" dir="<?php echo esc_attr( $ticker_dir ); ?>">
							<?php echo wp_kses_post( $bloglo_ticker_items_html ); ?>
						</div>
					</div>
					<div class="ticker-slider-controls">
						<button class="ticker-slider-pause"><i class="fas fa-pause"></i></button>
					</div>
				</div>
			</div>
		</div><!-- END .ticker-slider-items -->
	</div>
</div><!-- END .bloglo-ticker-slider -->
template-parts/pyml/pyml.php000064400000007576152425655550012216 0ustar00<?php
/**
 * The template for displaying Hero Hover Slider.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

$bloglo_pyml_categories = ! empty( $bloglo_pyml_categories ) ? implode( ', ', $bloglo_pyml_categories ) : '';

// Setup Hero posts.
$bloglo_args = array(
	'post_type'           => 'post',
	'post_status'         => 'publish',
	'posts_per_page'      => bloglo_option( 'pyml_post_number' ), // phpcs:ignore WordPress.WP.PostsPerPage.posts_per_page_posts_per_page
	'ignore_sticky_posts' => true,
	'tax_query'           => array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_tax_query
		array(
			'taxonomy' => 'post_format',
			'field'    => 'slug',
			'terms'    => array( 'post-format-quote' ),
			'operator' => 'NOT IN',
		),
	),
);

$bloglo_pyml_categories = bloglo_option( 'pyml_category' );

if ( ! empty( $bloglo_pyml_categories ) ) {
	$bloglo_args['category_name'] = implode( ', ', $bloglo_pyml_categories );
}

$bloglo_args = apply_filters( 'bloglo_pyml_query_args', $bloglo_args );

$bloglo_posts = new WP_Query( $bloglo_args );

// No posts found.
if ( ! $bloglo_posts->have_posts() ) {
	return;
}

// $bloglo_pyml_bgs_html   = '';
$bloglo_pyml_items_html = '';

$bloglo_pyml_elements = (array) bloglo_option( 'pyml_elements' );

$bloglo_pyml_posts_carousel = bloglo_option( 'pyml_posts_carousel' );

$bloglo_posts_per_page = 'col-md-' . ceil( esc_attr( 12 / $bloglo_args['posts_per_page'] ) ) . ' col-sm-6 col-xs-12';

while ( $bloglo_posts->have_posts() ) :
	$bloglo_posts->the_post();

	// Post items HTML markup.
	ob_start();
	?>
	<div class="<?php echo $bloglo_posts_per_page; ?>">
		<div class="pyml-slide-item">

			<div class="pyml-slider-backgrounds">
				<a href="<?php echo esc_url( bloglo_entry_get_permalink() ); ?>">
					<div class="pyml-slide-bg"> <?php echo get_the_post_thumbnail( get_the_ID(), 'large' ); ?> </div>
				</a>
				<?php if ( isset( $bloglo_pyml_elements['category'] ) && $bloglo_pyml_elements['category'] ) { ?>
					<div class="post-category">
						<?php bloglo_entry_meta_category( ' ', false, apply_filters('bloglo_pyml_category_limit', 3) ); ?>
					</div>
				<?php } ?>
			</div><!-- END .pyml-slider-items -->

			<div class="slide-inner">				

				<?php if ( get_the_title() ) { ?>
					<h6><a href="<?php echo esc_url( bloglo_entry_get_permalink() ); ?>"><?php the_title(); ?></a></h6>
				<?php } ?>

				<?php if ( isset( $bloglo_pyml_elements['meta'] ) && $bloglo_pyml_elements['meta'] ) { ?>
					<div class="entry-meta">
						<div class="entry-meta-elements">
							<?php
							bloglo_entry_meta_author();

							bloglo_entry_meta_date(
								array(
									'show_modified'   => false,
									'published_label' => '',
								)
							);
							?>
						</div>
					</div><!-- END .entry-meta -->
				<?php } ?>

			</div><!-- END .slide-inner -->
		</div><!-- END .pyml-slide-item -->
	</div><!-- END .pyml-slider-item-wrapper -->
	<?php
	$bloglo_pyml_items_html .= ob_get_clean();
endwhile;

// Restore original Post Data.
wp_reset_postdata();

// Hero container.
$bloglo_pyml_container = bloglo_option( 'pyml_container' );
$bloglo_pyml_container = 'full-width' === $bloglo_pyml_container ? 'bloglo-container bloglo-container__wide' : 'bloglo-container';

$bloglo_pyml_title = bloglo()->options->get( 'bloglo_pyml_title' );

?>

<div class="bloglo-pyml-slider">

	<div class="bloglo-pyml-container <?php echo esc_attr( $bloglo_pyml_container ); ?>">
		<div class="bloglo-flex-row">
			<div class="col-xs-12">
				<div class="pyml-slider-items">
					<div class="h4 widget-title">
						<?php if ( $bloglo_pyml_title ) : ?>
						<span><?php echo esc_html( $bloglo_pyml_title ); ?></span>
						<?php endif; ?>
					</div>

					<div class="bloglo-flex-row gy-4">
						<?php echo wp_kses_post( $bloglo_pyml_items_html ); ?>
					</div>
				</div>
			</div>
		</div><!-- END .pyml-slider-items -->
	</div>
</div><!-- END .bloglo-pyml-slider -->
template-parts/header/base.php000064400000000735152425655550012404 0ustar00<?php
/**
 * The base template for displaying theme header area.
 *
 * @see https://developer.wordpress.org/themes/basics/template-files/#template-partials
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>
<?php do_action( 'bloglo_before_header' ); ?>
<div id="bloglo-header" <?php bloglo_header_classes(); ?>>
	<?php do_action( 'bloglo_header_content' ); ?>
</div><!-- END #bloglo-header -->
<?php do_action( 'bloglo_after_header' ); ?>
template-parts/header/logo.php000064400000000450152425655550012424 0ustar00<?php
/**
 * The template for displaying theme logo.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<div class="bloglo-logo bloglo-header-element"<?php bloglo_schema_markup( 'organization' ); ?>>
	<?php bloglo_logo(); ?>
</div><!-- END .bloglo-logo -->
template-parts/header/header-layout-4.php000064400000004162152425655550014374 0ustar00<?php
/**
 * The template for displaying header layout 4.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<div class="bloglo-header-container">
	<div class="bloglo-logo-container">
		<div class="bloglo-container">

			<?php
			bloglo_header_logo_template();
			?>

			<?php
			$header_ads_banner_custom_image  = bloglo()->options->get( 'bloglo_header_ads_banner' );
			$header_ads_banner_custom_url    = bloglo()->options->get( 'bloglo_header_ads_banner_url' );
			$header_ads_banner_custom_target = bloglo()->options->get( 'bloglo_header_ads_banner_url_target' );

			$adsbanner = $header_ads_banner_custom_url ? sprintf( '<a href="%1$s" target="' . esc_attr( $header_ads_banner_custom_target ) . '"><img src="%2$s"/></a>', esc_url_raw( $header_ads_banner_custom_url ), esc_url_raw( $header_ads_banner_custom_image ) ) : sprintf( '<img src="%1$s"/>', esc_url_raw( $header_ads_banner_custom_image ) );

			if ( $header_ads_banner_custom_image ) {
				?>

			<!-- Header Image -->
			<div class="bloglo-header-widgets bloglo-header-widgets-two bloglo-header-element">
				<div class="bloglo-header-widget__image bloglo-header-widget bloglo-all">
					<div class="bloglo-widget-wrapper">
						<div class="bloglo-banner-imgads">
							<?php echo wp_kses_post( $adsbanner ); ?>
						</div><!-- .bloglo-banner-imgads -->
					</div>
				</div>
			</div>
			<?php } ?>

			<?php
			do_action( 'bloglo_header_widget_location', array( 'left', 'right' ) );
			?>

			<span class="bloglo-header-element bloglo-mobile-nav">
				<?php bloglo_hamburger( bloglo_option( 'main_nav_mobile_label' ), 'bloglo-primary-nav' ); ?>
				<?php bloglo_main_navigation_template(); ?>
			</span>

		</div><!-- END .bloglo-container -->
	</div><!-- END .bloglo-logo-container -->

	<div class="bloglo-nav-container">
		<div class="bloglo-container">

			<?php
			do_action( 'bloglo_header_widget_location', 'left' );
			bloglo_main_navigation_template();
			do_action( 'bloglo_header_widget_location', 'right' );
			?>

		</div><!-- END .bloglo-container -->
	</div><!-- END .bloglo-nav-container -->
</div><!-- END .bloglo-header-container -->
template-parts/header/widgets/search.php000064400000003062152425655550014401 0ustar00<?php
/**
 * The template for displaying theme header search widget.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<div aria-haspopup="true">
	<a href="#" class="bloglo-search">
		<?php echo bloglo()->icons->get_svg( 'search', array( 'aria-label' => esc_html__( 'Search', 'bloglo' ) ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
	</a><!-- END .bloglo-search -->

	<div class="bloglo-search-simple bloglo-search-container dropdown-item">
		<form role="search" aria-label="<?php esc_attr_e( 'Site Search', 'bloglo' ); ?>" method="get" class="bloglo-search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">

			<label class="bloglo-form-label">
				<span class="screen-reader-text"><?php esc_html_e( 'Search for:', 'bloglo' ); ?></span>
				<input type="search" class="bloglo-input-search" placeholder="<?php esc_attr_e( 'Search', 'bloglo' ); ?>" value="<?php echo esc_attr( get_query_var( 's' ) ); ?>" name="s" autocomplete="off">
			</label><!-- END .bloglo-form-label -->

			<?php bloglo_animated_arrow( 'right', 'submit', true ); ?>
			<button type="button" class="bloglo-search-close" aria-hidden="true" role="button">
				<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M6.852 7.649L.399 1.195 1.445.149l6.454 6.453L14.352.149l1.047 1.046-6.454 6.454 6.454 6.453-1.047 1.047-6.453-6.454-6.454 6.454-1.046-1.047z" fill="currentColor" fill-rule="evenodd"></path></svg>
			</button>

		</form>
	</div><!-- END .bloglo-search-simple -->
</div>
template-parts/header/navigation.php000064400000001634152425655550013630 0ustar00<?php
/**
 * The template for displaying header navigation.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<nav class="site-navigation main-navigation bloglo-primary-nav bloglo-nav bloglo-header-element" role="navigation"<?php bloglo_schema_markup( 'site_navigation' ); ?> aria-label="<?php esc_attr_e( 'Site Navigation', 'bloglo' ); ?>">

<?php

if ( has_nav_menu( 'bloglo-primary' ) ) {
	wp_nav_menu(
		array(
			'theme_location' => 'bloglo-primary',
			'menu_id'        => 'bloglo-primary-nav',
			'container'      => '',
			'link_before'    => '<span>',
			'link_after'     => '</span>',
		)
	);
} else {
	wp_page_menu(
		array(
			'menu_class'  => 'bloglo-primary-nav',
			'show_home'   => true,
			'container'   => 'ul',
			'before'      => '',
			'after'       => '',
			'link_before' => '<span>',
			'link_after'  => '</span>',
		)
	);
}

?>
</nav><!-- END .bloglo-nav -->
template-parts/entry/entry-summary-footer.php000064400000001352152425655550015527 0ustar00<?php
/**
 * Template part for displaying entry footer.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

?>

<?php do_action( 'bloglo_before_entry_footer' ); ?>
<footer class="entry-footer">
	<?php

	// Allow text to be filtered.
	$bloglo_read_more_text = apply_filters( 'bloglo_entry_read_more_text', __( 'Read More', 'bloglo' ) );

	?>
	<a href="<?php echo esc_url( bloglo_entry_get_permalink() ); ?>" class="bloglo-btn btn-text-1"><span><?php echo esc_html( $bloglo_read_more_text ); ?></span></a>
</footer>
<?php do_action( 'bloglo_after_entry_footer' ); ?>
template-parts/entry/format/media.php000064400000004607152425655550013754 0ustar00<?php
/**
 * Template part for displaying entry thumbnail (featured image).
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

// Get default post media.
$bloglo_media = bloglo_get_post_media( '' );

if ( ! $bloglo_media || post_password_required() ) {
	return;
}

$bloglo_post_format = get_post_format();

// Wrap with link for non-singular pages.
if ( 'link' === $bloglo_post_format || ! is_single( get_the_ID() ) ) {

	$bloglo_icon = '';

	if ( is_sticky() ) {
		$bloglo_icon = sprintf(
			'<span class="entry-media-icon is_sticky" title="%1$s" aria-hidden="true"><span class="entry-media-icon-wrapper">%2$s%3$s</span></span>',
			esc_attr__( 'Featured', 'bloglo' ),
			bloglo()->icons->get_svg(
				'pin',
				array(
					'class'       => 'top-icon',
					'aria-hidden' => 'true',
				)
			),
			bloglo()->icons->get_svg( 'pin', array( 'aria-hidden' => 'true' ) )
		);
	} elseif ( 'video' === $bloglo_post_format ) {
		$bloglo_icon = sprintf(
			'<span class="entry-media-icon" aria-hidden="true"><span class="entry-media-icon-wrapper">%1$s%2$s</span></span>',
			bloglo()->icons->get_svg(
				'play',
				array(
					'class'       => 'top-icon',
					'aria-hidden' => 'true',
				)
			),
			bloglo()->icons->get_svg( 'play', array( 'aria-hidden' => 'true' ) )
		);
	} elseif ( 'link' === $bloglo_post_format ) {
		$bloglo_icon = sprintf(
			'<span class="entry-media-icon" title="%1$s" aria-hidden="true"><span class="entry-media-icon-wrapper">%2$s%3$s</span></span>',
			esc_url( bloglo_entry_get_permalink() ),
			bloglo()->icons->get_svg(
				'external-link',
				array(
					'class'       => 'top-icon',
					'aria-hidden' => 'true',
				)
			),
			bloglo()->icons->get_svg( 'external-link', array( 'aria-hidden' => 'true' ) )
		);
	}

	$bloglo_icon = apply_filters( 'bloglo_post_format_media_icon', $bloglo_icon, $bloglo_post_format );

	$bloglo_media = sprintf(
		'<a href="%1$s" class="entry-image-link">%2$s%3$s</a>',
		esc_url( bloglo_entry_get_permalink() ),
		$bloglo_media,
		$bloglo_icon
	);
}

$bloglo_media = apply_filters( 'bloglo_post_thumbnail', $bloglo_media );

// Print the post thumbnail.
echo wp_kses(
	sprintf(
		'<div class="post-thumb entry-media thumbnail">%1$s</div>',
		$bloglo_media
	),
	bloglo_get_allowed_html_tags()
);
template-parts/entry/format/media-quote.php000064400000003052152425655550015100 0ustar00<?php
/**
 * Template part for displaying quote format entry.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( post_password_required() ) {
	return;
}

$bloglo_quote_content = apply_filters( 'bloglo_post_format_quote_content', get_the_content() );
$bloglo_quote_author  = apply_filters( 'bloglo_post_format_quote_author', get_the_title() );
$bloglo_quote_bg      = has_post_thumbnail() ? ' style="background-image: url(\'' . esc_url( get_the_post_thumbnail_url() ) . '\')"' : '';
?>

<div class="bloglo-blog-entry-content">
	<div class="entry-content bloglo-entry"<?php bloglo_schema_markup( 'text' ); ?>>

		<?php if ( ! is_single() ) { ?>
			<a href="<?php the_permalink(); ?>" class="quote-link" aria-label="<?php esc_attr_e( 'Read more', 'bloglo' ); ?>"></a>
		<?php } ?>

			<div class="quote-post-bg"<?php echo $bloglo_quote_bg; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>></div>

			<div class="quote-inner">

				<?php echo bloglo()->icons->get_svg( 'quote', array( 'class' => 'icon-quote' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>

				<h3><?php echo wp_kses( $bloglo_quote_content, bloglo_get_allowed_html_tags() ); ?></h3>
				<div class="author"><?php echo wp_kses( $bloglo_quote_author, bloglo_get_allowed_html_tags() ); ?></div>

			</div><!-- END .quote-inner -->

	</div>
</div><!-- END .bloglo-blog-entry-content -->
template-parts/entry/format/media-audio.php000064400000001317152425655550015046 0ustar00<?php
/**
 * Template part for displaying audio format entry.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( post_password_required() ) {
	return;
}

$bloglo_media = bloglo_get_post_media( 'audio' );

if ( $bloglo_media ) : ?>

	<div class="post-thumb entry-media thumbnail">
		<div class="bloglo-audio-wrapper">
			<?php echo $bloglo_media; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
		</div>
	</div>

<?php else : ?>

	<?php get_template_part( 'template-parts/entry/format/media' ); ?>

	<?php
endif;
template-parts/entry/format/media-page.php000064400000001613152425655550014660 0ustar00<?php
/**
 * Template part for displaying page featured image.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

// Get default post media.
$bloglo_media = bloglo_get_post_media( '' );

if ( ! $bloglo_media || post_password_required() ) {
	return;
}

$bloglo_media = apply_filters( 'bloglo_post_thumbnail', $bloglo_media, get_the_ID() );

$bloglo_classes = array( 'post-thumb', 'entry-media', 'thumbnail' );

$bloglo_classes = apply_filters( 'bloglo_post_thumbnail_wrapper_classes', $bloglo_classes, get_the_ID() );
$bloglo_classes = trim( implode( ' ', array_unique( $bloglo_classes ) ) );

// Print the post thumbnail.
echo wp_kses_post(
	sprintf(
		'<div class="%2$s">%1$s</div>',
		$bloglo_media,
		esc_attr( $bloglo_classes )
	)
);
template-parts/entry/format/media-gallery.php000064400000000621152425655550015401 0ustar00<?php
/**
 * Template part for displaying gallery format entry.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( post_password_required() ) {
	return;
}

get_template_part( 'template-parts/entry/format/media' );
template-parts/entry/format/media-image.php000064400000001372152425655550015030 0ustar00<?php
/**
 * Template part for displaying post format image entry.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

$bloglo_media = bloglo_get_post_media( 'image' );

if ( ! $bloglo_media || post_password_required() ) {
	return;
}

?>

<div class="post-thumb entry-media thumbnail">

	<?php
	if ( ! is_single( get_the_ID() ) ) {
		$bloglo_media = sprintf(
			'<a href="%1$s" class="entry-image-link">%2$s</a>',
			esc_url( bloglo_entry_get_permalink() ),
			$bloglo_media
		);
	}

	echo $bloglo_media; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	?>
</div>
template-parts/entry/format/media-video.php000064400000001626152425655550015056 0ustar00<?php
/**
 * Template part for displaying video format entry.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( post_password_required() ) {
	return;
}

if ( has_post_thumbnail() ) :

	get_template_part( 'template-parts/entry/format/media' );

else :

	$bloglo_media = bloglo_get_post_media( 'video' );

	if ( $bloglo_media ) : ?>

		<div class="post-thumb entry-media thumbnail">
			<div class="bloglo-video-container wp-embed-responsive">
				<figure class="is-type-video wp-embed-aspect-16-9 wp-has-aspect-ratio">
					<div class="wp-block-embed__wrapper">
						<?php echo $bloglo_media; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					</div>
				</figure>
			</div>
		</div>

		<?php
	endif;

endif;
template-parts/entry/format/media-link.php000064400000000540152425655550014677 0ustar00<?php
/**
 * Template part for displaying link format entry.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

get_template_part( 'template-parts/entry/format/media' );
template-parts/entry/entry-category.php000064400000001034152425655550014350 0ustar00<?php
/**
 * Template part for displaying entry category.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<div class="post-category">

	<?php
	do_action( 'bloglo_before_post_category' );

	if ( is_singular() ) {
		bloglo_entry_meta_category( ' ', false );
	} else {
		if ( 'blog-horizontal' === bloglo_get_article_feed_layout() ) {
			bloglo_entry_meta_category( ' ', false );
		} else {
			bloglo_entry_meta_category( ', ', false );
		}
	}

	do_action( 'bloglo_after_post_category' );
	?>

</div>
template-parts/entry/entry-summary.php000064400000001301152425655550014225 0ustar00<?php
/**
 * Template part for displaying entry content (summary).
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

?>

<?php do_action( 'bloglo_before_entry_summary' ); ?>
<div class="entry-summary bloglo-entry"<?php bloglo_schema_markup( 'text' ); ?>>

	<?php
	if ( post_password_required() ) {
		esc_html_e( 'This content is password protected. To view it please go to the post page and enter the password.', 'bloglo' );
	} else {
		bloglo_excerpt();
	}
	?>

</div>
<?php do_action( 'bloglo_after_entry_summary' ); ?>
template-parts/entry/entry-content.php000064400000001040152425655550014202 0ustar00<?php
/**
 * Template part for displaying entry content.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

?>

<?php do_action( 'bloglo_before_entry_content' ); ?>
<div class="entry-content bloglo-entry"<?php bloglo_schema_markup( 'text' ); ?>>
	<?php the_content(); ?>
</div>

<?php bloglo_link_pages(); ?>

<?php do_action( 'bloglo_after_entry_content' ); ?>
template-parts/entry/entry-show-comments.php000064400000001635152425655550015345 0ustar00<?php
/**
 * Template part for displaying ”Show Comments” button.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

// Do not show if the post is password protected.
if ( post_password_required() ) {
	return;
}

$bloglo_comment_count = get_comments_number();
$bloglo_comment_title = esc_html__( 'Leave a Comment', 'bloglo' );

if ( $bloglo_comment_count > 0 ) {
	/* translators: %s is comment count */
	$bloglo_comment_title = esc_html( sprintf( _n( 'Show %s Comment', 'Show %s Comments', $bloglo_comment_count, 'bloglo' ), $bloglo_comment_count ) );
}

?>
<a href="#" id="bloglo-comments-toggle" class="bloglo-btn btn-large btn-fw btn-left-icon">
	<?php echo bloglo()->icons->get_svg( 'chat' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
	<span><?php echo $bloglo_comment_title; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
</a>
template-parts/entry/entry-content-footer.php000064400000003127152425655550015506 0ustar00<?php
/**
 * Template part for displaying entry tags.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

$bloglo_entry_elements    = bloglo_option( 'single_post_elements' );
$bloglo_entry_footer_tags = isset( $bloglo_entry_elements['tags'] ) && $bloglo_entry_elements['tags'] && has_tag();
$bloglo_entry_footer_date = isset( $bloglo_entry_elements['last-updated'] ) && $bloglo_entry_elements['last-updated'] && get_the_time( 'U' ) !== get_the_modified_time( 'U' );

$bloglo_entry_footer_tags = apply_filters( 'bloglo_display_entry_footer_tags', $bloglo_entry_footer_tags );
$bloglo_entry_footer_date = apply_filters( 'bloglo_display_entry_footer_date', $bloglo_entry_footer_date );

// Nothing is enabled, don't display the div.
if ( ! $bloglo_entry_footer_tags && ! $bloglo_entry_footer_date ) {
	return;
}
?>

<?php do_action( 'bloglo_before_entry_footer' ); ?>

<div class="entry-footer">

	<?php
	// Post Tags.
	if ( $bloglo_entry_footer_tags ) {
		bloglo_entry_meta_tag(
			'<div class="post-tags"><span class="cat-links">',
			'',
			'</span></div>',
			0,
			false
		);
	}

	// Last Updated Date.
	if ( $bloglo_entry_footer_date ) {

		$bloglo_before = '<span class="last-updated bloglo-iflex-center">';

		if ( true === bloglo_option( 'single_entry_meta_icons' ) ) {
			$bloglo_before .= bloglo()->icons->get_svg( 'edit-3' );
		}

		bloglo_entry_meta_date(
			array(
				'show_published' => false,
				'show_modified'  => true,
				'before'         => $bloglo_before,
				'after'          => '</span>',
			)
		);
	}
	?>

</div>

<?php do_action( 'bloglo_after_entry_footer' ); ?>
template-parts/entry/entry-meta.php000064400000003142152425655550013463 0ustar00<?php
/**
 * Template part for displaying entry meta info.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Only show meta tags for posts.
 */
if ( ! in_array( get_post_type(), (array) apply_filters( 'bloglo_entry_meta_post_type', array( 'post' ) ), true ) ) {
	return;
}

do_action( 'bloglo_before_entry_meta' );

// Get meta items to be displayed.
$bloglo_meta_elements = bloglo_get_entry_meta_elements();

if ( ! empty( $bloglo_meta_elements ) ) {

	echo '<div class="entry-meta"><div class="entry-meta-elements">';

	do_action( 'bloglo_before_entry_meta_elements' );

	// Loop through meta items.
	foreach ( $bloglo_meta_elements as $bloglo_meta_item ) {

		// Call a template tag function.
		if ( function_exists( 'bloglo_entry_meta_' . $bloglo_meta_item ) ) {
			call_user_func( 'bloglo_entry_meta_' . $bloglo_meta_item );
		}
	}

	// Add edit post link.
	$bloglo_edit_icon = bloglo()->icons->get_meta_icon( 'edit', bloglo()->icons->get_svg( 'edit-3', array( 'aria-hidden' => 'true' ) ) );

	bloglo_edit_post_link(
		sprintf(
			wp_kses(
				/* translators: %s: Name of current post. Only visible to screen readers */
				$bloglo_edit_icon . __( 'Edit <span class="screen-reader-text">%s</span>', 'bloglo' ),
				bloglo_get_allowed_html_tags()
			),
			get_the_title()
		),
		'<span class="edit-link">',
		'</span>'
	);

	do_action( 'bloglo_after_entry_meta_elements' );

	echo '</div></div>';
}

do_action( 'bloglo_after_entry_meta' );
template-parts/entry/entry-about-author.php000064400000003727152425655550015160 0ustar00<?php
/**
 * Template part for displaying about author box.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

// Do not show the about author box if post is password protected.
if ( post_password_required() ) {
	return;
}
?>

<?php do_action( 'bloglo_entry_before_author' ); ?>
<section class="author-box"<?php bloglo_schema_markup( 'author' ); ?>>

	<div class="author-box-avatar">
		<?php echo get_avatar( get_the_author_meta( 'email' ), 75 ); ?>
	</div>

	<div class="author-box-meta">
		<div class="h4 author-box-title">
			<?php
			if ( is_single() ) {
				?>
				<a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" class="url fn n" rel="author"<?php bloglo_schema_markup( 'url' ); ?>>
				<?php echo esc_html( get_the_author() ); ?>	
				</a>
				<?php
			} else {
				esc_html_e( 'About', 'bloglo' );
				?>
				<?php echo esc_html( get_the_author() ); ?>
			<?php } ?>
		</div>

		<?php do_action( 'bloglo_entry_after_author_name' ); ?>

		<?php
		$bloglo_author_description = get_the_author_meta( 'description' );
		$bloglo_author_id          = get_the_author_meta( 'ID' );
		$bloglo_current_user_id    = is_user_logged_in() ? wp_get_current_user()->ID : false;
		?>

		<div class="author-box-content"<?php bloglo_schema_markup( 'description' ); ?>>
			<?php
			if ( '' === $bloglo_author_description ) {
				if ( $bloglo_current_user_id && $bloglo_author_id === $bloglo_current_user_id ) {

					// Translators: %1$s: <a> tag. %2$s: </a>.
					printf( wp_kses_post( __( 'You haven&rsquo;t entered your Biographical Information yet. %1$sEdit your Profile%2$s now.', 'bloglo' ) ), '<a href="' . esc_url( get_edit_user_link( $bloglo_current_user_id ) ) . '">', '</a>' );
				}
			} else {
				echo wp_kses_post( $bloglo_author_description );
			}
			?>
		</div>

		<?php do_action( 'bloglo_entry_after_author_description' ); ?>
	</div><!-- END .author-box-meta -->

</section>
<?php do_action( 'bloglo_entry_after_author' ); ?>
template-parts/entry/entry-header.php000064400000002655152425655550013775 0ustar00<?php
/**
 * Template part for displaying entry header.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

?>

<?php do_action( 'bloglo_before_entry_header' ); ?>
<header class="entry-header">

	<?php
	$bloglo_tag = is_single( get_the_ID() ) && ! bloglo_page_header_has_title() ? 'h1' : 'h4';
	$bloglo_tag = apply_filters( 'bloglo_entry_header_tag', $bloglo_tag );

	$bloglo_title_string = '%2$s%1$s';

	if ( 'link' === get_post_format() ) {
		$bloglo_title_string = '<a href="%3$s" title="%3$s" rel="bookmark">%2$s%1$s</a>';
	} elseif ( ! is_single( get_the_ID() ) ) {
		$bloglo_title_string = '<a href="%3$s" title="%4$s" rel="bookmark">%2$s%1$s</a>';
	}

	$bloglo_title_icon = apply_filters( 'bloglo_post_title_icon', '' );
	$bloglo_title_icon = bloglo()->icons->get_svg( $bloglo_title_icon );
	?>

	<<?php echo tag_escape( $bloglo_tag ); ?> class="entry-title"<?php bloglo_schema_markup( 'headline' ); ?>>
		<?php
		echo sprintf(
			wp_kses_post( $bloglo_title_string ),
			wp_kses_post( get_the_title() ),
			wp_kses_post( (string) $bloglo_title_icon ),
			esc_url( bloglo_entry_get_permalink() ),
			the_title_attribute( array( 'echo' => false ) )
		);
		?>
	</<?php echo tag_escape( $bloglo_tag ); ?>>

</header>
<?php do_action( 'bloglo_after_entry_header' ); ?>
template-parts/entry/entry-thumbnail.php000064400000001060152425655550014515 0ustar00<?php
/**
 * Template part for displaying media of the entry.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

$bloglo_post_format = get_post_format();

if ( is_single() ) {
	$bloglo_post_format = '';
}

do_action( 'bloglo_before_entry_thumbnail' );

get_template_part( 'template-parts/entry/format/media', $bloglo_post_format );

do_action( 'bloglo_after_entry_thumbnail' );
template-parts/entry/entry-prev-next-post.php000064400000002645152425655550015457 0ustar00<?php
/**
 * Template part for displaying Previous/Next Post section.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

// Do not show if post is password protected.
if ( post_password_required() ) {
	return;
}

$bloglo_next_post = get_next_post();
$bloglo_prev_post = get_previous_post();

// Return if there are no other posts.
if ( empty( $bloglo_next_post ) && empty( $bloglo_prev_post ) ) {
	return;
}
?>

<?php do_action( 'bloglo_entry_before_prev_next_posts' ); ?>
<section class="post-nav" role="navigation">
	<h2 class="screen-reader-text"><?php esc_html_e( 'Post navigation', 'bloglo' ); ?></h2>

	<?php

	// Previous post link.
	previous_post_link(
		'<div class="nav-previous"><h6 class="nav-title">' . wp_kses( __( 'Previous Post', 'bloglo' ), bloglo_get_allowed_html_tags( 'button' ) ) . '</h6>%link</div>',
		sprintf(
			'<div class="nav-content">%1$s <span>%2$s</span></div>',
			bloglo_get_post_thumbnail( $bloglo_prev_post, array( 75, 75 ) ),
			'%title'
		)
	);

	// Next post link.
	next_post_link(
		'<div class="nav-next"><h6 class="nav-title">' . wp_kses( __( 'Next Post', 'bloglo' ), bloglo_get_allowed_html_tags( 'button' ) ) . '</h6>%link</div>',
		sprintf(
			'<div class="nav-content"><span>%2$s</span> %1$s</div>',
			bloglo_get_post_thumbnail( $bloglo_next_post, array( 75, 75 ) ),
			'%title'
		)
	);

	?>

</section>
<?php do_action( 'bloglo_entry_after_prev_next_posts' ); ?>
template-parts/entry/entry-author-posts-button.php000064400000000746152425655550016525 0ustar00<?php
/**
 * Template part for displaying more posts button in author box.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

?>

<div class="more-posts-button">
	<a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ), get_the_author_meta( 'user_nicename' ) ) ); ?>" class="bloglo-btn btn-text-1" role="button"><span><?php echo wp_kses( __( 'View All Posts', 'bloglo' ), bloglo_get_allowed_html_tags( 'button' ) ); ?></span></i></a>
</div>
template-parts/content/content.php000064400000001664152425655550013370 0ustar00<?php
/**
 * Template part for displaying post in post listing.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<?php do_action( 'bloglo_before_article' ); ?>

<article id="post-<?php the_ID(); ?>" <?php post_class( 'bloglo-article' ); ?><?php bloglo_schema_markup( 'article' ); ?>>

	<?php
	$bloglo_blog_entry_format = get_post_format();

	if ( 'quote' === $bloglo_blog_entry_format ) {
		get_template_part( 'template-parts/entry/format/media', $bloglo_blog_entry_format );
	} else {

		$bloglo_blog_entry_elements = bloglo_get_blog_entry_elements();

		if ( ! empty( $bloglo_blog_entry_elements ) ) {
			foreach ( $bloglo_blog_entry_elements as $bloglo_element ) {
				get_template_part( 'template-parts/entry/entry', $bloglo_element );
			}
		}
	}
	?>

</article><!-- #post-<?php the_ID(); ?> -->

<?php do_action( 'bloglo_after_article' ); ?>
template-parts/content/content-blog-layout-1.php000064400000001771152425655550015761 0ustar00<?php
/**
 * Template part for displaying blog post - layout 1.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<?php do_action( 'bloglo_before_article' ); ?>

<article id="post-<?php the_ID(); ?>" <?php post_class( 'bloglo-article' ); ?><?php bloglo_schema_markup( 'article' ); ?>>

	<?php
	$bloglo_blog_entry_format = get_post_format();

	if ( 'quote' === $bloglo_blog_entry_format ) {
		get_template_part( 'template-parts/entry/format/media', $bloglo_blog_entry_format );
	} else {

		$bloglo_blog_entry_elements = bloglo_get_blog_entry_elements();

		echo '<div class="bloglo-blog-entry-content">';

		if ( ! empty( $bloglo_blog_entry_elements ) ) {
			foreach ( $bloglo_blog_entry_elements as $bloglo_element ) {
				get_template_part( 'template-parts/entry/entry', $bloglo_element );
			}
		}

		echo '</div>';
	}
	?>

</article><!-- #post-<?php the_ID(); ?> -->

<?php do_action( 'bloglo_after_article' ); ?>
template-parts/content/content-404.php000064400000002404152425655550013666 0ustar00<?php
/**
 * Template part for displaying 404 page.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<section class="error-404 not-found">

	<?php do_action( 'bloglo_before_404_content' ); ?>

	<header class="page-header">
		<h1 class="page-title"><?php echo wp_kses( __( '404', 'bloglo' ), bloglo_get_allowed_html_tags() ); ?></h1>
		<p class="h2"><?php echo wp_kses( __( 'Oops! Page not found.', 'bloglo' ), bloglo_get_allowed_html_tags() ); ?></p>
	</header><!-- .page-header -->

	<div class="page-content bloglo-entry">
		<p><?php echo wp_kses( __( 'We couldn&rsquo;t find the page you are looking for. Perhaps you can try searching:', 'bloglo' ), bloglo_get_allowed_html_tags() ); ?></p>

		<?php get_search_form(); ?>

		<a href="<?php echo esc_url( home_url( '/' ) ); ?>" class="bloglo-btn btn-left-icon btn-reveal" role="button">
			<span><?php esc_html_e( 'Return to Home', 'bloglo' ); ?></span>
			<?php echo bloglo()->icons->get_svg( 'arrow-left', array( 'aria-hidden' => 'true' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
		</a>
	</div><!-- .page-content -->

	<?php do_action( 'bloglo_after_404_content' ); ?>

</section><!-- .error-404 -->
template-parts/content/content-none.php000064400000003371152425655550014322 0ustar00<?php
/**
 * Template part for displaying not found posts.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<section class="no-results not-found">

	<div class="page-content bloglo-entry">

		<?php
		if ( is_home() && current_user_can( 'publish_posts' ) ) :

			printf(
				'<p>' . wp_kses(
					/* translators: 1: link to WP admin new post page. */
					__( 'Ready to publish your first post? <a href="%1$s">Get started here</a>.', 'bloglo' ),
					array(
						'a' => array(
							'href' => array(),
						),
					)
				) . '</p>',
				esc_url( admin_url( 'post-new.php' ) )
			);

		elseif ( is_search() ) :

			printf(
				'<p>' . wp_kses( __( 'Sorry, no results were found. Please try again with different keywords.', 'bloglo' ), bloglo_get_allowed_html_tags() ) . '</p>'
			);
			get_search_form();

		elseif ( is_category() ) :

			printf(
				'<p>' . wp_kses( __( 'There aren&rsquo;t any posts currently published in this category.', 'bloglo' ), bloglo_get_allowed_html_tags() ) . '</p>'
			);

		elseif ( is_tax() ) :

			printf(
				'<p>' . wp_kses( __( 'There aren&rsquo;t any posts currently published under this taxonomy.', 'bloglo' ), bloglo_get_allowed_html_tags() ) . '</p>'
			);

		elseif ( is_tag() ) :

			printf(
				'<p>' . wp_kses( __( 'There aren&rsquo;t any posts currently published under this tag.', 'bloglo' ), bloglo_get_allowed_html_tags() ) . '</p>'
			);

		else :

			printf(
				'<p>' . wp_kses( __( 'It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.', 'bloglo' ), bloglo_get_allowed_html_tags() ) . '</p>'
			);
			get_search_form();

		endif;
		?>

	</div><!-- .page-content -->
</section><!-- .no-results -->
template-parts/content/content-single.php000064400000002034152425655550014637 0ustar00<?php
/**
 * Template for Single post
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

?>

<?php do_action( 'bloglo_before_article' ); ?>

<article id="post-<?php the_ID(); ?>" <?php post_class( 'bloglo-article' ); ?><?php bloglo_schema_markup( 'article' ); ?>>

	<?php
	if ( 'quote' === get_post_format() ) {
		get_template_part( 'template-parts/entry/format/media', 'quote' );
	}

	$bloglo_single_post_elements = bloglo_get_single_post_elements();

	if ( ! empty( $bloglo_single_post_elements ) ) {
		foreach ( $bloglo_single_post_elements as $bloglo_element ) {

			if ( 'content' === $bloglo_element ) {
				do_action( 'bloglo_before_single_content' );
				get_template_part( 'template-parts/entry/entry', $bloglo_element );
				do_action( 'bloglo_after_single_content' );
			} else {
				get_template_part( 'template-parts/entry/entry', $bloglo_element );
			}
		}
	}
	?>

</article><!-- #post-<?php the_ID(); ?> -->

<?php do_action( 'bloglo_after_article' ); ?>
template-parts/content/content-page.php000064400000001301152425655550014266 0ustar00<?php
/**
 * Template part for displaying page layout in page.php
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?><?php bloglo_schema_markup( 'article' ); ?>>

<?php
if ( bloglo_show_post_thumbnail() ) {
	get_template_part( 'template-parts/entry/format/media', 'page' );
}
?>

<div class="entry-content bloglo-entry">
	<?php
	do_action( 'bloglo_before_page_content' );

	the_content();

	do_action( 'bloglo_after_page_content' );
	?>
</div><!-- END .entry-content -->

<?php bloglo_link_pages(); ?>

</article><!-- #post-<?php the_ID(); ?> -->
template-parts/content/content-bloglo-fullwidth.php000064400000001127152425655550016636 0ustar00<?php
/**
 * Template part for displaying content of Bloglo Canvas [Fullwidth] page template.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?><?php bloglo_schema_markup( 'article' ); ?>>
	<div class="entry-content bloglo-entry bloglo-fullwidth-entry">
		<?php
		do_action( 'bloglo_before_page_content' );

		the_content();

		do_action( 'bloglo_after_page_content' );
		?>
	</div><!-- END .entry-content -->
</article><!-- #post-<?php the_ID(); ?> -->
template-parts/misc/cursor-dot.php000064400000000733152425655550013274 0ustar00<?php
/**
 * The template for displaying cursor dot.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<div id="bloglo-cursor-dot" class="bloglo-cursor bloglo-js-cursor">
	<div class="bloglo-cursor-wrapper">
		<div class="bloglo-cursor--follower bloglo-js-follower"></div>
		<div class="bloglo-cursor--label bloglo-js-label"></div>
		<div class="bloglo-cursor--icon bloglo-js-icon"></div>
	</div>
</div><!-- END #bloglo-cursor-dot -->
template-parts/misc/back-to-top.php000064400000001421152425655550013306 0ustar00<?php
/**
 * The template for displaying scroll to top button.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<a href="#" id="bloglo-scroll-top" class="bloglo-smooth-scroll" title="<?php esc_attr_e( 'Scroll to Top', 'bloglo' ); ?>" <?php bloglo_scroll_top_classes(); ?>>
	<span class="bloglo-scroll-icon" aria-hidden="true">
		<?php echo bloglo()->icons->get_svg( 'chevron-up', array( 'class' => 'top-icon' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
		<?php echo bloglo()->icons->get_svg( 'chevron-up' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
	</span>
	<span class="screen-reader-text"><?php esc_html_e( 'Scroll to Top', 'bloglo' ); ?></span>
</a><!-- END #bloglo-scroll-to-top -->
template-parts/header-page-title-single.php000064400000001667152425655550015007 0ustar00<?php
/**
 * Template part for displaying page header for single post.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

?>

<div <?php bloglo_page_header_classes(); ?><?php bloglo_page_header_atts(); ?>>

	<?php do_action( 'bloglo_page_header_start' ); ?>

	<?php if ( 'in-page-header' === bloglo_option( 'single_title_position' ) ) { ?>

		<div class="bloglo-container">
			<div class="bloglo-page-header-wrapper">

				<?php
				if ( bloglo_single_post_displays( 'category' ) ) {
					get_template_part( 'template-parts/entry/entry', 'category' );
				}

				if ( bloglo_page_header_has_title() ) {
					echo '<div class="bloglo-page-header-title">';
					bloglo_page_header_title();
					echo '</div>';
				}

				if ( bloglo_has_entry_meta_elements() ) {
					get_template_part( 'template-parts/entry/entry', 'meta' );
				}
				?>

			</div>
		</div>

	<?php } ?>

	<?php do_action( 'bloglo_page_header_end' ); ?>

</div>
template-parts/topbar/topbar.php000064400000001303152425655550013010 0ustar00<?php
/**
 * The template for displaying theme top bar.
 *
 * @see https://developer.wordpress.org/themes/basics/template-files/#template-partials
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

?>

<?php do_action( 'bloglo_before_topbar' ); ?>
<div id="bloglo-topbar" <?php bloglo_top_bar_classes(); ?>>
	<div class="bloglo-container">
		<div class="bloglo-flex-row">
			<div class="col-md flex-basis-auto start-sm"><?php do_action( 'bloglo_topbar_widgets', 'left' ); ?></div>
			<div class="col-md flex-basis-auto end-sm"><?php do_action( 'bloglo_topbar_widgets', 'right' ); ?></div>
		</div>
	</div>
</div><!-- END #bloglo-topbar -->
<?php do_action( 'bloglo_after_topbar' ); ?>
template-parts/hero/hero-hover-slider.php000064400000010165152425655550014533 0ustar00<?php
/**
 * The template for displaying Hero Hover Slider.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

$hero_hover_slider_post_number_count = bloglo_option( 'hero_hover_slider_post_number' ) >= 2 ? 2 : 1;

// Setup Hero posts.
$bloglo_args = array(
	'post_type'           => 'post',
	'post_status'         => 'publish',
	'posts_per_page'      => $hero_hover_slider_post_number_count, // phpcs:ignore WordPress.WP.PostsPerPage.posts_per_page_posts_per_page
	'ignore_sticky_posts' => true,
	'tax_query'           => array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_tax_query
		array(
			'taxonomy' => 'post_format',
			'field'    => 'slug',
			'terms'    => array( 'post-format-quote' ),
			'operator' => 'NOT IN',
		),
	),
);

$bloglo_hero_categories = bloglo_option( 'hero_hover_slider_category' );

if ( ! empty( $bloglo_hero_categories ) ) {
	$bloglo_args['category_name'] = implode( ', ', $bloglo_hero_categories );
}

$bloglo_args = apply_filters( 'bloglo_hero_hover_slider_query_args', $bloglo_args );

$bloglo_posts = new WP_Query( $bloglo_args );

// No posts found.
if ( ! $bloglo_posts->have_posts() ) {
	return;
}

$bloglo_hero_bgs_html   = '';
$bloglo_hero_items_html = '';

$bloglo_hero_elements = (array) bloglo_option( 'hero_hover_slider_elements' );
$bloglo_hero_readmore = isset( $bloglo_hero_elements['read_more'] ) && $bloglo_hero_elements['read_more'] ? ' bloglo-hero-readmore' : '';

while ( $bloglo_posts->have_posts() ) :
	$bloglo_posts->the_post();

	// Background images HTML markup.
	$bloglo_hero_bgs_html .= '<div class="hover-slide-bg" data-background="' . get_the_post_thumbnail_url( get_the_ID(), 'full' ) . '"></div>';

	// Post items HTML markup.
	ob_start();
	?>
	<div class="col-xs-<?php echo esc_attr( 12 / $bloglo_args['posts_per_page'] ); ?> hover-slider-item-wrapper<?php echo esc_attr( $bloglo_hero_readmore ); ?>">
		<div class="hover-slide-item">
			<div class="slide-inner">

				<?php if ( isset( $bloglo_hero_elements['category'] ) && $bloglo_hero_elements['category'] ) { ?>
					<div class="post-category">
						<?php bloglo_entry_meta_category( ' ', false ); ?>
					</div>
				<?php } ?>

				<?php if ( get_the_title() ) { ?>
					<h3><a href="<?php echo esc_url( bloglo_entry_get_permalink() ); ?>"><?php the_title(); ?></a></h3>
				<?php } ?>

				<?php if ( isset( $bloglo_hero_elements['meta'] ) && $bloglo_hero_elements['meta'] ) { ?>
					<div class="entry-meta">
						<div class="entry-meta-elements">
							<?php
							bloglo_entry_meta_author();

							bloglo_entry_meta_date(
								array(
									'show_modified'   => false,
									'published_label' => '',
								)
							);
							?>
						</div>
					</div><!-- END .entry-meta -->
				<?php } ?>

				<?php if ( $bloglo_hero_readmore ) { ?>
					<a href="<?php echo esc_url( bloglo_entry_get_permalink() ); ?>" class="read-more bloglo-btn btn-small btn-outline btn-uppercase" role="button"><span><?php esc_html_e( 'Continue Reading', 'bloglo' ); ?></span></a>
				<?php } ?>

			</div><!-- END .slide-inner -->
		</div><!-- END .hover-slide-item -->
	</div><!-- END .hover-slider-item-wrapper -->
	<?php
	$bloglo_hero_items_html .= ob_get_clean();
endwhile;

// Restore original Post Data.
wp_reset_postdata();

// Hero container.
$bloglo_hero_container = bloglo_option( 'hero_hover_slider_container' );
$bloglo_hero_container = 'full-width' === $bloglo_hero_container ? 'bloglo-container bloglo-container__wide' : 'bloglo-container';

// Hero overlay.
$bloglo_hero_overlay = absint( bloglo_option( 'hero_hover_slider_overlay' ) );
?>

<div class="bloglo-hover-slider slider-overlay-<?php echo esc_attr( $bloglo_hero_overlay ); ?>">
	<div class="hover-slider-backgrounds">

		<?php echo wp_kses_post( $bloglo_hero_bgs_html ); ?>

	</div><!-- END .hover-slider-items -->

	<div class="bloglo-hero-container <?php echo esc_attr( $bloglo_hero_container ); ?>">
		<div class="bloglo-flex-row hover-slider-items">

			<?php echo wp_kses_post( $bloglo_hero_items_html ); ?>

		</div><!-- END .hover-slider-items -->
	</div>

	<div class="bloglo-spinner visible">
		<div></div>
		<div></div>
	</div>
</div><!-- END .bloglo-hover-slider -->
changelog.txt000064400000005327152425655550007261 0ustar00= 1.0.18 =
* WooCommerce 9.6.0 templates updated.
* New social media icons for header added: BlueSky, GemSpace, LifeGroupChat

= 1.1.17 =
* Show site Title and tagline markup on webpage for search engines.

= 1.1.16 =
* Fixed a warning in PHP-8.2 which was causing an issue with the customizer.
* Woocomerce v-9.4.1 templates updates.

= 1.1.15 =
* Added svg icons.
* Improve time script.
* Fixed custom meta checkbox style issue.

= 1.1.14 =
* Allowed time tag in wp_kses.

= 1.1.13 =
* Fixed 'screen-reader-text' style.
* Fixed darkmode issue.

= 1.1.12 =
* Fixed classic editor embed video style issue.
* Fixed list style issue.

= 1.1.11 =
* Fixed style issues.
* Added social icon.

= 1.1.10 =
* Fixed dark mode issue when enabled from customizer.
* Post format quote: Dark mode issue fixed.

= 1.1.9 =
* Fixed ad block issue for header banner.

= 1.1.8 =
* Fixed some block editor style issues.
* FIxed PYML issue on custom homepage.

= 1.1.7 =
* Fixed some dynamic style issues.

= 1.1.6 =
* Added WeChat, QQ, Bilibili, Threads social icons.

= 1.1.5 =
* Added Telegram and Discord social icons.

= 1.1.4 =
* Data escaping issue fixed.

= 1.1.3 =
* Post format gallery issue fixed.
* Styling issues fixed and improvments.

= 1.1.2 =
* Fixed style issue.

= 1.1.1 =
* Tiktok social icon color change.
* Single post typography issue fixed.

= 1.1.0 =
* Featured Links!, New Feature added.
* Style issues fixed and improvments.

= 1.0.15 =
* PYML meta style changed.

= 1.0.14 =
* Style.min.css issue fixed.

= 1.0.13 =
* Minor issue fixed.
* Screenshot update.

= 1.0.12 =
* Limit the number of categories to be shown.

= 1.0.11 =
* Added new dynamic rgba color in preview js :root
* Link to documentation added in customizer.

= 1.0.10 =
* Image not showing up in 'Ticker' and 'Post you might like section' when optimizing image with Jetpack plugin. Fixed!

= 1.0.9 =
* Added new dynamic rgba color in :root.

= 1.0.8 =
* Screenshot update.
* Header button border issue fixed when user change Accent color.
* View pro features section added in customizer.

= 1.0.7 =
* Ticker stop sliding in customizer preview when user show/hide Post Element in styles tab. Fixed!

= 1.0.6 =
* Header required condition fixed.
* Hester Core plugin support added.
* Theme URI updated.

= 1.0.5 =
* Removed install free plugin and pre-built demo import card from Theme optons.

= 1.0.4 =
* Removed non-functional components.

= 1.0.5 =
* Removed install free plugin and pre-built demo import card from Theme optons.

= 1.0.4 =
* Removed non-functional components.

= 1.0.3 =
* Skip to content accessibility issue fixed.

= 1.0.2 =
* esc_html_e missing text domain issue fixed.

= 1.0.1 =
* Accessibility issue fixed.
* kses_post depricated issue fixed.

= 1.0.0 =
* Initial release 🚀comments.php000064400000007035152425655550007125 0ustar00<?php
/**
 * The template for displaying comments.
 *
 * This is the template that displays the area of the page that contains both the current comments
 * and the comment form.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/*
 * Return if comments are not meant to be displayed.
 */
if ( ! bloglo_comments_displayed() ) {
	return;
}

?>
<?php do_action( 'bloglo_before_comments' ); ?>
<section id="comments" class="comments-area">

	<div class="comments-title-wrapper center-text">
		<h3 class="comments-title">
			<?php

			// Get comments number.
			$bloglo_comments_count = get_comments_number();

			if ( 0 === intval( $bloglo_comments_count ) ) {
				$bloglo_comments_title = esc_html__( 'Comments', 'bloglo' );
			} else {
				/* translators: %s Comment number */
				$bloglo_comments_title = sprintf( _n( '%s Comment', '%s Comments', $bloglo_comments_count, 'bloglo' ), number_format_i18n( $bloglo_comments_count ) );
			}

			// Apply filters to the comments count.
			$bloglo_comments_title = apply_filters( 'bloglo_comments_count', $bloglo_comments_title );

			echo wp_kses( $bloglo_comments_title, bloglo_get_allowed_html_tags() );
			?>
		</h3><!-- END .comments-title -->

		<?php
		if ( ! have_comments() ) {
			$bloglo_no_comments_title = apply_filters( 'bloglo_no_comments_text', esc_html__( 'No comments yet. Why don&rsquo;t you start the discussion?', 'bloglo' ) );
			?>
			<p class="no-comments"><?php echo esc_html( $bloglo_no_comments_title ); ?></p>
		<?php } ?>
	</div>

	<ol class="comment-list">
		<?php

		// List comments.
		wp_list_comments(
			array(
				'callback'    => 'bloglo_comment',
				'avatar_size' => apply_filters( 'bloglo_comment_avatar_size', 50 ),
				'reply_text'  => __( 'Reply', 'bloglo' ),
			)
		);
		?>
	</ol>

	<?php
	// If comments are closed and there are comments, let's leave a note.
	if ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) :
		?>
		<p class="comments-closed center-text"><?php esc_html_e( 'Comments are closed', 'bloglo' ); ?></p>
	<?php endif; ?>

	<?php
	the_comments_pagination(
		array(
			'prev_text' => '<span class="screen-reader-text">' . __( 'Previous', 'bloglo' ) . '</span>',
			'next_text' => '<span class="screen-reader-text">' . __( 'Next', 'bloglo' ) . '</span>',
		)
	);
	?>

	<?php
	comment_form(
		array(
			/* translators: %1$s opening anchor tag, %2$s closing anchor tag */
			'must_log_in'   => '<p class="must-log-in">' . sprintf( esc_html__( 'You must be %1$slogged in%2$s to post a comment.', 'bloglo' ), '<a href="' . wp_login_url( apply_filters( 'the_permalink', get_permalink() ) ) . '">', '</a>' ) . '</p>', // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
			'logged_in_as'  => '<p class="logged-in-as">' . esc_html__( 'Logged in as', 'bloglo' ) . ' <a href="' . esc_url( admin_url( 'profile.php' ) ) . '">' . $user_identity . '</a> <a href="' . wp_logout_url( get_permalink() ) . '" title="' . esc_html__( 'Log out of this account', 'bloglo' ) . '">' . esc_html__( 'Log out?', 'bloglo' ) . '</a></p>',
			'class_submit'  => 'bloglo-btn primary-button',
			'comment_field' => '<p class="comment-textarea"><textarea name="comment" id="comment" cols="44" rows="8" class="textarea-comment" placeholder="' . esc_html__( 'Write a comment&hellip;', 'bloglo' ) . '" required="required"></textarea></p>',
			'id_submit'     => 'comment-submit',
		)
	);
	?>

</section><!-- #comments -->
<?php do_action( 'bloglo_after_comments' ); ?>
functions.php000064400000012004152425655550007300 0ustar00<?php //phpcs:ignore
/**
 * Theme functions and definitions.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Main Bloglo class.
 *
 * @since 1.0.0
 */
final class Bloglo {

	/**
	 * Theme options
	 *
	 * @since 1.0.0
	 * @var object
	 */
	public $options;

	/**
	 * Theme fonts
	 *
	 * @since 1.0.0
	 * @var object
	 */
	public $fonts;

	/**
	 * Theme icons
	 *
	 * @since 1.0.0
	 * @var object
	 */
	public $icons;

	/**
	 * Theme customizer
	 *
	 * @since 1.0.0
	 * @var object
	 */
	public $customizer;

	/**
	 * Theme admin
	 *
	 * @since 1.0.0
	 * @var object
	 */
	public $admin;

	/**
	 * Singleton instance of the class.
	 *
	 * @since 1.0.0
	 * @var object
	 */
	private static $instance;
	/**
	 * Theme version.
	 *
	 * @since 1.0.0
	 * @var string
	 */
	public $version = '1.1.18';
	/**
	 * Main Bloglo Instance.
	 *
	 * Insures that only one instance of Bloglo exists in memory at any one
	 * time. Also prevents needing to define globals all over the place.
	 *
	 * @since 1.0.0
	 * @return Bloglo
	 */
	public static function instance() {
		if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo ) ) {
			self::$instance = new Bloglo();
			self::$instance->constants();
			self::$instance->includes();
			self::$instance->objects();
			// Hook now that all of the Bloglo stuff is loaded.
			do_action( 'bloglo_loaded' );
		}
		return self::$instance;
	}
	/**
	 * Primary class constructor.
	 *
	 * @since 1.0.0
	 * @return void
	 */
	public function __construct() {
		add_action( 'after_switch_theme', array( $this, 'bloglo_delete_theme_demos_transient' ) );
	}
	/**
	 * Setup constants.
	 *
	 * @since 1.0.0
	 * @return void
	 */
	private function constants() {
		if ( ! defined( 'BLOGLO_THEME_VERSION' ) ) {
			define( 'BLOGLO_THEME_VERSION', $this->version );
		}
		if ( ! defined( 'BLOGLO_THEME_URI' ) ) {
			define( 'BLOGLO_THEME_URI', get_parent_theme_file_uri() );
		}
		if ( ! defined( 'BLOGLO_THEME_PATH' ) ) {
			define( 'BLOGLO_THEME_PATH', get_parent_theme_file_path() );
		}
	}
	/**
	 * Include files.
	 *
	 * @since  1.0.0
	 * @return void
	 */
	public function includes() {
		require_once BLOGLO_THEME_PATH . '/inc/common.php';
		require_once BLOGLO_THEME_PATH . '/inc/helpers.php';
		require_once BLOGLO_THEME_PATH . '/inc/widgets.php';
		require_once BLOGLO_THEME_PATH . '/inc/template-tags.php';
		require_once BLOGLO_THEME_PATH . '/inc/template-parts.php';
		require_once BLOGLO_THEME_PATH . '/inc/icon-functions.php';
		require_once BLOGLO_THEME_PATH . '/inc/breadcrumbs.php';
		require_once BLOGLO_THEME_PATH . '/inc/class-bloglo-dynamic-styles.php';
		// Core.
		require_once BLOGLO_THEME_PATH . '/inc/core/class-bloglo-options.php';
		require_once BLOGLO_THEME_PATH . '/inc/core/class-bloglo-enqueue-scripts.php';
		require_once BLOGLO_THEME_PATH . '/inc/core/class-bloglo-fonts.php';
		require_once BLOGLO_THEME_PATH . '/inc/core/class-bloglo-theme-setup.php';
		// Compatibility.
		require_once BLOGLO_THEME_PATH . '/inc/compatibility/woocommerce/class-bloglo-woocommerce.php';
		require_once BLOGLO_THEME_PATH . '/inc/compatibility/socialsnap/class-bloglo-socialsnap.php';
		require_once BLOGLO_THEME_PATH . '/inc/compatibility/class-bloglo-wpforms.php';
		require_once BLOGLO_THEME_PATH . '/inc/compatibility/class-bloglo-jetpack.php';
		require_once BLOGLO_THEME_PATH . '/inc/compatibility/class-bloglo-beaver-themer.php';
		require_once BLOGLO_THEME_PATH . '/inc/compatibility/class-bloglo-elementor.php';
		require_once BLOGLO_THEME_PATH . '/inc/compatibility/class-bloglo-elementor-pro.php';
		require_once BLOGLO_THEME_PATH . '/inc/compatibility/class-bloglo-hfe.php';

		if ( is_admin() ) {
			require_once BLOGLO_THEME_PATH . '/inc/utilities/class-bloglo-plugin-utilities.php';
			require_once BLOGLO_THEME_PATH . '/inc/admin/class-bloglo-admin.php';

		}
		new Bloglo_Enqueue_Scripts();
		// Customizer.
		require_once BLOGLO_THEME_PATH . '/inc/customizer/class-bloglo-customizer.php';
		require_once BLOGLO_THEME_PATH . '/inc/customizer/customizer-callbacks.php';
		require_once BLOGLO_THEME_PATH . '/inc/customizer/class-bloglo-section-ordering.php';
	}
	/**
	 * Setup objects to be used throughout the theme.
	 *
	 * @since  1.0.0
	 * @return void
	 */
	public function objects() {

		bloglo()->options    = new Bloglo_Options();
		bloglo()->fonts      = new Bloglo_Fonts();
		bloglo()->icons      = new Bloglo_Icons();
		bloglo()->customizer = new Bloglo_Customizer();
		if ( is_admin() ) {
			bloglo()->admin = new Bloglo_Admin();
		}
	}

	/**
	 * Delete theme demos transient when switching from other Peregrine's themes to Bloglo
	 *
	 * @since 1.0.0
	 */
	public function bloglo_delete_theme_demos_transient() {
		// Delete theme demos transient
		delete_transient( 'hester_core_demo_templates' );
	}
}

/**
 * The function which returns the one Bloglo instance.
 *
 * Use this function like you would a global variable, except without needing
 * to declare the global.
 *
 * Example: <?php $bloglo = bloglo(); ?>
 *
 * @since 1.0.0
 * @return object
 */
function bloglo() {
	return Bloglo::instance();
}

bloglo();

search.php000064400000001512152425655550006537 0ustar00<?php
/**
 * The template for displaying search results pages.
 *
 * Learn more: http://codex.wordpress.org/Template_Hierarchy
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<?php get_header(); ?>

<?php do_action( 'bloglo_before_container' ); ?>

<div class="bloglo-container">

	<div id="primary" class="content-area">

		<?php do_action( 'bloglo_before_content' ); ?>

		<main id="content" class="site-content" role="main"<?php bloglo_schema_markup( 'main' ); ?>>

			<?php do_action( 'bloglo_content_search' ); ?>

		</main><!-- #content .site-content -->

		<?php do_action( 'bloglo_after_content' ); ?>

	</div><!-- #primary .content-area -->

	<?php do_action( 'bloglo_sidebar' ); ?>

</div><!-- END .bloglo-container -->

<?php do_action( 'bloglo_after_container' ); ?>

<?php
get_footer();
screenshot.png000064400000635747152425655550007473 0ustar00�PNG


IHDR����8�gAMA���asRGB���	pHYs��PLTE���.!+\2H�9N�K�����07>��;@X# "AU�7J�/D�tu�"LN@ISEP8C"1gqOJFCRL]�@<J'T���&7p]J;�i�I:B+?}jp�Ve�eN@���|VOnw�|u�6Fv!);wyz�1<[PHW�l�ZBAdHHbn�s]I68L>E^`i�hLT'f�CP�#.H7BitQX96C\N[SpBKt-)6hWC���A09�gy��ॱ�6uVSheQKLbMY�'5R�e{11.>�r���4$*�ly7��(=Ya�s\v�_e�q���҅yaA^ab~�wu%%3�]m�lm|f�nm�hT`�fic_lx��qzSXv(7_K8\PBm���`6KG��Yw���p�dsxSgݏx��毑_O}7�����ŀ~�IJZM5���qlw�[[���ǦeKn|�C.Q�kG^|M����c����1h�#��ի淞�3-27���&d��OX༫���~z����;o�l��LhU���j�}�����}�D��c��k[����|~���boY�q���I6Z!4�Ɍ���TLz2%����dP���A9���>
ղ�Y�����\�ݤ��������h��ta������}�|g�����ι:)�vgc21�S?Y�C�浲����tÅn�&h0�|����������H-������Ix�����Ϧ���Բ�5ds�A�ԉ����}h������B���.Xf���M��/�������k2����t��f}���i��Y���T� JW�-�@���'8pIDATx��=��:��\YĤ�"�>�sRG��	}$$	��xU��?�ogv��%Mw��]v}�*��4J�(Q�'�DD�%+J�(Q"��D��%J�(XQ�D��%J��(Q�D���%J��V_ˊ�+Y�QuQE�c��k��=���܋��WQQ"���p�t}�Ŋ��%j��:��(�dC����
lQQ~�x ���X�--.`��
LT���;����4��z����F;y��F���1ꐺ�������{,p���Q,��L�Qc�����g��su_�!���v��G�ԋ;�X+���o��/�^5ޙ�:Y�=X�ڡQ*��fJ�t���^�f��W���^	%��t���1qs��nfT��u'��ԛ�6�/�����saK�IJKh����hHw@��Y���^-��n�9�0��)�OK���+���mQ~XMz�{<�ײ�Q���Ŋ��������O@�lN���D�*�����n�ҡ���~XW�F`�M5S�w�Q�=��F3�9���U�ֲ���Eo��־��M`���s@�XW�܀}X� !��T#�4H��:0�RUC�	�l��k��h}��	��uv�8�|�0��}�}GN�F'a���c����A�%z�rZ�ω1?SP;?P��j��՚}=���|}n�0���3f~/�����I���Y�;,�ƾ�l
���ռ��7�Vc=	6T3��	iH�Y����V�#E�"��{�J~�.�޳�gp��gE�fJé8��
P_<�«�n��X<�U��q6��a��
s4P~=�Fv�>�{7�FE���5���F�C�_��n��ރ�k`�9+�~`���z��f˽��Rj��T�Eʵz�L�Th���]���RO�@��)�Ub_����v�&�N��%ft+�K`em�*9�OЫ��4t����[u�]L��q;A"��,���?M�9��O�����CH�3�uY�~\H��%n�7MK�'�/,OK���Jؑ���ƾ��L+dQG,����3z:��ˀEGG�`��'Iw$�L"���̃wX��!P�(Zu,WIF�J�†q�\P����.H[�F�X��D�U�'�C�Z��q}�A��*��B�i��D`]�`�S>?4Z�Ϥג�ǍV6���h�1���|���K(%
zM:�&�._�c�:���֧��.!,U����Y�Բ۰�X�V�sM��-���k�YX��㢆�~�-��M���4g��;�I��X��RBCZM[g�P'=_�}��&���sݲ�S��yT^AX���%�fZ|�6_��ᾢ����P��p��fR�0��>�Z�@��S�M�VS�w��t��Z�b�������d�'�L+&�C�e�Z���?^��z,�t\���k��XP�,cF�ӿ��[�m8�ׁX����c�zK��-)���K`�4�ם�͢M�D�`e45f���~�XvTX�+0��T�5�;'�UL�jޕCB�Ф���߬X�2+[��6c���M�t�ۊv:�dz����vR�1
��YR�U�"v�e�^��TLb*�Jq�5�)��,�r�:jj漹���"�j���$�a,+�ci�X�'�s�udh#i��tN�X��o�ۢ��V{M�
�EM���*�k�P�0,���7�7�WC�P��\�yӍ����Z*6�.�+�r�):�z}1v8�)�+���`9b1ֈ��IP�+���ߖ�?�tg��S`m�+�V�a,�.��Bќw3�.�%�ܻ`v�f��R^\�A�?*cL8��@v���A�f��Q뽸=�/�;V��dӵ[��*K���eZYZk;h�٭���YaD{��o><���Ғr.%6$T6;���?�5z�7�DP��;3}N�ϊ!"�3�������5!�q�ݑ��4�<$ՙ��ACq��	��p��O<4ɧ(f�&��<��Nb+���񮡡ChQ��T�א��y^���2�c�\\�}�X�_��LFp2����P��CAǸ�X+�A�žd���o|�9W��y5��5��W��
�
�O�Xܝ�쫁kt�$v�ί�>���0n
B���18j-�<�r�og�uAǬ����.Z��K@�/c�G`��᭟>,M�	��U���k�a釶�NE��r�����r_����=|jP�i�"����g29S���H��r��<k
�u\�ƽ=�œ�=	��:��l��:
�5_i�o�Ŵ���ߜK�}�XC��]CcnfF��l,왠X�)D�*�=v���-��EX�o@q�:J&�cwGZ���V]]��
�"9�gܿ���<-��N`U��%i"e�X��%�F׫�����x���gSPdG�AjlH68�B� ����Se���XK��'�9�K�X��
#��O���+��$���&��VҎ����2'�L�^%��������*wk8�xVV��v�$�%z�V��:j
=��b���6L�[+�C�#7o��M"������,*.�sRM�]C�qp�rk�
,Jv��zQ���tw���2�n��7,��Y<��>�v�UfE�b�����8`Yb�ۮ��B,��j��-_��xk]���e��۴|�qM��m���ߝ�@V��o�޴��<q.j��e���4���FM���yN��+��)�B�WU�m�/{g�Ȗ�qWڳ�eH\׶��ފ������D��P"�MhB.��Y)�ѝ�,�^B@��&�N �ƍD� �Yd�qN�S��pm�y���b�k�x~>�{�ʭe�\ao��KoX���e��ꍯ{#죫MۗS�k�^{��/�8~ר]_�\`�.��kS9�v��;K�pjX�!��L��"X��Ҿ�_lO}�����ߔ�F����,`�;m`��B���f5�i`Y��&�CU��m(��s����3�7\#�]�����.�,}�~�d{�;5.�*���]��Y�9�)ӯ��_��I
���7���P�l�����|��5V��
L,8���
9��w��7I`��a`enF��
�a�$S�A5��w����/�`N[�C����eJ$�S��������������'����֣��^�d=�%8}=���{ջi�"KϻX�`�Vv�e��Q�6�S��f��,�V��~����ڞ�%���u28�����%d`��W�ze��~�`�UB�ž�Y�w|W�g	�3�m
�N�����F��~!��V�o����Z<K�	X|&�	qg	�\f����z�:e2`���G�%"��M���)�WL��(��]72����o�,�`��<���7��r�u=��\����bg��@��k��׍,��d+M%�!~X˽��R�Z8�+�M*�~.����zF��h��7͎f	�tQ��^p|���f����Va�ת��'���XLJ��/K��lN>aX?�R�����d�-W-�~2`�W����d��X��`�~&`�D"�K$�X"�H�%�D,�H$`�D"�H$	�D"�H�%�X"�H$��D"�H$`�D"��?D"��Q&'�D��X"�H�%�D,�H$��D"�H$	�D"�K$�X"�H$��D,�(W6����-����ݮZ�:
�M�urB7jQ��쿨��t�ȫy��G�Z�N
���|>��N��B�P��+J��]���
ֵ���W����=-j���Z�>��2�z��iN+�Z� �H-��5�IE�����I,z
-����T<8�����K�#`
�XC����
�Bt
h��c���;��p��0�nOo�+�$.;!����Ws`�y����O����J��k�X�f��x��57IZ�n=��F
U�X��� ����X��A���ɯ����O�A���*l��Vh�E�1�"[M��-T��;�P�V�n̬SE����K�`)\�ib�|�U�{��Xj�I��i���A�4�fkA��}Ŭ���_��#�E>�s�:,�(�:��FG.�f6�f+�r`C�&�{���F�`��`�ߞ�)1���y~�c�o5���BZ�zb��V+҈R{{�y�bd�U�p��q2N�X�1Yg1��b�,�.���e���c��x!��k�1��FQ�dc\�ꖽ�+��찶G��� ��L*�(v�`�-�P�CVGE�oi(���Jjf��Ɩ�����3�K{,�fBD�B�J�>'¾!},���
Z�]�VWL+�U+�;*㩢��X@+�5���2�
��e���z�T��(���+R�мҰ�4Ȭ�?p}!k�+ud-�n���y0U*�����+�U��ҕ,rX��|Ee�8�
8�oyfG�f�=�����̓�-�e<�
#!�+̃l��W��uj�2V`GB6XX��\��W+/&UQh�̲!aˢչ�
��*O�U��R.�Y��O,Ѯtf!��ew�b����5����:
�<G�
��)`�C�6�W �G^��r�W^2f*Xu��h(��Q
���+�%����X�úW��<:o���"��\�� xE�]#���1��[A&T7������Y�2˪�?�X8al���R�Pc=��ϖ�`�v�bL�gSzO��gA�V�k�,{�����"Qn�C��ʷ�B*T��L�
��c1�:�eB�&�V���]����I�����̲Z)4�iud������q��ܗ��e��d5���X��.ګzh� �*D���`Ev0$d9�rJXP�zTKy2�U���ЪcQ!�-�K�`φ��eJ��^����Ȃ"ث`���1�ZiO�<f��*�_d�v���$�&�
V'�Q���4a�{V�8�'�a�A�}��/tq��`��Z���ld���W&r�S���6����DXm��"TqT��D�+�V]u{��iy,�Y:6�����gX��Hx�K�%�
����d!ˏ#!:,�U`��P��r�T���a����@�A�ۀ��B���^J:$^A_46(`T$���a��BD&�kg��ٓS�Z��^���䰔�j��}�W}k�����2ahf�ή�W}rX�j,S�Z��2�ƆG���
k��%,]w��,�K�#`��\�:�b��}
�2YA�7J�p� V��ZX����3ks���B*�{�.,�8,�k�ШP_�7wƏ��l�x�X%���R;V����ßd�Λ�sL�K�$d%>��"�MX41h��YUūjn[��2ܪםֆYuSpw+X��6J�<t��0S�,�K�+`?
M
�9�z�"76��~�{�Vp�J,'
�����Y���E�+&�=I�I4�w�ս;��D�Փ�x�`�f������h�T���O対.Wఖ��a�pu;�U�ur����f!�����!GAX��Z::��TQ3���N�qO%B΂�YP``Zi��O,��U,&=V3����7
�``��p�j�m<��JwZ� i�6�����w�DX3ӄ
X�׀}X�a�V��ggv$L�ĺ��^�XW3	���l�Z�䮛��2��2!�q�<hqu�
-�Z�U�W�-�-{U7s���=��`��X,�lPM��s�X�S�h��*�%������/��ƍX��A��A�Ӱ�޸HV�]kb0�{�7ְ6x,����&/�cլf,V&���Ŷ��w�����S[7Ǻ�hw_�b]�f�m�m̼:_��ZRK��U����g��Y�1F&
��D,Z��ŪGVw�[v��	뉫s(R	KGB�W��
�Ԁ��K�K`O�@��D>_=g`��
�&�D�OR#�n��&w�z�$�p�*�&���΃Ta��Q�\5��Ή0�E�<^Kh�43<=X�+u�`5<��p�ZyQO��Bnj�.9t
+�����p��+c���0VM��e5b٭�U�	�u=��0�B��K�S`��6����k��c�,V�א`{�"i��@
w^p{{e{,�`K�=7H��T�
�t $bU������dqܰ���S��bt�!�5�61��6�`�`D�A aD���X:��Dl�A"��`�I���1:�Yb<B<oU��������%���R[���^}�kju'
�
���†5ӄ01ȍY����ett,(�/���C�u۩r��M�d����U?�\�|ev\�4{lW\T�(d!`���=
V%Y��тB2��<
CE+��X�Z������Y%�	f����i�h�����2�<��jNL��ge�	�����B�I,^�C�	�*W�2gI(����?�>2c�Qhˆ{[�X�T`�IB�X��[Y����{������v����)�*�V�����7�9ʠE�W\a�,֮��4�X�1c`��އ-YO(Q����*̄U�U���O�n�ʢxPs�:���	��pc�a	[SX�kd���Z�ePs�o�X��c1b�Ҍ��X�S�E~�ڏxZ�����%�xX�(.c��jOz�K�F��9�k���0�E�uw�"*k�Ř9�zf�}��9!kr�ɠBB���7:��+m4'X�ޤ!NceZŜ�]WT��,V���;8G+X��0V����ڜ�.}Vw]`M#�_�CBŏ?�J��m���o���Q��1����W��J�0��`z�:A��*
�$!���k�+��,�b�XAb
����8�^lM�;����"����V��g�ʈ
�9$�x�nnw��B��v
LaA�:j���F��(��?�w���	���-��VN� ��EV���c���WT�B`м�^ ���`�ƒp�Ca���<}u̢
�n�Ř�����%U���h��()��8�	�v��V��Ks��w��8^v�1\������x�N��.�krcl���o]�G�3ƈ.d\�F�b�'ĸ�e�rКh���Bn9v'K`�]㋶�^���F�,�Ye�v/�"�Ē��`#�Y,"u���Rݑ9����,���v���O�"ރ�����t:�t�yFt����̉�f���ǵ��ْ<̱*�$gV�Y�2�O�%'I�k�~}���� �޳f��vp�P��N��A�%�ȗ�ꪝ�Ǹ�P��ji�|������G�-rC���Aߋ��s
؈���!f�w�^3h,�:D�ړ��K�[�v	ހ���+��r'�(�A!!�jN�t�H�6+���k�b��H�T�I���L&�7�u�<�N�a��;�N�I2�k�Տ��f��{���Lj����PJ+�K���`�M�8��������!�Ċ�\h�PD��h�R��)bb�Ģ�e
W��7��ɋE[�W8�|5��E�j��fk;�u/	�(�d��W���Ww;@��y?��G2_�����˱2:��xv��0!�t�a�u,���7YϐW.�L����e@��U`Ku�i��c�U�'��ݗX�Gv��V�,�h�j�H����~��%l���Ϋ���|�����pR]rX���R�lL���8e���X�<Z��3]�r��r�
��6�$�b�7(��;��8���΅�z,2��^�Oab�ߕz�i�3,T�����W?�/4֬�$�۽�nU��$��)�.�e'.d�3UX�hLA��5V�ʡ��\���+�`Qt�sgI���c!Њ�\[Xc
kŃJQa���A�����ʧ��Y���rX��W���ȇ���m�q�����ݨ��םLb���_�/�t򌋟X`9�y2��3&��E��AfzH�Xg"����f,L,��ܰĀ����`��JkCQ�o��e�c��9B?@����i�v+4T����p�~�J�-La��k��ȺTڋ�@Ɣu�ȹU@�v��|.�7l
�m���&��l�\�k(�#3}�Ӄ�����N��/����t�Ex���	'yX-1
X�Uy���f,#����|Y�\�
P�E�T�`���)�@`��\hZj��`MKbI/)
	���I��P[
����		Yk�+�e�er�%���]�\��,$�ˊX%%��:_�`�Fŵ��dkW�e��>�
,���W�?�Q�א�cNӟ���p!��Voъ���VQ�j�PXV2�~!E��ժ�؊PXc����%V��cE�+ǵ\����j�X]���4V踢�j H,=�nh,�=�X��B��BAPX D��h3�R	,��hG��ek���g��"�b�J��4��_����F��a�8�L^��Tvfr8�<���r�z:�,Ob�
X��o��5l���".�+ӄTU]� �0��U�v2��LV�W:��Ȳ���[Z�wYw�X[yu��b��̻XReq�%�W9!��b���/p����qLm����}/�O��9B���72�Ng�0�z�67`�	A5�g�S��:b��	�heD�����]ɕ�y��o�&EjJ˱�%c��t���xRm��X�S��$!��X]Н�/g���w������&���@�*�H�RK
ɡT*��Ӄ
X�+� ����:'AM��in���t��
V'��JmM&��n���WML$]+Zi̚��g?q�E?�Oԗ���������>T��UF�ϼ�S< ��Ȃ�~ee��3xՁf��I,^����|ӄ"y�������,�܈A	�n��(�Mū�sa5��y,���gIf��X�}�!y$_���-��
/��-/i�J������)Z�qU�Id�
K����is�[^���7O�����y'�j�:%OT��S��?�/9�Ph]��g�3�ɾ�s=/�����ݧ;��]��: �r�u����M��#�����٫�t�)7&+��^}��!�`�MJ)����������o�;!���j��4�I� ���&Y��
�X�W���$VU�G��%b
;0M����+��v�h����y�V�#���),�ʇ�����d��R����劼B�K'ϧG���ro��f,�
)
�K~�,"�|
PI�:&����U�27�uE����_�p���cm�$A~�����(�~��k���i�u[�c�����X��zv�,5ٴ�u�����ؾ���ݻIw�|�/��O^��]��g����Nęk��L�WRkُ$�&���������"�vN��OP'Pj����)�Ҏe8�BBM_ћϮ��SCV���@-[X��u	!�n^�KH,�rWW |c�'�^���{�Z��a9V���7]����pM7>�%�ӓ�y�\P2Naq!s�E��L��2^
���R�v���KlƂ$
�Π
���R��a�Y±F�A�_�}�0�E`Q�r݌G���K�X)�gݼZҀu�hH`B����]Q4�PQU&�z$��#{�+vM���C�M�Yt��'���`zd����	M�K��TS\�lJ�Eq�.��03tri�i(d#a
/F,�3e �$�E�.nA�0^��� Y��A77�����&��/��9�s>�9j5���|\?roB���?��d�ՂY<�,�^�
@,TM��PH.�J[*e
��
�+�s�@d�&}L	6�p���X�B�C4ܫ���ND��E	_����xz'��f�r�g	�&�Q����ս��c���T,B^�EZj����>�B�ܫ�Z(���.Ab�K婍�_K�{�5�W���+�
�Ī~��ayк�&��y��S)}-��:�5Wq�|$bE�۽eh�H��k-��}T�Ҍ6�i�����T�V=H$�󳜾>���j�ȱ�Kl��z؎�x��������X!��x`�gA$�;�+���"׍eZ�@mr�&9G��(2`=��^K�_��D,*�XBY��k��+t�v恨	Ƕ�:�\,���	Y,,�&/&p��
���u�i=d̋5DY�TgW�ȸ���}#(�+��T�b	`p��9������W�.	�X`Qb]�	C��єP�k�F�U�n��V���d\���X�I��o �Hmw��1h�Z�5P*&�J��T�*�`^�ju,
�ho�g��u��#l�x�tݽ;�q�z�9�S`�2`ϳX�'�=ީ8dT��nM���B*���)s����W��2V�eWзP+`��!k������
�n��@�F���%:
�Q
�B���Q��
�u�۪z.��,��’�#��ɔW�T,�0���~lI� ���ѽ	�Ld���p��=y<�#�\���sѳVc}�UK-X]i�p��6t���+�>�D!��j� �y@�,^zUḸ��fA͉Ғ�g|K�V�c}�:MB�
�j�Qj�@�4�zXk��eX�a@#�Ա�fJƐϰZ��y��V;%��8.X{'X"��X.(�3���Wܱ�0F��l��Kg 7J�:���/� >�z��ŀ��|��Π²��W�<m���-`�[`Ҫ��X��*�B����{���X��{ے����t�I�Մ�ޥ��"�Gk�*?�?X>�bkpx�����ϼ�<�'�}﷘,�,z�U�Z����tF8[x	�US�>������z�3��*�
�2��3rXh�o�[�w,�5��;�(�Z!�C����Vf`hTX=�G��4�e�|R�匐�Y�d��D�s`d§Y�6V ���CN�t�l2�(��{f�e�y��b
+`��
�\���%V�)�sj��o�-r���WCIa��*cR��5!+��}|{UEb��E�4�੫*�VU�!![;��%� ����XrZd�Š�
/�0%��V�0�JC����`enq�%�,o���G��vXRC�LcA�}��
�@T�LW�v��,�T��~�w�aR��˸���}_c�|�U4�P6u|i���0z�t����54�
"�4&-��9�@7lv�5���M�XQKTa���P6�&����J����I<#*X���œuEaلC����+�!Vb�aN�_��󁟷���++	�J��:�@E_�:�YG,54*��K��p�e�/Ty��r	Uw�@S���%���Z��P�G�9&��H�?G4��kH��*K-0���|*YX��^O����B�R`u xE�C�r7�����i���À�I��:�:������$��[�/�F��G[��Zm�V3��X�4SXM5�1����g5e�F�FR	����)��ޔY�8
�ow�S�+�.8�\a�g���WXC�/��0`�?|�� Q$E"X�¢��2���]��L��$�����S�-T���B5��}�k�p�.��N�����;�z���X�o
Jp�wXMѱ&4-t���X߿ʒ@����Zh	^2dQ���U���}n�aʼb
Qeʙ��*w����+�{m�����
�+chi�X�X ��\�#
���<���V�Z�+���[O�("\\�ҝ�b�Tay����*�Z54���d`���~:,��O��T�y�)�d���D�XI(��ó7���FaBa�1�~;�"4�H���3�Wd���Œ�U�4T�ީ_�����W�;�zš�aI%���D�+L��?+J�
�:��
�g+w��,	� `u��7ls�QU�)��p����˼��Tq���*���,q��J¡�o�5�#l��ƀE=)-�
D>�)��X��k--Kot|�4��s7[Ʉ�<����g V\�
&	a�p���A�GGk�p8�gA,��V*���_�3��z*������Ϙ‚��a�܊7J.�ŭQ2�D3
e,
�wG�W?�5k��D�J����-sxk$�=q�5o�x#W����S�V�7wi�����l�EMw�K��7D�&MwC����,�>3�*K-�$�z�.��$��Y�D�O?�m/���E��ǜ^��X��P��'�V�T
ʹ��,xRmR�
̂�T`!�V�C@	���X��e�
+�*,\�u@ۤ�X��u�
�zXq-��rz�������� ��Z��iSO,ԅ�ʺ�f�s��;�뼲�1�a���l�ೄ{�`��<�!����&�S�k��V�nAUX%�b7��JS6��"
h`a�Q��^�@������ׂ�V?Ra=X���iI�Ӌ�k�@u�7�T���'k�J��q`��5ܚu�GK-�t�J�;[�:b�P2�^ӹA淗�	yu��%����^�������m����j!����"Z�,*��,�e��fV���d���V���g�n�8V�uRX/�,!�� � �?Y��êg���L/ajA����N�1���8E}'�kK�X���	����a),�k@���ej�×]���3���bE!��r�*�Wb�s��:��_���/�"TqE����G�����9����ەL����ե�~�TX"8:�*�����;�	f���$�H���x%�8�xe�P�>EYh�j�QB����mX��M���
$aW$o%�g��2B8	�f	��@m���s�5�a�'.��,d>�<K������o�
��d2��jء��9!Ԏ놥6/����>���
/��6�7"!:D�퇇 #��R���9�������gqܕ6d3IfQ:.�Lq�E���ahx�+6��Yg��F�J�a(ED��mpa@b�K�‚��d�F�+�f� W�q#̘���9�w~�WS^k�-����z��}�|�}�9�IHY,��U��(&��LA���2�H*X8�y��+v����wZ��(��9+l0bY;=C��un��N���s�>�`K�wiΧ+,���r� �7��V!�ޥ{�
��z�p�Ͽ�x0�0����-Je�Je��́���#B�*'¾����9䣗ck����G�w���C�W})`��'Xō(��\$ɇ�M����VX�F��8������
��Xƥwۤ�M��vqmssE�$�EI�h4��̺�\{����O��ZB��Qt[簢G��/<�Z���馸=�
���O�/D\�H��Ȫ%��&d1!���>X5y��"�U��QE9uJ^�|�H��FW<���ʵ{+/�5O`)�$7uL8X~��9'��_r����Ef�sQ5��]�n�aY�ϞWY]?�!$�(�%S����~�T>�W�+�K�tVE��+v��V�S�?P;X�.��ZP)x�3��_��ڔ~?�
��S��a�t���4�� &T>��!kld�'rX��z��
+�8Z3����e��=�����Q��<�	��%�!7ˏ-����u�%����wDh�7�>�K9�u�]G	ZT�C�:
Vt�&j�+�4�2�'���u�W��º�y�;&�:�Ѿ��"N����+pO�?[���UX�][����$�j�����"����]���qT�WwNч�C*�Uco�U��-�"�X�m7V��-���z�[�`̆�R��$)�_R���Q�l;���_-��&�5��8����5��ڇ5>X{L�Ys�n�d���5�%�:�v�^�<�6sW��^�:�^.���c�ݵ�1��H�һ����
+��m�����zr�X=���HNP#dr1T��н=�� ),!���ʘu�*o5RS��$� ���XЪ�r��( ��7$ԥ}�Uo`��2���We�$'׿~0���=�CΦ(,��0���p��@_�8jɬ- ��*d�8D�
��i�D�07x�j�@慩���j6v�
�|�\;��ùVC�l�z�j;�t��ʶ�A���2S��.��*8���X�\H,�A١	b�2��ess3Z>nBɍ8�Z��/t|�E���y�~~p�Q��8������F���gQ�|<�G4ʝ�XQ0�����Zj�����]�d���Ϟ���kx�'O�C�X�2�T���Yۭ&�Զ/e�B������J�U��
r�>*yձ�p��T�ʶw��Ru~>cb��h�\.W�W�����&K��$�(�Z$�߸h�ۗ�56;����20�uu�U���s0�K�ޭ�B+�5ɫ��&�X	������fFڲ+����i3��N����v;1�����'NL���
%��^�c���/,���:8A��u���Jw��B�4��R�d<r�d�ȁ�KM8��-1��t�nb
u�Y��y��JG%�t�5��XS�t���?��;�;{.n�[(^��A?�v4��z7�dhT�Dt5��>��2V&�NN�n}�g��2��JpzE�Ty~�cH�ղ�BQ�o8���\Kȯ@�Q��`���zEȲ&x�p),�l�Cs��U^C(���zs�;�;�X�����S�67Hb�-�ldqH���U?���Rm�����a'�!J�-��KA�%��j��G~��7�>���V1#�d�i��ݝ۩2Z��Ӎy9c�|h���A��o�5�
�`�p_:��Xл���	,��F��Yr����;ϝ���R_	qE_�,ה�E!$ܑۃ��:�dp�W,��c�V��B��>�I`Yc�����>����@��M:%<J�o����7�*���?X����!�0���̺�w�UD�rT���	3��X�K�7@��TZZZ��|�\��w-����%�J��^>�o���G2�L�/H�4�Dg�D���x
�Q��	k:EܾkX
���OÉ��ўӃ�>�z���*Hbx�x�A�a5Y��+S�]ݞ���<�� ㊓����U�%�hunXݛ���
7
RMnL=��l��\R��(,�,��?eR�F;�H����23RY&�➡dV��.a�'�ɱ�8���O�}>�,�sC���%'�-t����sf�&T��q`�����I�1@债H
{�!~sT8��U�X�`/����+���v�;�€û�@#��0ٔ!��L��=$�Xh$�
,��?eT}`�9�*�V(�.N�s���|rX6��F��1��y僙i�2�H�Ϟ�<[H�b�����!��.=�9iMQ%�e"Gofz1�L��Ae�'��橺�g]�_8*n�'n�*z�s�(����TW�tr
 d]���
Rz!��:v���	ߕ�fи��*�Vˡ�L`e����׻1Wj)T�r�F`���u�r������Ғ_Zc��W;W�
�Tj�qT"+�JI���*��>��]�sx��{�UU�
)�u�g�*�4L��0f�kE��%�4��2��i��aAP:O5+ET�ڊ��J��XC"�tPh@��CD��&=��4z�2\��)�7�Q8(�t,(95al׈R��VX+��@q��0�d�Y��+���n���E�w&���‚5��;�N��l�z�1�X��ӫ�\���ˊ�v�*�Q!a+�}��$��+�ä5�9d��3!d�*�+SB���/mMBKK�x��qW�.-�5���CY=V[FDH�*�������@U�n�Vt�[�]�7t獒W*����IieA+o"�v���Rn�qty��B���-�s�x̛^޳��Tۡ������r�>�?�>�\n�j�9,�t�S���r�6GڭM�X~ࡪ4�S���$V�DV$�����,7�`B} %�a��<�Oªad�L�Ya�9�~Bf�a��a�R#+�%�( b�T�#�AT\uZ�L]�UH*�dU̫���zAt_�vq;�Eu瓸�2���q�D;*u�ɻ��<�u6��������J,
���G@���X���$�8�_l!�({���S.�
�o_���W�]`��yK��(�śCo���J
��MĚ
#V?	.Y��P���
�YÇ��*�2X$�B����]Y�̀�7)�B�����TX|�}��x/�'݇*�Q�Б�2.Xj�[@3��Y�:��G�k'ZI}%啁(w�0��Ϋ��a����)k>XX��g����oXHdA.���2��L�X.fER�O�Л�:&�D>���NN^�_������_���4��b�槧�l����6���|5�[�����{��q�׏{{߈���aaTX���
��DŽ<��7j&3�~��c��A�ʲ8n&k�������l@�����*�6�<�&.�I�J8N�`ǨHe!�iL��I�XOP�»�f�HcML�1� \�a�^?E��8��s�O��8�ߧdY�L̏������*�;W%u(9�KsX�OX�
1�Lþ�Dﱬ��Y�ŬK��Khf?�k]����s����0��>ï!�v�:c�s�~���cv��-�u�����w�=k��
�Y`J_��z����u�����T�x�\���bh�)V
�b�h	�Ŗ��f�����,�z�X��wX��˰�@�|T*���S�s��I�%���Bn�������s�V�ā��%�J����b��l��P�����gg���xőՇ6]@��M�#�=@.�����|q����WK���2�U��^�T�6c�`^��,�%Vn��*CᰄNJ�ϊk���J�x�U��+��F
R,�*	�;�����a<_�5/�U][��o\-�$�TԎ�D����r>���c�>�;��3F1vv�%]��Eag�������w��=["w	�rw��.q��p��U�x%��0WRW�bY.���pXEU"�b�r��'d�,=:���!`�>8��%����QG�3�DV���w|'U[��B0X�`q�4S�535g�s��i«c��
2�b�b��o総���a&|=I�B}VO��:��W�9��������9I�3�\�_ݭ0kŖ���MU)���d[,U
k&uGV,�w���Y�d�\��J�U�,҇V�3ь�eG��W
Y:�Z�G��jh浾������FM�hN����0`�1t	dm3T-�"p�nGQ�'!R�W��$u8p�cEl�_?	͹x��Q�n�J1+I��l���)�=�W��U��2�����jnM(V/Ŭ5-0Y+�f�X�eo{�	�R#�z|�?�X��_t�n5��2����q���)�{{
э%�ԁ0k8^
��
���X�1+(�żUP
��U$�a�Ů^W���z>L1Kr+z��o�@�������ux�����˛N���ry��wa��и�֔��a�0�
y���KfF�>#`�>��j�jO�~
G�eY�c�����;�
�u����{���!\V!xixv�q�"�X-f	�����+�Z9��KZ�'<�OU���o��"V�"���֊���X��C1)C	[�����C�*�m,�̰�3d���e7Ȫ�肰�e���d�����܅k��0�pU��k����U�]V�f�����Wa�9�%��"x8�!���}����T����j�.knA��wY	�(���P"k��N܋n�j�
`��+4�L�4`���E�����iSN��;!b�U^Y���`��Oea(�Ex	�
��3Yc�Vi�(fiV�=�Z�k@Z�<4��ĬP�DV�u8��Y�o*Pn⢰���;����B�
��Q��h�p�064������l��{Q�E��j�AB<kÝ)l���q=���~�ZXRc�P���a��r�Cd�c0�_�4!
�1ʯ�LY���'T��
�*��V�*��ՠ�X*&��YEa�0b��+F+;sW���BXzE��:5T�AB�+QpV�Ve�d9��B�J������SP>���[�z�U][*����8-y!���C:��j8d1f=�K��V�T�
�ѻ��SV-(*�!��2mV1(6a�����FX�c���=vrwL-Z�b)�%+Bm�dV��$X%�Y�L��4JH�"5���M%h��U6<ĪA�����$����]
?7�n��6W����9~{�`��ea��'�
S�
�@KF�qX���o�B T��	�G$]>�Գ
A��{��]v�ƨ*���L��zF׊�dZ	{K�Y�:�v�n]u3T;�t��j��b�����R��ɪZA�ږ�][t����҃�E`kTd5Վo�f�c�`�vQ�cZId�Pr���B�*m�ܢ0��	Q]���D/�ΰ28i��Z��+v�w�z�,TM�E0X�_�WLo�aU�H���+	X��Qi ����B�&T�jx��-�+̮-�,���ьӰ	V��qT�N��	�Ҵ��
�sPAT��*U]Z��w3p��C��?/s���{"NJ�B�w���w�+E+tY�0o��?�e���G=�J��� `���a���X�_���R�r��λӼkV�{��ރQ�~&n�,=�� ��3���yն
B���b�rR:�X�g#Ԗ�~u���f���}L�ɽ�j�B�}�/�jn���eX�`��$ 8��m�����i��X���@�5�f���$+zdY��Z����7W�`�Նς`� .�9;.H^!\��?+�����[i�e����05T(1��0a7�Ъ�}���W�9���T���]ԅ
Yz��od�����r��F�im8O-X�A�"]dI�V�_e$XӪ<tQeN��g��a�jk�F�|P|0�M��i��)�"ք�h����v�,����f�a•&��+�ꨁ�4�°.�wW��ѭu(�6��Xip��R+wXq�hcp˪��X�3�(�H5:�X��rX�4���
��O๯<^�����ޱ�
�Ya�J��#��ְȒ�������P�/K^���]!�����kۨ�PM�b��\��,ӌ�b��iiP-X�X��E��b�ڬ�W��W]�j&�£�pI�|'��[V�*d�S9u��p*�H��F�1Z��o01U����2�����v(�)j�%ϼ4��sjAD���6�
#���3+�c����3�ʼn�UW�$I8XQ��[h��؅��0�9Q{M�UhAo�ޑ�\�"�E�8�s�͝Dr���M��D(>��ܥ���|����(����?��K��\�;+�H$�G#�D"`�H$�D"�H$��E"�H,�D�"�H$�D"�'�&H$�#9,�D%!�D"�H$�D"�X$�D�"�H,�D"`�H$�D"�H$��E"�>E�}יg��{K�"�H�W�:��H��g�X�ű ��������H���ꌧtd�X���Ngg��޶��r#�v{������ۿ働��^�~o�������i�V����z��A��h��Ba{��tH����\	d]��vvvwv�ʶ�N�bt1x99�t�e�D�X)���;�2V�N��v{��6���HW[
�y5�;�貁%pe)Y�����A�W��մp�Uk�+B�tռ����e�ʽ�Ik���^�8�я~���+�~��޼G=�k�}�"�"���F&�h�j���n'#m�'g��̧s�ŽW^�y�֪�{U�DY����D��b�zti����1՗X���3��w1�{����2x�#��~�(|'��@����^���
��|�`r&S�n���
�=�;d��}�~џ�t�?;g�ڸ��q5����<O��E�46���i��r��͊|����\�K�EJ5�1�ea1��°b\�Vw�����Ilo�癅�,�g��7��boz�ms `m��j�o.Kq,�<oi�*���{K�k��UC�W��y+!s���:���Ό\�ϛ�I6,��(��!���n�m�4�+���[ۊ�Ⱦ~omB���Skr�w?Z���N��C�$o2��֘�r����+ �v|79i7�6�OG�6q_a4����1��W�������#�^$�^��}k�;ms�S��CXq
���ˮၜ�e/�T�[�ɐM�|j�^g�!AiO���\�{�C�vܯvutk���B�7��&hf���w��s�����b�����-*�n�<�
�5�32��PI��T���yU`i�כo��)'����:b=��维=Vb�X*!�>�%�'}�)�
�ˏ���j�V�35��K:�.i{#��|�?Z;��A�)��~����R�/� �v�J��ع,I�B`

�܋�Hu��w�*��˛6���k^\���N`=��X��|H��/`-k���y�2��M���`g��
��<�{`�4�A��L!/s�j�����>]���+���F�i32�]�����һ��JI�r#kIu��(Dܗ�03��u��hF�)�pa��*�Shd���d��cN�ǦpV^�P�4|�￸ֻ��2�,��:&����`UL�X�K���E�:��q�e���<��o��K��<�������&��8]o%ȶ"�p�>&��}Kۖ"�	V�/�j���y������J+"&�yO7_�l״�����|�c}�0�	%u7-p5�1���;VH�I�`���B7������ۯ�,��q�w�G�F�N`���Z�VS:=4��V9侭��k��	���<�s�U��R�#�YU��v�܅�;W#���y:}��k
�:�O��ml�X�6ٞ�5%�O��}�l��v�\7<.}�����S5(��M#��&
V��'$�m�;(|���:�"?-oP�v�&�9�?���Ւ�ƼZ_�&�W��(��5!�D?�$��D���b�7J��5�	iV�m�Wa�E7ax� �J�F��tVH�g�i��K�
����f�Y��KQY��4a�*��3\��a�1�Gc�hS�xh�7��v�հ=�>�*���KѪ�)��96��\K�:*9_QА',���+|��3<Z���O����?�5��
5�B'pn=?[����o�%�6]�?�h����Ʀ>�>��Z��	uOp�:�t�LiĦ�F�1,,A�;g�K�6!��'Vf��9���X��1d�.��-��1\�	��>;��l	/�'�ʡ.�Z&�5.(嗷��-�*��W���߂��va�6�e��#
��Su�������5��3���'�0��\��c�
0���q�t#��LV���Ĝ€�X	籽��u�ʧ��&���cG�C�\�u�M��BK���V��*�d�a=�Z�@��0�e݁xX`-�1`�z��	��DD]\��xA�mj�0�nnv���c�:�ט��c��(���.�[w�V���$�
��3�
����0q�}:�m��Ƌqȥ-⭅p�#���wF�+�^�.qF)�3�K�j��-�Wa�Z
�X€�L��k�Ɛ���y�BU�.<2�ĕ{B�j-�F�i�2����Wc�"/�0���V.gM7�MA`�����m'7W/���XBu{��k�v4x��D��QQѐ�~-�0�5-G޳k��K{��D�#u�b�vPWVXBkӻ8E�{
�Z��&UW�pVһ�������a�1Q`�w贡���d錜�9P�v�a!���I�,Yѷjd�T�0�4�_��^C�*�
k��IH�����ȉ�?��Tͼ������Nm׏���z�����TO�gX��Q~[�a�=����ދb�a\k�������a�_W�5K:\�6{1�!k��
�E��" ��ŋ�X�ڬ`U9�V��Jc�S���̀����c��{�ƒ�����E������_��r�t�,�9�*;.�
����$�.��>md�[�	�����/����_�qΚFX�{��H��Lr
Y$V��n���̌��́%�v8|�1,�8+bm���h�>��\Z�Uun-�<�W�MX����:���$�aQ�n���e,�İJT:m>��,a9`��|�0�]\�UZ0
Aw�\�lU���o�.I���T�O�}�.�����X�i��^�N�W�X�1\R'q�Մܳ�/�%���@�u
,�����.�',�}�՘ZabB���h��S�|��8gMM�ؤ�u
,����Db�%��n��������sp�v�e˹p��{ψ�F����,��1���u�Aji�0(k�&X+r�~����U�z��%�u�,�!�N��>��tg��KH��1����X?���Y�p�������ºN��)�^�/⫩/�G߃>�fҝ�Y�<�g���%ԩF3N.�L��<����>kU/�il�Z%�0�+f1,�]~aԊǢ���
��+3S�8`'r��*���!Z�9�!X`�x�Ʋ�/a�F�x��#����kV ���f�j�
�OM���^�uќ
L�t灵���ŲG5χ�	�������~F5��O4|�K���������_�ѳ~�Y���a����ds9`1�E�Wr}[���tA�ҠȘEl=c�"F2��������&`�1���R[~?�U؜�Z%3�)�e
q~�Yo�����5��s��5 ��J��
=��'~�%n+��CgE_��2��c�Z�,ʐ�!�ٷ�p:6J�_�M��P�y~`Bw�֨͞��'�Gtl�"��=K�y;�B�n��X�n��Q��i��n\ְ-��̶�a؄�Q�*P��v���K37(�*�=u+��p��KS���f��V��e[����{yQr_d�-,��,�E��	z]��A��Jۨ��T�>wq�*��w>��cwO�E=X���6��ɴSJ�a��%�R�9�5���-��2��5j�%L���˘^��0�%0��� ���h(�AC/	%0���s�{O��lIql��L���ı�'������!�j\��x	�8A9���N���'X\�w�Jf�����3&X��#���`�n+w;t��B�w$/����8뮵V�;��%XN$+m3��n��K1p4+���t
��n�:�QI�5L:Lw�82�L�`y)5����դc��ޚs���^(<�5G<?���z{��v~���)�:::�]�4�>a�6h+"���*�q�>UsM�w��6�kR�E�L�f���O"X��VZ%7K�/K��&W���ʓ�ߊy�!u%���Fv��]�rX�f�R_��Z�Gf��-��1��v��,��Jt���t�m���g�E�֠X�5�QfCV��])��h��r�Q�q.8��-�`�[	�5껧ђ�'+�Y�����o��'^��o~�ax7t�7��r���tV���C�W��ϒn~���"o~^���|���2L:��>�|J�ҧr�4��2�+��A�(��E�V���A�b�9k�B��To~�p%a^t�O/cte����4���#�
<�=��Q���	V��2�M�����P�LX�*�����$+�&��/��e�'��]#	�f����>,�~�<�?�
���%�Ւ,���Ab?�2��ĉ�"&�c!V/v��6�H~�H̯ï"&�9[���0:�����D?D5�!_'��W�}�*��@�d��tK�����L����/���'P�?H��W����]�A���� UdjX�� U���#���G���zT��U���U

	��t
/�Q�cy�^;"�Pt�Y���&�_%汾�^��_�Ċ��.T�K�ƺ�����R�Y�~!�3v4d=?�ۋ�cA֓�q�~��\j�0I�.�W�ϕK� !ÿW�B�A��B��0aɊ�+�iH���&-��ǐ+.56���^����)�
�v���� %$Y�F9Ӹq��)��s�ޫ=z�D��G�&���'O�j�_��샢�^�ߚ�������Y++v�Mq��J���Z(��uenY��]��f�EH�@�x9+0%�EHV/<�J��`1�
�`��ٔE@�b��
���@���` X@�`F�Z�w���1w�� [@:�Y��\	ty/���k�/z���\�,H��
��1L
HM�V�+X�0) -6!X�+)X�'X�|z�\K�җJ_a�g�kk/#��,J�ڽ�S���:�y�1����YN�W�6k$��W��U;Mɺ
万*�b��n�`m�9��I�_�{��=^� X3���P�D�"�*�"X�ayr�fj����YD��J��6���D�6+9�
z}L�|a�]c��Y��N������"J�&�w�G7ֆ`M"XL�HX5"J=�c��͉��ÚD����ԉ�p6nkC�"���PL��դGc��+j�(X�6Ak�&kw�n�s��:s �+ԁV�V���W�-s�s"��?��v�e�Z�eN��<M})��Qk�?��7o���ԭ=&��+����~l�4A�Ά�N��N/�
��v1�d
��z��$ַ$Y�,Ή����U��4��\&G��;ĉ����
���u���o��ك.9ںV���k��ԣ�I+��n.��ڳ�[�����?�����;-�ڶ�-�`MRQ54]s�.h�"���t�h�*�_
�rr��7�۴��4[i~^T�;��Ω\� 
�q+��e��@�Z�a
���T��V�Z`]����\5�I�(�'X�r
��Hk�x���޾�Ç?z����ۿ����xng/�`���)�KtA�a���T;����E��,/���*KI�5_�C=�Af1���D�<��uA�+��|?j�R�U������CN��u��n�2	Vߞ�:���K����?��''�O�����阵]C��f�ػٜ1²�9�Ȫ#�t�F�9����4�8�� ���MA,���d]�`�'��D^�ɕ��Ig~r%r��Y��x��b�U,&X?��uA���@o�1Q����i��#X-�����,;\;�WG��;��Һ������*X�ov?�U���w��k~{�-jEZ��6[�
�� XN�X6�r�^�^�u���[�`Y�9w��W*VD��A�Ek���:P�w�*
��,X�(��]�`���,��v��ӧw�`=x��������>��ݽw8�:A���N]�ߊ�:F�2�V�`ug>W��Kay�0����)l�#X}�M.�5O���ڈtS,r^D��&j�I����Z�i�žP����Smղ�Y2h�_�r�0ق����_�E��.]�۪[��b\�˨h�`�zErT����q��o�r�r[���n�t��=R�r�A���9���2Zy�i��U\�ZUy�ﬦ�l��-b)�}�O7��iT�B�Ê9����z��?z�T������zv�:���y����_����a�����b���{v�����l��:Y~�b�b�`�����*[�Z���V�
�9��(����n����|s	��n8V���Jq�[�E�:w[-hirXހ���M1�X�F�
Ջɚ�m���k�ږd�Z�|@����Mi�"�.�ȑ@Ֆ��uRg*]X�^dH�-R�oަnR'o�m�r���u�=Q+�Y�H��T�etK���+6]�Y$�m�+ct1>��QD���X�U��˟f�na>���1M��g}·�mr�:k�M����Y��Ö���w�Α%��� �
��3v�~ޙ��R(1K�7�+�:9C[�*I���Q��j�H��E������k;����O���?=88898y��_|@:�ow�<���Efm_����ai[�k)7�dР���6h�j�U��d�OEڇ��pj�?ؠ&�q6d��(�j��*_�*�.�Ӡ�*��)堹8:�4�*5�&5T[ΑҥN�T0�fE��WL������T9,'�R=�br�KuC,G�4�� A�΄���I�^�x��եUc6�J�T�w��79b�ĸ�߳�:1&�"yͨӺl���|/����n�&�v�'��+�s�ƣ9T��V�2q���
�|k-�]YHQ+!m�Zᰀ�a%,A�ęN�J��0�@8��"��$��
YrD1��d+&�P�h��!����o�L�
�l����{3o~�~�}B5��D�$'1�b
���U��Ui�R����%:C܌nUɨD/v����~�J�P�#�,�������KB@�ohhq��V��7�/E)"/+�NFi���0��K�",>���,�qwAVXb�l��ew�P&-�C!���(���?7DX�8��Lք��Z����ra-���R�;�W�ei��7_��K�]�n�Tg�g�:sWrsڲĢ
+	�U4�U=����K�w��j�tAϔ&��OX1�#,���%�rġ	��3��8�ZI�.G�W^~g�.<�#n��>�B����w�G����l���;t'HJ�M��n��"K�*�ƒ6Db1�e+�F�5za�^0�e�S�Y��÷��OS�`e�x�",
b�q5S#��G��)��_�y��|�1h[�M���<�-E�v&ú����2ePB6"��{q�=���0���=�ͤ� ���㛩��n��������?��fŠ�$V0Nq`��,T	u�Zvt�T�	�
�b��P)�%���i՗5*,!�P�yC/��n��d�	��x��Z�0a���Ѧ�s��m���o�����
֓\.w�+w�J��\��E���K��z����8��Oç�4Z
��Ia�-��Z;��a��9<�L�lNKIw��w&f�����F��Ó.���8��os�t�B9�C��i-��(,"�T�O���*K,[!j,�|�j(/�X�n����UB{���q�f�����P&3��یl��IY��^o��aizT�X$��u� Б�D��_YR/NX-� �%�n�Ց/�HNš|���_��ы�u���t�ʹH^EJ��YD���z`$��B�y�a��T�/������Bn� �#�C�
V�:�<$dx�e�i�"�h��m[v�W|�ֻ�ߺ�t��OG�<�����e��rC��(,��'D,P�ɸ��Z	i
���@̿��YߒO�H��O�9�r��W6��t�}wᦦn�����QZ�媴�osAX�jR:߸]B�"����+g���f8a��3�'�D#�B�e�'"Lɚ�O����V(�>�<qׯ�$��,�G��Q� f��Nm�O7��4�+�����%=�y���{�<U�tU2*�',������{��I�ߴR6m�)��O�;��m�	k���N�0���n���hGd�Х�����B�4%,6W7�dQ
�/�������PlO�0W�I�
�lL�8D��d<�2��9�JS�	_��o�G��G'O�zx���w����u�a��u��\m�B���4�_�[	�
BI M@u���GL\`
���oIV(�cH2U�(��dv
|��II&���&,���3E߄V���,�ل�(�F�m,r(�F("d���6�J
BB83SK�m��1����'�5��c���~�\�a���ijZ�Y�c6TKFZG7��殟����,��`<	�xD�iz,�w��,Y�Ä�ϋ�KM9��f4�-Lq=�5i��,��hJXvP`m"[�(�:vN�~?5p���3=p����d�LӜG)��h���Wґw] �hL�ղ�3$,1^6s�Bmf�����%P&i��!’���8�&�����-D���=�M���bq����[�,���㹑����G����
���<�����>�<_!���45ӄ��U���%%‚�ɴA���j�d��0�����!�bnN�(�6!,=me�l���r�`��9,�ª6[�y�:�#i��X���t�,ޡ�M��j���u8��D��zC����#e��W�/��"8f�4R��.�HŏS�I��D��e���u�e5#V�����������	����ӂ��
2�g���Z
˖�L������=��t߼F�=��qs�i:�!7\�P��y�䁮�2��G5�E�A�B��R���x9ؼpt]P��^Y�0q��cV�*��
���I�5#�&态�*�D{r���D��pq��W��>�:�فܣ�S�/�kl/3�����J����B�
}_�<�0	��e��	K�����oI���y@+ZUes�b0SFԥI�GE�a17�(���„��䍼c�6.a/��0��&,��eYw�ê��	ajcfF]����	��VS)a%1�a)n��T��O	�~; ��W�C3�=�X���~��ȉ���Ł��@Vz�^���Y�=�|/K�P(H��./�{�ŗ�������/'��￵�㕕�����F�:;O]=|���?��$P�&���C���;�(�V)홝�",E��o��� �DJc�2$N�J�Hu�r��+(��P�Q��Z�_��ò��
͹gI	VLJ���Y�3�[���~�Z����AL�fYwQ��|MSi�sx��Ѿ{�����b����wu��wuv]���O����2cg47�F,��wּP�P�jZ����HX��
RX�{H`Q�JH��H?	��j(���f�2�V��+,�����O-��Zk����k��(���f?-v�+.��sl�?�aj�o�>�׎�q�(,�5!,�e�}���?�:{�f���X�ʻ�?����5���}��Ю�1��F�����ӯ�x���jBX��!,���pq���B€�j�DY	��S�[X���_��\JS�[���f�{�	K��ri!c{��8_'&F���Ύ�߹�瓩��ћw-Dz,E�;Wo��}�����ϟ?��}�ۡ��G�?��<u�������?���~��iH�TaՕP�\�U��uUQga��5d��F]aI�D�",���렵�F�v}�V�.�kU�<{���o��o;�����?6q���ԝ�e���T��)M*G��e�cڸ�8!3'�*�I
'�U��_[��JTmI%ꚨJ�1E8��T�i���#UDe�*�!�N�R	�B��3�`�U'���"EZ�
��}�{w�;� !����{����9����~mY���	|�|fd�w�������ǽ_�{��g�`���QYy��m�JM�=2��P9��$c�kX�C���6�+!�=��ħj/!���a�_	�������^��:�����/\�ێ��O>i�=�쏄#��������D)��8��v�=q�&a�jh���/,��w����g��7�!��BK�m܎b넕�a
��K7pT��B1�noE����gx�Z�$��}}�ݽ��}�^k�j�m���K����w����G�[!emC�~BX�C5#��m�\���ٽ���66H���mĖ+eG�{	I�pE��-ݰ���N���+h�D.�BT1�u��s����i�}��� ����={dnt����=��EI5"��mi�	i~�������wr��w��z�3V�z�u�� �	k����������N:	����S�θ��K�|iWgE����`@�������ѡ�7���}K����,HS�
���������|�H����Պ�W�s�36�
ǭ�I(mc�&����,o��r]DK]^�Δ�}	_�Η��T����~�WC�C>�@�|㨯�Qks��R�z�:g�dsSb� ��t^\�]�I���F������3�z<?��j�Ae����(Dm�#,��䥝\"��\�M�s��a�aE,%˜wuT�(���G��F���������Դt�nSsssg�XX;�Q���e3N;�%N�	�����9w���|+��ʳ
t�1R�l���	kgWum��;�'��&��"�%N
¤�fx�(lIW��
�JOȔ4 �z2*u>�h']��~q�6k����j��q��ݎf�`IQ�E�P*-����5��lh�y�k�ZσՖ����'��!��M(\���d
6�ݕ�M(�niJ`�f��g�33^���(,Ja��K�{1-�HU�$�˹�ˋo�B{�P��l[��Ç��65u����b$j���PF*-�����2�>&X%����`��2+Zۛ��{Zۻ��Zpi��1��iNrK$�Q��fW^
�����h��f�.�˶���~t��%��[o9F�G��ۦ�����G|d�����i�d����'7;����?zT�/8X=��na�Q�~������{v~^o�%o��[�]Ґ��Ty���� y�᷁n�"��]�g�$2�\�U�<�*��'�a�&�#_|M00:�D��j����/�&$�E�0�1�N�*-��>q�S{'����y�HнepP
��Gm�z�2(M�r�+j�z��U��_%#�E���ȓ�J�j=i)@wR���O�.-���N�:��
��J_��S?�~�|MM͹sW�4�_��~I:��6��[?@oB<��,!�pm���<Z=11q���ɞ1����?����m#j;K�c��S�F��Ő�����"t%��{	ݬ6�7�g��J�ER�vx�����V����v
Z[[�[�r,�"E���MԤ�d����'˝����_yo����5�3����t�a���,��bRx��$�A��%{
^/��aE���H߀)Z����Rw�� ��x] ��Y������!_�Ù�]�Z
a��&�	A9��iJK��s���>~�!�7�����w�8G�<j�e	�HY�<���E��,D�U�<�4i��2P#�7Ƚ�k^�Ix���Y�	а�0#IƩəEa*}�*�Ɔ$3�l�u�+35 �DMН�[6!P�:�13��hm�]@Y�˂wyb�5�-1�����Vّ�{X��G6��r!0u;��9X4�%��V��힑_��:��O����S�Q��{���`Duk��[�j�t����y��N	^���(��2QiI�v���r�O�'H�*��y�v:İ�>�K����7�6+�Hw1sz���>�!���Q�6���V�0%wd�"^w����p�Y*	����eP�J�'�Y)}��$�W1+Ȝ�
Ä�ݩ+2���Q��U>��h�o�6�8��������OXՑ��dƯ2z��~�t�
E l@bxud�rԮ3� �ж���*;�C��m�0.$��칊��YPx�lߥ\ۨ���a!R3����J0J�:�z)\�|�3��R�mD,�@ v7a���@ ��	�@�Y���H'k
U�@ �����X��@ I�qp�LX9k�"	X�I,ace!DR�X����@ �A�@����@ �@ ���%��Q@V&w'

��
�Q�9�b�x3d�E1Q�&�
0��e�1wS�rM���bb��[��3VZ����u91Y���on�ǖlV[����b� �%*4�M��RQa���)�6Hc�HԾ
�,J�)��|zB�n�����񊃥G�FJ�`��\��T{�`N/ssY[�%zR^��>���2�G�=�/����d�0����)T?G94��Ǹ��H��iX���$�?e�c.���k�P�]dU[�MrZ�DE��ڒ"�	Z��,%�2�H�E���pBq?����^�=MT��9V�TLa*�U(K�T����d�ܶ�T��&���S�P�<��(4W�9�ڲ�s�ljB�Z�R�Ym�Zm�X���,6�3Q!=�2�6��O�dE���U�(m�g
UQ�%Rk/r*RR�̆4��k�j�p���l���<I������I�c
9b��U�X*�Ù�����̷��#�I3��]w؁���1�*����**�r>W5�=A؍�RR�#Od� K)T%�*-��/��ʢH*��RI[��R����c�V�
O�0���JGYy��C�wd�R�*�$�,>F��Xq^,K�#�dN�d�R+ӧ��9���q�JMY\U��V ��lE��ZK��QX���r�K�˼+`���#W>�G�c���2)�����1��OV5ז�
]��y�iq[Y�p��j��m�����Ydq/xfƫ�3��2���s�M�꭪�jɞ�˅����0~x�회�D��+�׵\
iؑ̕�o3��D�֞UG.�M�/��s�5�2f�&��+�.L0zȬbp]�-�_$hu46��g���˪l�����+0k�I��uV�L�<���W�<����̩�G/JE�b�N���K�W��z�V}b��+�C���^��KƧ���/Z[��m���"Tcd��g�]���b�ei�WR,�Y؎�֑i��R>=��|L�L�iԉ@Q�WU\+��	㛾q:�+��4�r�j%�5M�E��\�E���ݲb�NvE��a�KA������<S�V,�a)�D�jC_��c[34�����(h��a0�B�a-I�i�6l�[ʤF���J3��V��
�/>�-񆶋Q��sP��*�.�0���aL�ȭ�KH��\6D+���Y$ZJ&cË!EsK3�K�J�B�kj�Z'V�y�"�?D�^��T7�^MU�R�Zv̫��\��]\@�G
KY��(e���g2ҫ�����5��@�J:�+ 5؞=���܎��E.�v��b���XG�*�RƁa)�E�r�`E�,�,ӯx��*~�')�B,hV�� mg����`��k�կ��V����S����*F}-�D��f��5j��ƭƕ��j�a`T
]V���)��H^�k�]k���܊��ZY�]W���`��w(/
�,Y�*�D����뢎��b�:��@$\��:���6�q�� u����HxP/��WSǪ���6����pũU��A��I���D�QuB���_��d�XB-�(�Q$&��nĶ~�a��ھScdYi���:pH��v������I6,���*�^ԱV�XB,R�W�Xd��q\XUH5���;�>Ͳk=���,����s�hV�|Np�:۷V!��*�_�c)��Z�4�9Vΰ�E�e�8�t��|̪Ɲ��C�
�e~1��zX0�
�L�f���I1�A���_��T�V
�ZS��T��/	��W�-K�D��Y5�X�i�J'X+�"d5g�-ޥl�($��]43�]L&W��b��\".-
��,\'B=`ܦ�د�	���z%�Բ;Q!xZ�[L�S������YlY�+&X�wr#����H������A��Q���οO7h��bw���*�K*K��wv���ׄ�(֣e�k��Y�tLq��r�E�Tu1��[U��*�[p�(Ua[�aI���a!?��3��"Tb��r�er'1�ܧY(	��Jk�T &�Sԕ�K.�ׄ�)��]��)<�(N~�Z������ʰ���%��Fd�O�`O5fo�_卥)�*�مG�Yv �`�%9�!�ī*����?Mvd!��*fV䲐.�J+�I�6+�jFfX���:1,^���Ȱru$�J(�^o�Ďr��Į��U���\���?aW��0�l��bo��B��0�;kr
Y�U�A|^����[���d��}N�]�����9��������x�𘘕R��:>�Y�(U�z��뚡w+e׋rve#"��"���� �
s��5�j��&_J�+�
��-�`YX����������)�Jb��G'c#/��JB(]%�� ^��1XU����eh��x�*ӊ�+C�R�Ҥ.��a�#�� 4c{ڃc�B�� ��3���ye�j#�U �#���xB׎n�\�/�,�Ygq����Wk�ҧ�O4��zP�O���SǨ⑷��:�+�[�;�-����������}E�m�am�Od�gׂ�&�V7��?���?��fMJ��Q�d�/"Y/>�JE�ˢ+�:�mE��-z����T_E��X�-N�V�R-���*g�L��3�Mպ��B�P�
�òi�k�XH�8ê�e͋�F�ϯ[��Gym.�M�|ÒK���4^�e�F.M�un��&yWpn��
0mV�Ì�$��}�� e�.�'�O{�n�`�W�l]C�Fi޵�\ڼ���v/�1~@[�� �@�.�N?�k��հ4��b��
;0��:�u�C��
;ͱ�QO�)��L�z{}+֧W�2���Lه��"}ۭV�A���V<��V�(յ�VC\	��'o����I֑��p,�et^
Yk1��D���Ā�����!�S^,,U�,�����q�X�N��^j��R0X��{��H��Ч��T�9Ú��6��sZb�*�*�,�4_�
�b��&�2f:���e�T��h��A~
áJk�rE|ʪ�G_���KKH��q��E+���XZ��U!�߱W�s�xtυ 슜�P�s;s
���jG��U��K��)tUqv�sNա�V�N�F�B�.;�e[̳ՈF�<��ӻ[ESA�5������4XeZ	-�;�Z��luY�k�X�"n5y���ĭ��X�3,�cy�zDc3,�^=�b�#����(��j�,���I��-��=Y�k�je�p#�oB�U�vE�!�
��X@�g����Jl!ɚ%ê��\�p
����>��.T͙T�0�|KYebH�#~HG�1��H!��o���Y%/�]I��fZ�A��r����x�% �j��aH��3��g��l./X���W]�'6+~��*�뀫�Wl[�C��}ncXYv%�U�&Q��V�-OjX�Y]���TL�y����aMF����^߾'�Z�Y�3�U��l`�7[DW�r,��W�x����h��	@�E�M��h�ʖ�j�ea\O�,�
��!ZwV�X���'U�+����������b�a+�fT�p�0s�5�r�bZ����,��\��ٝ�e%`
��h���N.>�Jd��9V��X; k�k7���Cd�/	�S�`�(�.��K���nEjU�D�Þ
kP`֞��Q2�4�R��'f�c	��=ȲJJ-�WB0U��܃T6p(�����2��ojޝ^�j�G-�-�ڀ���n+pIf(����>��p�"Y_Z�nY�r�j�^4�nZ
2��ua{�S۫#S��i�@�ʫ�������ƭ
��q�>��݈ki�5*
��b�l�кG��vbŔa�t�TN�U��u0[�JH��V���9��t��niGJ@�pe�e�J��YB-��,)��zh(�2��yn��s�W���Z>�OQ��E�3G��>sW2���`��6L��y��fd��~�Kͅ�ր��evPRю���/@���At�pvQZ	�dh��7���E喝�˾Iw5,�b��Wr�S�qž�f\�7iջ�5(˃���auR�-me \%�dYV
v6ū�����y��<�xFҡ��`�j�ĔR��д��FVZ�%�f=����C<>e��
A��^�BY�a�`��z�%=��R�����}%�ץI��e�
������q����zﱍ9A������yWf�������S�y�ױ���V֖q=��F���C�(D�}nq�j�	YR��I�Fﬠ$��5|��7�WG��EN��˩0�⊑E��X��мBd�`��	_�]d������iC'�,�Z@�
�\�s�;����Tsz	%xbd)�Y��b�Uo��N�*cߌ�ܪ�`T��B䪐��T��b:Z�К��*kz��U��#�S��XvB�X5F�*Dr��3��j��j/�U�Y+��Y��ymp�Q�@^}����u���A]�Q�WX�����������+kE7;�
Z����+��:".k+���Qwm�l�3[C�6`a�%G�,��jC����b�j��j.��+�HV��h�6]����&���Ŕ��´h4�N¥k��''�U��>B�D�b��X�w#�{ǜjJ��dV'$�N�XyP5�Gd�t�����%�0��,��„��ص����Ԃ)��B���Ȅp����4p�|wQ+6P�36K{��tz�#�w�X;�*K*TQ����Q���H_U�4��Tf�낦00��wU��^�����6[]���bXU�|_�/�l�V�m�~�z@f��*kx-hu��e=blu�!ܲV��#�Y����u�[=�
��fF�!�u�IQ,�_�YpA�j��*�5��P�� � �ʱ(��"����Y�8!��.��d�+��*�y�V��?΀��P��6ܱ�W��c����UJ�t�����H��e�Q��
S[!sL�񄍐�
��͔��YT-niD6ϥ��"��DOs�\*�Rmm6xا*��Z�6Uba9h �5ř
`�����׸]^b:�}v�<"K�ŋ�"��A��S{�Y�v�L5�!�Ȫ�e��u�@T��"y��P�J|�Fw��o!#K�1,*��� �����H^�zp��G��tZ���bj��x���|o}���r�K ����ڵ`|��YY�}������ZNf�h5�S
gB.ƕ_���b�ţeȷZW�J#���,j����+B�H�Q�$d��jR�5q�*��
IX���(��=sZ�_�#g}�JIH���˒JUV� c֠���Sڸ}���|LnID�~Q��=Q_�/��EL�����+�1fo�H-�Zʅa�V.l��)]H-�[������Gи*��,�IU��:aAV�������/�?Ӊ1�����{���ϟ��
;/0�`�._�&��q�e�q���Y5�[2�%���R��YXNT_1�*��Tu]�>�x�g�2��	������X�.��U=�"+(W�~���U`�w����gn�Η:L�Ȋg�A�g���U]B���c�d���֙*��a��	碰0):�����ucYy����:�)�X�(b�ENV�zK�L�@ђ6�5B�q��"�g�E+bU9�)*��vg�܏���i��M.����n
/�Z{�%eTOq�'4�
��g�4o���J�2�)5*�r�)ŔK�T/i'���I���)P/A���kdֆxԩ�k�U9<��
=vS�D�f������۫W_~��;��&�I��r����D��ۛ��>��ٵ�����s����B�X�V�K�U�T��7�"j�cE�X�E�9l��BVUnͰ��+�Cd8E�}�
O’`{�Qʥ��gظ d-V9�J`�fZ��LwZ}î�᳷K�@Je+�&�ͣT�B�S_�Sp��b� {p�ِY@����p��t&VCJ�9-��fCJV:�o�6e,V����j�i�N}��$���bV-=Zq�}�W2��.�QX4���MRB*�)�%�a����^�k�1Ot�/�q���{��[��Mu�x�7]��E3�U��:P�@cq�^z��(zɃ9�����=q��Y�ZN�g���'VWW_���`6۝�p���w����o�޾����&kkG{��������5Uf��%�����"��*�\��-T
j��o̫ұJ��s�+��ҋ�y�X��Wt��A��!�ʕ���х/���Z]�n�xou�s�r����J�o�s�g�Y�ٺ��W��gq`l U�`�����h�3 �\��0��R#!	�F�	�:�@�?.���MS��f���E.�>M��� �-��Z��G�
*���3�JTV'��T�]��ܡ�7K$�;q�j=ȯ8��%؊Qc���ٵ�'m!I�R"���'��61����^�M'7���9���q9�CycN|�Ht���
��bL+,���m�f�UNf��}uuuwuw��Ã�]��f �f%�ͭ�ֳr
B�Xd��͛߾<��Br��XӚt`	�eՠ�@a��e�o�i�EbY�*eV)�a�
�ǔ
��]+1ޫ�Ҥ���V!���(�=oP-�l
�Azf?�ӵ��a�n�_\y��j[���^��9�A�E}�Z5��b��6_Q�.�1����U�q?���C7ZƲj��}p�b�g�Qza��k��ϢƟ*��jI�FK�ኤ�e
Υ�pAp�pFn�&MA\�9���Oh��$*�WL*��φ��E�$N\�3��V�+"�C�8�k�>�j��?՚�`:ۦ����Lh�r�]��'E%�J��sRj?(�lȫ����X�$��%髣�Lf'��1�
��_���d~0?���d��f���"�*���&�X���"9���o^���~�:�¦5uҜ,zd��B3s�h�3�J-�"a�dQA�o��N���]����!k�-�!�}�	�o_(�ZjMH���G���Z����`��?T
n�O]�Pe0��CVL���^��.:��x�🟐x{ɫ,4���yH�j��epzv�`�&�l,��#q�]�B��񫙚�hN-aUx�T�)���h/u1�
+
�c��GЍ��/И߱�<�P�{KG����ԕ�)u�:[,o�\?�Kak'��U�%�ȐT��H�%,ڌ'�Ԑ7r�5_{c�R�DjL�S�sy�AN[%��v��c-� ~�kZ
Tqu~�trprr��
���'�'� ��Y���Xȫ����O'eIQ�œ���y�͛7/O�,kXD*lՑX|B6�jXt�$j��^#�jG�R�4� �q9H��k�A������UKdy�+q���"���W!���gf]\�ѓY��TX~�a�=��)�0F�->�S��X��ڮ5��o��u���'ڇ2ѝ��C�V�C�4:g�����Ш���%�������G���U4/t)�Zb��c+���MAU��_3���&^���+��ă��e@��=ϩt=��QNi	țIBv�(?I�]MLB���B�D?Ĩ�<f)���5�K�ަQ2�`e�� Bj�X;*֒˄m��w�
9�B ��N`1�����;��:��ɫ�������ym+��xli�'���xh���j�#��g�A�l�>Ղ{6/xh�@��6����.�=���2P�R�pV�2`����/��L�u�OO��R��-����|�� �@c�Ld���6��UW�蘿�����k#�^t"^���prV�����.�Ft
�O�!��li���;��aʺV1MZlQ�>�zؤ�lwG��७�Ն�QJb�x
k��5I8˩�^ٜ55�_c�Go��p��*�0��Su��b]�w^�C��Te���&}�u�L)�v��+z"��Ȩ~��Ş.�>��f�^2���[s�Uj�A��X��n.0[X��Pa�����ϴVs��
5]#"�>���}~)T)VA��-�Z�iٽ`��Pg����O�>0�:�^Z���N���m`b��u�z�����vj��Z]_^_����E/:��E�*A�5�+hQ8H>VBl�E
+adY~�ƞ��Bkക�������v �He��x�	w�QeȨj;�udY�)�Gw�{NŃ�l��2��r�����w�R%�����IXm��*���
��ձ�n5v�r�A�݀y�.���NJ�Bōo�k$������₢�qU�zP���
�*9ߊp�k��G�i[�.�����E�ǂ}��_p��I�*�J���aNOb��Bn
��W9�
��Xx��
"�<!EZ�zoG�O~��7�ա�X'�;{ �vvPe��]��dݞ��Bb
�̻����F�uy���0ڇ���zByxC�b�E�‡�9e�E�D�t���WꥑUT�} U���ʀO�5�Y
ʵr�:����p�6�#VmO*�����/,-hn�ft���Tu���r����^��ځNTY���Ωۢ��\��%&��-��U�R�d���7��*mF���캹f��]�Ԛ4���,����
vѠ
g*�F>�����m�䫼D���(�Y��cD��+��)]aN\�����<h�(�H`���X0��f,�� ��A�QN1jb�p�E��k�����	ȫCXFa}��w�v���!!��3syB�L�⠰�H�S3.O��	�},��S�	��6H,���‰BehYsE+ur��boU(�$�k�X�Y��VYB�&�7�	���׬�D`��U����i�5+
����W�Xs(9�ꪱ���/����4�&v����(+ɻ�X�m%%��h��v�?{���p��d~k�g^���ج*ը
V5���e�Ԫ�ڲ��k>HȖFV�+��g��Ac��1̸��
~�hS��]� �s�ZY(_�!��3�AdV�UE���PZUy���X1�s�����Y�bye�u��:��D��*���=C�^�oFa]��zԺ={����ٙXߠ�Bb}ө�7~����С��D�w���+�Oѡ��r��,�Q�̊�\�S\�+7bG��S4���:y!���G;s�*�M��*�G�����&�]Qa:�|V9��K�y�����=�է��{^OAW��|gz������V��[n�uiѱ*#S�;����A�������_�L*�W�p���^��l����/0ZuNTh��05{}���qm��T��V�Rƍ|n����J�VX9�Ր/M��졊!��������!F���gC&�h)è<�)
�h��<�}���,�ŠB�]9���'��#�F�o���~�Y�S�C��ο=s��{�D��QY�,�	o�Z�mo@�Tj2ѩ�x��NP�臛_�pVV"YY�����,��d�n�Az(��+Q����;1��:�͡h��
S�Y6�*9���x(\U�S�Tt1��<�'t��궗&�z	PS3|J�S��3�M��=��9�I��~��{�riBH�.�Ҽ�:U:�+�e7�W����嵧w�z��>�<E�
*+�]���>,�^}
�dR:�ZMM�Y��gkԩ�YU�� ��lB�'�$��X��&ﴔ��,��!h�^��k�+�x
SB+�M2e����#�hF!�R�&Go�jfye�}U��@`�{YA�����kdsڣ�Mëã%$��񷇇�,#�>^��2��`��������ׅާ�:��W�x:�s-���p�3Y��"�E�Y#&�A"�������q�*!Q�h�O0K�KX^9��|K�j�q����06�_;���M����D��`uB��UF����n&����Jsʱ����r��E^r_س�T������~^c	��8���UĢmF/ﺞM%̒�@��(��'�kVV�Q�qn�"=�g��6���u�(�[��iK˔�I	��Lx�ʮ�+��Q@O��VS-o�ÿre�c� �d@%�B�I(�<��B4�ڢ��A��
Q�T[�Q@Rk0�"_�FWu�\��X}����s< "\��1�+��
���b
6(��|�
4�'�(�o��k��w��PC���Q��q2��<��t��0�V�����B�+�0% �TB*V@*�ǂq��vb������U�ܟX��hJ�����
�tw��N���T0�f�e�DW��P�+�Ӥ�����n]�])R��A�������-�V(�[t���䆒����Nv֭Zs�z`��r�=j���.so�`�\+�G��q�rv���KM�δ򥔅Tjk�[T��0o�1p���Ny��@/�gG�B>�+
��ڇ��!��aI�##��?�ye֡XoN�W��~��l�wg?����&����w�v�|�[�?�6nn�ֈq��,�t���3�˜
���ů�Pt�ieN	�)��`JHh�;�X�83����@Z���S���o"�@[571+��
�Qv���D?�9B�R:A�N\��Ҷ��le�4KϾ�*;�$C�f��\�J�>��`hq�����! (��t9dI�>��R�ܶⳭC�U�f^ay�@�r���UU9��&�+5R�)Y�Le��-'��=&�W�Nj�W^`%ZJ����W,��:h,ܝ�e���yZt�/O������@�q��)�
huN�;�4�g�ż�.����۴4�sA��B+PYmu�>�������,��Ī
$Fl%��>����@)I�h��BZ��Sj�i_5m=���=^a o��:]�%b�C�E`U`���{3�FU���ա+#�je�%U�<��֏܊n�LQ�箭|*�+J�Sϗ��VU��+Q+N�U���]		���ʠ��̬�ꞅ��}�ua��}� �.�+A�iV.�6��.�sziMV,��Æ�(�"������>WS���#T[�d�A,+��'1�
B`����>�
m,b�i���-�k����z�w@Ղ�����!*,�X�o.˖@c�J���WWW��:�ӓ���!�aV�괾z�$�� VԸ���:,�Ȳd��}�5 u��̒��r
i���D1"�+�@0!qE
KDW,�ܚ(�X`�*K|��I���Tz�P����+��l�m6��C�ٻ�u�a\#M�@i/�1*�F�6��a��C
�#� �[Lp�4�7������4.�m��YpX\�a!��8��@��F�IL��<�9�ܑ��;��;#�?��9�y�+���n
W�o��\��ݮ���Jk_�s#)�S�*��F�T�I=B�j�e��d�}�S�S����J��`9�ķ�;�Uv�S�5t�v]�Y�����4�M�[P��c]�\O�V�n��*�����<�bD���7�s���s׈UV���ld=#^D)��+�W��y�#C�eZ�-�]r@�%��1��5��Zc��?:}~J�B�u��������`��������p�pb,܎��J,w��
Ml�X_}2��)�)�Pjs�;�+~�_��v<�:@z�Ҩ�UU�'�W���8�$kH������4����Y�Z�Ü��(�W�,�WW��eۓV
�h��D��SN띐G�l�ձ	�����;3/��j0Ǘ:6��'$R�OoS�d��y�q!�&�W(?QH�Tp)�h�oo[v�js��Oۉ��-n����Ê,4�4�ڙt�U��Q{H��3�V�Y�+K���+ ����+����hTk5¿Ed�@$���z=ᕜB,��-6��xl68$^}�^���j��Wg��Gݏ6�"��T֟���;d�;�����s��.�|
�Ɠ[��|��#Pj������x��JQJ͐K3���k,�����VͨW��;�ýq5\S�iX=�[px��j�*�ĝ��)}�!�g
!�?E�����̵�d�j;�N����4D��k]�Cz�/��VͶ���l�����1��A5
�����a+�i�uTIM��n��hIgO�S{�-����qUAi(N�%t
���̖D�p��L�'U6I	Ś<8�7����If�+PW8L&R�@�>��������q�w�j��0rw�Z��:u,k@���y����h������i����:`_����W7v�X�^��4�DYьa���ǔ%�™w���TX�,�
7�(L7d�(�!Q+'O���=��)߈P�-���Bp==nm��R�_TUV��h?�Gz�-/�
�M-�2��ɠ��&�c��4D_V����FNpU�:���j��� ��p�7�'<��T��'7���Mi��'Aն�Q�=_L6�[�]��:�!�d�TkW�TC p��0�^r�l	UU5cfy�Ec=$S����;Һ�X�(5ҿ�5�^MVt��:m�	��Z��P`5Ahe�g��x^�:7�:���^���*��^_���}����b�n���[�X��.���
�D��A*UX��V%byd�P�� �h��Zb� 3*������ÊX���������ӊ��x{��;wi��E�Idu���0J�6*2)�x>��{�S�t�sTiQ��L�4U��{BC�O�)�T�'��Ŝ���ԥ��|Ww�1�2
��V��QUU�;��+S�Pj;
;L�.���Y��PY��J!V`#1VT�����H�F�"Rj$x֍Y]eZ������j,K^T�ȏYN`M&���k��G^9q�S���]�Ξ����i�ƒ�Bֹ�Z��{��B������y���c�"`eNc�0r_��Z� �/�T!oL$ϰ�	����*f�&B��)l���S�O�Z9��Qk�ʉ��h2�br=VG(�J��x��2�*�ǤW�t�����	�����=u�clU:���p�iU��?��{IS��VP7��>>�e�o�2*��v�r�Q�UFvnhKa!U[ԕભ�>�4i7���~I
���̟��[����,�L���D�⫑�Y0)��~dHU�Bz�~����X`I��ĚH��j/G����a�y�
L��r�r����g?��70�?��
+H��{�,2$^�߾=��*��/�?�����
�f\��%GACa06�@l��
ΐN��
/�*�ܸÀZ`OW�S��T9P�-��ܐ+Gc��!֏�
��5ѿj�`��e��BPruUn���Ǖ�2���l �'D�*
��.QV��1�'��S�R�NQ��Bj��`�UT�@垨�Zk��������
�`���2�М��zã^�V�Ha��
�Uf'
�G)s��X�qD��������
iE�"G(�
ʷ�L��	��XoP^9`9P���w��ɰ�u������~
6=~��\!k,�����K�o/�|��믎X?C	�Bg	�С�S�f̧�2���~�;�bf�ڿBߝ�b�5�R�>e$	�rQX��O��ؿ���.��N��/d֔��ş�%;�k�՛����kW׳�ki��������U�a�g	V>�J�Jn���2��4��TeE���*��8���Ԝvs0!z˳��捠m�����AK�x:Β�]�%��,�j`�����
�#5��Jf]	+~��槱�ѝQ�����+��@_�	"�l����+�c����KV��@;Xs��ɰ�����/�&�u�5;��,̱���e�u����K)֝_Icq�����Zq(,�*�R�X�T3�,Di!���=�579V.
���*�~NW͑UnT��ޔW���U�H�ʷ���{X�j�U�%{�D�ZbmDW��`�F����~~���DXyL�����`:���x��+���U�qf^u��"R�	W�T��
&E���B �����
J�R�p��f\������ԓ�AV��z&�RO�]�T�@8�gUQP��T�w�Ҽ�����XB������3���}���,���,������x��Y��ο��^ݥ���l���V6̈X�����s5�B���Up�nXx��f����bA�Ț�7L&�U�#,h��p�(l'��'P���9�L�X�<WP1���[d�:,��vE�Ւ�{����j�D�R���,bH���u�ZFV��U�\\ս�n��a����Rr�Šjo�]��㼼me�V����j�u��I�e�%��Y��Z3���JJ���V��"Xe˩����9�/�6V;J�ƙV�Rz5��+�X�`a�N~O���Oͷ�d9)��,dU����FX�,�j�5�bw[�e�5}!�]��P�5�˅J�7�z�����������F��a� Z����� 4�SkU@�XXM�0��œ���0��[�7�����Q���:Abqq>��i�`�V�t������U�J�hW�객��a\�P��/_-�T���ˋ�n)�*���ݰf!���u����
z��n{%XI�Bu)B+PJ��!��������/�}U��p�/ϓ2�R�T�h�+������H�f�Ye Y�H�)�&|�}K�*C�EwkE��K��Ap5�d�O�SK���C'�^*�X�@��TV�??{�f��-��Pc=p���1x‡_
�����П��r��EYֈ�@�V�#���db�5fazU(�Z3UY�-U]s���1jWz���c�����
'�S��ʑV����:�BKX��Eө{�!{�V�g�;����u��T�JtT�VWz��;��6�3�G�l���T+R�����ז���Sz����xq�5�EOs�Saa�=���RX�Pú�C(='��?�)�zqʶ���}���w�̌F#�qn���>�+����uK<��s��U�p�j{�]�]�uϬy�����I�h&fه�w�6�P���P��g�SM?�f�b),��*
��W;ڢ�9�N��k�8��]����j�e4��� �(�SF�tT�q�w.�a�zw�'D�=#�.�Wh^�k˼�K
S
(�X�t�K�zC5�CVqBk�jB��}TXZ��CS�
Qb�6r�P�?���\ٚ��bh���E�7��2�Wc�V&|)Z�}뫃�#��̀+B-�T�qYH�a	���|,
Km��
��]#�r�&�oYsӟ�W�sSm�MTi��V]E��l(����jS�cU啗�J� +�������_����hR�������}���[mW��0��bZ��{͠�/�+�*�(��.;�J���/����CG'/��r�jY2M:!�h��p
�v1ݑV�V���k�s�t��R"V���;\2��
�#ZD�u���{`c��a�����9'���x��K‡!>J.���)�~��C�6��W߾3Ea>B���WypR9(R�!�XU�j.� ��SXũy�����B�RD,*Oa]���g�*�T��5.Ii�Qi�3���
l��-�5��9�ϫ�Z7•B/�=I����V�������̪v�અ�/�x悑V� sUIZ��J��`zk;HV���:���=\%�J�j9'��mqg���nI�Z����Jԫ�&a�i
�Y�{��7�Y���FXF"
~8ii�e���G��t�"#����&q猽+W�I�`0�p�2�
��W�0���X���j�qec�\���
��݄Vb���}����pw�	MQ���������.Qb]N糙��0w�jXa�9
����Й���w�Y�-
YqY�u�>���"}�&;	����^�O1_%�U�	��^h��Ȓj����%%a#���ѭȞ8�T���Sd�,Í�*�^�=�Je�Վ�\XP�@-�Ү��RL]��JY`��Ԯ��m��!���U��d�W��@�F�ŕW����/�<ryR���1������R��,�6ZQ�e�$]�_�o�A�j�����T�NU-A�UE��"X���5���VP"�wk�ˬ�@�WX��)�gN_��\���x�0����u�B8����e�����ޙ�U>����^>������R��Zc�^��ʵ�Nx�{�sţB׈�'�ٸ(2 �~�y�Q���:g䱏�.�@�+�R���gV�ܒ���|nV���``�o5j3X�l�[7#����W�kPf-xC��R�,v���RY��kJ�t{�^�9��i��K��,��X�J@��H\�Հ+���=���#�T~��}��Uj�5�������J[���jE
BE����~B�����?�hT9\}�R"�д���ARU����+%��sqe�z\�{K���G/\E�%��œ����(�e4�Ll0'+X(����$��,%�~��;3k8N�vwya���YYyH+�Tί"Gb��m%*+8�]�_�ä(��)%!�T�ī��+�\Ye�樂T�3X�b���_^���
nqN���4>fc��4�s���.�����Ǭ/�	���]�RHŠ��6ѐ��(;^�ZL�Y+��k_]%�$I�����J<3��-<*�'�%x�j����h��%��M*c���L=�M��~�*�y���5�V,�ŽD��O⸲ȚZq%�+��Ŵ:�\C��?�}�G������ڢ�­#�`�	��H,Vk`�E�ǻg���<����=ۛ�Qc��uy�t0ˉS�	�<d�EU!�f�����G9rE��"�
�+:2s��]����f�3W�#�C�y*Y ����V�.V+J5��B�U��y�qE��6�=]ոrL�#T�0�v��\�^U5�Uծ�+��ܕ��.K�U�'�_��Nf۴�Z��?ĊAbVB���J<��P3TX޶�I�ǃ�c
ZK5�l�'_3��?��"�
V����$���4����3�VYu���UGqz�v̩E�|JZ�U(���́�P
�YX�g�s���r�K70���Z�G֏�G��*+,�b}��@�;�3�5[��;S��Д�C2���|��2,�AQ��B�eU�
��d�=��5K),��V�!c��"���%V���[FYee���Na�j��.���ka·��]�W�+�{�N���Q�a�`��Ѯ��®fm����lO)%Jy�UEy���UN2�m;��cV{�/��ڊ�*	���$���Z5�ʇ�J3���DjK�#7Q��VV˛�'��&���+��WF��G�w�cx2�"���ôcm+�����l"~���>Z���.Ԁ��6Ű�.W����š��]w���{t�M,�e*��o|��痻P��5�_@cݹ��BL�B�\�,RXD�FsDR��@V�B)˪�W(�PQ�(,�X�`gI5�U���X��$�U�2PU��(���X�ݎ�]�U��*��h|U�r�6B�j�h�>��m�{ȪvĶ���v+��v�6�F�[�Z�J0Zm�+��+
]^)me=���Y�2/<�}�5[�P��%��Q��*q��Q������ѪT�W���p�^�ƪa��G�jsԿ�M���/z�v���*�@����~nmxa���~�dt�RP�W��,�(���"����:7��u��g���a��]��.�:ᜢX�b=��`.�B8
��U����j��慵�ܚ`N"k&���Y�B.�UH/(Ǭ��1�[��U�+J]Y����K68d�KYH���D���j
�(��x����*��`d,ɫ�DCW!��^�ֺ��<�)v%%��*�>�����D��:%&��"��'�J���WN��ע�.�ɫ�x
��:Su$j,��r�./���{o55��XV�:�	���'"�o!���e4B~�G����h��CY�	�\����"b����w�w����Y@*�\�,��׿�X��-���W.��=�'��^\�	�p��SX� ��p�!�}���c
o�~�����l�������O��\���L���^�#]5/�ٗV"����Xb��T�-�S���/IZ�����eGL�vmЫ��W����.�=���a�:V����S�N��vX���͊却jW��~�&����U��x��B08�p���`jy��
�+�R΋��ס�nO5�e�6��j<
���,�Z��t��*-��n"2���-���?�|^^fb-7��Ɓ��jk����h��1�+G�\��F��'���:8�o8�,��1E8l��X$��7���[���,+�[Ĭ�~��#ma	��u�,[~�=�Nb����~B�r�u�l�lmwh�ք�q���
+'��Y��Z�EU��Una�9^�A|R�˯m!����ƪ�8��(�(��G�)$�#B�#M+[fª�#�JRXWm�z�kp��W��v��&Eo\19�&>��O�q{çn�@�.�V���|^�H�8�uXl)�Ń'�`I=ؾ,�#������C�
&,���:�B�����`�eB��r�	�e�?��\|�%h�ޯzU]�d���ݒ?|߷���a���
�]�<\��R�"Xe�_���;Em�q�XZ�0CU�HW�U��O�=	���w�+I��m
��Z��	Ic�NJ�]��p����
�:�)����BF45��+�Y�T�Ez_�_5��?,�j�&�]!�@a����SY3+p�:��v��Z#|��k	ӣ�7B��2!)��
w蜖{X��X{,����˄�P��o�v�wB�,��P�	I���)�7�����ъo�-^|�O݉��d�c$�R�i����,z��n#���+�-��ˑ8X���Ed=��pQ���Rdx�GԂEP-��|_��GX��~,{+�����9g]�ti�V}�*#\mp����C�w�}����-0��	�S[ɢ�:OgA����s�E̞�罗/&z����g��ʪ��TaU�rh��1�X´,����,��U���G��k��"�£��A�nô���_i��j����:!J�j7AI�Z0M_���XJ]X���wث�Zy�-\"D����?�����s���4���l8��{����[o��{�+ �κ�����7@buYf��E~;2J��l*蚎�[�$f��ʝ��i.�c�!��lw�I`�ʲ"�
(e/��+zj]z��>���hy)X��@.�%W��V~#����bV����B��r{�R���XV��o\�jCoqΰ�
�+�UV&�U[���<WU
?�4^��B�X�D%��d\UE,��L��
0�����ݜ?�Ю�.Ȣ>/�乄��.ʊQ%�R��0����lx�dHI!��*H�ʐ�w�7
��h�Hme�nt��*��8ycc���z�N��mtgdy
�zXK�t��X��X#k6�ُ5��
�u
.�X7?�����OXba5(��_M�Z��R����U�ԓXH(�X�A�\9W�����!�@�왅^r�Ȃ�p�l�H��^܌v��@��`�~d}0҂aٛr����2��Kz]��K��ͮ��L�*�ls���i+W��A��]EhD���T�A��w]���(~_�l+.
�xY���늫�z2��U�Q���M�Q+E�:<+�BɓUM���.W�Ƚj��0l�}�v�Ʃj��v���r���O@`����֩72B=,?;�
��F��<���B�#��fv��(�}��ޒ�˄��������l<���ք�]'�����r�Jq�Q������a��b�5�*��.81;�K��%9�p^�Pa�%�蒴�ʅYu��;����h�SD+7����pU�Ι���+6U��W�Z|ˍL�7�!Y�L��X�~���Հ�qU\�ي�ʀ�Ae�P�uQ�)�Ԝ�ܹ�gB�Je*��BaU�DW�SW+�~����,�V���0�j\v���]�l�j�2D��n�)��Ɩ��@��Z�?�Lv~X��l��ʣ�v��P,��Ԃ�
�YF`]۶�?8`]���^�3j+�פ�Vױ���t�Oh���+
�fP��d��7�z|��]wź�_M�Ǵ �
�r:�0
����*��l{���,fVAa�� ��@E'��'�F��?D�j�ҡK�H�=l�PBI!X�KF:"�yv{������v��$VF`�C��	z9��u�{l‰{WR�K[�V^o빳��xJ�Nj�B�y�4��\hQ�Hk~�X�S�K�U�!��g�U�WW,�P]Yfَ�=�M^��-o}W#6���T7��s�U��Y%��x{�����i�Z�E^V���j�Rb�?OmEh�u]TX-�_|�	-��dB��1;zXȬ�LJ�+����
�>}I
�-+���)�������Aa�4�y%a	���YE��5��XJM�/�|���ȭ8��mڊ�4�����h��r7s�VC2�cǝ�C=2�y)�^�m�ӻ��&�9�ڊz���P䰻���i]C#�*�p�!�xM�(��`��څ�Ț�����p^��h-q�Pb�V���Һ�X�fOI0�-%��:�k�DS+��1�pv�Z]d����sj��:�����
�fY��o.86=ly�s��X�����cX)T�
Y��U���Ȕ7_��k?
���Vج�l�U��Z=^�b
�a�C{P�af�Q쑇�l�WG�ӕ�v�sw�Yws�MM؛,<��1
V
���X����U!���o9#����@O^T��D)G�g��Q�
m��_���S�*���j�o�QXR�;��xAp-S3�B�*�$�jt�b���*� mD���wő�b5�3��Ҭ�Z[Em�9���$�VN|�\(.�Y�ʙZU�9\�� �)�Ԥ,���a�k��%G�/�xw$7�x*a�tT%(�J���vF^�c7M�*D%Հ�����j��n|�-�X��:K�X�a�²G��X���"���ѡ��{��$�\�_�f���nQa��w�&���BdMêP=0�`W�^
&����aJ>1��hT9\a�|�K*�a�e.�YC�jxI����aŁ��`�D���/�>j��}U��z�m�Af-ۙ�a]�XAw+�ҋ!���$y)35�4���Š�8S1x�� �+{GE�Uf�S�
���]h�$UB6g߽HTՅ��<��΃��;z5-��^���v��q�p�VhEQw����M��⃦,�?m�C�;��#9Q��Ѻʫퟁ�۔�X��wY���tv�,>:�_^\C�}5(	����
�-,�����nK�#X��c��Cǫ} ��%xX�����h��l�&G�Nn���&֏�{�MB\�L&���5��JCk0A�5p���*7�=
��ێe`@-G��9��M�SP
^��07�M��.���9ԅ�-�-V���x�TJ�ŕ_I�j��˛��ik�5�{PU�f����F�N_C%25X"S���L{WV\%ڷ����l�;�j�Xa��"
�(���U�)�j���?hŴ�x���U���]��G�?�!��
P�Dx���{ܺ����gO���O}��S�#�y�bm��6���O:������V�(3

���۠���R�2G���1ƭT��x������t��5g� �u��s�c�N�]Q��;xX�,��_�~�g�e���ֻ��q��L[�^S$�Ղ�3@��*{MV�)�t�D/G.ũ���b�n`^�ӈ+��%;YC1�����e����byU��x!���}�^g�2!� ..�(�$�e�r8f�dj3�D�ɕ�1�e�`���;l_��Ŗ�|���K��yEw�&�l��*AɹW�Ϫ7�wp��J<OQi0ݭ	���(�uaWY]�VJa�X��Vd�KD�6VM��A��7k�:�Z�"�W�YqFꊲW�6/
���>ߕ����
V]�O^X�}[�@a9��%�b��=,X'���#�WY�/�5�5��<��X{Vb���o��z��|��r��Ā�U�Ȭ�
�e�(�&t��V�W����UN��QjMQi倮������=e(�`��5ہX���7砰�=��܆x*�;V�����R�=W��M[椮���{q(	u��=(��~���Z���|^�H�8��}�"٤��v��(�ْ"l�I�@m#/:���"�L�a0*�[
�r�������C��K{�PX��{l�|�������[�����Ϗy��M��V\|�ݮ�U�wř�A�Z�yU�?�{����l��y�
�.{�wu#�VF_U)*�V}�bk�D�FV���~�OpкA�	�]NP^!�d�V�'��Lu
Mu�.z4�"�0!�J�u�T�?򿒈P����$V�.fK,��pAd�4��q�"�	Ϥ�{E�"G�rD��z����b���ǯX`1�^u��t�����9�_��� b����j���@$RjpB�<w5��V|�s@Q��X�#Sq�	�&&�C�U^a�Îɢ��0,t�Q~����<n%֐A��2��U碰n�����w�W�) 4&lG��W��2�`7PXӛ�؏A*pޛ=�V5k�Bw:��;���W� pMZ]��U�J����͘X�q��\�oU�|�	�l%��%�ԁ��Qk���Ԁ[���q%a�9(�$*�qU������G��|�A&���[�Մ?��;E���tPZz*��Ww���*'��Y�(*���~0r�,��k������Q@�b�*�>�>k?�<��!k�^%^��:'�NW�/~�i�	�텃�LJ�Í�_QO��c4�����}��@�@^O�_L-�Ua
((�h��[��#�,���Sr��!/c�k,��P\��B��0+דi%:�ܝ��6�ׯ��}���w&�O�$�*�y�ݯˤ��y��h�\-�P���M]�t��Ì�1]���x���
�U���fp�l��|4���05/��
^�W�yT���Bd5�5�S0U���`��0��c�#+q᪗x}�+��r`�!ô���ɏ�P�lhe_S9�A�)���^���GȰ��c^^5�"��US$o��Pq�T^q��H�;BiZaݓD��ً (|
�"��ٿ.Մ�g�X��<�"m��Ta9`���Q�����W���`�����&b�6F���8�S*�[z\
�9�'���i��"i%!�c�@�EJxu��$��']�Ő�́��c9qwp8�ѽX�C<Y���{�Ȭs�����խh�+ֻ�n���,��vy$�X�W&ca)��#q S�N��܋aٚW]�q���`�w�e�kT�<G�ҩd`]�]e`E�k��p��|�/���&
��V����	��a	O�Yxs�R�5�(��݁U𹑈�E�Ҙ0�!a��J�	��:M1�(E�E��T�	�V���w2!�v�f��Q�av5� �J�e��Y��6���%��XU__T!����Z2���=o�W�>�_`�QX��a��w}��ڇ2�� �V�k��z��	��^:q!�����Τw�	ZX�e���9孫��X�¯ʮr��c`�^_��d�>�`0,Db����rKnbq"��*�YH�<�Q^�AW娲N���Fd��"f娰��=��e�oɫ��k�.�n�7���q�$������L���`7��1lE���n�]�]چW�D.3��U�˫����,�Z��(���ԕҊw��ж*?�M�*����*nV"�YVh�'�+��9����6��aY��IE~\ǧ�jj���~�p��d,��/[��Ö��O�0sWx���0��-_K@hC��b}qqq���<w`�뒐�&DŽg>�s��4�X$���J�=�y\r�8$T���{�;�}���s�q?�l���s0r듋7���/_"����5�R��
RZ���q˱
i��
y5t�`
�+�
�+��:V
��'�,�U�=8���d+,w~���Y�����U���L��3���*��˦� �W��㚵H�[6�fFy3��Ѹyߍ��[��
�5���$�Z�yuYfd��~y#f���ޠ���\4�
e|�BVmf�4�0����kM$
,���p���
#�L
���'Ya�g��XN������,��ٝɇI�p;�m?�l=k��b��'_5U�5Ed���F�޺��Bbս����,'�>�����
� ��������g*:�P�R�6�xD!!(��U���+UXwӽ���b����7����Û��G�˗¨}

��9Bd5U!w
�P�+xB
K��ӊOb��!qPN�+ߞ�#���PVoO�
I�⊐�Ӛ��,�r�\�cTh�s����T�w$4�
n��
k�Ì1^q:Ò�Ww�
�;�A��/,�C�F\-��Օ�Sޕ��%I�t�L���j������!�=9?���R�W��+cQ�>�|dD� ���;?k��
+Ѹ�Y�V��GW3���2+[ɬ�By噵�
����ʲ�f�}{�� FL��X�I8>��m���M��ި�����e�꺋_E�ZH�Ab���Xx���4H�;�����ׯ�V���3�ݗ*�~�/�B����k��	(���΃ߓ��|�mƒ�t���u��K�Ua��"��uRH,�ŠT��"�<�ܣ��b��B
�� *��	�
8��r�
dV���s𰜦�\�q�w3��{f�ע�W���W��m�VX3gM���J��W���r��;U��U�x�A�+5���l�-��ċ���.n��]M,�A�M<��Lh�K��U"i�VB͗k�Dk_��eeP�«K�"T��7$&4���sV �d�;�C�N�%PZb�s��h!����\�.��q
��l4j�F���u��Vde�0$��u/Nk��+y��ʦ���sk���;�}RXP��l\AZ�D�m�uwR*m�u�����O��Ńt�;� �һ?���o..��G�V�}BUA�`�*�QEF�1�*r���HWE�J�;�/�$��>����B��C�+�N��qũW���R�Ŝ"Y5�XP)��9��]�53�*��!�`ukF�v��*RWemd�̫��v*�cotF�2��Z�ª�1�>.,!E�a!Ζ��[%"�vJhP6a
ᚤ�yud���A[���N%�ZfI"'P+Y����7y/��0Z+ztYb���Ѕ�x���c���+>�aE�J�x3��K��m�ϧ]�̆`�]�?��I���^ůb]��V��S+P[�� $4�ڼ���f5���ʘ�"�*
:\�a�ӯR[pv@G�P𘦝�w�tu�i�/9�5Y8L�~�w�o ���G?`ž�,�+�3�
�Y���CtQ��NA9R��zf
���ɀ�^Gz?Z
lus���ɐ�4�m�!���\���E`!��
��rUeǵ��W�����[3a�T2k�h�δ{���aw�2�C�~�,X������ߕH��MˆW&����
bA�L泙Ń���	���C碉8��Do��	�3��V��*Z1�ܷ��,E�$���^R<H�����d�a������T,�^5�Ɂ��:-lY��7B�˄�^a)�(9��R�l2�!��N'�~��gn�fX%�*�$�p^�x�OQ[��է��,�N����꜃�N�����X�c�lZ�Ȳ0�nyي������D$�)Zj� ���F���aZ��U��{�Eo��ƒw�W�h�޶As��=�VI=�R�����{���so޷�����#,'���ǫ_TD���,�X@��`�3�	?��7��O3�كj�=z��	���S��S���~$S����.x?&Xq1H
뒡u�%�A�=��^ֶ�=�W k�m���]�H��b�*3�}U4H4n.#*�ojE�}ㇵ�V��$�!E�+"�|9�J�@e�\��_E��xS��z�K���W���B��R���]���w��E��,9DbYu����rg^��f���#����<��G���\T�%<����$�Us(����2<��RB�ѽ�s���eB2w�1��Ċ�CL��`�(���}T���+Aa���OnnZ�^l|�/(,��׎RB*0�WWIWL�و�%� �
�CX�P_�<���Y#╻��1����J?�폟P_�K���ż�r
�/���QXtL�b���n�n��핸�ډ'���%�:(Ί~��tAs�EW�;��Z}_(�h�)IYE����Un[���UJ�A26U�j�8�e�f�5�і�UqQ.u
h���Kb��@0m�R����z����D��R��U+���X{�;muxW{ʬ!�*!k��h�F��N[߫5﹦w��a�����įm6�o�V�{Z����
��c�ᵺ��h�ZmU
�Z��+�4��’����k 3\%�ۗXVy���v�O�oΝ�z��)�����-��r
Q5Cl�Q�Kj@�ק��)*	g����"�x�����Ћ�]%�R����J$VF��E*,�쐼⣃���h�@o&kj]-]��lj�_k���0Z5�ST��U�p�m7�
�k���C;G&ڽ��C�(�p���IXW����g��#��
��� %H���W<���r�6{�+�o���l���.�l'i�Y�S�l�p�U����T�m)�,G���zh]�I
kC�#yX���$i%�!��!���ED�#�"�ihU�k�1�V(��ڐł2@x���#��W|��"`ɊA�h(�*	˪��]H��2�J|,�Tk �j3�Z��M�w�	1[
mB��V{6�:�����ga��B�փ3�),���=	��k����NE�3#f�2D�kgdf��Aĕ�XH�^f�z�
�IV���r\=��f�NC�nYNt�T5�r��Sb� �~d"�]��l��X�(���V��x�.�2���	,u��a��B|Up��)c�� g�2N�����%���ܷ�8���M�¦GUP
s�?�'�,����$-�'?�pZ��&�փ���T��ׅZ
��.RC,e�q��|����
Z��'`�M�I��A}|���	8żR��E�*�&��t����j�a��xk�L�2���B���C(
����ǒ%V�}����͋���'�吵�����Y32�W�#��f��{Z��-�7��˨w=b��I+�8�2�գ�P����
��h��"P�u"��WY�
+W&�buŴ�<��Z~���j�0\�U��
n��n�������[=8��"R�QW��Ń�V�q���.K�n�x�q0؂�|+1�DW���E��X��\����l�{5���i���`X1}��j��b�\C�)ޤRּ��wi���>Iu+�W�-�"h�]H�}x1��U�"ĺ�=8F��%4
�2��
<�=lV#
�������?�3���Z�L��B��Ti����u�68`�R�*�^���V{ld�?�<�Uf�0�?��&�>��"`
��Bb�
P*������`a}t
��VW�,`�-��|����=�D��j�rb
iů�,z���´�8��!)��Qv�
�O<��Z�[(��x\M�N]v:�/�5l����[u��?���Nj_�,�Å8~j;/ñ�jٴ���աϋ���r���n�2�.t��T�j���H�I��1��õNBk=$5�<{�}���
+&f�O4�.*+����+��j��qGT�l^��Ph1�|�PE��ۅX�j��=�h@b
���y� ���b�턅��]��_�+<��4Iҿ}�Z�K�y����G���Y�)��|��y2�XXՓ����Q�`e�
�z��v,0�QlM��i��`�a��ʹ��m���o�zu�ᖀ�ֈ��bR��bw=��y�����@��q|����^�1Ṟj���"X�SZ�(��K�X���t.�tq��+��Bk��C.RW�Et���
��`pgki�� �^��ۭ��]���	vsw]I�
�DZ�i$֛x�̛7q�Jv�/Q�7�C�bAE�ET-Fr|w0��:0�O0�W���
!p�1�PP�eTVm3PV�TP�)�R�NJ
_j�=�#���JU_����JX�%�
½(�>Dk��;+,��p#�w;EX%Ũ�[y5�"��H��,�k��YsXOqUa�Tx��S8Qa��g�a~^���R��Zk��Д�2�WH*r�0�~�(�(�倅_`Q�
����M��뀵�b���X�+b�+�O#���ۂ#�b�'�d��uv=~����eH*w��a'�=��1=QXb��	pչf}��a\��M��Ӌ�������;_�]W��W%rp��
#��]f�����]���=��g���w�pѮ�G
B��w'�E�
—~��EnBm�J���Ri=�cِh�X_5E`�=*
�����lrUܱq+䔖�5b���o�$���jr�|�W^dA�p�#���>�� �Օ(�WI�S�W^d5x�S���K�4��߸?���+�ց
���r�
�䏯[hc��:�.����\
£���e��R
g���l�
kpFF;T��Xkh9\
��>d��o�;�5ݽ���p~��by%B+F�y{
O�}p��>����#p�q,o��F�֣�+ �� ��du�:�-��J9�ƕ�NU�$k��]ī��6c��W+����!��g���:���p�m�ظ��??F�+m
��2:�]�U���o^y��B!,��5vw�ź�YAK0H/�P�WY��ƻ�k�(�.a�W�`RT\+��^b�R
�O��@��+��fj�E�,�W:���#X{��RE�j��
��3��)B�UTǡSO?M��5ׅ��d(Ml�:�k���:���N�?���+^<�Z\�r�K�j���)��X�8�
B*	,QX}���҂)��A��j�o���ߜ�^��~���;�#k�uᕒ?�F^ͮ�{�t��9�ѝ�+�V��w=�XN<���p?R/h5&k���b�HA�#�B5�Q�i5����xp�cB�{��*n�<5���_)��\W�Vf����hPv�	Hs�S�
��U7�Й7�bueK®7��a��Xu���T�0���J~��\���aXl�Jv�`೗�X�qI�;���u��|M*��l�=���h��B� r/Q�ZM�
�QA8X�H]P��ŐC
f!GE%��p��
�}�c#�̍=Nɥ���żq<��J\4,�U�dA�g���T�=B� 4,�.�XWg�?�@��@��Qv��m�Y�:[�V�C"aF�Sh}-�B�& �A��`�|o�w�.�S�&��`��:�jw���v�
���y}����ɝ�F�����ySxa�����Czq��ݠ�����Xw77��onO&eS��@a�W�V�G@.RWY�E�XdE.�;(��I��	A�N�Y�����Vp�Ls)j<�x�y��h���#(���+
*�ΑM綽���0��둴�v��k�>g'��#�5��tv{�Te��A��k�k�ۃ&ƒ|=�H+�#�Ѣf�W����Ɯ���)RJ&����ٿ�l*ɤb��IG�+����y_���j��=���/w��t������T7���=�ZMͨ.f���Yʼ�{mHF�@���m�j�j�	z�W5��_�c�}�����-W�%�
�/*�Z����RHX5��oC��Pb��PY�g�a����*,�<�����Ƅ=w�9�A+a���;��n���:� D]!����3R�D�_F��PQ
�Uv�.�K�rf�!�3K@dM�i��7�RIB�^�'sQX��
��->Qa��>�eԔ�V�G$�#\/��Ewt��Q�-7�v�g3�*��ʊ,�J�+[}eV�K��Zq��HBB��e��h�݃hr_����W�m���[������h#��W[�A��ľ�YB_z��J�Wx����LaC�,��A��dI�;�툫�9�Z������G��W�U�^m
	_Oͱ�A�)��~$�[y�n�۴�������|]	#�k� �Xc�t�t��f�jI�j�E���p�EG��j=�j�뮾��u?�E�X�a�T����7 ?���z�9�X�^�{�<�����5�3��@a��"Pa���#j}�Ī9V0��r�55q�b]�ؚ��B-%"�0��h�i+|1�|�(#+S��8#d��/
����ꇌ�aM�aV���<�x�Ded�(;8�}7�g�e�~���q��}��ȹw�QV����X^嚜������4o�W6�b��o��^�K�}~�\�
q�M���A
:V���>�������R˫�N��n�T�H`A`
�p%n;�1pF��s�VS�:�p�N-dC��i%����o���]��,�`��3֕i2�$kɴbX}5.V���'�ra�O1��aDXTװ��	Y^1�.5&�JN��a
���j��������=��>v���x`au��HZ]�V!�.,��̠�.�3��9q����X^e�_%	�'�'��Ą�^^��a"����N�l.iA�k)�?>"���h���2��N���Q�*:��2�U��^fx{�V��4�©|J+�R����gG������:Xj]���Xd�ȫ��p��w�R��qY{�U�>5�/-p�K�`�d��J�Rc�3��uOe��OE��쿋�N/*yU�BDV�$�r!��mW�B��
*һ�@�&�IC����]��\�AG����b���1-�_����+=���D��y#�����z�iBO+VXtc,Ip��������sUC�?�z�� 6t��~�u��h��#C�G���ʲUi�*чy6�p0�L:���dd)����+�]p��p�R^�c>C�}�ƻ�Y���+*,"Շ�-^�;��Q;?��}O`89ԣ����p�$�*#3��Ƃ���Ԋ�
$V��ݫ�Z��r��؍^���E%
je���{�,�����Ӱ�7��d �Ϧ�o���
���r����U[hb�e��Ji�1E�����f_r��޾"u�8���{�o,��V�н���
Ia	��Z�,���rGe��j�U25�[������y�W&���ڿ����WL�(\.�x�n_]V���ڨ�-��.q!&
7x"�
IT]:0��3��j���j8��8���;d	�onƷ4�Q�=��Urf9Ve�
ӊ[pXa�:�����J�� +!��`57�J��!TQ4HO��Da
#YŨB\���r���9��d���B!E[�5Uy�RP�`����œEG�îF��Y�viق:W��!��٥E�[�
��s��`a�pk}��V��8*7{E}���_��[<�q��†��Kw0�$1X�x�o-�~����� [�
Ýt����HiŵWmL��R|���h/�U�"B�� ���	���	�Y�m��ڒ������&N�k�H`�#}%�j��j%V���C5�W�����bhac�����`u�S����ـ���/~Ͻ����w�ƝSW�ޏ�PXWd�g^[ylM2��V�g�O�kX�����^����V!��DV��J���fȴ�Y"��f�0�+�Pb	��*,�
�Fg��ƪ|g|U�(kPE앸F4�+�����Xx��ƛ�.锛(�>;�+?�*+��A��	 �)X��g���,����*����O�=��#,ɞ-Yh�CR3�{X�)G��~x"�RC+����H^��JmO),2�kڞǑ�WGֲ���Uk]��^!����Ք��p���dX_�8"�����6��Om�{\�P}����,�,
�],��K�	=V\���j���ơW�ՠ1�%��wc^���<\���q��y�
���2nDlQB�Ѫ��b01�:,�:!����,��0*��5f�������;>��l�	���z.|W��ót-�S��J�/(^��A_.���kkύ��
�n,�\/�v�E�D?N��	�o�V5P4�Fӄo�N���K�{T���H�B�j���A�f���,2�R�(�ח�g�ii�-��� X-Xb-�!����z�����V�Y����I�2�Iѭ%I��QU���2,8T��V
R�s��A'��غZ�K5�?��iK�6�~JC\�U-2cBq�7B�u�,�`V�1�1�‚�,��d��ҬF�f����v1^\��T]y�Š�7�Q�ae�-��3.��h`���	ʩI��š ����c���(pȸ�KT8Cn�츅�j�ƒP5���.և����W�&�\���]���)i�?����K/�_9X������:X��h�Dt�ԩ�#�?(��'��‘��aL(�ս-����z����|�͂�QQW����x�����)���O��Q�D�V�sK�i���>��W�y%U
�*@e�^=��	�E�*�+ �V� 
,"�(��[+�-��K�\��jk��.��Eb9b����9?���ȭ'�ֆL��vB�J(B�
Fl›���F6��x�'�p�
����vH�R��!p�2!T���x%W�e�D�u��D��+�jB��q�����Rd�=��r��V�ِ�+��
Y�+�>�׋���t�H8(:A(�<��	[i^��"Sdh|�ƃl�Z��^����a��G�����+�G���˝�\�Y��/@+X�������򫲅�Ąe� ���&Mm���(�W?�)|6 �BSwef_�s�j��NNr�\�>ӝY��],p٣xp��G��i&k��a���J�̗�Q��|��'���a�
�
ޘVK���u�N�{��t@��O�����a<H�]���]��B,$�a� ��tAflg@�$�Ž;7j܅@���B;�����L7�|}���{ν���^�?����缯M����X+�5jBh����գ V�����kx��~�}{v�>���FZi9��`%Xww~��o��^])�䂴#��E�ʔVD,�Uf���{�������L+�����+��	�˗�N\��	��ݞz1u�z�~J�$��d�2�x90M5|ņ{�Y���|�/v�ta����5�0+���k�̬�DA�$�K�#����e�Ϲ�͉2X]�VEf�Վ�sF������P���5��V�k���ڸWs�3��� ���_E
Q�d\�g9W�5;�26Y<�f_5���i�T�mi�a�fU���EP���A�M\4ˢ���{5n�ǻsxw�
,�X�a�ꑅa�S�]�)G'L5����vO�P�m�o�~����@�,w�W����i�4�t~�,��;�p����B^u�T�qF�2���2Fj�ӎt���BuŰr�
��)��J�+�p���OHa��ໝ`��l�y!���D�ӉH�<��E���V�V�'*�^�휚t{���8�ݾ	���p�'�JՕ!\�_�.v��1�Fc%�H��+�U`\��rq�B�ox6}�{W8�������HS��ց,��W�eye>׶��<�W�r��=�hIp����ZZ}%3��Uǘc?�
�6���^1������
z34��A�X-'�@b}��xX[�Ư�u?���R]���U��s�_AM8 k�6bj���?�A`}��9`�Pa������W�
>P2�Y"���x	U�p,����V�U���(+��VU9V
QS���*��� ��4D�ب���:1O���6��HA�(_՗��S*��f��95���~*�`�нz��*�A��V�(<�]��s���2��섕 �88��i������������t��!�X2��,�	�q����g7�����|OXb��}hY��͕�E�ϣ�8�W^a�پ4�o"�j�㶨w�����Ǣ�|TA���1�CX���-y�
�^���Ԋ�ԃX~��������Z��oV��e7<Ww�]�Ya�ф(�z��'��x���+ȹ��W���UC�]n?̢<Cl^9}_=Qg!�)�@m(��r�_�T�����ːq�O�+��*�!������wO��j�M,��>���-���A_��ub��dD��YB��$ҒJ�R�^�E��n�T�@F�/�9�NA�A�Ց��H��eX�-ǧ�0=�x>�hC~.��1��F�
&җ`%E`��+��;�Ѯ�����vg��3o�Y�-��[I��7�U̪�����q���\�e�E
�A�������p.i> ��XYѬ�`HD��kU���uє�1(i�'˂MۙA
�Xa��Y�@����t������{��Hkm>�>~����
��p��@V=,~C���>����p����'����W�XA%���1�V����Sj3�ҎA�Ք����'����JpE��~��	G���VVgdQ�n�h ��i�iA�!�ܓ�
����rk�SX�E�����Z��c�B��@!�	erU��'���z�A��Lw�G
���*��t��[E<��A,�C��*����oݗ � � �Xg	�l;�rn�s�(�A��H.o�(�0��EN� f��x��!VWg��7:MB[]���ȡ���JqE7���x���%�+8g��|i0��SKK�ڃ����j4��*��1�L+��.�[-���uE_&�
�	Q]}!laAH��!x�Na]c�Q2��Ū�f�|��Z4���U��K��HR�9:�}��
p5�+��rBk��sm����y.Ȱ|̯:L�1�t���NTM}#�W��'��t�� ��>�}���@���ʬ��&XIb�ۄH5�Gn�	�3�u�z��ߑ�PE֋���W��U.JH���}UT�i�g��L_�t�4Cz_����W9���8�Q���W}aU<����y՗-9}�)�6�$����i�*�V6�`�r8qŽ�����`��;��UvuIaQ���,�����T�ߨ�(�����g��ot��hh���.IQ���'EԌ�P
6����n�)nb�c"��ZiI��Z���-S���V��h7�g,�r��_��{���5����w��1�j�h�Џ��u�Mٜ#u���oEac�*�@�驫ab}m��{�c��G���
�D��.�)�v\NK���Ձ��W�`1H��x\��p,��z�>��Ԓ�����mU(��ص�&pN����q�&�^��ݎߒu��m	Ժ�a�N�r�	pu��ݤ�.��h�j��j)�s���h���uk��Ñ�Y��`Y�='��U�?���H[EVUЪ�@a,V※CԿ*�[UtG!#��%��<,�P��\oȄ�P`E
eU%G+�Ff�뛏�$,,�[,(G�	�p�`X���!e!����Z�f�U��U\2�|Yy�ʝ+<�~̄ԃ��"t�wpQHK��4ݷ�u߬�ܮ���W=�C*j�Ǔ��!��$Iʠ�!YXb�[��y�H�mD׾SX���/��mc]Q|��:�1�i��H)X�����b�(��,
ɵ�ЪÑ�$��W��tUP�\f�"^���\MB<����Y0�9n� f���u�$
?7��T�}*��!3��G�y�_ɹ§�LC.�l,TX2,���Wle��l�I�d^}RX%�s4)*L5����S,�*Fhu=��:�y��b�B!y�T/Zf)��]S�U��v��+�,^�k��;7}FuUP��ȗ��#]$5������7%Ա��ZQC�����U�Vi���xmzm�X�Y`}�z��"X\r�$�OQ�=�j8�X�`�Yw$����b�]F~Y�5��X�� {����v�W��>�;r�ȫ��
�U�h+w�b �jڡuAWS^�S*RV�Q���a��+b���SwW����0H1�Su5�*p5�#��>:Zْp'H5hMh�\
^�J�E)}}E��*�Y�b�X�zp��g�.wO�^b٢0�{S���ZКWk��ܩ(\;�^�J��'�W����]����,��p3��+D�Jweō�0� 
K�R-.�O:�k]%����q���V"�����VT�Fb�{u�@l��U�Ʌ�+	`�XcQǽ�4��q�WU+��M��
ڇ�����h�&�%}E���XZ�f
,�Z׼6�Y݌�O(��B����Bk�z�O�*��Z=~e~�6�cm�-
���V��<L3a�ᒐ9ş�|댮z���߆�ᗍ���W�^���''E���K+�P�.��v'���+��|�Qn��g���,�l���W'6&�:�ݛ��٥�1e��4䕧����盋+�Eх�0Ԡ�2|0�Y:`�>�����=�l�b+񾻅�.�]��R�R&O��/��
�]?��w�8��og"	�PFU�������d���WA�J-��h��̓�4H� �},�f����.S�R��F��ZE"�"�)@ת����m��A��)���
�Xa�~��"lU�{q��:�:�]���@6�l�P	�ۓP��h������	m+�¸��?[IԈ�HY� aS�h`�\PJ��=�b\�W��x(��nt�KY����� �Atm��f�,�޶�M{Ͽ{�}�)��'==9"���wΝ/��5������j,�>aj��܉󻬾�=�}���>�@�5�"dߊUYo(������A��n�>k+z1��V��)`������>2��g���bm�
@UbwPe�MDžڣP�7�nNJ�=�C�nf�V�e=�P[m�&�$�,��żI
�p�x��a��J���`0clM�I����EѠ'Ptd�L�G�;���ST�5��4��2*,gu��`Vd�NLZ�gh�0{L��!z%{��$�
ϕ��g<�4fPl��V���%aXy��J�th(�/���Cd�!U���x:2���*���+r�f�O�
���Ђ����s�(t��"K���WT���++o��+\"�n)Π�6�uI@�2W�
��\E�b��C�f`�Ɍ�^0�XVі�A*A�,BVj�_��crY�+�!L����	,�V���:�R�'Sf~���6� Q;0Ƴ)g�М�����r5�b0���~�]B#��񮸚˙r哠A�M8?F4�l�&�e�+=����*�&eG;�dcaK8e��DH�h����`~����;)h9i��=fV)�Hc5��T�����&�to$m?�8�N@4�o��bT!��ɫ퉯��Af��QX䷋�����9 ���>fmҙxtؚ3㓣�rX��8�p�N���|>��B��IY1�\EX��p��ް�`E�ju�z+�a�R0\5e�V+�V�
xr
����L�=Z�:���
�	Y�XX	"�Y��Cw{i�V�z8�H�{â�A���D�sW�`�eUXY�E�"��*v_!%�6�� �a2v�B�ko��j����g<�6�y��q�Z�ZӁ��׬��*��f:wä����i�x�Ms'e�\E�w��q���eK�I�bb��U ��S-�0���;Z�䊐2
Oh�	�c�IbI,�Qj4�K��!Q�X��d�9pN��@B�Z�!~�f�X��Ů;��#3f����������[UX�Z�� *,L�#��[�U.����+�.�'C�(+�/�=�V9�BN��{�.W�,#���%aM�A�U�M-#��G8e>�Թ�ZP��C�����u��Ǭ)�.�p� k[x�e$x���{�aݑ}�>�*��WhhU�[wp��I�>!T�X��*�N{3ӓ
-�2"kQ��y�h6=�sXs)ueCX�q����ُ�.SvԮYŜ*��>-�3���]N7�4,N�U�}��;�n�l��]�,L����b_����Q1�����Є���tç�7��QkIژ=��Q�M��օ�Qƶ���>RYT
�|��-(���sZ_x�<�	]��� H5���{���W~
��
�vYa�[s(�@�i�Nw'��BEX_#N
W��U��T���ۀV*@�����)�8$�7� ���}�sF]i�����S��1s������p���p;�GhR
��'�w
ޑ�*(��t?r�2%��YH�#b�]Ʈ*�?N<֙'�4S�TA�\�h�frm>J���	*B-��W��9��ʬ����S �i��!\�[%g|Q�ƾD8��3/�*")?dE���$�Y;&(��*iw���۶��Jo�ևO6��"�����ZbZ9}UB��
�X��ܷ��)~{��זWN�X���2f�Qb}3c:�}u8W������b�Q��DGAdu��z��;o����~�
�����r��u����}�
��l	���DW�>;���2�v��S!YW��ir6�jCv�6�GZ�����W(��T\N����)�sGZ��*�x���E�*P�3�蹣��E��,A�q�(��B�Pȡ�fŜ�2ҕS\��*��В��?<uQ�	�����#L'G��Y�Z
��UӟFT�����Q�*�"��"�%K�$#��Q�[ElA���I�xyd0E]9
5�Ͽ�v���S����=����$�G1>I]��*�XZ%bciQ��?<��?J��p~�c�idH����EM��L�"��*,���W�MP}5�X��ht����8Xcj8x��ka�#��F�o�o�zO�;s�E`���k�W�{$���{���`;����R]���~M���sWY�ۄ5�W��Ɉ�d^�)_xd����`�@��BRYL1�r��zX�?L�N��ZX:���ȺÜ;�ԝ�d-'� *˖|���z���J~���XX� ��ͫ3�i�œ1�	�V�4>������Rh͡��UL�+��PQ�\QpF**��ӈ�":U���Ć�H�U�V�$�P9a:�k�֦갺�#�S�ՎLi7C���1�bp�GǸ�0�ԃ�����E�7��b�L�������V%�*]��'K&!:y
R��O-.
Ya�J� ���M
����z0�9^]�F�i`f��9r꿊��3[�a�z
��v���S�7����Vw2k�\��'^;��i[ɕ��k�r�zG� �.�ϥiЄ�6�	���
��B+C.-S{�����˽)�ڷ�+�"���&���!%��;�#�f�B!�W|]uT��*��\��΁�QXz�t>M��z_�’���@��E�u���	��E�,����m�<�:P�9"�Z��6 �����xZ}2����"��X���Ew�`4�#��3ɬB@U5cU�=Z¿v|L�),�S܈ůB�Wl�[I�iI�+.�‚��J-d#�Ą�q��e�-UZ��.�Zv�r�r�Z~��ϙǟ1�.�F�g(�ܺ��7
�����:�|�X�º��!�u�qke�ݜ�*;]�Ӗ�}�Y)V�VC��W/�s��h���S\���p9(��2����{C	��P��þ��y[��u��˽=���چ��f�d@~������ʻYRN"�ĵ`���j��hs!�
�p�\�k�X����isڡ��Oi}e$֤p����T�I��S!��\�uf
��U�L�xV�i�@U�"��4�%Т�OL+1�h�qj�1�t^W՜92��c����9����)n��6�c�
�R��gz	��,�2�(��/⾗ҔJ��L��Z���9���3G��ٷ��:b��������[�q�.]Ax�
���糱�
A`m�<��J�c�՟�/gk}Ҋ_7�J���U_{�j���{�\�C�'{�`b�XW�пJ�]q�;�KBVB*h���ARX���l{m#����#�$��!��H9H��$�]�� �ܵ�G��� �&��ۄpa��#UX�ɘYG�� ����֦�U��V9UaX6mg�B0�asQ�{�QX*��^�TA&��¤����ӟ�/"�#�$I*	/���,4�9��5H�eX;̬�G�'9�O��2�J�V�UU"U5%��by�	�_�S�
�h������c�|
P��_�\�i@qEb�D��+�ڰ��J�뙺
[%Z848�jkz����%�N^5bY���=��H����g=h]���HcX��3�W�x�����B����WX������o�X��N����;�и�+�I;�xZj^�`{F^�f1A.-$p�D3h�P-�"O%���B^dSڅ�LBKCGD�b�+�`�d/^x5K[���?��7r�{�ޛ��w?������RpCVW�� q�ံ��	���'�{69RW^��AT�E=�^[�TP�*�d۽��g
��O��̖q}9:��"�}�v<]��Ni@�}�dքSX����C��e��8}U�����P�loY��V�e�=�bY�A
�'
�zItt�7�T'Ea��Tl�O�!WE���Y�Sb�k!�x^�z����
�T�������"k�+NWU�r�O�� ���z�ߧA|�'��P���H�C#�(P,|�/|�j�P�B�&���3J^�u$"��X5�5�G�+�y��B��X�>
k^aY�f������(���{{ �Xc�=��(���_�
�i�Z[R\��/Xp][������Λ��]C��GZq���B�-�,�5du��Pv7R�k��hS�z �*�om�Ŀl��}�������e����We�=��ݎ�6���`b!����d�oH��|�J,	cm��B���L��>SRn��,��X�iW�^��d�Qu[ �����e�V��*Η����;�*�X$�YI[N�ȪZ(�TUEc��Oq[ ք�
oB���U����S&��Gׇ��_W�_X�_��2�cP�pԯ��(w�`��3��C�Oը5b9Չ�V�P���zʟ�`����_�k\�-���@$�F��9��e�pn���kX$��%�]��GӔ�b`��EsG)��s��tw���ó7.��
��.�����w�WoIX!�B%�"��`!��nh�3�@�WZró�p.�
K@��Dq�I��z����|�q,��۷Ae��~}w�W뗹&\�#Gg��8�<ߘ{�mXöT����m!�xZ�[uSX%Y�����Vڕ���oY3�P*ڐnG�d���{�m,��པQ�8�^��m}#5��b�JEց��� `��j�#k��n
e7���[߰Ӟ)�§�D]m���M�m�/.��쬞�_E��G�������F�t����+��!K�5��A6��ɴ�s?W�)�G�� �>��b��P"�E{�
��أ��ɑ[^���~
���ݗ���1-K��������πW/_�uNCEHk!Њ<�;��
B�V��ڥ���������Ra����U�!k,�1,3��������jZ�쫭MWޓ����M�.��h��W���wG�E�,�X�V�#�d��-�[f���*�>nѰ��i��$��JVe����s*�W�ʴJ�s����ɪb �*e!��2�N'��d�1��n]lg��"BQM������H,,+R��@`��PʌJYJ)'�2�O��~��&�*�U��[gs]ƈ���ř�g�@8�H$V�F�A��m�EGP7�(O+z�����*��pE�Bl��2n���=�h�p���Uׄ����
������(Հ��5�n��A���YR�N��w�|I��\#�EE��&�[i��+�2�]��"��1H|ҫ����GoY������,�n������Wǡ<�u��jX'#K�u�t"�������݄�bc� �YXn���x�E��+���K�֓�?&��V�6x��X~dC�C]H%!N���W�p���n�T+S*���.R-��yq�C�tp*����Z+Yt���>�-g����+�U3��h��(�������G�;�b!�F$�"p�Up6"��^������J��wt����+�O�U�F�ʿ��nẖՄpE���ё��hb9��7$�3��"�5|�	�,�����˳Wg?����w�*� ���.��/�hU��uy�W�#��u�A?\�
D�����g��&��2�μ4W�68�4Ty�"��P�s�%�m~��ĺA�Ta͢�E�f�\,VX��-)�5鎂i;I-\@������m��j��~0ކ�5Va�J�$K+��
��K,����I�թZnCk�z�	^Slgq��),��N���qQ|��UV� ���#3��"��"�
p��V ��}�UG�����A�m:m�E��@|R�I�(�"(+v��S�U�
+�[�qV�Vp�~
�H��]wTX�pP����"R�9��z#�;�t:�5�c�V�|����1���
��p�ӷ��n��u��֓�ϟ�����;���X`}���7l\��*���a�`��E�p�
��m�
��<����a+�V���{��[g�B�&ڋJ�ĕC����"�E
�
�G�ĺ�s0<j���,w��uʌ,N���,��@�s�y�g�<�j�����*QX�߷���|v���`U��̅_���Jf�PE�WX:4Uy�񔿔^��Ѽ���#���<���b�f�H�s�w�$��eS�ª�B���>HaQ����iՄ{��/�c���v��3�;m��`�~��X
7���Q^!�r/�`���VL09F^a��禰�6�'7K�Ҫ;jtG��_��vz:䩡,�
�qM�g�֜�r��x5)5�6�S��{�ӤKK�=�58����=�Vo�V]7EF����h��Q��X������e�v>{W{� R
ATU�*�'j�urzly�]k���1�W'�,2�e����=q�>��?�bo-�R�}VǺè�h~��5'�"��*gV]q�F�`��}7	��؂�p}�Dw?\&��!�P%d!��Ț��;˪�j$�"��']�c7�@b��˄bjy���P��/H� �Vfp1�����x0H)��Ȫff�
�nU�Vh��i��شAlY��ƫ4ȝ�`�1��A��i8�$�k��jx���Z��#V�,�h`�Ҋl,��r�W̫<F��dz���t�E�H�� ��Ǭ>9����Y�Ha}ͳ�y��	�+�4���k���ٛ�@`}w��A��{pT_�bK��b_&\ɖ�p�e����
����[O*���t2��z:�a��0h탛�<x��B���&$�䨫	űQ����JM,�T:�a����3kpa]=�zTFN���X��Z��ʮ�{�Dh�������"l%
K���W^{-���Ac��=1�)��+� t�Q�UE�S$��Umxk�hJ}H�2����S��Fe��C�U��6���yŻ��ڃ8: �U3��&�UvrϪ�F1��{}U��mYpd�i�����-��>��UR
ru8�W����OIc!��J��/
���H}w'������g��)~�P>%�%!,�����a���!Zu���$�^.PY���m<O�Bߊ�v�V��R�E܂9W�)Õ��-Na��a��W��n�V�|9��|�l��i�;��g-���F�hB�DҜ����6^1�"�``�H+�L?���u��0Ʃ��̩h
��[	/��ÂU�*�G�Â�X�P�Y��ȋ6��r8���I,��Y����F�i��΂j�
�&*0�k�S�Kn�ڑZM�
Vm���n�-�=�u=�B�Q��s��=yJ�O�e^ɪF�5��^��|-�H�
��y-�48R���gJ��Z�
�(DLJ�B��Sv=�m�W8�|�e�4�����$,ֻ�`p�bh *$*L���"��K�;�E��lO�܅k����s��d�Â�s)��ؘv���i��3�ь�\?����}O�Spz��G�P�!+�p��|�)�Z"V�Y�j��iZ�����CL�G�� DH�z�+��MfX@���+�Z�d�+��s���E��T)��"dr%�AE���Ɋ
���b)��ҧo�2����6aְK�W7x���BZ�E�Ȏb��澪�I��0ϑWE%�[)�"��E���n�of�F$�����
5�p鄑�Y��{��5!�g�XM;d%���.���(��=�c��v�U�bU�$�n��)�J��"�Z� �!K�*8\W���*E*�*Y򦉠�}�R8T�g�R�Z�zT�Y�7Wt%[�S!t�'���?%�~�h�Vx��'��J��N�U'�=�?��&��	��/u�M�K7�ˊB� ׽s���U�C��A��oH�H�r���'���oR�z�O'�<���ī7�o�d��M쪝�jW�P�q���j�!}yk��Ԅ]W�]�P�"�N�l'%N��6+�+vnEK��E$;��ќ�����s��p�� k�<j-�.�ń@�.W�a
�*:KV1lj�"���Q��Ӈ[9��_�x�z�}򘡴��9H�r+y�Y�L�r.��a�P�
�e�U�A�f��Z6��rIԃ�U-&[Ow�e9beœ04S�
���Z�A��<�u���
W�9���*�m������ʌ�N�)P�	��Mk
���Dh��|��a;�X?�PQH[p��2ߟ�����7'�_�F��m2'-�Dq'O���`���,
������ә�=�B�z�s�_S֦[>����[�1��2)r^�d���V;��"����;�Y�-BY�R��1M2V1���]��Fs,���,a	f�u��d���A 뒝��"�.`�phn,D�!T��M�Z�����gbXe�ʳ`�G=�Y��1��rQTL>�!u�2 ,��@f=�No�Z	K��p�pQ"�Dp���j�$��\Mר�x�J!�O�i��ԝ�ɭZ�WRV��":'�2=%���UJ��#
�9D#E�Us�"�z�=�Ơ�
���Y�0L��֫f��oT+|�u���Y
4?8���E^,	r8J�J�X���0�����6,65��*�h��{O.�?���\n^JVȕ�R�"����&&��ъPk'p4f�0��Tw*
	�"�j���V0�!;��~_,�W�Q�˸/�C���`��"�KixC��p��%'������>aqե78
	��E8	�lg5��@�`)V�\n jl�|�7��[�����[1i>n�]�C��ć%3�%��#�2�R��ؙ�����`��,
4�chu��aOJ��@�Z�d!X����u#�~�
�W��70�l-DT�O��;��pC��񦨧��3���W��G��aSZVL���[��B"x�D�� �,}f̲{������@���"=�B��d�a¥�h��mXDx������N�0�|q|
Ÿ�<*)�DjϘ�e�Ygi�DoS��g@�4	��R�h%=��jg���8Gր���`%��N�VT
��xo|v�ZVM�� ��.y��b�B�}!ra-�T�#X�zx��n$Ky�P�EC�;�9�KPщ�T�,�������F�w;dQΈ�t�HZ�ӰrM�p>G9��� ��l�E+��*��^�����N�[�U(���kU�b��K@��-,�+�*�X�������U��YU���83;�l�9�e�o-�%� wu��I��Whi Pr>Ѻӱ�}1�
� 냥	z:�������w��J��dˀ���e,��mXx�����ؚtx���nZ���֏����C�:���!�B��%�T�Y"vUB�dX�VNvg7�,dZW;]O�H��zvu����[��Y̧�ۉ�Y���j��O���������C��(���;H�8K��)��R��s�2p,��"U�E*��R�1�Z��=`X�t��Qf6UnH5�ij�q�06����'ɐ�JڂZ��i�0�-�"�۹�a
ˏ���=44����:�]��v�1E��/�,`Yb��,�0n���U�@��Q1�����r�+w�Z!���T
�c�f��HǝF!n�Rيb�^���J@~i:�j�g� >��O�(������v�j���X,b=���0,��Z��P�;G�$��1(X�]�<ūӂ���(V���S�ۼ�
?r��WP�.��]���+�J�o�]
����=����R:iG�蕝�=�W����kn*�s�K���q,
w_�]fm�u�
�˻��K1�"�%@�"�0Nh&�e�-��*,ό�����F���?��YP��	$V�yX�j +�k��6փ�:��omG�*�m�µ�]dM��9%��0�E�)}mͭ�o	਱Ƚ��W�\26՘`䆁Ř�^+�#��33�\��R̈́�_���,�
�مJ�Ds4T*Ny��O⪿&#��$�
m���$ĢV�D��/XuG�Ew��A��(�SFr�|�F��Ԁ=‰zF�P��M*����G=A�m�M��*�;��ʄ+Z;���E��e�=K��c�s��KpV�1t�yy�?Xr2į���R�J��>v	5�}��ʯ�c�zܢ��I�TW�+>���J�����f!s��.|�}C544��R�:V�d������>*��T�fKx��h�&'!}�H��"eXŭA-���h�f��?�V�L��Im��*dX�]�Ԃ�Z�V]IH�;Ղt��VV�r�tv��:�eL����W���sD.	���
n$Lτ��;��&��c���2�xE
�]�+A����a\��]�dY�:7Qx�1k"+�X6���u
��a��e$w�\��L���z�w*O����F%�����/���8��P��q�4Q�p��'��]�8�0N�X�@�eנ�+z~
נ��}�kL�Ɋ��~ʫ���{�=�+� 4����.$+�Ţ��bq��p��(;HyK���b�jX�j9,ƪpYꆔ�eh6��r{���
�*ws�����'�#��
X��S_0��L�����}b�Ճ��.������9�lI|�~5�+��֔<
�Y[)�:تfօ-j+�
>5fX�!�-�b_�rX�a���S�mh�0M�Vd<H�3��P�K�?Q���A!ZM��<tSO���>�H�VIM؆ۭOpDG�ŋߛ��.�]E,	�r���*ú�t�%5<�aPܿ�8���
�`�U������"dj�� �;AE��J‡,�[qW��WAg0�+��,^��.3+<�Y
��D���㾀8��L��R~���k���`9��1+l���Oe,�Xj]x�T�u�WF��2�;iY!���0=.�ŏ���
��H�j��������F�V��%B��C�����̓}�/W�C'�r��LV^�8��A2��r��B�|$�$#�V3�S�_��S�TOE����/G�DlV�ҕ�+W|�9�fU��դ��\�C��j�~^	rA�$��E4gxKWu�3TBĪK�UR(�]I��:�ڄX�����+����:��(��mm13��E�aw�B@�d��F�b�I�@��B�mm�Q@��V!T;�,�S���ʝ`�@�1RX����';�lՇs�=�^fUԊ��*�{�����߄b:��x<;�.�	���NJy�ԗsb֙8XG?���_�\A�<�u�ZE��m� 2,+�*�Vʱf�DN;,�8�.��ĭ��{c��K���>�����^8ظ
�p������O��0E�&ϫm��5�Y 	�d�pw6�.��P��w����z�۠c)��,�^]0���� 
9��fe��0�i`�U�̜�+V��FV��-��^%�V���_�L�d%6b�[}��	S~n*���c��l�L
�<��
A,�T�=��J��F�usZ�Z
Z��35��`V�Z��U!kA�i�Lo�Ǽ$�i�f~)��X�dc��#���*�E�Zډӊ��_q����hU7��!AS�_�|�
����9�B��.�v���v�e�#I�<��fܤ��"��9��A�)^��"�3w��IN;�*����rh�I�Hι4E�W8yUQ��P�"kv�
W�~�pD4�}���Ki�k`V���3,ߔ#=9ʯ��N^:.����g~蘖7�gu|>Ń��������"�G�zA�,�*1�F�c����L��7I�,�H���V{ȥ���+�I�_Ŭ*P������j�.�_�?�	
�@��	X$5�ط��"�/�~�j^a�a>bc�W�b:���n2�Ҧ�T��߁��>�E���6J��#ˌbe���S�jIA0`[8�]9��V*�R�
%t2S��V��r.����\*$Qx…Bm)��3<���5�<ˎ�G;%M�֑�����}�C�,he�%�5y+/x��<V�,e�+H��\�xhIԾ‹�� �|�����R+F�
��2��/Q,
��@�+��/8��G���t���LyԢ���^DYw��/Ґ@wT��5�p��3���+H_��ʐs�N�
��lŏ�_q����~�Ļ���X��J�(y����$\��f��-q�N{Ⱛ�޹Vs�Se%��o�N��xR�Dۉa�~��M��vebI���c-q��T��ȃ����V�|*p%����n;��q��e�j�י3��^����lh���o��̸RR���{���A"U*
�t#b����\ 
_!d��T�~p�H7}�@,	aYnT&5�l�����
Se�B���]�Mw�*�Z�ZT��ZE��M	1l:fER��v��ާY
�dX���B�	"�B�>д(�bz503��䫇�U�ܫmP��a��+�_���UF��W�,��p�%T�'�F��x'�}X8}����ՉV�XQ�
��ծ�Pwca�ZrI�Q*�V�\%u�y0`�^�x�5^�[���ڴm��xD�x.� E9�FM`��ռ8=5YR���
^M��
�(V���S�Uưe+�=�fL��(�7BP*�)�)���^D��i�����K���.���vц]�W�]]�:G��o��X��,�@'�4��3�]�T?s���a��8,_#�pƃ�������X�	���ZQ�
�
ݫ�ueV�s��>��q�̰6��A���ݿ'�VJ)<�&���)y���:�w��*Ц�(�r_Tr����I�!�
�ZEs,J6\ӝ���r}�w�$�~��T��!�p(�A��W�P&�v�RCN�IU]l,,�<��Cb�h����V@�on%n�$i�z��s���6�ָ��'�kUF�~7����C�k���ɼ�_I�/@�ħ
X5V�����U��K�����ީ�VMϢ�ӘY5�*M���R�n�*dk�J+f�"��-Š�&Җ��V��V�*��u�(dV���
p�?�(�:��+[
-��gԝ��
H�uJ�E]��Dx��p�=lz~��]��]��R'4��H傢w�O-\m~���� �]�<��'E�o_)Z�Y�N&���y��j��݈��f��~
��m��{��^`��c�/ъ	V	�.8�~w?#�bvE���hC��
�ck�%�0�AdWmx��:��m�Xm�z�n#2����ĭ*S��HW�a�+Z�
��$�����*���	~��ߦ�Vk
��
m�?h���r�����j�+V�Z
�'��l9\�Q2�WOK�*k�랙ye�zS<,��Z���f�ZHTT`���e�)v��}+��r���XV�BPLvyg�bx����F�������m�v�;�B�X�}O	���&�`�LXL�fN�e}�9��{_� ���o,����?�ؘE�189�]7s�^�q�h�]G�6}��ЇCd�g_��1��K�+��x� ��w��[8
���{W
E䂾�>D��h�<���,0�P����P�j!~X�}85�FB��^��&k��t�:W­��Y�[sdp���H�a��+��VR�L�U�_�ĭ��Ú٫�V�]R�;l!��wC/x�6b�ʻW�_����v���\Rh6���f�7��V�he�ɒ'a�1F�"Y�(���.6�b�Wy��-��2IHQ2�i�(�]YD�0� �{1��huн�^ȶ{�ˠ� 
�TxO&�A��)�I��ggl8!��;wJk��t���0�/9��L�����7o^f��[?��n��
���`_i����8qe�*ʃ�YZ��,���H�K���D	������W���@�JžHB���L|]��`���@����Rntvj�w��t	�u����i��m9�Z�҉΂�a���!����2pu�,$��N�_%�>�(��YW�Ve	���r�i��<}	V	Ti�
?VnW��Vl�O�6�Ěn�n@�q��Ʊ8�8��&B�"��)lW!��T�jge�O}�ߥ�,���.-��������	�X9
h��r��ia�_\$�"
]#Y����& Rt;-���2�B+0���^i��L��-&��ߏ�a!�:W�ţ܏�������A�豃u�b�/�>*���<��72�/��e�b�*A�Sx��R�}#��±-P�#-��&K�|��XÚ��*%J��������.s�
�<��<�=������
A�١a�7;w0�E���	ٽ�n�8��U7G��h݃��vˌ+���jO)֞���b�ډJ�6��R�=�PЪ�
��'5oZ��쫉�+�t�����Y�*�i�e-��B����+��	�<�S��p!R�l�jV}�b��!N�Jy7���~Gܒ����Ҽ	�:IU
��oitT� ]!�B�4�.S���%zu���t�7���b=��?�"��������պ��E�*&W0�A����#�.���$�΋WV.ìA�+������ň(KA�X�U0���n��j���U�I¸8Xpw�U�[� �ơ,��b4�վ6Jz�!J���r:d�w�����Ϛ^@��G�m�@��M�x��OF7+�v
���3��`�uA��Ӑ��Be�G�Jj�|�L��/�XEj�Q�I%���D&Œ}a|;�^!���̭q�o���]�x�+��jeR0̈J��u�5�,��iJ�
����Z�锌z���,��z�FɰǞ�e�r!,���b����w��
�1v>�m]Y�w�do�"�Q�g!	?���mc�.bFȘB���u�3��0��;;'�ؚ��h�E�J7��d1��y��=�+5OOO��0���w��Z���rZ�
빞M�'}�O��b]B��u�G{��^�� ��˼ <���KUZb)�X\mR�:=�%�e���j&�6�'Z�+啑U	Za���]�0�Du��k]��4|��|����<�_���~��y�;�,���='|�K�a�`��ze�.H~M�цx�
 ��[�HX���U9dA
�XU��
,�|3�5fP5��J+�����&S����,�*a;�W�E��΄2��F��`Y�5�*+9.x`�ƒ�<Vf>T�����m	�j�&%��7#�*39VRlX�5)�ʜ�~hv���a+�3��PcݦS���QE���t�5!���h�̙T���:�M���a������W_�
2��%��%Ǫ*%��ĩ�+�x���W+ɂpC|v˪X\)�ȺU�Q`�Fz�`�*�C�:�p��'��L�����0N����5탣�*u��?�kY�ȜT8C�9H+l�4�a��0��؜�� |��p�׳R64��(�yQ%DM�3[<�4d��r�°ì�`��Vc���j��݈Ul�{d�f���y��ּ�W �*���o�/rH]vU�JB���h5�j�\beh���zFn��J���f�Y+EG),�O�PaX���	�*��122���U/�E�]�R+'�iN,�����=���'��3��P���%�F��:çӋ��S�K���W��TSY}��
�ZU�j5�l���ګ�9x~�����x�J$�\s�X~����)e�V;9�43�����+�
���r;���D�:��7!wc_%\wZ����뢯6�B�4�e�W�Ib-��R��y�"#�Lu�,ѫaX�0S�;%�sB�qf!�d�Aj&X��c�Q%h��+|�WX��K?)㪲? ���T
��PJ�+�.t����fb�5T��w�6P�J_j��F^E�����x�e�%�a��$��
��E&=�F*,:G��^;��aAC����;LqU���J�\��>9E�u�}�>��s���G���S�*�\f}��f=�j�}�n3��E�����ՏUTYNY�Z]�qV��W+��o˯���=���R0I���6:��!�#�-��=qƴUL+�␳@��UN*X9��A��ӢSɴ�tsw�4��HE�DZ�X�jS*�&i,�7QRQ)�đ�f���&����s(��N!܍r��Y
��vf�:�fP����f��(��R�R�=�~��
ܝ��
�jB�T����J��w�;���	L �T�Jp����n⛫q�qW��X�WU�VL��1��JV\��H�I6���!ޡ^�g������Q4��Q�"=fyE���I5e �ҧ\��w-�@b�x�{����H���ǡ�3#��{�4���"��t�_������_�;�W�h���+bXդ(s��*�Vh`�U�q����y�V�1h%�q	w����X����p`ֹ��rX!��Ijt*�XEK�rn%=��O(���'hm��'��~F*�0����*�suE��aH5(�f�_�(�>a�v��Pi	�^ci
�l�����V<œ\q_PJ�]q�wSA\_}UT��DT^���e��B��]�j�lj���|� d{��2=j����Aʹ����'C�*��fq��0��KF!m`&�-=C�����q80:�(Q��.;��zW-��ྲ�\���;�ʮ����Q��ɹ�:Bd������7�X��qn����~#�4�TA^m-��T���[\���ʉFg��h)8d�y�u�aMv�U���^ b�G�z	o=6�^��X�ʋA��6{XS��bH�'h�0��`��p�ЌJ��ܫ�!y����b��틔�j���0����g����NC+�����u�T���̠�����㥐
���B ��[6��9����U��&�YV"��
��N�jy�ݼ8W�`�cW�Fg	�	��HW
$�0L\�����#�*�5�X���LM��]����7��N��u([AYaa�o��˶��~5B_q�g���-_�@ǧzx�b����W�猎N];��lW-|� 6z��JZ�m���^|�x��V�a�WVQ�p���!�\u���V��*����UH�&�ި�zd��;�3�7����UX	�߾/�Z��&�+��!k�ִf�)�H������UX��P���K��a�L��#��F��K�3�Xa�0��gɻ�����x|��D�cO���bY��h��)��WFw���ć	��ЎjLTrWP:U5����X_.2� ~����7�\��B\�:$]�����4�h���)�̙��<A����x�׫H\=�Ӱ�VV�W��Wu�(_�Zw?;9&���(����j�`�,����%��%y�s��h�����~��� ��v�^��f>��ڃAY��U℉�����x�	M���P�>hZ���}�$N���u����^m_3C9�ag_Ra��
A\�O!w�4���o�2���A�d��FX�B�a�qE��:X�-��������;��F�iA�����,W�_�2�������GXUCX�ŕAL^��R���k�]ݫeO,�W�Z��f�c8���tbd�?)�����<�Lu�M��T¡~8�e3�u��!�E�5)�dӂP�d�O��Ձ>����zܫ߻"b�������ӣ�>�:����&"+���6-�
!	�?�a�����_^��
��j2z���&J�cR[�ٚW�\I�⸨w�}L����׀p��t�ۃ�*��zM���S�1l�
��k:�<d�9����/X�,k��z�i� kӤFEc��+�T�\5�n,64�����YYej���Wd^�vX^���2�݌�ӣPEb��
K$�n���׿"�*��X�!�~*f�o⡕���.B��N���6$ʹ���Y��
�A2�pL��^��:�H]�ť��g\�MX�Zu9m¥F�M�,�C�sRG���V8G"�LZ��(���	T��{��n���@c��~��B��9���+,����N(2:�����ī�U+�,���c�ӽ��*���9�+y �:{y�ۈ�U�:��{�Z��+�{�+�Ie��7���ԕ��}��F�ui(�q�����:F�B+�+�aa���ʨ���vUX�(D!�6de������3X2N��oŏR8=г*�Z���}qAJB�>Tt�&,��0O�`$�<��dh%T���N?�4ûy㴋�N)�����7���DUDY+g�g���aXn��J,���:��!�Vᖪ���Br��N}�Y��zL&������wa�*bV�P�~�|�j�>�XX�Yb�I��db�ۥ\���̫78����.�+POq�}�R�bj�쏱��yO_$�L!�2d��Wk�1�~�R�)d�칲�	��7�#Ja8���ջ��+��"$`M�����d��-�n��F���Q��i�WR�9_�r�
 �����8
6�1Đ㊫Az0�H+�J��*I)�5_ɜyj�E�Cq;�=�Z�����@I�Ɏ�i�}�Ծr�bV6���Dy]{%&�(��5��yGjD�`
(�R�ۂ���r�{��B������]a<$�*��IB��z"�x���/#
f&d⎝�S�q<4�)&P�08����,Ƕj�b��ry�A����b�0�I�wϿ{�}WΟ��'���w���sDP-�jP�4
�.��>����HlAV�dq�/TM�`_�4��fkW��Т��^9���غ���Œ(
sd�9���lt�3�������B�P����;����^��z�W�P�Jo�	v����[s�*peC�©[�F疼&��߼�.W
�i`!�ө�Q��Ji�}G������
E����\�:h+�.�'��~�o&�l�q�k����
ݫW� �/��[W*�\�'��$����Xa!�^�������v��Ղ��)Wt+s��Z`a�Db���R|?��`o�O���2.=���Ѿ�ȱ`Ƿ2�o��*�ИW�߽��n�S[)
���b��7)���"T��K�.(+��J�A!�H-i�!ZeՁ��^��7"S��DVC�A9��1a(�n����Vi��"�����_rV��F�9X���p4��W�p�y��Yi�[%TFԆ�_�(��od%��UV��K�UX�XSM�I����\[�L�����"��S
��+u�?��7F�����JBj{>W��e#SM��nZr��M)_{��F��Y��E(&֕�UT'�Bm(��+PY+�W�*_&��G��rkɩ'Z�e=v�+Q��-��eG�rw��,E"W���_OU1LA��D������e��4�(d=�
tQU�
˱JF�U�fv�2��)��eQX�3��﫽N	�ar�|fzY�Ǖ:	�3A�-}ۜ����I��Zl2�$C��Tq\��կi�X9�6�pO�ȫ��6������7��`�"�%���M�����\��g=᪮h������8��,ëHbtJ�BZy����'
�VK�Vx*�R��M?�)}��A��|A�̒S³~Fù������ԓOa�u�u���EFl��gɌbΘ.����&�W�YJW��JȪ�͸�t��%b��f_�e]������R4�P���
a���g�M��VV#:lϞ�W�\�-���2P���Y)N��N埥���O>��ǃ�)ǩTj��@a�֋��/��\
�ߞ��X�>$fUu��FF�T�ʐ�45G��Xe�Ն��Z�-G���/��;J������<'��������}�� ������_�m�ڭ�z�.u�G�મMv�7�֥�y���#�)^�Ɉ"��ݒO&������ةjq�A����2%��Xx�8�-9��\�w�˹YLa��e���o<#���R�>%��LB���Whs��b��BY`_yj%�SpWX\�o����e���^V)�e���1:)j�k�ZqX���Q�Y	����‹+‘p���+׀#A�����w�ܫ��J)��9b_�L�=[W#�̀����.!��!���L��r�n�	�=?�*gN���>��O5��ɾjxV�4����s�z;'V~aQȞ�.��;�����w��o����yAx�}c

�Q����u�u6tNF�̡�'}5W�Z�nW����
��ꊩ5Ӓb
�?*\Qv�'
��ݮQ�q5%a��p������{�a��>!$Zq9�'5P/!Z郞.V�($�QMx��������yWd`9B��~*yDv;h'ǧ{X�,�4�]~��񥠍�&ǘ�VC�XV#��2�PS�ٟ�3���:$iU���:0�.���Vg�.HVۗ�"Lݻ�9\�����oCeE��%�U~�F�'�L���Ϫ�T����x맇{Y��	o�`��j��͜Xh��k�t�S���C�Vy�����r���|�}�K��׸���A
ǴC-���8�"��m�So��jR����VXB)w��?����80��;� ��狪JS�ڑ�a��h��l&D��f���y�լl��]9�,��%�r��+��+Vl_����B���	IZ%t XJ�t*��7rR����4'zG�Wj��>,ٱ|+:v�Q�b�م�n���^QO�?�d���,j�ɔm�}����wVU:,/��&�N��Z�\y�i84�U��@Je�
ZvR�v���X9P�G5.��TbUQQ�kC*�ژ	�g�b�ҟ����ܴu�='֋\c5�s�]�U���z��Ϸ�"�u���=����?67I_��-�z-�-�J��6�����6�E֤�W�U�!�fZ�ɀZ�@+܆�R������y^'t`�WY�i�3�:
�).��#BW
BdԷ��B��rL8K�g�"�m�WV�mZ��Xa��.W!�l=��{��y���&|D�:C��`c�
x�/	m>-p��}v?�8X+�n�8S�hDg�\X,��>4�T�F�{�x�����;<<�ֲĮ����Q�ծ^�,۔��r��_����+��U=`��U�`�M�S�`V���J����xuU�`j0�T�w�Q���qdZ�������?�]��3RX��͵�V����]۾v����_һ��ѶfY�u�H���y\
�����ޕ�X+��XS���̪B�*���g�6�|XXN�\�X޿:F�N��>�}v�
ڞg%3:˳�\=8�{R_���H�����R�(u�U!�+0���#[�xW@+�c�8�\"��JH]ɱ`"��$t�P2��U)z:�QX��b�7d�(y�\��(-v6�F���R	�Ny�o�����q�c��T> �j��Þit�:N\��T��<cݓ�G}$�R�VjU!*U}L0V�z��4��℅�4ۘ�e���'�5VV�6���P��>�l��HA+G�������>�9�9�rd�9�� ���nwgc�&������D+���ԂQq5e�on���VRV���;��Ȫ��*$����V��*�X����j(t��R[Y0K�r�aL�f�HC�s�Wj@d%\
2��p"H�r��}�ώ2��{�zWz��,�](��Vb��$���5b�ol%���Q	3p=hSX2Of�kÎs��f��hY�k���ӏe|(��Ji���z���4��k]o<
W��q�2�ʆ?c�����Y0
��4��"}���ۃD��ԧ��O���w����\����흾SX}܇�2�`=������ݵ��9��k�D�.&����(*{���|v�u�7��cd���_:�`PU8,t޼�X'�)��j��qG\��#��K���|����X�+�`�玸�(Pɓ2K��"�ů%�y����W0�U�,����rE�J0�/�Y�,�F����Ԃ*�y��Vz<CG�j�-Ъ�ĭ�+�	Y���A[����P�	~i���^=�����6�PaSVq\5��2�QU���)bz�`����s,
�JNa�´�f�V7U7�;W �ڟlo_����6G#������K�,�KE�*
p5353W̨A�yE5�?�k߿��f�7�푃�XTNhTM��ʼn���*���|�iE�E�R_V�rw�#��|3��WK侟љw�[%X\�	n�W>�N3�����U��Y���h(~HH��Hq�����(�k��Ҽ�����:wd����p"
��r����/4��L����2��z�
�M��P->j}0��>}¼Z[]�b3B�~����4�(U�)d!�`<���ڀ��^.���+�vw`�3��x���:bus^��p{����v>!qdyo2ֶr�!a͔l�n"t�>􎲧EW�C�����2	�Ԅ��CH�ǃ�:�D#D9LH�94�,L��a)fх���~��{�^U�Y�����\Ç�~�[����'u�1�J,�j��'yΠ;
ǩa��L�
FY��l�/�]VEz�n��RtTGGWAa���L�ٵ
��ըV�)��%�>4��W�9�X��	R-�>��0�jQȒ�<�B_eQ��y)C���t�re�*loH�<ȹ�q՜�
��J4�1��@+��j/�&:���퐑W���˙�_�������#p��T���Q�P�nV	�9ͨ���pP���%w-p/X�L^�$V�.�J��3�9��k��w/�*�K�2ɺ��Xaג��u�=,���p��e/����f�����r�=Z���A+m/kj�4�j�\�g#�M�1VEv���ĂQ�X�V	�0s7X�Y��u`ɥ“���p�P�r �@LIZ��J݂EœF���>��a����U|ՠ�
�U�SfK�+�rz]mP�
\���,U����eZ!����,a�v�pU�S(�v8{���.N+/>�$�r�/�&��
C���C+��P�U�=٫�i��@N����z��X!�����~+] �9������X��4��p~D7`�X�	�҈y9XP���^L�ڍڕ��9[Bi+*lw�`��T��_Xw+PU��X|Mp_9;�W��TeXj�3�WX6z�cG�y+2���'ąBb
�*�\���ZPR��T�5n4����������E��i�1���:�%�j�e1kío'S(M ZAy�)tQo�L�<���^F�l���/��{�=5�U�Gs��z�%GV��
���Ÿy���ShA�Y�$��U0�OtT�5����:�%�s�A[��gs�G�����xJ<��zC��FJTĿT�{+��&0^u���`2�J��ڣ2_�G��e̠zUU�v?��Z�V	�Z��&{�T�W�i	O;��R��PK�b�EXi�Pw����j�=RZ��+i������e�dj��'�ƍ�甓���L`���h@*�2HVmfyp�dX8GPJ��CRI�,�Z��VX
U~���P[��bMa�co*�9��p�_��.}���6�	X%�S`�Y�Π5`ª�<[
,
�H�2�1�&�����dU2�6p.��E�P�:4~��pi��x�h��bAu%nJZIr�������U3fw���jg�J��_�I`��Pb�GZZ�Ȋ��
�[`���Z�o�h	i�s�ڑ�*t9����+�gո�j��|I�V��0{'k�
떮�"Nݢ�CUNJMg^�<��0��hhh���*��򠙉*44��mt���S�����i�«b[!!�ʨ��Рa��c�	*��PI�Y-+i��•��J^e�	�/��:��057>��Ũ��\a�kG�TX�^�V���h�@{%P	�7�
�nN�����2�]]��CX�  v�滺.́#�φ����B��j�&i+y�t�+�S�A@T7Q�;�'�A �jP�"�u̮��{�*�o#�n'S+R�*�[�q�`˄�HEX�)eH�d�\U��:�W	5��t��X�X;��qsg
K����x���n�
+�!��i�AZ�3Šl`#,�-r����{�]����v�����g�*'��[@��t��q�C*����x)V鑩��
�vJ��H[��g�}Y���Z�J�+BT��� g*���+ӏ�U��]�O=Օ!����zR�|z0�'�wN�Ы�(,���)��*f�\Z8D���7A��K�l7*��,���SWx!���
�+}<��C���‘�~� fuގ�Ȭ�^D�JJ,�^���'�T֬y���u�����U�_V�x�c���ogW��a_���Ja����
)�p�i��V���k�­9@������`�T���+����3�S����"/�o��:�v4[�q��8�n0���B���)��q�YIi������U�����d)����*-')+�[V����ibWv�S�T�S��d0�=�e��J�fr1�ܙ��v�����6E��8��n(/�d1�E���*�(sV�!�����%�5a
��@Lͅ��+���ݽ~.)�u���/�Obc�`8�DS�V)��W�0�AĪ08��̚�	���Ǣ���J�)f�8n�>�T
h,�@��+���8�]a�VJV}*ƒ5X}d;�s_�m	����j��ƹ:����J�L���a�ð
{��5��{C��Wi���՜N3�P�X�Q����;�W��a�F���Z�7��uzy;�A��|�]�&��+D蓺��p�<�
ĕo_�q{�Lm���8[�]��Y�96��[¿o�%��6���a5-ִ�5��;,�l`�W�p9�UZIIl�{H��<��Z�n{-�p�����S.]Q
+�o�p^��~�[�VMR��U����nH��^��	���XMhH%�u��k�`a���
e�FU��X�c�gpX���O(EV5�6=�Z5�ở���C*�x�UXq��W
�e	-ra��vh�A<��z}ŠE'P����I�=�̇N$
C5�W���v���БUQ��E�,Z˃~A᪀�W�:d��Z$�3|yЧ�@d��U>p*�G�@���ݨƠ����u�U��WT���zA����(����U�B/��+P-��|W`���ZBk�#�+^)z��
����)$�$֓���-��ZB����-}���?�k�`�P� W���`�V�I�V�X�q*��j��U[3�nӭk���ƉX���"��v��X/���A`T+���	r���
��ڒ�yBGX�)��W	w0�j�Zy�������G�_������JVuhvhV܇�={0,����&dX9����
�d�*g6�˸�a-���EJ�*�e�P��ѐ��[��ٴ��傫�)uL%��f#�jU�9Ÿ�\�� 3���H_�����2�O���Ze�i\�����R�0��v��5Ɇ!t��M�@.���7S\[=�T�xyz|�����;[��ף��7�7qK˰^=~����?���\{���_'�D{YBW٢J��j�<����BJ�,��������������+��N�������{��������|�4��I�T�.���
�Sp�'e�@+���M32m��RvP��J��u��k^7(�vX$$�W�j�=V����X���V��+eJ4�:��{��e��7�����V��_޽m|w���=��I;t'`�X�=�`�:946��tLpkV0�ƹYXи�_�mkȰ�L��ŭdV1��!.�
;��BbQk�q£~�j�����J��N�	�WE�X��*"�l;��+_�Bbղf'ZA�n�]������5e6�LQS��9}�����[/�	,�+�5����ijz#ug��������GǷ�����y3�y��]fX�%�A���8.�}" y��!�����`�v���f����@�`"�Ra8:��!qV
c7s�u�cq��-RęC�HF���e�D�ё��~�ޟ�Y�#�y�f������������"��^��f�qy?�a8��@������h�\BК�$�J���o_��N//���tu��6Li�N����U�&!4�@��A�V���V��"RW-��E]�δ��3��qj0���%����8źjM����@�-������ʔ5`�P@u���(\q�*��U^�y}��3�͛��/nޜ�q����`xg}��b�J�k}�`���/�w�V&,4��܎�ev2�>7К�3����(,�Rr��Ҵ���F`�aU#Z�pؒ�i~%��m^)y���gC^�B.�UǷK�Q"�Vcfy��:�?��>{쾮]谰�
&�x:a��4���X-}�j7��A��X�*�=xY�_?y�[�:z�љ���w�Nܐ0,	�j��54O_�r
+2��Bd����,C�s��1��S	�W��^J�<��o��� �6��7oN�qݦ+m�_d�U��Ł	&�Z��Eq0�8l��T�N�)5�3M��V�6�|�b��8 ��
,q����2���~���D����%��i�,��?�1�ಆ���~B��XK�X*6�l�3�pZS�����xX���}v�<��Q�
�Z��n�Dc}>�֔��&E�/G5�h|I�`E�A�!���BN�S̈́�ZA(ӉD�M�h��
����B
i�s��3jܒX�6�-f�E�m���}�>xU�D\�[<�V��D�&��WMh�=0�*`Xهp�Ē땶��ͬ:�欪�(�����֑��NΆ;��"�U��f���+�;>+���ϨL�jd�2�fV�6@T%e���N��8P�W�d���
�@E��LU�(,�V�~�����$�z�R�lI�p����R��UKL,TV
QW-��Z��K�*�-D�w���t`^,w3�������F^Y�W�U
���޳$�{�W����/��\��
BB<%�Ham��z�s��������a!�d�������E�B���
p���:"�n9�rj�8Dm�W��$
��u��BF�д"�E��4����!RQ߾&�C��=�:W8=�q!���15�,::$�B,$�|��|�g)c@�1�t8�t��)�0A�Y*h�8�-9�����ĕ�'CX��h���v���'��/��lcHh��`5vd),�q�7���{~�!�^��p��^w�%�*���%6⋨CY#̔[�];�h]E�_���T��XZa��ϙRt�#�tC!�[l\E��U�B��BA�mIj�"�����V��b�㢾��
9k����eC�y�r���5S$jz3 ���
kp�����r��Ti�v�)9��f�}�"BV�t_B^
��������b���坼�>;	��Mӆ�Q�gӄ�fB�~�W�e!�n�uE�
t�)|� j��6�����VG���k�L+<!b��+�
�pT�
��������
K��j+�+�7!	B�S"�V������90E�ޔăr�i��L'v�S����-`m���<C�le��t�:�z�,�a*�v��
��}6�����rNaE��,ӽ��-G�,���e����v�U9��"�ݠʬK�<€�B@,�[���>T1$%�Юj$%;�&3��vg	�XVQTآ���6�Lm���܀pAXe�Uث��۵��7�2e}[gYE��-�V�f���Waqz�j:�W��r�S��zPY�m0����O�9��L���dM��͔7�
�0e8i��:XV�h�
�FL\XV!�`�Y�����2��`��j�4]�]��
X
f4mb�r��b��� ���+y��bN�goB�vI�
U�}��rC��U`�CzЛ
��|gc	��S���zZP�pv����u>���{	
��Y�2QZ�(�l��R��"�`�'Z�,h*k�*�2�;j���Z`3��o,}u�~���`D�j��B+��P��P#:WҜ2v;mi~F�j�o�1`��+F[ٍ�k���X�Ģ�@���S̠;���U;9h��h��d�=9 ����U�5,!���Y8���5�Orl8ZX��
/SSZ���җƾ�X�
9.�!���k�����խ�DK*�x�i1B�B��N����>*`Ŧ��\!}��iWky4w`H��
�WC�,�l.�mY�T���|va�����!$�
Bh�^���}�֜�(���H@Y�We;"���j×�����[	����TԐp�P]H�?X
�
��A�����ɎA�|I�>%��T�U2�[&L��ʯ��UK�-Ks��ʨZ�M�r�ׂK.{� ��s����h�)¾iˠm������N��{��hU+����ҧ�_X*$\Z��t-�ukN(r�~Ji�׽g�b|�T�d}e�U�pd`QTZ��A�+u՘V[�)Bm��s�&�Y�[�'��E�B�5-���5NB����JT�V�+f�������jx~��b\�β��bO�?���x��*�B�78s���򦔔���z������B(}E��\Oaqg�++���WVACT�}DH ��]�cbЖZ�ِ#�R�ƄeTX��R
�u?�"�t�p���!���WǨ_��*ag�����\a���!ݮ"���(Ԃk����{qZ���E����B������j�����N�V�M��7:?�mߩ������+��+Y1��ԭ!�%�?�� 5�)�+8
2��*KA�U�`
��Q#�
�{@�@�'ت����:K{Z�-A�H���%��-2kK!K=��j�Xlm����8]j�8td8.�*DR�Zj�a�Q�R�J��ឆ5�,�c?��+t�\1
�|V�U1�p+ގuT�����:�-^�v��*i�;�z�:����J��r�ݔ�%��!����"hm䲄����Q*j��0)Q���
�)��(M(������1���S�a�SQө�2Ѕ"+��eq��^2-��Z�	$�Խ7�\�,�b�����
������j�má]|�G�����fjU9?X��	�����™_�Jg�y%��׀�:�n���t��l�}�8C���bd��r�"b�R#ť U�1��'*�H�U�����,���p�M�7�ŀ�x�. �����	��BހR�+,<�	,*�]-�+&Z�#&v�B��1�ml�[<�v���6+�X肽Rw=������G�\X�ñiSwzƼ�\t#*���rIܬDjGKP��E��*�Y@T��x�����)`�#�����9Y	"�Q�V�tg��|B�9”ݜ���(��'Sr��B�B��]��SC�����Ȳ�ʑH�`u�:ʬ��U�/��:�tk���"�ؾ���U�l�
��W�� ��`��;�������m$���`.<�a����fvP0�@V�D�,���h�
Gf⃃ɯQ�u���r��4x���G�ew�~�UU˚��	����~|�u�K���V��{κIRe���]�� ���NDK@��6d��J�0��pT!.�[����ZP�1I�Q�4X4ò.Kq5�����o£�I�fY^gʯ�2X}P\��e����)�ZU0~�(�����B|hfuZ�Z��1K+o�ŷA8uX�NE���*��3�ų�P�k
��gV�9̡5��پC�"�U�6˔�j4M�p�M<��)k�M��_��߻_XB��R?U�)��[Y�{uJ5����#���ҚpKO�a?�
��	���D�"�V����:>(�� K\�k����DxwU��?I�_)�X�����Mp,ߪ^��ՅG���+^úxf�]���C(��cU�9�[�/岾�����n|x����PxpW�`��]�}xjX}��)>��2\c
=.\9�е�.�W�VxЋ=0Fr��5|�y�&�@�fgU0Z}�>�S+�,s*�S�R���\���Ls��G�R
������Lk�(0�"��_!��w�_9�؊H�:��U�j�5��[$�@K���/������SfiT�w啦��T���ّ��*;����}_m8��`R�̲�(k�֚
u�6YT������dѳ��_�3�	�*�cbk�n+4�%naa4�n�\ķԳ^X�ʘuq�hu������|����?�#z��a�����pʗ]x�VJtL���y,3�vԒ�QNmڻ-KY�wV��Vq���(���
���Պ�������B)����`d�D;U�@�R�:i�"��rq�V'�P:��q��V0�:C
��x
B�	E
�b��mbX䕨�A�P��5�|9�~~�1_Φ���L��Aj�0�?���R�
����C���Ҧ�-����*�P4(tbI��~�髥��H]֎���pvP���ϩ�(�g�1�Ц:(�Fh��[��K��6�Z+� Y��ϓ�bW��U錯�~uET]9��yEF]%N��XկUú�)G�g��W�3��yC���y�A�8�^�%�UGU�8ڂI|�4M
V��q�y̾G|YQf��Y1J����eN��DV䖃�=�>�je-^�U�Ʊ����X�qF���p܊r1d��+�UέV�|���]B�,/�V�3Y�X>�Yj9CjȨRU�7�ǢW���C$��V�`���U�<b�U�Ŏ/��ڵ+P�h	PkF(
d`S0
��Uc��Բ"�"jV�*:U�>pi�E{��'��52��;#��咬j��祔̩�a��U:gN>�5�Z�t��'����������kͿ�-�Y�IEϪ<4N12��^�R��cef�J�rJU�o�q}[��w�����2X.X��ū�}G�_�\f��+�./,���]-��:��Z%K���$+Öt�]Vm�w�+��a�2f�	-F��v�d�ߡV{�'���h�ʹ��Z�:W,�U_��Q�p�
��Y�V������q�wAŔm!��[�2��R�rl՘ub!�Ŋ�1f�pf̂5�Ʈ!"B�
��!�*�\�d_!�P�\��3�OKsg��A7��1%���L���+�T�4�T24ȴA�pP9��
J���Ve����$��'�I��jk�����[.��-��<?�׽7x?Jo8�.G�#� U�B�t���ei���SS�C�����4���[+�&J-0�r�2���@JA�%��z��Vir[U;��8f���E&WQ��9�F,��"�R��+G�I��&���\~N�o�ߐP�SǨ7�R�:yŃB���6%�����vH���������,��� Z!��p��6g	Z~9�6�e���]L�Ȫ��je�}7��q�B�tVxDZ�Iֲ^�5&�*��t��)�*j�r�rV�~8��Ȩ`�m(��X��->~��
%u9��P��3�f�R�k���Z6�D��������B1%��*f�͘�r��50�$j�����
��_z��@%�J>�K�S�f���J�@��6��!~��C/�T��Mz
U~ݗF*�U��_��O�\�d��Y�\GE�h:���,�����+$�&�-	E����
�]K�))�SԨ��u��jrW�X{C�W1���K�K�*t �q��u�zbxDXg����͛cL��\Q�t�1슆��0��Բl�e��m7v1�e�W<L$�����pEd�؆o�IJY�=y�>d��!�8����:�:�L�D��իL�tvݺ�f)�8#��ek�;E+�e�M�9Ų�)'w"�jD:KT:������MY䫙J�fP& U����������}y8��Mr��8C(�Es��e�F1��P�VB��o`��26
<,y�����S����&��S5Ĩ�kD�Z&�Z
���|9R|͕R=��d��I!�\ݏ�a���p��tT/��|�~%؂o����*}Z�QE���גr� �KoTw����ԚTw����\�5pU���n?��ien��[d�V K8ubQ�)vh�!��y�
�J�
��^i%� &[l�c9�:�X���2�Y���7L�v|����^x�����W�e�`�
�j׳0l�@k_ph%����Y��5�ݸ�Ɖ^!N��7���^ߺi��*��]�	]+�Μ\1O���(�ԩ>�C��T3�jhX��j��E6�
~q�dQ�N*X���"�2|qc�D��	�*Xui�ՠa�үWK�ز��wf�,��yc�>�H�d<�p��5/��p�T��W�=<^v}/q*�aV0���*L�꼖�R��3�5�X�	^t�9����X+,�c�,�W�cϩ]{Y�_U���~�C�#�����G��.�`�b�rpdZ�!�J�Băʬ=�:f�ʡ�EŒ������V'{X����'�;;[B�C|道m�<Ń|_K�hY&+�:�}7헛n����ϾZp+�7��X�߯��W+,S-��R�:z�7׏9�e�k#��1�+��S^��CvMK	fb֝��_��o�eWqRXXX�q'�S���WY�~��Y�#l������ޓ�`�
�A��aơ��|��*�X%�4c((��f�@p�w�T�h�`k����UEdӠ4��p�;�dS�J�P맇�iT�IV�;[̗�yo9/��M��Ӻ�r�/��ߵ�-��¾*�1N�`���Yd�P!w� �`Ԍ�fȨU�G`�l�Őn�`H� ���uS(,�Ju*��{�{ιw$�e�e�:���~�~�sMdI��\�;�:��v�3�-\KC�GD�3�YA_�$�m��,�,q�oW+�YdA���I�*��<���a��+��JՕQ�֡�W_T^ۃ�dռGh�����z�,�j�:��������v�&q�&qh8C�
�l�p��s_x��%w��*_��USe��b1�|rkx��[[���*PEѕ��p����츣����88��k��s�Z��:�R�ո��*�QU��WꩢpTQPi6U�̍^�["�r�eS�9��)ߙ@��\zm�)�u�]�OB�Y��-Y��\���V�z2��*�9VU5q��--���d�RURc��_��+�>Ȑ=�W���Tʦե���h�U˯��}2,��3�AN��W��J��-
�p(Q�{����׳�`+u�+UW����ݓZ�5�VQg��VZ���h,���sSX\�t�?~�0m���!s��d�'d��d�K�[/ɭ�'؅0zk0Tt
��\k���Ey�ɰH��m���a�#pJqES�pU}��OnI��J�u��5S��3q�d�te)���[��LӮL3/���*+n�f�a�U\Sv�*��%\;O��&j����(Ly�J�"�i�	��u~ZH�,	��:
��J���FW��c����Bv�>�sN�DM�>�Lj	��Q��5|�َ�Z�D@�|����N����Dz�/����2b��Wүt�r�]`�j��{Y$��*�P��ꆻ<�Lڍ��mKZ-�ڰf[�,���YT[��y�%�k����gU���
A��龜��R�*}X�ː�?v�	�iqAYT�G�&Wcu��zJg!����k(���-�CaՖ�p{�k���zU�u���v�x�E>m`�)ġ_w������n=�Z'9���"��J��A�YD��c�*QZ�L����a�t�=�oY�շ�TXFdP@VdT���r�6�\���zU�Q�;���.���+�'���,#��UF*�*QXa#N��*LS5yt����,AU��JBJ��N	�(��Z�*�J���R^	�´�ق{Kԣ��}{��Z��J)ł��2k��ぇ©���(�`P-��̳���HX�3يY��%΄V74�Z�Y@�cx�VPؓ\�;}M-a�ef���{h���6�q��TR��˭�r�|<�녆����yKX�/$�H+LG,N暻�u,QV����;)�	Q�#��ꫡ�b�
�
�D����+�)u���������-�-XD��*���q���rxcS"�\9�\B9�T���rTe���\���,+��q��-.����WCUn��J��)��W��"�^�VR�
�O��!�<�88��"�–�/��'f'QaqwJB5��S
'��$��#�S�+�0�B��]��2`lq�h�>��×_��s*���bU:������*�Y�鬲�o��iI-J��u����~�Ư���j�����<��udO���(��;C��}E���

� %%�u1�Rf]��Qg�!<�m��}�clK���U�
�1�R����6��0I1�#q��5x�U�J-V�?�i ?�U&�԰��
�͐:�㬓���
�
Gp�C���	��?�@�J�I�8�*��0��C8Y�-�^SJ/�U����}�"����k�K���K����0S���g�VV(�ؓ7O=�N���&��9-aV����m`m��1�E�TD<5��(e����vd��',��k&|AL5���$��X��	H��UaY42Qa�=X!ϻ�����_��{���|w~���>�X.�R���KTX��֚���j#��he�	kaefQ~�6C�j!�n�-,�26�YXV˻���&�X�f��<dz�ٕW��ɳu���U����x�!*���gXv�
�����j��
K����mw�EueRk��
Q)�6��n�`Ԣ�K��k�C���芫Lõf�)I��@��uV�\�X�"J������f�ZEx�v�e*����Y˜��Z]��՗;svu�UU�V!�+#�2e��L��uX�XFvŧ��8K����/k���q�P*:̪�O����7E�W^��"QX�\�M�S\uڄG�
+`J�&����z�Ҋ�O��)r�屳jA\aw��������_��G?��y����~��|
��1,ލe`��J��"�m�ׂ���Q<c+�
UK\iI�ť$�Z�V)�,��3�h���ۥsjק���P)�H�=|��Y��'���z���]m�)�T\%����u�����-��'/E��`����{���-���0*�X@��������:�J`�ֻ���2�~�Y��˴���g��J[�Y�YFB�;��R+뢌��i��E$����rB�CT�eԪ�Ts_@
�ZI�[V
6����"�*QS�����9[y^�2>��ۢ�j��$�\O�T�y@�cweԏ�c��(�	Qu�b�!*���Z���ы�����q4���藳SS!���4�;D�T"�`-��b����T`�+zI��ޘ�p1��0(�ު�R�e���Yw���M`�����42,��c7�4�be�&X��q���s�Ysq�����Yێ�
l��_�V��	-��K0�u�uu��-���lC����0���\a��n��VPX�a���`�T���צ���K� a���U��5zX�n;6�r��QrŦh�ë")
��7��_�Wj��ʻ����Z�T,
*,��g)�<����D��I�I8%Ȫ��-OJM�`�Y�	y�z�8ғ�S�r��qY��U�
�f���t6��ބ��"kz/��:�Z�t�O�Y���>ګOW����z�%�V{\��Wa�Z�rv�,~�<~�P�Z��2�k�Y�.�OϳSV�,�*x�s����>��:�U��\q���	�4k�#�R8�i����}k�a�%!��'ngy
�̲���/���Lk0�fY*�`
��0%z�B�^�#V�EpY��O��U���&��z�]��Yު��3�0����gFX���*��R�����w����Pp�:�7�+����(�@�<3 lu��;smԛ�?�7���n��?8�
�.�t�����ޫ���2���ߏ�����^�H����Z��Е���ޕ�Ý�	�ً����@�� �:������BZ�'�[�]�_&�,WA�16�Vt[��6���S��Y�d�Ya8QZ�V�߼:?�t�)*,�O�>E�π,x�WEU�1D�`��e���hIl��"��*��Z�-��\"�Y�8���-@k0��]-%T���N�=���b�ʘ��W���.��Ub[�<���77.��`Ը.L-�S��I,/O��H��,���Q��,on-���K�J4���!��.�Y����hM���W�q��V����j*�j˺\Z.^���3Ze�2����d�&�+\Ig���\���)S\*�Rj��}�.UL��+�>��PX�Th	���B��[��R$VTSm��A��)��2�uɕ)��M|%WXN�6�ֶ%�Zc�29�>C-jS)���V�W���J6^������Eh���y-��}�
0Z�*ҫ�O&M|j
�h��
�K}��)���W'A/L�F]�F���GoVYU������¬�w(1�&���w��~ �z}�2R�&�9�?��p�J��K-/�JC��� ��i
��$����d䚣�;��t�`�����8�NV��gN�^d���JB0*}.D��2��,�^BUɖ�ݏ���BM���=`ՀV� lDh���!>#^����ּ��ql�X�Y�X�U�p��%:5��@*���j�.(-�ƫ�e4�%R��vY�1	|r�ͭRB)��v��*���·y%TB��Txm�V��./�v\2���6*���d�4J�N ���÷���f\���}��R4��T���S2A����>�=����q��^U�+Ȫ:E�ufk�����7�huHd�I��W�
+:ݺ&�\c�lR9���
�{�N/��k�?��$|l�C�ۓ��5�ھ�<�޾��A�X��+�w��&H��Y��t���21��`+fG׉���1�*�~�Ö��k�7 ��Y��Z����Tm\%��XyJ]��j�,�-��h.rv]_�!Ժ �V�,֏��WR!�\z�T�T�Ekk3�W�+���U�蚼1•mN�nFT	Z���&����u�����\̶$�����;�`���_�ǁ�+B�����l!��l��H�:AQ<+1"�B<�¦��P-���2�QfUȝVb�
U`%��Y���=ֹ�(	�Jd�U�{}��"��1��'��<銢�:AU�1���7QX�����@́u�X��X,�C� {Z��ک�|�7xI�km��wTxR�����n�N��]���P��Ym87T�]ve�:��ɯ9�Uz-�|>��Y��{�dւ�bIX�]S6��Y_k)c�8�U�0%�K�V�"��s1����ŭ{bJ���Tmq����@���j�RnY��2K0�2L]9���O� ,�"0K`eZ�<�S�L�>I����Df�Ȋa��LŔxnmJ���Q�P|�EEV�T��Sb�̃`J�������F�M@47b�*�)R*(��l��\��^v��j��,PO�4����:;�x.�/_��⌨ꨬ��+ES���G�d�.:�u\�hu���!�X�B�0x��Q&v���H��^E���P+����w�
iƴ,���r�=L����%��M�Fߥ��2o]=3h�e��]][]h�GIJ����pnf��YڇBքsoc=�f-���u��>����,���%Z`�#���r�f��8�Y��V�躇��jX4�`�F9�k�F����Ǹ䚫L[��TVfN��T,
`c�5W��m�"[,	�TZ*�\��'[U`-���
��$WC,nK�T�����Z�- �m�a
�Z�	1,�ՆM�84��BiiD^UB.-�U&�1����6R
Ua'{�y�q���թ��4��Su�Y$�U��R#���U�
*�3hur"u#�Ed)����溊�}J4Vq�)@��Fu���v�R�7G��Ԝ��
O�V���*֥�v��7�n7Lhu���uƩ�ɨ���>�����I��I󛹷�N��	/�Z�_z_+'W���Z,���:���L�ZZ����w�E/����UW�yÇ�-��!���,��j�4�5��j&��J�Wc*��Z��6�>��@<�2	.�-���("��5Xdm
tb����Ƞ#Y��l\Q{��W�Hm6���P-qŲ/0%��Őj��RA�#�
J(����UbV����^-��������X#W6�AAR�W:"����*�X�Z�Y5�E�Ց^��
��w
��v�էW��+���0�0�{�u\��c�?�3A��O	6RX�RQȲ�r���,6���/��Vk�^�d�)-�e-nW�,�����������/$��V�d���#��-�	��:jtTeլVKfG���	�
���j�bT3�ҹ������E�a��`�Ԭ\���)f�y�����q�`�)�>7�#*��,S]�V,	[y�? ��8!M|Uؤ�*?�}+��aB��EuuPJ���$	����RtItAa����)�������Ktf�2|)����u0q���o~�IQU9���Z��D�[��w�P�#�5Ev��TlՅAK���.�"�S�Տ�Zc^��[�h�r���~H(��#��.Q�2�
��tb�uR��Ћ�4�Zp��������z��ˣ'�㹀c�.k>B�|�L�����2����1�Y�*���g���F��!B+>tJ�{��@T�Enſ�f������h����̣ґU���c������L{�&�~��1�V�W�'Ăj,�t6HTX�g	"�4��l�VY*�@V$Y�R�\i��
a6���S��B�2��H"AQ+�a%�)P`Ai� ���Fe9i��2>�om=2�M�l�_�MEd���Ʈ�g�2!�Y��)aU�,���MS���)�����w���3�)��9��c��� �i���_ߧ�K#��P/8d��Y��Bu�÷��|����~�fL-�UY�Q�y��qj%�V�4������X ���:�v0�`��&�d���
�d��d]n��dAA;Wh�`N(�.��2���?U=��ة�W�=:���nO��)eղx�(.F�3��
I�L������T\��,q웾u�R^儥|L� Fi5�d�Q�YKu�qt�'���hಡ1���y�/�y"��J��2�y<�YX�o�S�� &�F�k�*
�\�?<<,�j~Ԩ�>W�0�i��{N������'VL+�I�����t�\�	�tL'�#�N(�YmT2j��z�j�.ɳT��V`WWK����J�9�
Wz���Ŵ�����uK�%��KX%������U7��Z7�b\�$����/̧�G٭\һo�׼��Z�72,,�
�
Y��Ur���l�ח}y�XʩH�(Y�<�='f�/4�A��UY&�U<�O�x�r�əE�\�J���V�F�f�d��J�S���u�a��w;J�Wy@��;���U���ȶ&����X4Z�]a���8��&>����7�1)p��(���
�V~�%[q�2t�t��^U¯��+�dh@*m�q����f��ek�/+�X�#�)��B+�V�]UB�u��%�	&��I�p�@��溞~�
�: K�v1�����b������,�׶���J��Rha�a]�I�l�N���>i�7�o1��Q,��r42��,4�����
����}�xqo����)|���
�p�\~��dw~�pH�e١��0��%�J�J!{��.���Ȱ~���
\O�%�L��W9z�h�9bX���L�h�^}���rf�ѷ~�0��xB��a�ǒ`5�4I���alX�[�z$��B־I�
r�	ª�W����3��)a�m�h�ӏ·B*�#Q(0tּ7ǒ�X�g4X�\[�<4��*z�k�S�]�U��Cg�H���j�]���4��cZ�S,��,�Ԫ�r~*FEߥ~���ԩe�`)�j�T7��T���lA�e{��O&v�J)�����ņ5��ـX�7\0�z�.��K���alX?;���i5�/\�FB����+:F*��<�мaR�=��<(��v�"kI�Сc)�2}��Z*�_���e�b��ϟ��rC��Jk[��E��(�V>(d�j|a�Eƕk^L+O�+#K���R\�=E��TWM��ͦF���c��W�B�$3��f%/D�x:�C���쒕�l�q��V�o�]�Ŝ���3-y`XB�۴�ـG��DJ�jn|��/X;����P�kAֻ���D9�R��`��5�����Whh��a݂e�̷�f���D�B¶{���I5���S�M1���W�R��d��	ٜh���rĄU�]�l�j��T��˛İ�^b/G���q�����}�%���6���:�Q��X��F�5���~��^h���*S�
2�o)ޤ�Xy��Ts�hXr���y!+լ([�`C��(eO�G�1���G�H�z��R��g��i)��i�j�Q��SK�v����e����zu�M���U�u.WIk:P����S+���J]0>��(-�P	n��Q4i�Sdp�>��w\�bX�RD`(G����5���ע[�]=+��M&^&f�&�ذ�ચ;�ܰ�Οy k�S��\���_���_bXA+T�'�/���n鿫z	C� �&�U%U�(ʅ�(�j|�q���S�i[�g�9F[մ]w|y5������ܰ�cf���*�J�;C��Vb\*[(w�W�]X"���~vCӍF<���R��_�Z�ǚ�t����1�l6��İ�֭E�����Wx
�Ɔ��W�bY��O������y�����!cK�%�ʴK�ℐlaJ�j�|��0�DZ�໅2��n�\�'����GTt�j�i�u.S��z:�aq���Ҵ�t�B|��*��a"X��1�ҁ%�*9�c4�k�0)�,e1��XY�/Ñ�H�cS�)=���X@���A�tX{�k�Lm�!Tp��T�
�\�.�e}sI�.>�xe)�╜���� Щ��Y�аv#.ܓDX-T�qD��h���V�2��Ղ@�)�c�
2�L�ƴš��~G���[!���N+�:�$&5}�A��2IR7�rDo}*\�,��@��P���a}����O7�ͼ���5ӽޒ�、u��t����U��3��5\�ML
��8�����˥�+"��h��j�ky�̰�,<�p�w����`U��q^���,Ű�T�6Ŗt)Ȗ�K��(�֎A�T�z)pqv+�]���6Ű_B�{�Bl�̻�YU��5bA�tAr�3`R	���]x�a)ƂM4°I���\6W
��*4��ʱ�wVbXL%����;W�uVڨ_YJ������g^��l��t!j���ȍҽ�;����{l�a�9��Y�Z����5���[�̮�")�#�o�B�8X����~��e�rе�ǝ6����/G�_«ȮΥ*�u߈�a���յ`�*��L}�"�}5`�v���[���R�����b�b��/�)M�Wk�;tЇ���x�� 1��b
5�0�J�
K��Ε�pA���Q�*=��k��E�K��5+-�T殥�<�V�P�jXZx�j<*�R�OLKJ[*\%����
EJͰ�7cZi+-�OƠs��S��'a�8R�R�Is܆�%�5a�L��	�ذ&/B�LR;���
��+aX�A��c�b`}�X�H2�Ǚ�JjW�J�,�	�梺�hԃ
�H�Zg�$�J�LYd1��hl1�D����!j
��m�6th-���P��ܚ
��ZlX_`��u$Q�ŵc�����I��Q�wni�(�a�!"�|����guΤ?[�}�*��jX��5��j�Fy�q@��Zy�)���r�P̋k�|�l�̭�f�!N�7{.om6c���j��v��ί�j���T�9��na2U,h���MC��pj��y�^�E�����vCo��/��f�ٞ�S��C��*��;/��~'l:���ͰhknTn�_m�"�����B�������H��p�]��utb.S��$k�E7��s��Y	�63Vp8����;l'm�6�`�B��L����~�+��႕-��U��J?>��R5L�L`����Ǯʰ#U >��-B]5M�V��8�Ң����\^X6�T8p/Ί�5Hi�!++�2����Oa�1%0W�_���1kA��}6�^��f���,�w�WǮ��J�TK�������o	I�
�צ4&c�3�
��ξD����%�[��U�R�G��g�Da�0�i�ef5�1	|
�,G�@Rɲj�c_�LI�lL��v�)��Xq5O�S�l_�Y���$G�3�A�Y��vƜU�Ɯr4GRT�	�f"��4?��2m���e�6v��1Ǵ�`�ry��%
�/[��.��=Q�DDi����+�ތ��Wl�ݝ�,֗��m�a")�J*�~A�$�����"o���0MV9�?����w
k�F�Va}��G�!�OEW�;ͷ����X�F��JV�@��*�
ó�Q�Aj�b�,���৒����L|���bʶ�Ǝj4��яUw�u8�?��mIK鰴w�0rUZ�o����wk)�h>�*���P>
�����A���p_�zp��T_�5�����Zr��pN
���I��T�J��8��<��������5�y��S+���~V«j(�Ì��`��^g8��۹*���Xk�z
ơ4ת���cZ!F%�ճ`�7�2�7�|�̉�:�U����Xe5�{�-<Ι���^���Y�B&b�}և���CE!����`�?�^T��CC��]uڌ��/vB�dq*L֗3[?5Q�۽oi�`�,��y�D"��{�C���z���J�z��A2(��ҶA\M��v�Hf��UpP�����o+p�p���_އ�h�6�[���+.-5Կ�	�j�.;d���IZ�9���k�s��W�]�W;���@m��!��z�G�!����Dq$�돤�T���n�����?F�?�w�1!��Zɥ��8�u��?`��igo9R��S�Vk޵O��j��;XQBa/�����j#E1~��.#�ew(���r�F�.��miM ��8}<9���r�;\���^�E{;-cA<lwu���E��ח��LJ%h}���q��Cv�H1f�D�ۺ�Y���yާ=Ι�Dy���,��u�x!�!!�M�W0�G�m>�H�݄��L"�V7����S\ś\�m�Ws"�&�cc���U`)΄`4\���.�#H�]�����Y�\݂�cH�#`�EI��h"̞��HQ�Zu籆�<�[S/�	��{wJr	7E��E�M^���k�\쭃(0�f�%�݋Q�ն�$�N7�8;�*`�:�y�
��}�[xb�n�Štk��	,�ֿ9�����	�6��;�Y嵻�;�W�X�B���Z8�W=����f�fݲ�C���>�:���=�z����^f=�y��8��)��XO#����O�E�a�$������)�W���0�ܡ�����4a �!iK�7/�b�;�7Y�~��!��B��&�\��M� WÀf����m��
�AQW�S����3
ci$��(�e���%V�8�T||��'T`i%0¾����"E�h��~��0@�*��B!�
���-V-D�RI��IV�p�¢�b��}XR��{��<��f�/{���YEWa������l������n$��º�o�l�/p7�fC�:C�a���l�ўW��g�<�9�N:O��%��"���,J"Ê��A��������6߮.Q��Q�<�R�K�U���������%�
+���/�L�G"��-w��m�������|'ݰ
��pL�%rx��c�%ԑBg�<����A�(G?8��G�J�/P�Z�������m� ��JdQʽ�w9�ܐ�i?� $����G��x��-��X��ׯG��Ԡy7����#�&?2�����?��|��yY���Ppߎ�X��ϭº��ʹ��2fU.��^c�;�d-x�`���V���r��rU+e2t̹O:���l��vx����
��bߕ0�=>�9�Ά`���	���PX�������ʚ3��W�*��ܥ�N����1f�園\t�+_|2�^�ч����u��,}���}���쭸�x���ϔT���kMQc%���3VE�1�=w��x�TQ�I��J��ȆUXT��!6*u�|��T`�Jhȯ�k�u��7�q�-~�m�g�,e֍�ZIEd6'	V���{���`��a���F��Ң�+�䢰P�Aw�F���@��ѐPN`h|H�ɬ�|�p�/�r�T�Ɂ�n�(?Va=
��GTxT}M�y�B���%6x�#�n�$��"����T*��I���p���*�^Л����;`�si��R������MV�J�Ԫ$�n�R`-lY�T۲c��`mq��t"B�M�x\��>�L^�N�t���a�Lzæ���>_Q%��ۏq 1иUX#��א���!,Zb}U��Eç�M!'Hd�{�PBAw*�t ��~�%��
Nx�?���U_=M�b����zM �̕/��p���rKUX.��V�3r��o`%��1b��AтcHT`UX\����d�#�j�1$�D��{C��~�:��T2��=�S8�7�H��	�+
�5R�{W`ŗ~�P�4��˺!Z`�,�)1�İ�"��N�����s1K����μ(�d�����,��F(�HVoq8'��4�:c�a��8��aGTt��D'��8�C%#��*i�CC��d�)*AG�7�J
������С��8��ں��f|�b����F���%aj��V�5䞴���[�
��f_3�,�cG=�<Un�i����q���j(`��F/s`JևT����M&P��X��,#9ŋ�dU�sn��6�؀�+<"������π:i�U��/
�����߷h�Ũ���(.�Z��\S�p��[˛&�Z�T�X��/�w���#&�7ǎX�t��v5��X�o�[�Ehɯ�O�ai��'֊4���%�_k�I��%ʦ;�|�3%τFU���D~n��T)�ܰ6,��01��-`�uĵW`]+~���\k���ᤠ�=�r5R�R`i�8$�̼��
�z��k�ڂj}��qŒpk�XzQ���`�^.o�H�@�J,�H�Jj�*Y/B��PbX�QWO�5��)�p��lf��4��̞��ݛ�u��f��[h[�2�zh�V#R��x���x\�jX�t�=�Y�"�-v�ܥ�(��r��r�r/��p:��1U)���%!=	%���K��v���Wsb�1�)�4�����_��,��,*+�\!�
SͰ��\�$��]��f�gBO�Z`��$c��i^T*_1�����īPR�V��æ"�FV���EX G���n�]�+	���36�p�����h%�X�޴�
?��I^h�ѳpǟ�q�*t`�R�ZǍh]r�b]�*�aXƪO;���p�Z�Pla^3˰�,��&���
S����<W�
������1�r�e~f�*��p�W���wº��
S��=�pv�dIiW� �Y5$�4�9[:�CjX�QsK�}ۇ�J�}�ј�\���%h\	��D\���\b��]��ˤ��M2>03��Z.�.��ŎF�Kƒ[� g#�n)����
���r�hX:T�=
KCd��z׎�(~.��5,U�=�0��<rÁb�f@���ªE:wg_h��l0�B�*Ĝ<�4,��=�C܄s��ixo����ǀR�a�e<�K��=B"��_��I
�Rz�*��B+��6�jc��6�O�,G�NK��g^��
���
S���%�%�a颍�BN@(��O-�RF�:0&jYE�V����ų����S}�$�݂���t��AO ����J��JB ��6ee�:��?(Ζ��-��̹��8
e�`�2,�d:���V�:�&��p���ܑ�Ҥk��!2,J�<�z�	�5@���}!F]3,�Q?akaF�
�b�6�a�>	�������+�f&W#>��ib%"�G�t�Z�K+hX�
�T�$H%�'Yv"��Q�t�i���6�%�I�"]��.	]�56{2�4\9�Rג�V6S`�ԕ@f�>�DSΞ� ��#'҈[��g�����.Ú�2�� �Hч�9!Sh���ֆ��'���í�%-	7��hG,C(VL�"�J� E��*��"#��.����*G���*Ͱ�"Y�L�"�i,9��


��¡�,����~Q
�ڰ��H���	V���Sc-��}E2PH�zs�h�$t� �*��
�:��Zr��Z�>}�"뽂��h�w���N,3x��dŽo֐0�>@���J(��R�2�N��d�$�9�Y��vw���`��n��ΰ�u�K`a���tS١�wڼ��X2��
����J\�8��Rg*d�@T�⨲���3cK��s�on��V�}ƶ�.�G�
��P
�bB�b���j	��������a�T�D��l��ί��J}�˧J��a%M��3�9f�xaX
�H��1�δ�di�b�g� ���~n�$xG����T){h`�n/����;1�;ɚ��[�R��)��a�f�������L,z�u�ah�a��=��ai�%���
��v����?��f�$�k�(cM���k�5%�&pV��d��V��>�I9�E˰�PpX�� 1�•q�C?����+.�L�y�b������s�/��O�:c��",zy�:�M%`�iIX��j�Tg�"���-�ע:d}r����cLp�Y�<?R�~�$d��_E���p3��ɀ�UR���=�����j������5�Z�䈿؏EX%��v��5KcwW/�~^��k�e��VMi�V$��ތ���ї3�+3,�^�3Y�`!H��.uXae�}�;�+��4ӚVR�h�1���
�O/,�8�J�a�p���U�����a���"�Y�`ARV�5�~�M���j�~�:0m�k�jÆl���X���DLWv�'|+�3���ΰ�S��-��x�a!�j2,R�W�6�J����n��P����&M[g?�&�a�k�D�xCV(�avzAC�"����y�
_�~��oΰ�eX��eԆUJ4ЦүIf9w��7@w�/V����5��|�GS�Βqr��E!��1,�f�|�(�bZ�`g�V¸X��`��+ϸj�5�|�UW��ݕ�k]Tt��	޻��$��K��u�۷�s�1�8���:m����Cֽ�>�k�QAX�i渼�C����ֿ��
���3�Pm�������#kd�˩�j�w;oY)�\���-@抾T	��a|��+�%���U�t��#Ws�Ƚ���}X�{'�j*'K�;�ƒ{?�P3�V��gX,Y=s׉v���}Z�f�߻��e�$3�b��[ˢ���o�w���6��Q)U`�"gWn���R�r�P�]_U���8&ϥ�t�o��]�J����6�⍵�;�WBd�V�`
��>;j�6l�`��a����L�x �Z���T�V֭���u�a�a̰�EA�7��s0=Y�Z����:�
.2,���U�����9hz��V`V!<���'�ܟ6�[�$,�p��@���!�����aY�U�Rnwr�u��0�l�l�C�vU����u�zY�:$�{he��t�����aT�ս�2�j�O֘�a��z�J�����#�O0����
*z�a�o�
�7�5�>�r��ȅ�J^�Q�V�uu-��El���r��q$[W$CE8Ve=���BC�0���
�4��{aE�&r>�Q"�@�C�A
����S==�}�V�T�:ճZ�����)�����|�����	5���Z]a%�>\��w?�\��_:�
k����޼C�u�%-O�|�������T�.�c�j��2��TL���U���V,Rw�{��??~'�8WK8'`�>���X��o)���*pŴ������kH�<}�MX��q��c�T���U���p#+�����3Ewn�eG���䟵wy{�	�ŷ7�Wo~�ǪU�}��~�kX��5��V�5ܨ��3���b��w����;|u�U��Ya5�5���)!XB��X���:>A����d�� �SX��V�ۗnp���|���
+���܁���ȇ����ծ34Xa
�%�*��E$T�������N��AG#-Q��
7n�:����PN:L���OO�v7�B,_��o�!����;����K�2D�V���BaI��i�*Զ(�BM�x^��RQ�5��B�%�ڜ��	��椸L`�HA=���R���e�A�Ҁ����8T(%g�aײ�@1j�e镇��H`�J���΅DZ�%΄��1�i�k��
κ�s.nHa]B��"���Ej	��M
�u���U�ѭ݅���U�x�#^��AӊS@�U�vQN]E�w
�������U��#zA%�n�"���i��
7�VL!�d���K���8w��KQU
,��Vƫ�t|t����Vvq�\�+�<����|'��ޱ�$�Q��$U�f�-C%`�Q��h�B|ET#�d�3�S��Y��*�;�"@�sA�\����\��9��`S2��9�P	����ԛ����S�L=��,�	���;p��z�@{�}���
��g2)�Ha]Z�&9�`�A5w.�^
�aEK�\�3
@&:=J�@iL��"R�����l�����l<e��(�)���ʘd���n��[I;`��c.�0E��r)�V�Yѥ�O�U�-v�iKN�
��f�uƮ�%�F�9�>���!t-�U�@�j��=��>�eTX�ܱ��p��&%W���SV���j
q?x\�W�J�:�.�c������V�����Z~���_c�V�D[��/�.��5Ý�Ri�b,�����ݩ'��q(��
/�Xr�NH�V2}?�ר�`�ȠRU�+����w4Wg1")G@,�S/�:��|���T�KZ�}>��ˆ�J����:R���b�"B(yt�Y�D24�
�ڬ��e��"յ:U'�Šw����B(ea��	�G������fj�uV���N��Ul�Q�N�r�U�+=�`_��(
뛓_�j�E��sK�
���Õ�H.��ٽU�
N!��@��d�"+�{k���\3��)�_���h.hR>����Ss�R"/��"Hᄴ�T���
�����.����@R�P���bd	��RȻ�O��4����/�U��)�����f��Tx��V�<񦒋�"⪃G�(�0E���Rd�Z�����+�p�RƉ,�W+�[c����<+�+(}�VĤ8���fYX���ʩ�3%��*2Ѽ�z
OS.���8�9,�/]�l�gtHU���I�I3���64�l��pC����7��q3]�
��^O�V���*�
D9uU謠����U ��
�)����Yf��Ra��o����-��
�Ѭ
�01�t.]��`�1	�)<��ZK��A
�������&�Ֆ(�]�5R���,���c(���@�(Z�+��fq@�EȊ��	�Z4��]�JV�A�.��
�-Q^�(���XE�!N_:\�x�7iE:�U���fE��Ks�t���M���)����a��YRݔ�p��8E
��Њl!����Xg;�X%�W�;p�
YZ�Z�T���CU=Y�
�EQw��� �UaA��I+������u#�1РA1�J��+k:�v���[�[VP��Y�i�NKqb
��jqdA@v0��J�az�z["kMd����������L��\!	.�0;(�J�qBeU�m8��^�*�XM*�TT�ڒTfUU�d&�i�l�JY�X0�Ȓʕ��I4Ư����F��+r�
k+N����XFH§#�+��V|3N*��
����9�z���,kE�X�-'U�֜%<Sj��
�B��U�;d��cUZ��Z��DC��쟱��;:q���H��x�%��!�`l
A�eG�w�İ0�őJ%��͠g���*/(7gP����̚�f�(b�L�%�p�~cSY�,H&"VҲ^sO$`�'��Ԏ�Z�mILaKPZ&e1����db+�
��'Ħ�Yȯ�2���;@bшXb�Q]c�	�F`�dž��ْ�;�Ό��\�(@�jL�'���f���W���T�GH+bQG;\�Zi8���
<R��ʢ�R�WD�bV�'P���ޙ?5�u k��7��:�m���FQ���\�t[L@x{PBQ2cC�����7
ܔV��yI�b�V��CB�"�b\y!�=#q���Bv1�Xa�Dk���FQq��AiV��O��є����J�U�Pfe�7��VBn��?.�k�e2�y�%��B�UO򫗾�]&�d8�!�'�Hb��T��1�z-N��#
�t�xh���Muu���XKEي��K���A�֠ސqEZJ��f�Ԡ�*!G9]b�ÙT�)�.JK^��|�ʭTJ���E��b�SXbOMd�G�v�j��^h�㪴~�ͱ~��>V����5ȝ�'�h�r�����">9f�SB6~"�¦���&pN�]�ʊa�61��J��	F!/�i�Rm1���:p��Eb������bLͼ�҄�� �Ȣkƴ�<��k�.Q��<"!����V� $�oMba2�L����ɘł��.^���W�D�2�Qp1�x�_d?Qx�Q!v����X�@������*��O2Њ6ie�ClV*�
E��b!�|�+��S[E«+/����mi,���@V��ɵ�i5q�}RaY����R;�bmu�QR!��7��v�L�ݕ*��+G��F*��R���_���efu��	A|#��vT2��m�|��U�2��-�:`���"�̚���Aǁs��KȤ�P 5Cia��D�J��w�YA��5#@AW���ȔSk���*�e,�ŻZ�"G(�����IJ'����q�F�(�f���@�iEh4�d��=y���f���A��efI��$?�!%y�])*�*����'����z�n��PpU
`B-t�EV
QE�d��T�Kt��1)�*�$�qr^EF�F�1�rO�eŠ'ԃ��?�m���lRg���İ�B�����a}���������ȩg���(C���yj���E�z��.Ty7M�o���2�+e��t!���i�'k=C�����'��$Ԓ��R>@V�m�S@�r��k����#�a��,��<`	�PjŢ	��Ŋ�ƈ���d�5M'6�Ȼ��	�A��V%~��I՚�K��0�P��� �ҬU�u�GԺ��c� V%�+�T�(�*G��B�*
�d���*V�`�|=EV%�U	���H��e;X��^Y�NF�?4�ʿ�?˦�P[��p�]�G�
�Jvu�R�?Ű>�r�ɰ��7�u�ά'c�ʕ����L���ٲ'V
��{R�.�u���\ѭ:�%�.)�b�Ҵ�S(�MS��OTJ@D��=�t�tM�ѹ�Zw���
��G0,)g��S�� �LD.�D����2gd%liݗ]���4��Z3sL���P5��M�k?G�Rj�_�.k���LF�"�j���K�ju�|���S
;�
1��
���b{b��9�L|���`D��}`U9��]9���?W�S���^��_=`V�sUx/Z�U��
�1�*��Ԡ�vl��e`�����K|S��Hua�����7�?� =߂3��#�F;��Fy4�; )L���{&N±�Y�W:�ܳd����c'�/˖�1b�׃���;c�r,��,�:�h�h�t���dL��p�b6�ef�d����v/e��\�V��_�g5Ri٨�Z3-E�h�TKf+�����BRX���+��"����6�3Ѭ$�NJV�0��U�����@�j��UıƓC�W9��8�^"��m�=�>��F�)��p�#�
����O9��Q%t�N�~\���������J��[���I�?R+ϑ$V�F�_�_(�0�Hǩ����:����{�ŧ=��;6]j2�?�;��C�'@��7u��fR-S-���%��a�	��B�%���T�xJ[��
3���3�E��8k�`�v�+W:�E3ȵ�f�7d�~_�h��U�ĺb7J�a�������U=��q�g�J1�
[`u*�j����U`�Q�s]r)ا���D��`����o[�7ɟ~6���T*��wT����V�"R���XD���	��]���U~�O�I��*�w:Y����O^1��{�����1��m:�rl�A�e�.1�tTXܩ+<q�<��K�N�),�>Y��蒡+-;]aեg{SxC�+�G��~4ٕbI�@.1����B�.�Z�EqX��s3���6���R
��W���VÙ�ۙa5��\t�ҀW����R<��Ȱ���P�Z�)b'B���SL+b�yO0��1f՚�e"�}n�����H��
V=iu�.�Z
.�LB(l�	I'b�TEV�֏Y�R/����>Z���X�6�&�7��&�	��Vʫ"��L��`+�U�7+��e��I~9~��]2����S^v��z�Xq�~K!T��ho�O>
ߒ�]�����iRP��(�e�NCu�-��!U��-]Zw����{���+:1�_4`$��`�
��:b1��E���ZkY��P�Ra��fX�j�$�A��l^
*I�VA*D�;�%�5�f_�y|����Kٙ�]�
ú�`]IJ.�\�2�)�bz%�^U21�N2$���C~n�Vm�^����J
�UA����	\=8�b��+�4����ڇP�ՏV�\\���6�~@���(>6�3i|܀����wl>�pO`�m!�*[pC��m}�~6����3XO�:0�����)�n�cJ��[8��v��Ԥ��K5�w��O����7�"MaZ�V^�C��<��ށS�#��a�ʏy>8H�	&ĒDž������B�+���ъ:WM�U�"�lR3��F�gj�@��Y�x��Բ�1�f{T��nW�CdU/W�ȴ*��R
��%����W��U!zg�I�~�U�*l�b�-a�XҀ���L�"u"��K�r��Y���=n��kOs��E�I2�&)��#���N[zƵ�n)�ݴ�`��VA)�	��JV#�h݇�B�D+KW�T���m��X�nrX��Z�#B�
�_�ޭ�e��S�%nC�[�ƀz3L��$��.�U�Q7��M�n��i�OU�&ϼ'���u���j
˨��ZrxX���@P��A}*?4�j���zİ�6�.�-H���SR"2�h�2L9�[:��y�rqu���1�ذ�W�Y�|�+E��B�D�N��J����z���%-��bU:[�X��6%bn���4��%θدz*�
C�٭F�z݂U�w�,���U� �+��1�e�*|d\	�Ī��\J�$m�7+�+�.�-�����8�W�~A��I��x4�����&�UXO���)�`��*U�ʚ�J��_����b̴<x�/~j!*Ғty\jy���5�RˠA�VbVL3��!p�n�XTz]̬�VW��y���i�:�*L�U+	�QxD<.�+c׎���{k��3��8ZԂ�T(�~��>�r#�P���Tw׬�Ն���.7���z�a]t��'��ZB�$�ʂ�(e=�Ї��R�7�:�W>�E�N�	I��~&��10���2i����'����f}��:*��UlGl�m��jS�m>kU���cw͡.,��݊Bլ_~m|�5�_����Ju�/�rnݐ�Sy(_�i��n��[���ަ�o��v8�<�&K�2���:t{Y�.��X�����*��B�tr�Z�(���.X]�0�C�`q��g�y
�����00m����+pEh?��A�06�r��:#�_��۬J�m�2���GF�G���p���Vk���J��c5A,���j�;�l��2���U3-�v�1H��1ho#ɸ�f�+�D|z�_AtEw���O�5w�j�9�Jw�X�z�b��-���@�J�J�>܊�Ŗ2h���V���U��1����_L�RY��{��f�c�e������=˻7��A��<���_������,b���;���Ww���Gl:ЮK���ӎ���@)�-Y�`��]5�J�bݲ�ot�
V�s�Eg˭�dXW_�p�e�����
�H�Īxp�H�ɵ�g����
r%�����׃�qG��|�Ӧ�MݪV�Li%��o5���x��kEI���#�>�]�B�jt����e�V�XJܮK�)�S���v��qcavg�*�b�l���"��`��"�M2��)�¢�m*��6��m�6����;X��;G�8!��Hr�����&����i%�ꯐ�&3���jp�A�L�-����u';N�o�d�Gth*�u��.WX��%\I�u���ݓ�K2�]��\�N��?P��k�i�ka�Q^��񸍭�_�ꥑ�V����å���&�1����S��Q��"ҍ\�>�hB$A�a�ib4E�Ԁ�J�
UV$7�p��`����-*�4��:�g�j�uP���������-H��U��v�QB�f	����ef��h)��\w�DV@��"V�T�Y���Q�	,��,<t����(W���j��	پq
�
%��W��T����V\uIpּZa����L;��4�*8ev2�z�$b��)�T7��O�b�=R��#>���S��oէ��?��!Z:fo�,$��µ�E��w>W�d%m�Ъp�n�p�Y�j!��L�*���E�J�Xq�b�U��A��Q #Eb��Z2�;H�5D��-��3+������-�mk�%�ֶ��V��2����}}�-��6SZ^h�`|�C~�X�(�'gH�$O;�Z؅
u]�Xα�S��d-}Bsj_���աLMڛ�q���LS8Å��MC���-�M���w��frl!���?���-�}
�rS��a�e}��dV//��� B�;���7T$ίvk{ϯ�Yw���/d�����\D���UNj
'��(�U(�z2�A�D\|)V�����xYP|Qx��k��Dʰ@g%Q!�R��}2�9�\�m�Uqu@taWc�umU�ԧ\�FT��
p�$�+�V���f�ӣ�F�e���h&i��޸_�HZ���@\�]�v��c�7�.V��C�&��
a�R!Z=J {���A��"!K�!��B��<�Z@V~�k�*I-Y�\@�)a��Y&�ʥDʰ v�+��T9�u��d]��
{� �Ҭw=��Yc��̣��fx�w��Y��w?�7;lݽf��	�,�*�Z�,;Q��U�,�ԇR��?�+��gE𤧪�`ȧ)B�Q����%���z���mB��TR����RJ�:��+��V<:@��a��P��U�na4ҥd�j�N�-����es;O�R]�[��� ����`Bֆ�$�
�q�I;-���j[+�Y��ڔ:�t}v�­iD	;�Tz���Sd�:vv�':uK��R�a�����@��Ƴ=�+�X�YNi��*��}��"%Z��\0�H�������U�)��۩��'c�b�(Wp��?�E7�ĪI�U�3�DWъ,�j@��Y%7-]V����DWl���|���X�O�۶�gV�mbO;3�e����
v0}kJ�׵fU5H+��h+
�NH-ޕ[	WЊ�����z�eJk��j���>��I`�A�Dp+]�[��с��[6xunˁA�ʪ*>�o�QR��7��Y��t
�5] 45b�8
�pΥ~�U�`����xD�EI9EչK�o����"�0{�ϲw~�˲ҝ�to����I���d�+}oLz�~N�82X�����bU�<{AU���Y�T,�^�t�,�s0L/T"�'���$�T�(�g�x�lE^
�g�!U�U�ٶH��B�� ��n��2���B, ���5l�1[	�T�A�(�$6��B-b�!��{ RiU�<�]єp���ّ~J
�e4��B�5���&�
��C���gW� �)�A�B��D�QXuZ���=J/����Pp
�1$RP���f3@R
�X`y�%����T龿���>o!Ӳ�ɒ�����|����?�������VZ5Tjњ�yw<�L�d �������1]%���Ui�~V/��Y1'�3I��FSM�"���|L�d�X��{$��J0�Z
�&�^�)N(��P��j:�+��,�Pc��UC�{M�pA��z������߾<�C�W���#ɪL`᱖t+1k\o]:�����*�8�.P�N|��d�HtY5ʔsm��M0�Hj5n^�*��eWȮ�DY`��-k���I��1�
��<�ZtD	-�[����Z�W�Һ]:yBa)�����3:����W���I��k�#�&Z����!�ﳼr!��b
+�\�43��O�j�O�ź_�yK�^Ƭ�vw-��Vm��H�Bf���;�	��V+�|;��7�f� >z+8��!�4:���'�`܊���#�Y5YÑ�,a}�@?���E߶�]"��V����9�-R],�P^m���K�0���DSi̎��J� j.�Tg�Ҷ	'��pIO��B.��!��U�&�[�(EV�����N��j�2�UN_��.�3DY��I��΄Uo%��/A�����_2���Uc�>P�%к0˅�X�J�^}!�JN�V<Ue�=���zV������Z�禇]�+8�sj�KW.ӊY���V��I+���B`E�XD��Ģ���w������F5��Y�,jk�[�f�Tk)�@�>��/�[_�ԟY�(��L�2�Z#��&Zp�NpCٵc:�U;&W0L2m3H�!�+
�Df-nFT��*�b�[t��:���>�Zr����R&��q�娲Š?��ؚ�������:g(\�V��/�Y����Yo${��t�8��?Ƥ��?��K,���,x�{O9Vzi��� s�f0�!t����q2��tJ��Pʪ�B�GB9dٞ���	!�F�⑈�+l�� kPR�5I��N�;X�#?WH���7�ŧU�5���O�"
K^i��:�Н�ӧ�mߪ~ߢ�ݤo�z�+�kJ�1��%fG�g��5&��6��[�~�Щ���X;�;	�sa�RmDd)�x�Pĕ�y�2iC�c�2�hٸKL^��c,q�.�����)����i�L�/��	V���Z/���Bfe�go�&h����<��EY��|~|����x��"�˺g��OS�C;=��ׇ�R=�f��=���V�����ĆT��WK5��f���JƽeV/'�~E��J��)��d�	�D�I�nq%�P��w�S���X��VVJ�@5ՔZ
��
�Z#���`Ơ�Z��*�U]�O*��)��i%p�]�g7����^��a�i�W� �i(�0�B1���L$����}���*SX���V7A��L��U&�rZ5f�س�j�v�w�;HUZ!S\�_6Y��4*�D�u��Isx��\��{���Yo��
.��%�Z��'�O���_����B5����ȂW:@�ug��h�e���BM��S�(\8�W�jO=��}�p��Dv9��Uq#�
��ͩ.:催X--�A�
����K���M7Pe�F]�'JjED�U�© �W�Q��B��#^Ie��l��o��c�3:���b
�5z�Y;���4�'�$����\�&3E ���BłW8������BRm�4[���ΞƠ�`����
ۼǕ�{~���س��X��ꕜ4��~��gC[(��Y��A?t��������Qr9�;��L�8<^&��Woo���95��+����s�DnYh���9�Rl�8�/�sڃaM�E��B&�N_��ײ&���/��R���\>����3<��Y�&�
L�C����Y�X*�2
�p��+q{���
�F�T�鼿9ʨ��-tnx9ea�,	k���4�F�pT�]]+�uk��A#����e�CG���R3�2AVG��ɱ�*dZ�:�b�msQ�!�
��Z�E�f��Dx�-�*��ˇ�Y�}ؿ��0,.ѰZP~#i���=�f��5�|����\��i�g
��#-\�C��-���,|ey�&���j:�aX�
�"3j ���������l�5�Aǰ,Ǿ'�z��#�}B|rN-Y�����	��ܛ��~x<�/Go���MK���d<ԃC�P:�f��3x�-M�W�\��ҋ�H��k�P���/�_0k@j#��8e�[빆uӌ��)�9+d\v5��
a��"�JU�Y<Ra�9�tx�w�H�	Y��*�%��,��;�����W|��uk�dc,���>���"0ݡa�*p�Q��=����Ew*��eWU�ބ�VT�\Es��kJQ���"â�Q�\���%�a����}���X�:r�u-M�ޖk�Uo��{���8�z��]�U���H�"ױ�~�?G��7A�!UD�,X��*V?�i3U`X�Sr,~`��K��,k"0&�]��$}��TLl���-v�k�֬^,R1+�:���7�Zh��J��A�"��M�h`9YW�X�A��4
k&m	��
lA8/�L� �2ť;@ �̤���ٷzE|
L
�R0���.��@��ep��eХ������YE��C����R�v��4�,+[کX�Z\\p�K5�[�[jg�[�ձ���Q��Xky�),����~ϰ�c����[V�H�^��*��g`��P>�qGcw�L�6
�edK�����Ě^�j^�U�
y���V�ھ�B~~�?�ˆ7"X����HAJO��1��G��#*#��&2�2����/SsmuZ���ɯ�h�SB�X���P57L8̚�i�]�x��>��>���v�p��Wl���F��H�|��ܸH�o�Zh��8�_ܹI�z���dQ��D�G��c���
�aI��.IŒ��)�"�ɝח�2)ᗧr��5\>����&�����
5��i�0W�(~�jFѠ�iK
�B�N�c�TU�(��=H5�C\ȧ�R�Uuث`ơ�����OYw&�bJ��kIV�;[jSh]��.lv��;'nm`B�`.�3��0�����'#t�EE�6�0z���4� TDcf1�������c��\�Z5���UEUⰶŢ�>�"k�2�V�+����q�$���S����Gx��={�����L��V�(
��
��Jʴ"G�݊4���?�-ʰ@�x˪E����4�&#j�������ݻj~}}Z�=��hb:�g�`���y��5(S���ȣ���j)E�)ri��?��nXA#�n�^�}��V��r�L���N$���ѥ�*��zG��| �)�Ra�Z���ؐNum�eG�d���5��9u��WG��c��ʼn���̶E�BXK����/P��^��j^ĨO<��}��;ثeT*���<~�_uC�U퇩T�9G�����)�,v0};G�Vx�K�(4^��!�|�(�[�oKgX�$$�	�o3
�*cX/X�J�P�MɌ>�
��ʾF�+�HS*j�m"5}h�;$R�"��H�hN�,Y�w�*r����g<-j�pr��n��;�\��u´b�ªW-\�-�,8.?`�^�^�E���邟�?���t�c�$���$�ĨM1�I�b0N�:�".c��,��q��5��4)�DA=+E7�B���,�B�<�(c�I�p�r��P�Ņ,b�;a�vV�a�J��@`�%���t%�B��)D����aZ�g��H���_�0�k�+��w]:5
C�}i���,�*r-�/T$vm�n��i,�s��>hj�6��ꁎQ�\����RG��Uul�0�`u��r�b-u|E�[6�;��8~����)��r�S+S���ڄ�J�,�zZ?�9�� L�E%s�Q���0a(�L��п����
?�����2䐬��p�dS)V0�?zz$�C4,"��ʷh��i�[�k�'A\y��S5Bh�E`�t��lg[<�OoWx�G�V�R`��_�̺:�[�V�򠱳W�v�yf��X�"�-U�B\S�L"��i��Q���P԰��"Gþ\'�`!��aq�e�SA�~V��8;{_��?_pRL��t�^&���I�!���}�7?H0�Oꑷ+�A����U�sָ�I,S�Ӭ?��-Vp��"I0��`Ջ
�c�Q�P4"��*s��Sʰ,�< �W��a����u�
�M��’�k&�y�eI?o.��T�c����W�UӍ�J��1���XJ�x�Ah��
�Ӥe\x=4v��@�V���\��v/� �H�L��RKEW����7cX�}�O
)�:~U��aQM����u����~^�t�!F>�����Yf~.��t�9��������=�	})�) �Y��5"�Y���Pn�b:������0�_�2�妦2�Ѱ|F�9>+\�E�lŚ�����SO�E|h�D�z��� ���ʙKWM��+=�.ڼ�v�iQ��J����k;�HeY<��AW��^M6��m�+F6תh*µ�Z�[%:��@������B�X����|��=EZ�_0g��z"�Nޝ��>��㿿��Oly�21�fS�>R�A��$~S�1V�b���8;w�F�4���TVh������:�@�����8�@��1����$+'��da��&(X��
�����I�������\$y�ݺ�kI�����SeV���$���aT^����pT�VzX��fE���EVX�x�P�bWt:�U:�N9�^�f���j����"��*,��������r�a�µp������+���R��ބT,�Rq�^���i�&�Z͔S���=���~����g��k6
�bM��k�X����^���j��h���j`�~հ�����ޯ��yW���\e���$�bc�MV݌���l�Q�n�a^�n*�Q��
RXϙy���m��ؤUxE������yo^/{���z�y��5|�zl��KC��V�zx"G<Kj`W�',%Z׉SX	��'�X��HT!ɜ��>���e���[�oE>%b�,��C��4�<�8�t�2�Taw�+��g_���!�ڲ�,�6��6X�u���懲�����?>�y�I�
�����w)�B`N��x^#��:`m�CVX=���|��D\��XP�#
��E����Wc
�?nˑ�ۨ'VӘ�J#�
�kU؀�(0�*�D�(Ԫ�83|���1`3(&� ΂"�!�S;f�
�k__��&!w��TE{R�FL�!�[��ƽ�QMZ��|��ʖ
��V#�ƀ��~�%��}C˰0�U�ֹ�`�~�(�⨼��7�%�*��38Z�U�
k�A'{�v�GI�����YR���G]`���j�W'�5;:��A%�H���r��z�Q�a�������.䏀��h ����)Ǭc
���I�V�+(Z�Vۻo��:n���r����䩧� �
��A�'��+}k��
�~� ��$z7+I�g	O�Ư�/o�����|~���/l	͆jjQj�ʉ��'��|�bMX�z�u���4��!k�^����c�k���!k�h���a`�b�q�u"a�/�����_�@ד2�z���$�б-g�i4�
o��[��鴣��l���������լ ��FdɈ���/�<s��˛����L/@ZS�b��H�{�W���8@�T� ��bW|C�U���f��g^/��,!��e
�������&RX��'�Ǐ �5����q�s���y�e�F��Y���#R�wd)1�ʍ�W�Ye�E�?mT��K��2�2x��R����M�LK=U��2YW��\_��^����ᡝ,��f���Ň�Hn���S-_i���ÿ§Ul�O�7�������tP�����B�a��G�h�t�7�O�#�sS'�������B`G�_��"�xZ\�����U~vv������̡�<,=�E�(�V�����Bw����]]D�n������j��%���(���Y�n����{XѶ�A�v�6bH�&�dxS�� ����
t���֦Q@��–~O�S���eq����8�g�|��5XI��'t#B1�*%����"-(S�ZR��,#�Xn���2�1���0�~;e%]܅M1�*�a��cc��)wp��w2�T�B��~E9*����U�0����KH���V�.�5c	�U�yO��%���L��rKm��������^�~5���"vv��۩�.����C���fKZ�J� ֣ۂ��[!Ծ]�+�O����8*���'�,�Z~�i���X-K� �
C�a�\j9�VH +ˈY�G��*/���૿����
���vG��[������t�]M�w~9�����?��e
�dkgu]c���`�@z�<h܇X��=����)k �zQ`�.�i�]�Y�3���]����Oˡ7+�O-9e�T�)oT�w���f[Q��"�&���<h!�"�E�i36��y�Y�a�U�ΐ��=s+�,�d�1Ĩ��e���"�ʎ),%��0+^��+��IaQ���v����<�Xq�
^�cc�Od��3;tm��+�PBKF3R���Y��p�a&Ѭ�@j�Y1�D��ڰ(I|��e��/Hꦀf�PT��/VW^�P%�l�I����ɝR��@=y3���}I����NW��[s�;DRXt��@�_��?~��j6;9��~ig�^��
������b`����"7o{8��yΉcjM�7l�kZ�uޥ>t_]-�
N�ހ�l[��o�F����O�G��^�:֘=�L��v]{A�R��w���t	�ԗZ�lr��j�	��E�'�n���(e\��J,�{����;
9ḧ��'��ŗ�tW� ���E�;)����D��x�}!q�ŭ�q��Qӌ�*3�DY6a�/Kx&ap�C�Shc���@ᜱ�p<U�m�(2��%U�!l��
�d����b��
��Q�j1���o�`�?I(V���3zmc��$�D
;$W�ͬ�����9�W������WX�A�e�cIuwZ_�����e4�]^.�y����_	����'�T�\�/�1/�9g�eF4��F����j�����k褕!ׄA�DZ�E�����A�-B�$bNJ$N�<,���v�S�ef�����:5�J����a�j-��G���=t�
���	�Y�[�*�Xõ�ŠIZ���=��i�SW����{����~E:B��*�cS.e2����]��DL��)Z�[�+S��X"���}`=�DJ	��k_`)�xP����II:�X��0��g�A�ō�˵�NAL�	��{��b�OG��x�#�pB e��b�֡������ۥ8fo��g8��<��w����\@�����	޲T�;��={xn��M�5��Ʌ��@8^����C�5;ș�<�k[�~�/����-=����I�=��)f�)�T7S�o�!��F���>Q7���ievìFLm��\q7���;�i{G�⮚Y�i�ĺz�Wte�P�05
r �0SV`y[�_��f�md��͍�2"4��l*������!�`����f�լ���y��w�@�@^��)�i'��䪣�ܫ��;Ge�E72Uan�EU4�E�%���M,_�sL�JQ���+��h²J��3�̭@��%�1���z\bP@p)�ȣT�t�T~�ƻ~�+=�Pfḏm�,�Q�ue9�`�z��p�;�xJ����������Oi����t��0�HxO��c�T����*�P�"� 4�"ڗJ�C�S���r���y\�M\7p�ϓ�[8U�"S�UϢU� r�(�� k�$Bl	�t	D)�aI�UbW���\S�
��*��p��T2�h_	��Ur�@
+�+l�Uz���(=^F��d����+�V�����sk�T6'��Q��Q,Jk��]B��b����ܤ%�+C�Xyf1��!M�yC�^/6�
,[hS+T�Y} ��l�r��b���N�;��N����z���b}O�R^-�Y~����@�Wo>�tO����#���<̒J�$}�VOGL����U�
5,Ъ�{bVK��l����ŵF@s��ۜn-�P�&��,�:�[�g�"̥����bٲ��t�q{$����N;cl��U"�F�zԺU9U����+��ְ2�*W:$�`Hְ^�C�l���7��+���W�T�n�R��ܰnf�+��*EV�sX9��Uy�U4ڔt+R8�0���"*�9�M�Ze�KٮpC0(��L���#�!�4R0kXnJA�.5s���.wz7q.�wS�]	��Y�IF�|���+�wyV䟯����\������O�B�:M^ͪe�-�|3q����ЩV��T`A�����Z�Tk¬���:�/K��RK�U����Z
�Z5�%��R��ܭ�����Uc�b�(��)�J�mQ9~Қմ��]�3DQ+6�����(�&9�s��扢X$c [�9�n4�Q6	�\&�aei%PsU�#��S���XL	!��BHE�Y�Y0Ŭb������At)��0L�iX�bz�x����m����4g��tQ��"�W�����a;6�+-g�6?�I{�H���椗P���@��fx����\��5��-t.&X�в�E4+L����d\���I��,8ex�1��W��s���z&E��Ym��Z�[>Z�e%���d���X3����g�"�°��dٚ�c��Sf}XQ=����Z��>�/�'^yX�l1�V�"L����|�R���h��
�H��_�J��,�P�Pqy
'�z���JI�S(	�2T���	t)t+�� Y�ӁrE��{���3��g
Xߵ�4�3"FY��� |.(���|��<��v��#}Z�c��`�+M5�?�i�
WA�*[i)�w�Q�KZdZ���Š�_4�?c<@0�q�E��Q̠��i���]jY�-�l�4q]׳	a]>�jdT:�5-,5?$l��'p5�X��vH;*V)�R���k����īf�X��n=K�����_�UQ�^^Â	J$`r��B��H$d����Lb�btE��惄,cPLYde���F�b�)NI�8�D�i�[tI�8��נ�����*�:��"�:�(YI��¼H�K�8�yl�e�]OO�9�Ҭ�~���D�I�E��D�zr<�
JY6@l�]A�*�M�\F�	��r0p�b5����/�BDu��U�dP��J��P�iEYb	ǘ�aՌ+��ǑH��l!�V�)1,�01X5+kX�T��bC�f�����E�o�6H�����J AX�B-�)M�j�9V͝�lO~�å)S�b�� .FժJhC�E�#��5� �V$zń#�D��J�PyzE�U�RV,��Y̠�@�A�UYL�J'_��n��hXL�����YO� k{x����<�������,����-C]�0vC��X�:��=l�!l�l@v%�Jk���յ��!+�'�,+�<��<����p�reSC��+��ဦjW{o5�5��U�J3b���R�%y��G"'�<r>H�*���A�����������q�V_U�v�jW1�[�TkX�'���~�ZԤ����h���3����W/S���dIQ+jZX)�س�+�T��e����`ƕ-����4�-.��T��¬�\�o����Ѱ�TK�-�L�,E'��4떙j��h�D�m���8�=�E<�OyR�h���+���H��Z���Z��QG�����i��$nv%B�N���|���S�X��K�I�S/����ď�2�d�.�q�z$�zD݂�!�m#��W�x����`�W�9�fmގ�f� �VM4��\5��F"gU�{p�B�X�z������	�ȡ��BTq�~ը�
V�,S4�D��E�4�[ozIQ�\a�!eF=��׼w	�Ζ�~B�x�5�:C��"k�T	�l<�d{��ؒ�ZwG�ԑƁ@`��;�}
�^�0���/ƨ�w��ijR)'�Ԕ��+_�`KN>�N���.{
	u�3��uF���zՅ�r�*�[����<�L�;��.�,�֦O+RkDV��r�� ,A���-v,:����גJ!�2h���'W��|���<�1q�2d=��o4)�1�-�A_�'hʠ�b��"�(��ʏ~>��a%�RH����.~X���4��p�W��� \=8�:������,��#��G({q��wD�x0�i���"���i
m�(U�R86�Ml{�"gD��v_>S����Jq
��&je��U�um�N�U� �
#K����Q+���#K>6���4Ĩ���Ħ�����E-*��1�	vE�T�K�� ��N��s�4�"����\>�!�Be�R8I�<�'�-�3�.@��K�a�
�$��AW����+}��ep%W��ڂYA�`ɚ ��Ì\�.}��q"_��d=�9�]�\X��	�u�dQ�
�^�й�Z���5��'�.��vڨ^�M�DK,L�X�Z�#b�T��]����2U�i��f /UV�.^�PSV��=���+��δ6��ޑ\�(��
[M�W�*�)�����J��AKFb�p�%����ei2d�Ê<��
�2{�lʟ��I�o
>�>�ѳ�T2/7��ޑ�~����#9��5��:��?ZW�_Fâ�e��5�,[�_���]�[̰�z�����$��U�*^G-s��L�a�U��`�F\
rkH%/Dw�	��n_g�٘�����	[�;�����T�3^�S&$>��LR@�
r�� śR��ɫ�Ʊ��h�C2,�/J�\%+�ahV.����^�@�z��C��L�n��\��D2%x�L�[�S>�i*WQb�,+�"�`qʩ��H5�-���D�Q�>���Ȧk�{
����L�W��i;{丑$
O{�82mT���dZ������6tY{�a��G�3,2�eVf���Ƣ���}��C�j�Pg7p�:���@��[�wj�9���
Y�v�?<�����1�D~q�E	�}�C+��M�֢f�D��@�z\�)��Q+�‹�ث}��2+�	����h;ZաkЍ>�ڥU�~ʖ�+�<�Wh+L"��*$��V����\�0�[a1m�1tg�&\U���!n��M=\��
����ĉr\(��x��4U�`��D}�J$��C� ����d[�?h���A�Z���K�VF�&���?��|�Β�C�uj��f��y�5�q��$���[���z���a�<|�"��dɬ�1[¸�a��X��/?��X�������Ռ�	M�AC�P�$�R��~�A��.f:aժCXu2K��H��l�Nx�X��Z����f��ȫ6�EϤ�,v7sX�lJ)��>���F+�k�
+tkM.p��=��S*�~p!�T�K���W�Q-�����$�b�ܹI�"�*\I��?���c䘒J�HG�Q�\���͡3�A��,6�b

[6��v�u�,ݲ�� ח��֐����.��ڟ�X�'_��V-�,�'�X�W f�+
0�׫"�����
*l��>��s�A�b���'�^����;ʯ���!��܃6��u�M3ĬɆ��U�RX���kPmU�����2M�d�����`�Z3���
��x�`���w���[D�*�K��Y.��J$�X�}�'��b5	tX=m�$�6�m�v�G&�k�����I.hKX
�����`tE-3פll�JXmX�P�(�t1I���ؖ��|�3h�xB��/���}Gl�:�Q8
A�:Y��2�OTW��h�Z��"�k���fq�7�Ve*�֌���6/���|�Ԣ
�li�BoZ�l)�p�]Ү-��2�i��&w���a��o�Y�]��x�k���)�����D^�K����7D|B�.\����Du��ұ�$�7
՞?��Wc\�{�Ue��#����M�xL��i,��`�e����
��C�K��36]�S�����R|_�(*G��DU��:NY9�J��ԄT�A�pJ]��~������g�G�Y6o�*
�SH���x�[h!���}V�l��]�������RL��x�g�]��Ao���Ƃ����|cpM���;-��EW���,��s�sp��1��E�Դ��¬x��vʊ��cP:eRTAFeW�Bݺ5W�t��~��2m%؂��]kTXL!�FG���b),p��bb(}.�!*!ŪnC��e���Dzh[#9#2�$sG�����A���*�b�.�#��6�]U(�K��`
��1��T
���rJ��UT
5L�r@�'�:�Zǣ(�<���J����L=�Z������	���z��S���\+��j�
���Bl�Amu���Hx�c�rE��K�⢺k�Z��W�Ut\(�d�zUx9_h6�p���zi�[Jĕ�fL�e4�G]'��L��gWW��W�\����W��<����S��O�i�r�ŨҘk���N\��#đS^��(Ōhʱ��K0��%b*����$�JMv�!�4vE�aqV�ޗ�;PwL�4�P���y�yX��Wǫ�ȫ�@T�8� ��W�^w{;�E�z��V߸�-���zy,���ic�	T�O-����•�#춮<f���B�#�6�[-�:�ck] �fQ]�l��	��wr�W��/�V�u|�DuɍV��������*��MY�k�D����Ei��D7�T�`�DUfLm=�ׁk�Ͱ�*�b,
���j�J���$�XM{�m�ZAm�џz ����<�R̶S1u���]E��4�<R:����GZ����)<%"�^��mڥZ�
R�Nɖ���;�*Z�|�Pk�W/�8EƭW�*˴v������7�=B/��Y�?���'�;B ��N
\�U��<�����3h�q�u��F	�@.�����]`���2}5�h�K�p1�ؒ�#rMN�M\>+:n̞�n-�*/�L�1��嘥<g�*��YCn��4;O�tXIeT�tu��U�1I��0�����K3x�>%Ft9 �N�K����YsD�X�T
/�����+CW2����6���hؠQ� �Wn���)���Q���%�Z���J::��Td6I}m���>m+���߃�a,,���+�#�Kǧ=��]�#U����tk�u��!��Gm��K\�D��B̥�jj��N�+��%�2#��n�!�n�#�\Qw5ӨL;^��@���xDrKj!���$�*KHu|u1*=��"�3{��v����0@a�ʋ,cV'��cS[cZ��LB��],�C�R��Xc%�)WEr-���|�ƈK�hwWUJ%�8��Tx8��"��AZ�
���[�t�>j��f��<�J�B�#���R,`�����2��[�1?�^�\a��J%��-t7\�Ξc����&~|���'ȭ��M=���ә+�K��*��Nq��UC�U�E��e~�
�7�[�?\�ŠE�!mQv���t��l�[;���N?�[�ּ�!��l�����PY�[�a���s�kh� M���љ��f�+���o6���o_;f�����$�w�
0{�uyRSf�j��~�5�ǒB�B]Aa�
H�~c��dV��.��;��`�v��a
��
��-�����B��ѫ��m��`X��J�n�dxs��4ֵ�k��^mL1��j��rL֋��Y�S�`g��pJ��df�L�:{�xf~�>�L�3���O����/C��U���\k��=6=�O\禺Vi��v�p���Ag=�VdT��kh��5�2u�Rl��e+��F.@ʐuq�:��4J)啰G�UEqe#���%̕WV`��
K�Ϯ1�A�d_��(
Т/������0�O�+x
&�N�+A
�Sx��Lk1m*I$n5ͪ"�ƻB@�;�]5��K��u$]��vw�ɱ@�Cn�B��5u,1�8]�0�C���}��3�6�S�)n�r���zl[�g�{v�^>��b!%�2�����n�����7��gƖ���4:���<�T�ʪ�f�j~�[ڙ���Akad�
-V]�ی���u�귮�[y��WXS��0��]B+����%��Ck�4VI�r���S��fe��NNIx�"�� �Lf1�T]U`,N�f�9ÖWy%%��� �Z����lߝ��P�N��+�a2�3P@��_b�'�ʽ�g���T��;��8�;�k�q
�v�R{1�KI���D�ĕ�-1�TvA %���4c\0"9cD}06�}r�C\����w�[�����{�73�������w����k��~����͊)D�*p&����\����L
�I%�4SO�J��s�����6)9$���I����\_&�p͔���.]�i��I�ծ�-��ޅ��E���V>�jX֋Z�i�l������0"P����H�3ZSl��ԝh�Dm��񐈜��зG�ԋ�y��}�b~����*�:� ��X.v+$����*���ӥCL)K��[v*:�C�,˥`I-Ẹd���B��Yl����6�c.��,�&͜cx�\���$Uk'�<{�D&��VT����9,��2�)*
g�f���w��0�|�����%o�ؒ��ݗw3�ŗZK4Å^�(ىE��O#���'��0%cT��b�$2��*���pe�U탌\��uX��9��i��i�ְ�t��~�}V�3�J�:��Q��&�V3�f�p
����"z1��\�e15%c�(�Ҏ+J�}�����k@�+�y���Ja���+#���1�2{d�l�X{U��0�Ү���V������ڰ��QAY|:ss���a�ky�IZ.b9-��~��V"L[fIT`�re��\�Ht���zg�	�ɔ�ŠG����)�F���B�,j*�i���Mx���_(��C��uw$ָ��֬�������g��5'2�����)�
�5c�����d֌����M~qژ�����&�j�銬VT2J�+N�s��\�Ee����55���2�l�8Y��<�\���bpW��<N���Yl��l����
�bd�<��H�����ު,Z�2Q�,_ə.�Jx�Zd9N��8�
1�S�%e�<5�[f�1K��;YO�q x���S�Y쓲ij���d���
{ʷU�K����{��k^>���-�/�X�
��R��WL8g�|�h����T��j���"D�S�>���|��a�p[��j�Ԍ�F��OT7G�*����S?�k�����"��O]��WT1V���y���k�+W+���
K���a�(��Y|!��r�<�Oۀ��q�P��0������]$X�,�D8�Ua+�~��Ǥje�0rI���Vk�F+�kN�2y��J���MY�%�=bX��Id�(��ږR��t�f+Z�=Q��'R晔�%*��稥�­*�+�Q�^�X��E���&,�(�j�4����wU�N�㢱]���?mݤ�p�׈�_�Y=����o+D�+��&Z֤d�!Kš�PK��|?�xj��0�������k�ݘ.*bd*�m�sВ%�1V~mK��5�m����nKL�ɸ*
;[\i�X��V+vT��|�-���[1�3�sIv�%4Y������S*��K���=��LT�1�$���.����K�|T�<����T��GȊ_��+�_&'�B�Ż�4���Ǖ����
9�r�NJ�5m�4��8���pó�^q�ؤ{�
簚��|Ynj=�=9B�����F��~�D<5wO��K�D5��^��r�r�Y��f�L��grQmh�U	�B�Uرi!f�qq��
���K@w6�e��Z-�Z�JL���$�pai���Ua�p�b�r�=C�J1���!%���[6�JFMʯ�=*��
x	����qL����Tb0V�l��J��K��&bŕa��(kǽ��=����?nڐO�~��C��i�R<V�:*"TÑ�piب�P}N1–xh1�
��'y}d�� .ŋ\k�{b��畯7��Y�n����bi���!S�Qhi�u�Q-�,�L��UT1<��$��:������)�0�{�Q�>
qV&I�URZ�Ru������]y��J�e�?���2�P���d*���tȑG%2�"v%�y��y+��bਯ#�){�U�3!�[�?�*���3W�*�
_ߟ��EÈ�F�`�7�PlxRY0�v�uS��4=ڣ�u��u���f���b�hb���A���j���ij�!�ʩ0��*�J4节��.�W?�
�6�Z�:d����nl�UD���
T���"�1V�òv-ǖ�a�@��"�����ښ/jrK��]�٬���$�DTUa�<X�
3U��2��%�ڄr/EV,�T�DX8����p#lg
s��'�~��9�u�9�d�N�^��Yl��&N�b5���i�,ԈE?b*�&u����0cѸ�o�Zd�Deb���h-�o���"bQ�[�0�����U�]��z̄+Uc��`E�i�I���Ө�ﵐ���wա+Kd����:�ʆ���� ���X��Ln��y�tׄ�pA��\�X��NEoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA���q�� �� ����c��4�+�[4�[`�/`��� 4������-�+�~	�K����s��w1��Y��#�>�a�V��X�X�8�;`Ac���~�pgƥ�>�q�rk��Cܙq�Ñ�‡1�[`X�`A�Xo6���;�|{�aXn9�`A�X`AȰ^�o>�Â��-�� 8,�ÂÂ,��p�,�,h,�Bl�}{�a�G`=���R�7��d[밙�֑]�C��(u�z�U�^y�uo=}~��?��}�psS�,����3�J=4z��ͯ�^�RO�O�>w��ŵ�?�����_+��Y,/o.�WN�iszڶ���¾�����ne�߹���\&�^>;���fgg���/-���.�ϛ��o���LNN�W=��߼��u��'����gϾ��i�h􌴽��m��?�����ի���#����\�B[3��ҥZ�Z��.\�F��߾ѻ��>���ߧpXo�n�r�\�ϝW)ESZ���t%�:v6�2s�f7�:1��n1�:R�N��&s
]n'���2������RCR�̆T�}���tȰjC��Nf%a�'��Ԋ�u�֧+����R��^�����C�B=֧���͋���}y��Ν;�����M
�GX7Z`5W�s���in.k�i1����VF�������X�.?X=�0;���������_�.���O�u�ɣKGW�p����Qͫ�-�Փj�Ѹ�s�-}h����{�W��,��}ag��z�[,����w�<��N�9^ݿo���W�܍�L,8�7X�!��rWf�����a�5��ʂJoL�#���j1��u�ܔm���b��Y�̆�e�2�"X��X��}�	i3��x{%��}�����	5��fw$Q��5)ҁRK/$x��`)	�j�(Ev.B�� �CKX�AO
��+�0�\z	��er��Q�ߟ�ߛ�mG-{��͛�$:�0>���;�A�G��+	�J*Z�j�R*S�29��?F�SR��I��߰~C`%4���,��K�:�2<��vll�:XV��wX�&+�����V'`}��bh�����~{��*8V�$�,���@�B�c��k�2ҬBgg�ŋ}}��zz�<~��
���8P���Ƽ�/�د��e���FRM�3]$�X��_�LN��`��f$�p��X,W�XV�NZi:#YV|���e�e	���V�'���;�ň�R�bj�$4+,�
ԒKߥ�*�M�d!�$�څg�����Xp�e�����+����X�-�"޸.(R��wS�oo޼w3����eV�EF��*�i�r��N	�{�Xww������kb(,���ʝ�	!J�Z-w���f��.6i]�\��s�+����E�z	������֫�ҭ����D��Z�~�y�y�p4#�Ꟍ+���W3�U��3`�A����Y�L�Vy0m����xp�"2�LgXR+��
�<�Uұ�K!�`�63˖�29e���,�%�̩����Y�U�Ԟd��$�6
k	O@ՒZ��t,–G�bvX_�z��8�U~ZE�W�%�uѯ��W�ׯ���ݲ����66@��ײ�°�]9
ٳ�n�Vv��#���;��X�:oY�ryU�X�8�\�Z�^
�?G�^5�BTт<�C"���:���Z����B�Y�_x�~E��jz�𫹹#
,��갖�H��I���O�\8֧���{��@��sJ�J:U�X����M�"2	.E���+$o�}����n��U�n�+l�¤����g��,Y��b�����,���X³�i��"�`%	�@V7UP�Y����S7��G�C�޽�v*��k54,��:�X9*��`�"��;_�"�~ �:/�,"m�X*S"�*�8B"�*w�B$�rK�)ŏ� ��@,`V�+���
�܀u�/<>I�Z{&���_�Q�uZ�Ws|P[5�<�x''B���ř9����և:�mX[o�~����7����N�WW��Jg#F�1+i��6Wa��-VH����$�B��
�2K9>Kh)\髭k,�,#�����"�3'KFB^2�+#�w.��T��Lx�����J%�-MV�MUR X�S7*7�#��u�F��N�ŊB�<��!�X��ݽ]Ы�;Q�.��Sr�E{��Jx7��*��48TF���c���ځ�.���C�4�r��!����y%`e�A`��]0,*�H�>ұD{�KoN�YyŠ�����
�rpY?~u:������=։�e�*G���u�Ժ�(��7����(��%(�-�v;(jv��C��ͻ���MC�Kزl]a�mC	��]:7Yi=��ʽ�a(�J��(
����V���7��H�\�Rn�n"�uw]x�r�2zc��Fm=N[֦�ڨ�a��B�� XU�U�l�qb��;w�o�^AH�,w����L�\a�^��Ձ��k�W]��
�
����a�t�Z�޽��U��$�Z��MAQ�s�l
/B��L�EūEv'�A8���
�iFB���mX`=
�yrj�����7g�:Y$T���`��]+V�?ʠ
KtX���#��UHJV�K����RV�|g�Yj��匃}�D��Y�~����l�ʅ�:
�f�d!��\�a�<�s
�7��[gŪ�	W�B,�d	wK,,��&��ի^��&���; +����Y�H,�ز�1z߲,���U�_	X��pP�H�:V�WdUM�U�>XM|��ۃ/� 
�!�
%�0�BZ=#�BZ�_��żZT�@�,�"�5�pE?-'~ذ~i�j�v�������sێ�|�z���>°2�#�+I�l$-7�2o�J1��A[5X�nۍ���܃A�.Ÿ����-5�L�R�2�,�,�z��e�>������ȢنL.��1�HG�^�ȅމ�ey84
�rS�D�M0�ֳ�q�.P,�՗��S<������6�X5�T,�bT9X�""����#�ʥX_�\K��C�R��5�V�5TFh�W�fVG�qnt��X]U�U������
�
�D��+@�A=�5�����40�&W(r$����ħ�����m�	��i���Æ��
��sXG�UX�B[NaEl�Z����(*d��+�NYd�TȆR���[�n��B3��*K�B��4�E�E�+_�kIJ��&1����7�uS���Je�c�,��T�T�ĥD�.�����%��H	dE���F�ڤ�ʳF�f��#��\+P�5P�L��U,
��hauh.�W���f���N����C�K6,��C2,����
���c�^���W�Ԧ�1�N
֌��7�V$X�٭fW�Xg�T�����Y:�I
+{����n�"Y3�@���a�D�Ŝ�b���_]
Z
f����C-�A+�6
��ä0���œ�^��K�yW�
��Ɍ�����D#pJ�� ����a�l=�J�w���T*�����OđX��X���J��%qEX\�CL�O
�2�=/3?_�u��X�(�R�pb�!d�U�Us�v@jV_�Ph�A��ٯ��
A���"\8b ľ.j�P�
j^��w��$(R2ʯ�Pf��w��G2}�gvk�?��}�����+��ޞ���5|nk�W|s����-���ݹ�?�����ۭWp��v��~{���T&���*��3�+�q���fZ���3KL�2��Eu���t��
��e|YǠ֑��:�Z�4���%Sa����-�lȬ�	Zɹ���x�c
�IKl��X���y��D�8�y55�c� `�����ۻ�fm��(�^lXJ�p,����
���G�R@Cb�����[��@o���/��Z�j�Za�c��N�B�s�.�����'��K#VI��p����G�!���N�rl]�j��OH�yǽ����9�i(�3�&��΋b�%�d`���e1W�[V1�0����`džQ�I!3
�AAa

綾a=Ƌ��Jq�?�o������_b�5�0���>O枮�@�+PQ�&��Sz�jp�2Y�
k~ggѲ�8�Ua��`�ʵ����=��n^�֊V|?����+1����n��>��H��]���v��8p	��*,A�\+ݘ�[�NA-Q
v6�V"�E�J�<�|�8�Qh,����8������sYRdupi��+j���(̦���,7��՗Jc
��PքPXb�Л�>!+W}=�ݗZ=�y��'8��U�b1��㩩����^VM��m���x����BV0���%�J�"��d��k��n��?�ߝy�M�kkk�-\��Bb}z��$�$�T=�
K<N�9�>��.	ǘX
�����D��UE�j�PYB]��|x�Ź S�k�F,+G`Y��ʰ��7kŲң��C�%\�c
�h���c���y�y`v%h9+;���9,YfZ:XU%!�J>���}�Q+a\EtIhւI,�	kK��K�[�p|��V�s�gRzY��;U�QŬ,�P&�vRZ�+Q
g�訐W:9z1�UŮ (�Ԅ
2�.OO�i��O�WEV>��S�����
�V�v��=4"�E�S�9`=H+&4܃?�?��[H�J��(�qz�.Bk|��Ց�W�X(�D,k�ǭ��{��y���rP�;cE��y����),8c�q7�pD
T�������
�D�dҪ��T>��B�3:K�bk��Z.��A�;4*�6Pe�@|�b�e9�7䰂�]��� b�-���c�����z��RC�:� [�*��+9��UHǰ��f=�g���1��(d9c�m��|�z ���Q��p��چ�*�
�Q��J��B3��6V��aI�\I����T��W=Vv�첝�O���2�
 �^�F��w�a��
�j��`������ߎa�Gtbd_�T���,t�ҥBG)ف��),d6	���ePb�e{I�+$��IBֶ(��̣p��z��9X�"|e�JX<%�T�$�*�I*�+^�=>|ӝ��a���|{ъ4+�ז�Uc��N���.!Y_�1xkCM�\�4���a5ac)w��4�䒆Pgg�J!+¹Ѱ��n�/-J�Za9a�Y"�e�*i'�6F��i,9���J��
r�Y
,#:��9_JKK,�:?�<�㢞
���M;�9���)�V8IXN$���!P��7���=�YK��P]��V�N�:��:eJ�2�	-"V&](DJ�⪟x�OPX���!�WMˠ��h�yu��D��R#�P_	��bW��J+,(�ȿ����1�U�!|j�/�WdU���ڐj+��Q���Q�P��.�'-����Ɗ���
���������nw�^�+,���3(ӽ��ڻbZ	Q��a�]��>�iɌ���%��9��
��E���qť��{�>V���$�JM;gX_��ܓY^�`��E�PyXٌo������aݲoQ����*��\,���a��Q+�V��輸���a��R}��X�ˢ��#_s�mǺ0���3�Rj���q���Ɔ~"�jX���hok����,�‡G�����<��p��Z��z5����l��u猄;�B"�
�I������ᏉL.�����Haw$�,ۆBaͷV|�;��V��c�\��oL=5�zU��`�%��hH��	5�����=�6KM��P��/E1��

�yiZ>�f,c=���V����zhf�‹(����q V���� ᪼�wz��$�HeAI�¢�c(��/j�Xa�ƽ�9�3hъ��h�r�ls
+��x�p��X],��QHkk��e�4��³jK��CP��^��40���RZ"���,*��R�"��u��cY�mWG�Ww-k7�6OݾEkx� ���x�
�~�w�k���V��~`'�^�LVCY�6@�aU2�_��22��q�Q%�Ai^q�!�h�ʜ��2�z���c9��
Y��&�ռ��#�PR�A��U|T�B��,�
݌4��������+,۞��m��D�M2�����]��6�{���5��=���W��TOՀ*�3*E�/����׹-+�l����g`��5�23C�	����e����b���]R%!��~Y�9���+��\� �^(�p�IaI�ŸbFM
Sk�r.�

t<�TZ�}��!�M�.�n,���	�H�:��׊�^�lVsƝ����萿$�/C�QK!+,
!��JI'a^)�J�5�Ge �Y��L(G��0��Ko���2�զ{R�G��'��W蜞���1��6����z9��2M�W/���"�C�]�	ϛ�P|�<$V�f�ݻ��B��k�4�7��y(�nKb)`
Ậ*�#'�����R��P�
3k3[r���yE���;"`u-/�t�/x��,�N������N;���������EA���o߹tm���O�W$���?��c}L��[4t(��Z��ñ�>5�v�X�`^+��	fߧ���fb�"z�#�X���t?s���Ґn^,�T�̨�[�IgE��>����v3{�lw�,�/�UX�)�ߜ_��6��[4clzo*̦?{v��|r��U֨
�u�YB�d{�e�t9���M��e�W#�����`i555��]�s(W�T�$`�LO��ZxA"��.Va�c����j�rGs
%���Z�
�h���s��v��dV��]�(����Xh�+^Ⴞu��=+��VB_�՜�h�/b�>�۫~bqy(KB������Muy�?<,�y���&��}�rCC���`X=ND��"4j��F���†ܒ�����"�ݹ�
놤��T�����$�$��N˱P_}vz��9���
��}X�@g.�q��H,xx�2v4ό[h��V+ol�j�r�z�.�a{��Pֻ�G�=�C��"b��묰r��!(���n�(�P(%K�k��@`����5ū-|C���:�>�;��~��i���䆾��)�o�B��v�-9z핚y&��`��v�b2���"�E������K0��=���$4�%�څm^���_�u�PI,s9��~N���8J[.VX)*G[W^5�JCKN�šVXIs�0�W�����F����>,�S햝�K$�*�U�!�k�6�Q�%TE�xU�h�(�X}��|_7�.��
��r9\�L���!N����	�;=�8=JRï0�i���	3tk~�!�Ӓ�g��!�	�e����08��0�"K� �dS�e$�(̘����K{�VX�a.B������>��L���]�W��$�%������,@#��ʸ<�����`5"��3���sx-٠�
ūG{+RUa��:�l�� ��9�/��qf=q��r
��Tx4�����-0��V�I+�2'��ͥ>��3�Ee}^��|Ze��W����7f��֫(�nsD�h�p�X�>�B ��q�
�Bb}��K\��.1`��W�熰��G�j�Z-�#nC�Ǣ�5�����l�u�R�ua�X���I#Y��N/ttܝ��9ep�q��Z8b�N1,��6�[�վ�o��V�r�ʐ�ag@N�	��B\=�X9��yo��4J��3�Js�e�}��&G¿���sXfs_SC��Y�ed�MV��tI����@O�b �RXY6%�����P���ܲ}s��J���աjx�E��So<���Z2��Gek��V6�1�凝]s�pbz�a
�dx.�����ǵ�X��;�*�<M�e�B.m�K(�3�M��Ņ����puN·�s��y%��Pu��sB��!�+X��Q �V\�Z4*F�<�����b,�◄SH���-a�|��*hu/s�*�n��Y��i��B�%9:j.Ԭ,ZL�Y,��I�@�5��4����VU~��:��+{�
��#��?��l6���l4���0��ǂ�����x!���E�"nA!V�I�dz>k%G�magp�*�

K�	aw����Laq�����$V�C� $o]+9��*Rz.گ"z��kg��w~�_
�[A\�\U��02X�Q���W�������w��2��/�
�u޿��
��tW�ZС%�A���,�V���|>Km‘�|�E�MӠ��r��ż2��-�X�*�}O��
�W�g�e3da�Z��o�},s&<�H�`Ȃ�U�?7=W�c��k��_���j���E���IU�]~ȫX2
mE�Ab
�]U1V��Af�9�~0��{��^��	�2(��ʷ�n�yE��lD�u��H��2�s�=���1�)���sy}5���k'�W�7鴤}#�A�L�����S-`�8��q���qq��ᠸ �U2j(�Tb��*��B̌j޻�[���-q#����IJ�λ^��������0jSas���8����M�0�L���s!QH�a���5t{rW�*��_S�Z���(��FC�� �X�+��*:��ˆ�0����{��Wm����*�^��YL[E���LYE��R�c�Gۯ���PS ,��Y���Ɖ��M���}���<�ha�Bn��,$VX'Fa��&��3j�W��Bb���-USW�� ��G��z��H�bXV�-.�-2�a���샺���tS��[<�y7^	�\��{�[�0��eN*�t^g3a�
�	z�3w�eQ�E3����x;��
,���ÿ/>&����w1YQ�w(����g����8�p}��u�p_G^A܊!
��i�H}pf$F�Qc�Mp�J�ֱ��ĝE�W������n�j�	UK�pJ�~A�-�$氺�n/�Y�A:н�h�c���}:�l5��G
Ѥ�E�xMa�� S!J.�YY��z9V�� �GBa����;�+�X�Qx��9���%.����������t
�F᜻=��}\]���v����&6_:�[��h+jl7�2hn
 ����zo����!���^�h�p�yŁU�D��֣����K�v6֍�;/h��L(�j'�G��c������؃ņDU���^�Z�@מ򰖹�>�<�RX'���Cq�6.(��W�ȖV�`i2�m��x<�5�YD*�R�Kn($<ٺsu��
�:�`s~4H�{G���;������Ka
�L�~�W)�v�?͐ŀu�ʕs�ŌƫL�g�����a&����P,�N�Ӗ�C��
����,RV3�3�@���K�2= D����A�X���ζ�����+��K���=�ZUɽ��wv��Z!^̄���c�&,����ª��K|��{�a�η�t�qP���uI�U���P�w"�̊�)C�:Y�,��:b&�u�	P.���W9&��
��2Lw��:��l���y�
k�&��P�7��ڏo�R��~y���OFvQ_%�2=#X�,V�)3|�>��B�D<�&��4nVM�B>1���ʴ�Y��X���77�V���`
�ܻn��z�V���7�l�H��,�	���B^AKK�jN-����7S�
��E}
-�uR���~��&�Wi���;�.��%�V㈈�#?;z�TY[��n�n�e��ek��vs�_P{S�τA����C�d�k���c=~.3rN��
NOg<��]��݅��1F�L���*;Lc�A���d:M�ӡ�d2��he
یT4���-�+F�2͆| ��7�%��F�QjD�#�6�3c}�Q��W�U�H^Q�;�ֳ���*'���z��CK'���%�Z�:i
K��5�.�h;�V��Ԑ�WZm���f�]�F��e�P 

�����[j#�%fB�X('C�|��Y:�\�
Ȭׇ����ަ7У�Vq��#�w�s^{�����2�+�������է`b��[�P�+M������C`2��g�R�j4��C?�']|4��%�mc��!V{�o�I� ��Ȼ�%�AxG��+_��ʓ���&���
�̯K�wG\�DYCX'떰[d��^^���'��bW`�X=�%9�)�E��c.���\\�h�E֖ɪ`�M!�S�J6`�P$ubѮ/����a:��Lh�>9��qYOk�h)ȱ'�1��"OoU����ry�<3�>46��`�𮸨j����$� ��~�K}�Q��
����`	n�P��J�����UN̓M�-rk�K*�$<��jyX�y��.�k
_�wN�/�����>�LP��1�;S��#��6]Ÿ���8|}�@ȧ�V��„���tw��;f��t��m��X��PX?v����أ��D��4��w�O������W/����T^���Q���`�y쒓 �����_��P^1`]��˿�<�V�{�m��P_�5U5��뼂���k���W���sO48���J�=��)��,��}��PsK@�u1h��T����gA��2��,g�X~����v'����Z�A�X���q`f�I�Ի��0�LdD��导~N��U�>Wa�{,s$�;���MF,�����gb	X���aF+~˟���{�<\_��G6�D:>��{7�1��K��B��j�	D��!bA�	�����W՜�@�k�����
����5��RX�i�]	�v/�fz�%�Uȅ*y/hZ�	+U�E��4�|��3cO���Ǐ��W�~z���ٹ��?������>�x�uDX9.�p��Q�쬄QM�"�lkoJ%;$Q��b�ܬ���f���]R��e��<K��䌂���@aG��qPD�,�g`�����y>?�����f����=��i����<�����[kN���Ɩ����ͱ���[���a�vtt��������{��n��d�s���=,]=hq��}�hňŀŞ�+x�>�ΧF�a��6�0f5�bP�N�@�	A+>.J�+\�y���~�ta �@~Ji�W�yE�p���M��\4��e^�g�'�}��5�fgy�p�{��*=?�Iw�ҳ�'tI���2f���V��ȹ�n��MA��>�)H���ɱ�������h}����y
nn�ssm����5x��'�]�v���f��XeeZb�R�l`�§�O�p�q���wXi��m_����&Lx��E��T1\%WHA~��W!�x��d�>���C�䗯�B��T ��|�~ຓ�p��x�[��W�<���+�v4��˿�p�W��J���J%�+	�ʉ/�Œ�\j(����}A%��e�h���訟M�Ӿ!�YWR<k�cc��o�5��5�(�)x�l|�ǜDzU�\ib���/�ha�`i���<�sND�OaQ��j`I�X}}�(|gaQ���.c�|~!��%�"�; {m��DW��)�+Z�$ĺ3<�9Q�N��%�Uf%�r��W�&���sy�b�)F����X�pi��w�C��a2�.����`��x��a~4
�[X�����Lw�$�:l<S˴��3��³<���ex$���	t�#�W�c��m"���(��66�<�s��1����x����Ub=��9)e��]€�Xq'}E�,�X�K� ���aRv��r����-�����n[(�
&�2�+�SWDd=�2�ܢX���&����c�x�z��3M��#a<�7O տķ�c�m�H��!be`UT̔߭ׯ�<b���%�U�����h��E��jT�
Py�Xd3��{�.u�ْ�ņ����毐Vnw�ɫ�هm��5)IeQ\���kL,�K��Y�
��uk9u{�{{�p�w��[iU�.a�^�)�;�f����+��l�~F�ё���
ݽP�{��F�� ���\5cS0!����\�N^�dx7��4�1^��y�*f���84bX��,��p�W��f��h�	����p�}���7��>-yX�q����eԊP�U���,�>��ҩg��h�+�^RAxVh��T^)�� kc�o�-K9�z�r���k��Nݎ�Uz`5Mpf1nOa��+Ub��\\���XXdV��Mg�0�P�F��#ё���6_����F��pgs"I/�}�`�J+���V�U�[��>}�'^D^%,
+Ǿ	�f��u���lY�/��_BO^��/"���������]�u�ޤ�dA������W_j'�&�ܖ�Q��Q?[d�;�
q��3��-��Y�%(����<�>��bImB�w�����{&�n��h֙5��]B�q�,�$�廵�m%�Z��y�U�&	��t�����tub���"O4��nf�|I��𫨦{�[ϔW~��c���8����۶3�9R��X1zX>8u�34��}cP����"�W���b����_��H,~�׃D`��~V=;�*��G�<	�eoz]j��0j�MeE�U_�h��_�`92�Va�X�]���u�[�A����ܖ�Q�tTU3��Òu�#Vݟ�,���c
lrT•<Ѐ��2�Y,�%�NW`U"�z�CX�����Q�U�9	ª9��)N�����:+	��z�ر�g�F/�Lc�pBK�h`�#�h)84�e��5 v�IE8��Ęɫ�H,C�B���˿�pִi_�J�j����qwI
���̌*�}.�w�i�y(�V�t�A��t�3Y�öRP*	�(�l�G��S���e��Ҏaђ��r��h�
0\igF������F`��F`�Nf��lM�
��xEP�Y]]M��TWw��C��T*�)b���ZgX��[o>�4:z����0�3+��zN�X_"��X��������������rAȁ5��5��{�k���_������x�������������	u��+z�^ۭg9��L��V�b3t*,�_�cyXmk�� ��&��*,�,�C���Nh	�wt�u`�^����2��bv	y0�X�TdQp��ғg;�AU�3I��Z��[�"�
3^!��#�d!Y�T�j��lm�l���A�s+S'V�EԽ:AT�
�h��
���`��N��GUc���'�2�����Y� �7׏MD�+cV�1�WX�w�g���*������������FG��	�
�rw�iX��Rg���~�$��A[ơ�a�W�U��H�VRQH}wm���Œ�j��������s�k8����h�V@�&��XM(TV�ѕ[��^y�|wke��U��� Z�=R��:0D�+���O�s�F��=Ȃ�W��x�*.\Hu�B%���kBƫ\���xc>&2��POK��l\�!E�#;����n��X��W�=�g�>��z�����߯�w����ZNPg�[�G-6�~��gy���R��A6���k}�Lf���I幮N^��	,�kf���%-?ہUw�lg�T�;�O
���	������E���kم[�N����ɚ,"k�R�	�BXQ��*R@`]���.f��4�/%�� wڏo1R1}ExUH��D�*hB`�Vk��*#�a�p`�"a��
,^2�eƹOH
Ki�p�-��
���/Gٻ��NU�$���,tK�AisЉ\~�7�B��RN��™$�X���o��
|w�
h�4<j��ɗm5��͝�=����d�������#������^X��PL�4�nʂŠ\:E���Ppߍ��IH���T�C8���"�W����U��H,p�x7�	�2���CX��(�f)�hϠ��s��xϼa��W�EH��e��_�R�[�U��*��X�6��6�`��oӻ].e�Y�+� ��~����Y��?Y8�ְ�Q�1���$��-�A��K�F�vw?w
�jP�?7m�!{9KAHM�Gp'�]��ʞ?�x)Z	�ʂº%���B�+�^E�&[[���.��^�p��^%VW%����«Tj���"�z��:��<��V�a�h���ۄX����t~v����WCま��E�(�j0D��ƥrWخ���zVW��P_����<,s���:�,�+�u�A-]r��r��=+/z���
~��a-��������
��u.�X�9�n�``��M��z�uue�M�3�a��B�^�8>���m/�JY\�Mo���sʆI&�X2퉜b�G!b]��PM��ȦEmᯧ�N�/�,bb���r�a۱�)K)E���x�/��@��=��Mlu��O�T�؂�O����Ux��`+�$�U��!98��tx-�f����0��ɂ%����
`5Qm���lh���1pg���e�n��0iE^JH+<2L/�K���.(pG��{�h�d
���#�$��Q4��!�����l9�p^X�L`C�C��n��.�+z���+O�:�'F>���Z]wZbI��mo�t�ŷc�����MwP_�,N���8ibeF�̚��9�q��]P��DW�b����{�6�31����a��2d*,Rc�D��0��|Ä���R�b���v����L������R�\�5�a�9�,�w�۟mn.�)�5�K<i��E��'����鴣�S�8%��'�����Q�)�HFG]h̀[
�A,*�\�!����{Gʋ�ME���Y�뮰X��:xB#��d��Q^̑����
�N���n��������
--����ga�-���Q��@!������ିz:��w�#�’��Ŭ�^|l�d��s�䦄��J^b�Nj��pSa�E ��PV<ՕZ�]�L�F;���I�,]MM�ʇ�t�:��5��M<b-��Z.��!!�t��B�o6:��tcooc�c9�Pb%})TVs���Y	�|̀�L��*B�Wr�u�+;�M��U�Zw���i�a�ա��ֻǃ�9ٮ<k�m�-
Ἇl!��9l�Av'��t�����y����/�ן߻���o_�]�{�j1u/��:V�Ba*�m��k8!���KX��_��L�
oUxX���p|�րZ���Ҋ��
 ��Pv���:|��v�������Њ�a�rI^��=��X��?����m��xT�WY)_2�������#�^�h���w�7fPa	;
l�8Jf��34��~���b.#��d�La��=�<aJ��*Bu��X��%{d	U�Ϩ&G�7V��'
+m##hb�į�	;%��*�	���	����
D����^�Ɵ�+�T�Y2�1c����VX���ҧ��3����j��^/_��NZ�`^��"kW�]�0L��8���	/H#��k�}q�6���h�͒x:�X�ip�p!T����㨷�l�E��ױU��T_r�>�Z��L��d�[XA�^���ր��ca��G;�����$\���v��N�3�
����<�M¬#B��L����鱱��Pc���t�b}��K/�OqB�)�WψdƄٺ0�Ѿ[ƿ`7�b\'k���_}�1��컣�H�21d��	]~6H�2�
w��4���bi�b����bM��T�"�(��+-<�+ ��@aui�eM$��tο�� �J(	7�"�i��܌����Z��
���?����q�nyBQ����J�p��c+����s�Ț�J1
�B�>2$�o��uRF,Lk>A�5:�}��C����ޝZ�:֩�Nt�˞�%��f^$d[��2�Y�+��86�gcc#���dp��sd&
�,�$$�����
ɟ:��54L���z��VN5&���cE՛h�F��$���Ҵ�Yn����M��b����
3s�Y
Y�X�W�?�9��ZZ��zo`�b���c�7��%��9J��8�Wˏ�`�RE�o6z�6���VOzA�M�::0}S鉛���+PXX���g:\dF8 /�������"P�2�J�W�X���N�Z�I(5�ȜCV��_F�<�
FZ����J�GִF�
,�
gW��"����}V�6�jvVbX���'�g��	A����-����	O$���`��F�ŋ�?� ȦBb)J$�R�R� G��v��
�|.�b�Z[ZJq�G`9��mJ-w¬+P��I��%)~�89�ݩhA��w7�xzz<���J���G�)�J�L�ER(	�#r�/��5Ov1odLnf���fRߥ�ʫ,�J��MQ���F���VXg=����C�j��F��2l券R:�f�5t�F����޾�yݽ2�=48�D��’�T�e�W��r��t�@�,�Yהּ
ß�E�g�O�4��aDxN�t׉������t�^�VGo���2dH,Q`�������njXX���y��[f�o4���֖ܦp.�w��i�=e��$� J����V<0I�B`�C��}�B�J��������7�>�V��k˕t�EK�`�Lss}p�'㕋5�脐ԃT)mp�����,�Wg
�K�m��m�,a99r���O�,}N�G,���^Ӱ���j��C#+���Hdp�\̱��*ͤ4sY�ϨO�bu������՝�q��ť�^��,=ґ]�L�ULzX�#��ޚL嬇uC���O	3�'d+X�۳p@1
�X�XP�q����D�"���,�����
��2��׶��=���Mֿh=NWT�<��a�x�HX<�!��U�Q_�����"�H�V��|>��_�t%i�}�Vs�^9���ΤKd���7�촳r�M"1�P��*q��NY�]��+�*/�k_���2z+���4���j��?m`�
��K��sJ�p�+�O��`�B+
,�t�[=%T +V�'%�Rx10��Hg�M2�9G[�:"��Z:]q����W�	�Iy�+��^X���}����^�"D`-BQ߶Y>��e7O4-
��pa��B`A-Ƀв[�憝��	� .��U��w�c�O"�AaQ`�K�s��?�<�OhU$�W.<�LѼ	���Qr�¹I�9!��
!��{L`1^���y�T/�O$�Ȭ�<����5�8k����PJ$�ˌ���+C�ai99�uQ��
���V,�j�<T;$k��h�,v(Zx��O�5N��*�^���u w�z�ze�
������ೱ�SB־"!@�go��+��L�M�1��j��GO���N�,�����E_�L����|�+�su��X�������Y]��ܷ���3Q$�4Pf!���m�x��C6H�B�I{�w4J�Ӄ��.���G2ɚX�-���;�ж�+����LN��R{cn��Kc�L��"�)�&�]-���7K��d�j�e���!�Mb91�P�+��:Cb<�K�)�C`
e �,;�<�}ӕ�d�
#~�u�-�?���sڊV<�ӆ��_�#t&���0`)K� DVQj��溻\�;�Vk�ZD����
��;�z�V�֬��V����6���8�Y���0.�dAD`�`����M�K��P�P�6A�c']%�	���
���N���ғ��K��-���N�����]� ��
kS:���B�Fd1��A6�
�%d����4�J�� �d��\"�X2K��q�T�P�Ղ�CK�R��Z�݆ߓ�'x&�:��5�h���U'�
V��*M�WV�a��H,F�ai�� ��%�X�<���Z�*4u@�GW7� ���V�:le��p�*���v����Z;�Q+��04j(�*4�hЍʩ4v�a5,������4`�^
��;MMuC�c��
cc�Ba���f:4O��m�F6���Ш"�bH��X�E���j�A;��7h��l���ƻ�eG*�QV�$�,>���4����.�Ì�(�j�@Z���X��*2���ÿ�����X���M����#﷯�cϣO���{��ķgtԷ�N��9��hR�W����EVq��2D�޻�j����.��&���xu�<�
����ں�����*�f�Ih�����l/
�����R�a�����L_��#4�!4+�����K��6n���_ρ�C*�+|���cڂ�F�e�W�Σ:�5;����B���݆L��*�j�
D�A;w���7�9��KhB���zܜuS,"V�3(�Q~}�`���bMbUUŰx�KʠJ��T���y�ר��خ�$d�p�iA�O���(\�^
��q}P'��I�0/,�#���^�i�?tF�"���dh��pBWpGT�'Z��{��:��ou�ye�����V��Y�l;
�V5��~Vs
�����r�p��
wiy,s,����t�r���}MC�.�Qwxv���zs�K^�Lwn�&-����6�ʈ-E\i�P�bU�
�pWhQ�����o��*	,��KG�Sa��4(�F���K�bĪFf�:�nd|���oJa�
�Y�4ˌ�f�SK����	��XN����G�"�jX��=��{V�VUwr^i�n%����ZL:�.$&��/�X��⎐�P��gBi��cy�G+��U�~�
��d�b?�)D<��Ua0�Vm�¢�����{�ʒ�}������̝p�ĩS��;F`�/͋��_����!w.����8�9�%��_��[���!\s��s��&�t�#^Dz�����.�o~h�'C��%KH�jQ�--����u����:^N"`e��.W1Kx�KdլDQt8�|�r�$��	Y�7N�����W��=B�WC-kΐ'}��ĪE�5����g�EQf`��(U�-�!0��x��0v���
��#�?;�ڞր5<<���V�"��EV�ZyPQ�ꃻV���-k��o[�S�k�ZۜtW�aE�#(ZU�U]�^�]�U���+7�����.�HyO��� ���(����6���K�1�R�t�[��+d��1�n���ː��{�4�Yv���=�B�sF+���8�eSv	�u�JrX��?yB�v��Q����w24��a��!�dz���Ċ�1,_����
k�ƛZ�J��G���e��d	G���'�Ĝ�S�QƫD�����O��ؖ��)ē������'�JX,]�xU�U�w"�l�����&�U���3w��*e�W�m����h�RkX�a	��O��F[K�X�eHU�5X����S��9M#M�x�y�0V�LP�<
�C�I)��N!��q���e�i9Ħ(b0;��`
ٔ�+�⥰����r�Z���bGbYNt�/d�~��E�44lJ����6	���<���ь�
�����wXwb����ϫ�eW#�'�$Q��ȫ���f���z;?D���<�*�
Yk��4a~�o��<[������É�E�@��د^M8�I,�{��s�{X���G�R���oW�xTD8)���Wz���5,%Ua���w��=���ڼ���m���6����2̞P
X��놆��~S� \��|��ΡBB4�H51WG��������-eRR�pj�]s�6�Xl)���\�@��qd)�š50�E:�H�#v��`�ꥻ�C���kii��5�z�)\O`�;��3~W��j3EUu�Ᵽ�@f�GlAbe2Ӣ S=Lb�Hb�2),V���+��(�&s����ƺ��X��">���+,
3 ����@[z1��WIV�B�O�t4�8��#�X^�X�,>����H,+6��,�<lY;U\u�h��R��VV���a�0*E��Z�};����'L�шIa�7+
C�K�W���nQ�?�s!�$:���Xsd�P>�r�P�L��>�����v7c�1�Ț��m���b �[YO8���*�����9��X�,�Qb1C��hի��x
k3�P�͸�{Q��r%,�K�ɓ�=zp�8�\B
k}�$+K)Ҁ��Ȁ�z8C���Y���]#\��E�렰|���E5D��{l��
1��<,OW"��7p�*�-r�]�X�K�Np^a��s,b�%,��	V�H�it������+���Zt��O~�u��6�0�͑�]�5,S����ﷆ������ ���G��'q)yt5�i�U(�v���X����J�[�����B��i`����{�@�#vV�"dY4\�rO�?����K�&㞍������r5�</l�p�X����@�yY�Hbɂ�c�	��2�'��ɾ��s������;ʬ�k�׮������>�h��Kz���J*�w��Gb�Ӂ$�X�	l���9�aX�nGyEe,�֕"��Å��~ře�V��o���V6�rB������x��#�hS�y��U�U+�ҷF67j^�n

�ޜ�P(�s��^��z�ԄF����nvd&�L�1K5�s��B+t)��b��?,Z	�P�b�+�1��Y\b5�{��!Y��e,�6������3����Bd���i�i�>�z1L�\"i���w~1Mfi�n����ىI��7&^l��j���D�D�v��d�*��-��
��T	�k�S�6���bFW�&�I�l�q���Ivi����w���]���
���8��_��9�y�xN���O
p�E�J��9�n6�EB#t'�ŏ�~U,�*��	�p���q$���v���Ⱥ��h���拇(�F�(��Nc���M��#��`=�@�g
^V+��1h��ZZm��Җ
VU5�_4��z7�����j�.7@���*�p�s���ڻ�8)��f[=]]����`=��[Q���q?�E^
�O�:BVG��R���X��o0-��A�)�X$J�Ev%�U���y��R�⭆��Jh�zM5,&���'Y�'؅;����`�Rn��=@��&%��
�5����< �.3b��+)�>����:?��'���gW���$�(�j�
�k:�v#��w���ۨ����:
�bn5Be,U�
���(��.U�(,+CXM�{��oR�n�|Qp
�?��]Uh����:K(��^���%Yn0�J˽��
�G34�+Ϸ>��|>��*Ю��F����\^}�J��gHa�+��k֘Z1�N����=r��`�S�^ƭ�]XW8���}|v�Q�z`��J��_�^o�! V��d�=�5�7
�˸=w�����d&�;y\��#��9,�'�5�%��w�@`�����*�ʏs�o����S�7�P��M�a�Xk/�!XMO{C�*��D	�ei�	�����+��1�b�BV���Hݍĝ

넛,]^	.��W3ǖ��w�X[�*��{�Μu�$,ɰd5̰���o\
�q�4d�Ē�JVԅM��֯]a�=&sIX��KA��j_�_�`Ē:k/��������"P��A�6�n#T�O�P�}�]t�����R^y;;����]A$��.O}�;�[r2�X4�La:���=u=aF�K��p�?�^�ܱc����o���ha���j�R�"Ci;�A|tO��}��n$F
�@2r��C�^>�Aq�K-x<4�lN{�cXF�nU���77�2�+Vۆ��\Z�wY[,����A�9ZY��C��	�X
mx�!�-��A�
c�$c�B, �k�,T�7�J�JP�8f��d�O�Lb���F�L�g��]9�
�ٹ��˴]
��،�#�����}#־�K�a���X���O�W�� /�X�`}�+��0��*�F�5 B,��C�J���!�oge����O>9˺�Xkmm�!<��/G!���f��#�F�^���
�'Ӵ,�Ո�J#�T���+:@��K ֈ��RZ�𠩁U���6Aai��'��mC�Ju~8ġ%��;K��]%�����T/)'�[��4ji�p��2^㪉7�jh���%�J,��/��V+B<�%ɀ��R�EMa�(�yB�;х�������&��K�FY��.ie,
�eT�^��֜�(,���}��"\���HI�B�Dž�r�\ ����`]�$H,7y�	6����`Mݲ�X���]���յmm,<��
�B���
!�y��|Q��a���+,�Xd�\b!^(����4��
��������$���5[1���)-]e�F�/�ڜyX����J�`U�7vT�JX{9�l6w�!<>��]A��4^�UA�W1�6d���8BXs�H��X$$Zutt|��d������z
�5\�%B�������;�B�5��
�8��s��r�)�������1�2��r3��
��J���D�	+�pb~���"���\n�iJ�
w�w�!g��fgWWGgX�X��N�q{($��L!
 %}�X+
���O3Jq7(KX����y{�"w�M
�%1�X�����r����3RX=�^��Y�ʂY�6Dc
mo�X�Z?2G�{s�*MGˍ蝽:�q���u��f���S�
�Z�>w���X�o!���`e�K7�1,��{WcV���Sx�rss��:�b��Ũ���#���ك�bE�2�ܘSg���~���Q�ʡ����\��$�3,.���?=z(�'k�t����ӳ���N�3�+�$�Q�����2H�����?�9~���/�=:��4���I�)�h�
둒��nb��GF�
�*�zE��&���n�TR8R���((6$Dq����Xe�i��&��s�p���W��f�Zi��w���@p���ÏoO�}�wO^�Y*�J5u�4�F��?�������=Z�pe�9X�m���>�-�+Y�b
+u#��l�Ita0�����d�C��\8���yd5��:��1Eb�o���1I�HLH��{z�]B��`�1}uE��1�qW�
PX��9�Rh��~��M<���r:����Y� H.w&�
���R��7 Ndp6�D&����$ >��j�60?1q��82C�-�G��Q}x����>^�<�b�
gc��NR��϶<�ٖ?��+��WQ`!�Xm�_d�z)V�:;��ZG�7tZ��^UY�����Ϟ=���g��@Y�q���ց����k??`�udQ�A����˨]�[��DA���h�u8j@_�|���z"�"�H_E8P\eW�.G�K���'��)s�+gX���v����);D5ǐŻX��0��ĊF�
\{�ƲKCXfT�[��?�]��
Y%�ga���+���d�@K��wx��2.�)0����$]��G+��O���$��5���O��A�Q8>����>ZcGܐ�c�eB2yg�t���Ћ�5��mm,|I�+dJ�B:���E0C��+y��+
&y�4�F���ګ�:j|���<�n��
�eh�_Yj�u��P�:�P������U�5�U�/K`U=�n�+3��Z�ޟ�TP��8JU9Fը�*Sf>X�0��v#�S�
`u���ǩK,�U4��<����w�w�H ��}0���@`�%4e�W|MT�G,,r�9��ۿ
k,�Oo���5�i����:a	Cxe?�F�
a�y���mx�yX�F��5Ch�ܻ��bl᭰��	:�Y� ����$V�N�Hb��{�4��������\��e��V8����?}�v�;
ix����m8q��b�
��YM��Ģs	Q`1G�3���R����VK�H�/
�����-w�����!}n��2��
?7H%�������=�ֹ����T`��T��ᴟ��X3�h���?��G+핕Ñ�)_J�^�'Y�ĒC��l�`O
�Wx�| �����_}XN��Y�;�~��{!��9,uep��*��G�������+=�P�a�7/"V�Њu/ʤA�&N����A,�n��:���^T�7�GgpC�dW�F1N�?JB�Ndd��2���xp��S�\̺7��<�qΙi ^���̏��y��yY�r_���#k�U�Y�/�S�HfY����s�IXzR�i��ê<���'�gX�L~��������K}"KuS)����k.��p|6K������X���9JD�U���i��]����T��OF�S��	f	qI�d�1$XMR��C��$�nag(�E�I,D#�w�M���Hb�5:��q����%Eց)�4}%�?v�u�x+����WceVX�#�f�:����w^-�U�Y|g��﵇Da
`ej�e$TF7hWƭ�`su�P�1,��W[�v9;����DG��l��H��w�k�j+��O�ӽ��@�M��G=<]^ft��s�ka�Z�ΓGQb1�hÔ�2c�F�40\��K-��`�E�D��?Ԙ�@��(���a���#dĺu�

���U��r�kAb9��. S0��"�,���0u4�9Z�'|����jX��߼i9����μ*M&A_����b��yM���>����b�H�̴Q�dYw�	����j"��*4�%��=&�e?�L������թ�i�������X�I��[ϧ��vg� �R��+k>R���~��b!@�7��_dGc��E?w=�g�*F4"}(������H#]̀U�������v��bLa�<���O��#�L�2��u4cU=�g.���X��j����'��h
��G{��m�#t�NY=�7��8����{�$���b�~TYҖ(J�kVXh�B+,t�=��c?��2�e~�!��0I�2DλXU(�{+�’�2���;�XN p	��E�v�ED��5���%�d�
EC�֛s	����q�P˱G����[�/�zZ�Y�\2�_ Fػ'��D��>�*���h�r2t�����42X{Lb1S��i���+���k�?z��+��:�p'\�%L�W�W�s)�B|yF�����z{9;�X$�J�(J`#b�w�˂b�=enP�r��c�!�p�{ʲuQ�u�?�����x�؀⧫�YkRe�HQ��o�a�+��ϙ�Jy]����{������O*�L]��[Gu�X��Z�o�7D�eܮ8����`�j�^�|���
���ۇ{�;�k��Kh	Q�aTe�
jlnhΚ���y�ĢV�2Y�ݸ��h'�DV���N.Q�A��_���F�ux�U�+���ﺂhXgXgX�X�8�:C��x�kv����V���i�#ȫ��([]^[-Q��ji���h�'��D2��5N���xC�"��D.).�a�b��r\��f9\`�=�M�0��Dfp�!�=�3�a}e����!�'4�vP��O_Ev�vU��w6���;�b�=�.+€�T�{Re�j,KK�X��sƔ�؆G��Q��U���0��v:{J�H�V��� �����U�x7�+���QX�s%�1�s���1�=�< ��Ԁ07C)��1�^;�
i��T�K#bq�4^������O��ur����XŠ��e�=�"�1baНmi�j��� H,:��h��ˎ�d�����Lc��(��˒��jj�#�u2�>�ޏ0%g�+,ɫ�������N�+�Ps�4�X.uv��Fa/��8��(��C�ݡ�o�y�a݅�/��D2���B�u�g����ܻ� ���ö�+�P��k�^���#XbU[�,�U�XV`J���)��B�1s�]�����n/^���a�����x8�o.忖̚/N'V���
�h7'[����ra����V��SI��<,��*c���,����<4sX0bBŋg`�C!~���ѡ%o��P+��n/C��w6{^���X�ͨ��N�;�X�N���RE��o"xz^��>yT5^�j3�Ǻ��u%*K5\���0�cJ(��d
q��:�1���2KX�ol�j&��-�%��IZ�zY�[55��h��º��4���ꎐ��v�����1��tj�
UMq`���;�C�R[�>�T�:PXOe���_^z4ZZ��Jl%S �&o����ҭ)Y�=J1�.����B^������X(1!H���*J�b�2�͐uʜ3z�|; ��2?���/�2}�}��G�>��{�a����8���Ϭ�ҁU��S����)ֈ���02Ǫ��2Dтa��sB���ɥ��/�e~��#OQ,هXg�@?5�0�!�=/︙Q�<;�l6;���+�|D�Z��‰�3_�>����Kl�>�j����0uNPW�Ѩ+��v� �Yâ0����:K�0�������7'W�ީP�F����f1�8�Y]�=Kh�� ]�TY����X_~��Ju"�ܵ��,W(��r����� OhV��=77�E��7Q��q,�a�\���磥ɭ{�-YSS3�n�iIIi"�]�1}�Uu�b���{�`a�
���WZ�	9E
�ڞ�����Ҳ�N���;e�=�Y����-�i{���K��z�9�^�|��e]�6%decq`p2gyA�p`Y�pZ�Θ��VmWI��"�~�TX`uX�URam�[��P*
�j,���PaNU\yH�e�7��_K.��N�e7n6��!��h`
!��V8j�����������7��W{�����:̀E�Z:Qw�_XS�vϰi��WɄ�Z(�zX�M��$�m�r|@_Hx��0�W_)m��F��~A�}bX�)«Ƙ�TX@�������j��,�����th�C�8�KSIb�4��F�r}3{�
D�Ɵ>�
��jX%ɹ{���%S/&��E�ŋ�PC/\a��j9pC8�BX4š���$oHh�����{>mZDx*5Ý���a�U1��$��W;;�=7�W����:zB�-ی�Ice�j��Vqn��`C�e�kS�"�9��g��P�?3�]*,�
�?�Bam0�UlS*=6E��i�l�g٢,V`e�R�9���'b��;�ж�+��g0H��c��$�EA�f�'�W���Y���q�I��S�Ԫ��l5$xql���lP?�@"��g5m�JX��M���I�l�[L�?����1�s�{��G�{fl���ɖ%��'����7��SR?0�^�yՙba�
����DAQ���a���b�z[���z��<��'b�Q7��0#KXȫ�9j'eq�`
�Ed�,�Ҳ��'��U$?R�͝8�m�,v!�Pz�&P���!�L�e0�5�y�-�Ȭ��.�Q�O�#6	�Y0�b�u�wV���TUEZ�	W�W�KU&���2������b�Ɍ�b.�R�}��Y_�\�;��T���J���Ͼ�]A��8�-��b�G�B$�ة�����;����=����	�X�&aEվZ�qu52�YA��֏Xk�E�WK��*�ޟ����Wx���k��4�I��ݜX�a�
��mC���%�n�n�Ù�_{=��6�N��?^Ka��@2kۅ��nb�*����������1�2�gg���dw�I;�j����Usxqy�^���rwvbՓ��x��
��t���~�bQ��t����Cba�*l�9���*��D�+,�I��)��)�adV`8����?�,f��C��*��ڰ�fke��e�&�1�c�W]��ٍ���zm�j���`Tm.���g+�N�L}sL���|>y$�D��{]�5�ǥ)�0�����f�jX��VØ���!�%��@`��!L��������Jz�.��&V)Q4ĕ+�%�����G��:�*3��-CCa�`
k�f�>BVKE-�Z���`�����یTYg$J���R��iE����PRTX���f��U[b=�t����Ƕ���"��<�ˎ�mCD9U&��O���;/\���zAM	W�L�k�uf�L<�B^a�c���nW�
�F[W�<�3@��,�f��� ���)����2���
p��K$�9z��p5���W� ��Ӣ��W�Q����fN�W}�� ND�A���i�
����:�0�ѿ�H�FZ�x2��`���^���V��u����k����w���:�D�[U�U�����R�g,����yPa�"+�l��$Vׁ�����0�k},��[Yam�icw0D��ѝ���,w&�N��������'��l��85�)���z`�eT
,rvw�`�ƭ�[j���Z\
�W�s��Ŝ�<�}�Ϣ)|F݆��ϓN�}�f
i��zr���l[,�Ko��NF�1�n���)�MoŐT�_t��p����
�'��8`����G80�Q`�{�gf�5CC��<��9JgP/�8�h,��D.$م�,�\ѯữ@�4��٣�����p�r�:�Z��I1\t;h��Uh0f��0�U'��6�b�Ǜ���bҨ��Q�W��,Yn?�,,�ue��	{�:�J�\�1%�[ �b��Ϲb��i���XJ6�X{��{핵�WW�XkkXr4`��B�&�z�~Ь�����DOr�2��#�a�N�52X���v��a+�~�*�u�*_�����RX���`�_s+h\�H;3U�uku|n.�]=�:7�z��a��,� ��2S�|�����Y�����~ܸ��&=ۖ��(.�DHU�I��%�MWT��J0�H�IjS�a�����h�V����{O�\�)����23�;k
+O
�b�j�{��M\��Dw&�����a	ĕo<%�e�TϜ��Y��X�ĀCrzW�,q?v9hڜ��"�e2��Z�j`�x5���j6X�-��$��LwQ`�ޒ)��s��r���>���
x iJ-!����W�L�_״0|C\�F��p���Dw�w�=���BlLU
`��U�`1���!),�=zL�0�w�Q݌�������H��7Ya��v�4���_2����,��sYҪU8�~�޳L��)�-,P�o���Xv+*�T�(GMT����D���H�N\8�q��b���`����/do�q!��H`
1f
EͶ_<�Ŏf����B\���W3�`��[�EWa%k��I�,@V�G�r^�=��'.�,c8�1�1�h㾑0��Eql\a�W�)/,�,䌎�)�AKa�R�/˲o�$�/�"5??�G
v#�\��E���!���'\��v�TX{���{X$��L��ZL�`3B*q�E��Kzg)��^Y��&=|h���ǏX�Œs?[o��*c���0������_Yki�i��V�����Z�+0���w�IJ���w��PX,*�T�Q��(A>�vୃdT.�'���F�Bg�H�d`��Cb
\`)Jv��&X��-U���Q#�����x;�a�sA/���N�-��~�
�Rh�� fa�M�������yG�]�$�8��e�F�0nh��<�u���s���gb���L�l�O��O!��XA���\�PXX���۱*
.WЕ�z|�q�,?}����ٵ'k�E�zj��g1�M0��3��S�+ޢ�5�ܭ��S�+��X�؉h��~��@�Ud�F!��M�%�!�.�P�� �p��<���+��qx�5-���e���*$�@K�-V�����ʚn��
7�I I�1qэ_�Um8��N��%.`�8�X�+���Z-��e�
�rK�N�vb�?`�B�I�qG�[DA^)
s�(�Y�,$�h��ݯH���"��y�z��Hr�\wو[���uܤV-G8*�AQc����w���5�la��~`ជ�
�Bg���U�����̱#Gz��k�|r��g�O�VҿO�	dIW�`��
����@~�j�:g��Xw	X�I�=���] +��~_ro��,2j�`m��bk7	�oX�J@���lo��x�m>fE�Ha��$���<�`mX�ʈK!�@M�M)7�3HuDDR��K[*	/�`H&��2bYbH��J������/��Ĕ�J
�U�a;��u ��U1|}�XB=�HUʥ�Qea�^���ߌq�ʇD�z6�鰢_�6r͵�V�A²�}�'�'{��T����&}���FcL �q2/\�$D�%ҝ���)!p�EV���Ѷ�5��\��ܻ7��(�M��4n��5��&ʾ0*�1��$���!�s��w���F�}����������;gԞ#��Sh�%�XKKq?�>S��Ba���P�u>����V�;b��0w�7X��/�^$�
N�}E���2�e�+�7�q�̉��Wy�(��a�tM�,�<!��0Gh���/���Y��A��o�C`�@�QW��V7��\ZS�˯��ߵ�§��+��	�w��
tT�ɩ�RR����陨�2!��d/�2���W��\
���(�l��Ǟ�y-��K�D�x�����C��Haݽ�V����I��b���D��\�$�Vƫp8����Y��tz��5F#�~�Fۣ�r{T�Y�V�_���}��x׺개yB˔����;Ű�)BGk�+��.g�~:M��"� �v0�AT�焟�X���Q@a�o"���H�6Ȭ���)�<�}�f��y5Á�:?�ǻ�"����,N\5�E�Wh)OH���½xɨq"gd�Zװn��XȖ9B}
s=��f���b����e4G3���j��[�X��Z7�:�	�j@PE�-���`�JSm��[eb�+d�S@V��V\U���X�"�{��l:�ӐW(���>1���/k`Moi�� ��pp
k�
�5 >�E^�T��l"W^Z=A�p�b�w�A��/Dh��e����}�z�����n
��9���S���2w�Ʋ�,]a-���?��{&߇���D+������n]Q<O,K�X7�9>���3�]��9z�!k�"�N�%�x5����'P��̉�4�H���"�+*v'�U��Ȝ���ˍTX(��޲�j��
��k���\e�TE�n	-A,#Q��K�M��A�Ba�Id�P��ፉ(��HOY6\nUԸwÍ[��-�*-���dϦ/ar=���"^I�cVZ�[�1`�|:v
$V7H���!�UJ�i���
�Z^�A����_I��UȪ��!�x 5֍4��;Ҁ|�m+�!��@�>���İ�(^�^��k�*��L��D�'�u`-�Iba�;(���~:f���
\���sJ K�Z���qX��I�(��X�f4s?i���� ��+�XF��%�/Q[�W����1�~����eX,�S_�^}u�Ȟ���u��K�3�I��tO���/@u�멶�U^/�
�)�PI�2�J��8�J�n	x��*z�,�Ypc��Ux��!��[�sfٚZ��
��Ѝ{�X�5�KE��񧲉DxNQ���!X��\�L����*/�,ט-�]���I9�����t���3�w3\Du��X纀U�+g3,Lj���bX��vye*,E}5R�<�	�7^g�O��s?�f�X"׆�ډ��A�fX�QD�̹�)�]]�oU:��P�Q�4)g��D�TXX�_���p��r$���)B��X��"��d�� �5L��Z5�`c�Vrp�r����S{��6��������E�j�Zs~�b�
�zi�J9��77:�8�*���QW$؊  ��U�Z��HЙ���n�*�}�w�-S,��1wn	���Y���I��f#�TV��E��H��Xi�0������VSS��U���+d�!홱ȍD�$<.<3.|z|�0&�*�Yn[�]&��
��quXG�f�E�p��*����,<���p�D�2�C�u�G�X�N۫���N�3�'yMu��벬ge6ƚ��*�yE����Z$O����˕�++��zVd4}����]`m��2��
T]Ɨ���kk~޸��O{ސ(\�y�6�k�*��#�Q�	T���"J���@���J2D�
^��G^���XU���euZYYoEÕ
���hF��n	��>ʀ����vx�vKˑP8��iX!)ݏ"xtpaa��v�؋a[Mc-'���N3`���cW�]��.�P�hr��/
�EI�Z�:�u��,�Ƭi0&�at�s$u&	-��W6P����:aX����n!�����9a"�+���+�׮%��^�NO����yu�a9�M^!�3�� �&@cч�o-vP�փ��S'������E�������p�0񫺹��W?�ݒ(q}�:��U�cXBCc!���A,#��`���&�ޥ�P]�
D���Fݫk*F+AU�P����/��UHI�EQ�n���cUUU_W}����#w���.:b��DhPX�Pb=�NDz�ZIb�+�_��
�+e�x5���9P_��x�u�Ϸ�!b�Y�={���X���yI�q�X] ��R
�[�y�2dY"^Q��֎������� ֨���d�ʊ,��1M�9LA�p8<��S]�ÿ7���Zo�����XI:8�:G�/��s ���~�8���؜�k�ք�
��;�z�V��g�=��8�Xf���W��,9Bd�?l�v�ʫ��Oך��֪��ܥ��R���9_Kga���Nj?��b�MaQ��M`�X�	rm��W�60��f�/�^⒊ptJ1A?�"����."��SX^o0�d��z��a��x��;ӄ�.�a�Jg��"��6�#�pL�im�B��t/G"(��+j�Q^�46ֺJ*]��j1�^YN��$h��X?k:�gzL˖�w�0Q׌�`.����+%�ף��(�����9ī"Y�a{��	�a{��,�V`
38�+N�����#D�t�p�Wzs�>���w�޹z���`2�ĸTy�',D5�ӹu��j���Zī�Ϋ	ΫԚ�&M`�J!k��A��	�Ľ�n��z�~�o�#����AA5BX����b>_J�M�D�;J�D�_�A��6l��V���K���p�l(*c��R"�$�����L���+�D?�pM*�p�U��j��I���H+�r{���.Z-���V$D�z��J���x��&@`�
�Єkva6rjO��[k����u�v}eey�υ����\b�}�&��I�8I�͞�q1z�
rY�����wcbX�8��m
�_�L���uP����?P���#˦���^�Ԡ4���b.�1�[�R�w���������+.��%]�l�r���Kr���+^(d���5${��}�?���1Y��[�I?�<���#�ꊺ��\�N`=��BZݴ�j�1&tx��2�+�M��WYYa�����ݻ������f��>�g��J8���f����\a����]ɼ��{�`=�[廅$X>e���M����U�EkXQ),��LT1Ce��KX[
�mf��-j�q:uJKյ!�u�ư^X��:����SC�?”�e�l+�Q�D�
v@��n�ێ�@��d�".�m�D;Ъ���>�~�*�R+�L���CD��`��Mn4{L]�c�����ă���ғ�Z��?���O��� ��u�РS���_.�Ӌ��!���f/�ni1�V����(��@�BŸ��GxE9�s#&�U�%���r0,:XSt�F>�>a˙]��:]]���h����qX3��r�8�V\�]�ͬC�hw�ڛU�b����+֡kunU��z����5N��C�J%X,Y�0"LH�s�|�IAa�ri��kk�"K���KJ��c:%$Tń�uO���X/,Ƃ����+��b1���U,���&�~�~�A��c"V��d]F2�a��y�[ch��O��R,V�n6'P���I���*�=~��2X�,C��<��Ο���-�:0��z��W��,A�eyw�	��^�:�������[A��k���#{�[�_3(��/V�3�>�a�������R�5Ȁ���6���4�"��8�&'�=-9��^� '�t&k`��?j����ϝkBb]\Y^��!Z�Ҝ	��v�[!��(��q%�`��pnn���*�7<~��z��k�\���=؋��y	�%��h$ã�Z�6Ƭ�ŵl��wfja�w��%��FgW�T�"��X5�a��vh|�DfM��TX����kՌOSêB_a��x�f�,�x8>]�*��V��V�=���R���R��.K7�����G�b+?�ԓ�lX��2t:�VF|ՍES�F��-D�B������/�Ⱥl6{��/'XX׀1���۝�t&��a%n����9I�+���{�3w[}EEӏ!*X)YcL�F�,&�g���V����_���tIo���*��m}=`�Xװ֫����Lˉ>J[֠�&���`��MF���PwD��ӗ.��d֕u�c�|w``�k'��]��Ց�8�~$��t;�����.�P��d��\�*Z�]aފx��$Xt�yaaa����Zg!GE�ѭF�(������ d�*�;kI�^=+E4�K��no-��?S��!`i"@#��mz�N�h
�AH*�����*�f__/�9����σ�;��?�yu����G�^q��*�Z�p��I始#�b� -,BV�΀�2`��<CK�q��3f]V6(I,jtlr�b}��r�b�3�w���O��XP\��T�P]Y9xk�.!+�޳�ˉ1���q��僧�`����.����3�_�g�GmF�|��	�b�FՅ���5��:GMw�m�`aĄ�ֱ��'ψ{sDQ�᱁=K�G�q~1�G΍\
��,�J�Վ����~B�+�\�h�p�GҫH^�6X�X�w�Z�W�r5C�R5�3�2�~�
K�Š�_a�}�o����5X{��z�V���m�R��(�%kS���&_��A�n*�5�ׄ��in긐�m�i�k���C��<�5Ah�5hR���<�畭���H��P�{X��P�J������>x�ˎ��F��#\a��-d���X�tp^AL�Ϩ4?�|��C�k��	���:�0�Ɣ{f���y3��������UT�d���[}�D,�	�D��^�go��]��l]zYb�����a��Ĕ5D�aE̟�%X�Gsd�b�
�X��n����ʆ���Nϔ���y�w:ł�cKK'��y�…o}��[�n�r5����D`5?��OZ�xa�� ��ҫ�W=��knx����V쩜�r�zt!ֆV`I�qX˛K��J� "ܖ�z=S�"���K��
�eĪZ�sYQ�RK3(���aV�ZR��VH��I `~!�FӃ#�q��;[%��y�
�SՁe�+�,�6�x�लKJ���[�(XH,�!C��!�,�*p,��e^u�I���%`�bD�m�2#�`aD��ﵵ�6榧o�OY�����f�G%`9I��N�$���ĺβ[%�ZCV;>��pY���Q���+�ʰb��c�D�ܱ�Z �(0v�<S���3*~��'��yR?&��Re��o"��ؾo��}#+C4��{555�������JK�s^�K�G��eTN�S&�5�:��kA��C1	�8}�U���V��ŵ�������$X��{əR�6��i�=�.l4�U)
���0j�px�IZm.��N	�fX#�b�8�ُ#{p�+O��j��{_]ê�̳wKY+�_��@9��)e7�ScO��Qb��
�Q!N�e��e	�w��d�U���5
����V������M!��z�w��8]x�Ҫ��nݚ	zނh0K`I,�K��vo~�X��q�:�����E����!KH"֋�ގ;�+�Xq�O)to��t�!Ƴ�F��6K&V�{<l���)�=R�އgR�Ĝ��,U �8p����mb=k^=w5�it*���3�^&�K"�p�p��pd^�a��;Xܰd�j�h,��3z(:&�����r`%��T��[<�����M���+��m��^asvIZ�1���Z\���-VW�c���		�jԬ v�&�{�P�������qJ(dcq^3��t���ėoX�+%d;��(i��V��x�oW%�dX����`E�2d���Wt�_�n�U,ULx��O��N'�z�<]e� ��B�A�h��8���������8)�?�qLS�������Ps�D��6ε�q	w��]��t��HQ�@I��yc4#H�s�$
Z�Ɣ�J��^kSˌgp���aB ��Q.�l�%�M�}���{�}mqp�v���R�0񏏟��}�Z}��hZ.O�f�GhͰW?���Њ��9;{�`��ef�"j-�a}��X)Ov�K>��)+t�~XT9�M�E`�cյw!��Pi��_�ذF���o��w��.�p~s�:wU0|x�y9�S%���7�ɥ.�l��ú|��b88-`��fLL��!!���=���+�\�V2��հVRYC=@��G�P�R�����ѷ-n�*�<��+rx�[�����Ҍ�w�l���w=��L.�z�0�o)�`/}K�i�(����oh쾔�Rïi܇Ԓ���#���=K�lW1�bIv)�.��
��8�.f�o �l���M�^�����Z�_QY���b�J`MN9ѰX���'=.����n3�VU��F�w��P�Xʊ}�F�́�����mB����##�h�^�Y�f�YƮY|�Dz#�ZK�a��O$L��!�s?'o�|.e]CP:���k�=����&+��E-�����A��[�om�3ܴ/�^�����O!��
`Z�_ԑȕ__eĺ,��"�+�iE����h\t����`X)�W��}�*s_�z��\���X�`��G�W�Q VQ��x��S�����+�
eQQ���ް�2}w�@c�ll�To2��I����~�z���nEƥW�]�7r܆@�FNQ���K��o�aIgoW�R��l>��gn�,V�0@�fd�3X�a�Y-��l��YD8K~u�����N�F!)V�ܰ:p0��k�`X.$�Ń),���e[�5�a�U��U�4�b�F��Th�ړړk�rP�X�l��,޺�X�4�
��c��}�K^��Y�Z�a=�,a�~X)r�}	�Ą�^q��U�i�m���]8L����O��l/q�Q����v65�4��UXXh
_b=��:v��.6KD�b�����b��“'O��}�d��?#��&�&չ S�~�
��_B��)h
E�_]@`e�*3�
�=�*�V�N�1aZey��N���F�
8`2�9�+��-��MÊł�W���ʎ����&�U?�,지P���Wb<(�VYV/e�dգbD8��9c����`
��&`5���M��YW�^��K�~�'b�a��a񲐰��x��ӟ1\�H�F��]q����}n��\���g	�G~��Ⅳ�RK�`��?j�޺�>�VS�	0`��w��ц9,6��A�r����j��V��	ye�bHT
����]�xP�|�r�}��������S!��S��vtG`5��J(s�͞x��py
�5���)���Q0+���4]fQt������~Ϣ�9��o��uu�@]�� ��q��n<F��$`�7��Tv5(�ƥ���fqK�.���Vvѭ0 ��v�)�"���B^}��je9�1�Ei������<1`9\�&0��	��p�����K�+���i*��4�
V�,�ɰ,hX�4��V�%C�ы=FF�@�F�5G��kV�_�aɻ�,�+��!�9r��p:n�J�������?w�c9jX�+�q��W��4�p���[�755G���r^�:xe��Zѷj��a������pq�ut��Y�ta��KL�'����sΦ���"v	Q~�����z��)+uJ�Rwfy��8����CK�v��)�ii����ۧ�k9��Y0�ŦM���/xe�&|	���`b%��58.�U�`P�+�2����a!�b;�fP�|Ft,1��+�m�BB���P@fXM4Ĝ{�����G+��y�C��"��@���
YZ�B,k�v���5F��t�Fzfz�g��D�����>����񊘵�]���b3T�F>�$w&�����@:��6,�ܯ�$��
���@\���3�VmD`M�=F#k3��%N)\u��e
���y�՚����W��Z	cI�E��
;0,��T���	V����?=��1a�hXI�'R�Mh��bv	�f
+���'�W���Q7ϫ��N�**�(��讆��J	$S*u� X~�j������C�>�~X)�^k)���*�U�]��+�bze��Kz�b��F\�ɱ�T�~�x%S�V�|�3�a1`9|>�|� l�ˀ�a��������4��b�J�!a��,
K�b~A�w��2�����$!����(�`�#���	�b~E�527'C#��d�yM�Y�A����`�"�p��jh	�A��Z�u�c�,,�;	��x�x�`66�`Ma����`�c�U����V��>˚79�����Dk��n_�����hX�gS&�?��*	U��.�a=���qs0���Ҳ�Q^����[�P�	�jO��+^-��D{�#[�RpG��C-����Ar��K`-X��v�Yf�22)뭤`0Vk9.�jc��Wf�+��\�7̰��+�7Hi,�t

y>�S0,╫E&��&Ȱ�2� �T;�z�^��,V�6K���b
˟
����I�X3�[�����Jx����0�YK�%���`����~�I��Df���ls�s�+��
�@M[;e݁PX��v��^U�~z�����p�a�,�8UasY{�X��T$/o�|5���W|o��j����@�/�����[���ѷгX�+�]�����}�^3��朊���dX���,!%����i���((-{�T�����VF�?<�P��!:VQ������U���>-��oi�RX�=[�ї�z`�
k0^�K��/�H�]�+��b�b�e&��]�Y3���I9,ɲ0�.d��Ջ��p+ĐPnXN?�l��M­�Y-���W(XL���x�FQ�a�X�����-C�g�fzDj�0�"��fYV"�Y[�^�o�X�KL�wJI�s���A�zO�_�L��G� �ޔ"AYv�B"��z\
P��L˕K�"�`q�3K�Є|�pg�x�ݹ�N��h�P�K�؃m�&�Nr��G�Cɀ4��<�������?���%�{�z?��<7�§�ӡ@�TKTu�t�v{�$��I���p�\ȫ_�������2���
�$X�͎o?'`���>!`�/�i
~Z��o���
m��S�X��3�	��
B"
��WK5~��?����z��D�{�#X�<�!��Sq=�n�B�P�9��w����WkS�Zy�p8�]�Xqy���?�����X�G�z�:�/�k˰6X��AT��`E�1���xf��!����/H8�>�L�
ٛ����x֤k�ΐ��r����~���dX�uxQ_þj*a�Y���8,�^�a�O�O�����	+�D��
7dXIF���u�뻘iX��X����PH��D����cڎ�2쬆��+��+6������e=�q�xkԴ SB��*5e��kw�����mmu�g���,(��<>�
����<���v\�B����Z����U�����5}I���,{N޷�^m����~&��f"�$7n�}L'�국ڔ�ݙ?����m�G��;�s�|K�	B�7��Sq1[���T�<�-��(��y0A�D�&QQߕZB�}��naM��,.��"\��X��VQ�]�`�<t;����{g(�[p`qX=��j��Ȫj|�ѷ J�T��r]ÂD8h \͘Y"�� ��P�% ,®	�#�u���dy7fX�ưjݭ�⮆�D7
��󹧧���j2p\[GX�q;�4�8פcҁ}"�#�� X&�9c�U�Ɉ5��
Jۘ���@UVV�#�]lpX]���R�V����{|c��-��f���� �����VH*����*��h+�a��wᩜ�7eX�"f�ZV&�)$�x��i/�j�։�pQ��6]K_�]�^q>`x��Ju��*+����y�hm�dX1,����D��MW1c�D�E,�&�z_x1�"�b�ş^�
k�L%��h���rrng԰8ް�էW�u��WdX@-�����`%���ǑX����K�CI���7�jh��,��3���ڴ���$v�']Ix3~�hl	�Vh��vO�Ë�o�8��"�8'�~79\��ӧ��`��֗���х_6�)�����TGT�۟�p�����E��pa��0*ۻ�fC�@��F�
m55,��
�p5�ǂ�)vAt���5}1�F�}�M��0y����F�	��ޜ�k,}������P��hM��]�c�_�(ھ}O�%�\�R^��I$�MA�\*�H�.'��'�SD�	 Ê)�'׫��=�#T�����HL ��ۂ˚1�b��(��e����
k�	�ÐX�9\���9�ϱ�Tuz�>�Y+D��`��V��(6^�a��L��5��:̂�J�bТ���hmXqk���a������ㇺ�b}��z�~�4�?�2�
�ۛX�Gb��[v�ε���5<{����ԁ�S&ciu�v��Ɔ��-?W�R�~�����Wk�{1"�d����@��|������P{NF�^yxb��9*�U�D5A��g�o���5'5�9�e
+3�x�diZiU�>�����;��$��-]����x�'׵��S ��y�n�vF;�o۶-`mX��԰�'�B�}6I���;�^Q��9����xH"!:�/]]�)�w�1�b]�~�+
��~fX!g��B�	�а�qԫ����Y��$
ߗDZ��(��1�v5 ���x�rR`1jMXy^�_a4�>Cɚ"�԰~}�P��~$���*��gz��#�)�)V��4�
��`9qJr����܎`�%�s�L����ۍFc�QU�*���iT
.�T7�_[��R�{�A������|H#��6V3ioxŒ��^}C�b�%�U_�l�u���Ok�5�����L�>^�3w-.���¥m%�p��^��p��;/�G����U�U����<�\���ɡ��,�`���	V�xW��"�M6,�%6�H��QŊ�
ƇA�up���4���`d��?�w0,�K��g��^ѩ��)U�Xt:X�h?oXH,4,�v�č�f��`%e���x�*�*a�����D��kÊ3���E�tM໋����G�͋�	#�WPD+X7�>K���3Sq��i��[��`U����l����s2��y��fcǞ����h�+�;
���j
.�}
��I�0L���c!�0B�xV�,:!$T�)��%��9>"�����Q
I���H�&jX�E,R�ڰ�<�]����:�.�^�}��	�	�B�W�V^��htq	�V���.I�K劬�.GkkU�fVl�VlKu4�5Ea�5q����*^ј�^8����-Of���� 6�iͣn=C|	7C���!�`a�(�k�t�`A�Aâ"�3_�_8|O�'���*�`�%m���*t%%xF�U���h�¿W jy(�b���8u��++cJVijH��Y]
)nhZç��*�4�f$^K��9�Ͻa��~���!�4e�����t�9g��X�q�+����S�5gwt`������y�h��…��`�)d@��
��2�q��d�h��<�%���x�"�� �Xt�?>��㛰��L�K��Nq��
V���kۢ�xU�J?ܚ���B��{���x$�Z^^��q%R��
}I�`}@M}~� X[��7հD��r+�A��1��J�|�X8��������$+����99Ǐ�����)�
�)~M�
?��>ZÓ�f3/X�ѝ�XTrqdX"`�\7�L�^�!�	�iuee�T��?k�b0�����b�fB�L��>���+qȲ������,�X�iX⾆�͉[�7���,�X.*b�b���3�i*��n6ր��ֱ�����J�A�B��a�RR�R�dX#�i��&kX
)�����&%>�i3c�d��~p6��%&MF3_���	��s�{���t>8�ZZ�j?�s�=N(�ˮV�X�(Fz���Q�<���N:��}�ww���1�+�bOEŮ���mj�P�*��`�Q���j�0��KW����/~zAp��լBs"`��֭�K)N|��aqȪI���v:�ņ%V���k/uk�n���K׌��e��Pa����Ŷ���u��-V+U��+X�����$���p E�(���{2��q�(�4L�B�j3��lO6��t��{�+�'����C�9`��;ʄP�Bz����ff�<	�7��]~�TzB/��"?תT�j���vcb͜��[����}8�x�!�ʙ��`� �c��p��xha�r���¾g����5�����[sR�HN���"-X,�,��jam6��G��X���H	V��GO������ݕ�~uTa��>��o����럯7����X��d0h4�X��X�gB"oN�?�\��:�If�	�~ �p��I(֥��e�$�}��#��H��6J���`���h��X;�u/��t��eM
�X����a���EZ�ϖ���j�� �+K��d$�U�."J-
���+np�݈���A8�+%�$�
/�
���E���!�*j�L$�C/Œ�ji�̫V*�e���s�=_���`XX�Vyd�:�/�P��!2,���+�b�=�"'�s�Jؚ�.z.'65����¡�CQ�#XCЉ%��6�b"`�G"����CmEΣUNgJ��4]Ae|�kϮ�O<�xF��|�@b��πx売���1\R_�E�~�
��!A���A�1jZBV�dՋ���ܯ�W��K�XX�K������R����pjݾ�Ǵl��ۿ�=}�۸W�T����nyI�%qze���k|�zU$LY�X$�p�`X���7�*�,��GE���G�8�"��+`���M�6V��a="�ȱa	E,�$p�(�7-R���J}X�-Ǵ���������ܷV�B�Q�1���%�]X��� ��Q��T���<�\98j	 �X��Y�fkX�Ϫw�&+Vb�h|+���S(
�XS�����,?��1�k�b��ŭ�(�p��!�r��:���*+��8p �E�|21�=12�8��,o�A�4�H�@�bY��^���9at�O���,	��/빍��R����Eu�7�5gw�+V�>��q2��D�]�uk3
�ҭ��M쏬�d,�kk�˥r��J�T��W�����ՉkcÚ�~Y5��[)��9Ϳkѧ�}o��n��$�␕�W�V���*!>�!����D?�6�9`�"ze�Y��e��
g�H&�
&�b-�aEm��c��P�����
Uj���������Q;=�w�9�[1�0Z��nTαΏ	v5�4�rIە��p�
S�_,$u,���z�"��x�h���+V�a
ϴ�
��GC��q�C��p�o6���em,T�aĻ�:Q��^!T9[;Z}��_cƁ�����*�É�'�G��gG�o,�W�V�VBa�KQ1��[K!� ���l
��C�"߅%��U�4\&���湿�J�Xx�ε�4������;�1���/Lp<-�Z*O��R�\.���(Օ���p�•��.�dj���uV*��^�Xx�S��*��V�����a���D���dw�e`�P�J��y�oÚ$���Sex����	��9�C*4g�$^Ӳ�Rf��Un��DH�E��2!�U4�p�����M�c�(�J`U'�UC����h_߽�scDa��Dx������Vİ�a
h	7/X@*!��Y^�Wo԰�O�O0�u}�^&|�y���bÚ��lԏ��lu��`;�2`�f��b�2n�q&r���P
�W>_��w�ȑ����nM?���	D,O��eOnA�
fA$�iP �σK͇�1/
"��{ܰBa��/b������@�uEwq�hښ��
+�b�2���^WzXߌ)��W��]Q^%���05^+�j�{�{�Z'X���2���㙪�

��p�2|l��N�řsw�;%����>V�$geSO�է%g�_P��5,�W�5,�D�#�,
�����"�� �;���#�R!�Q.��
�g�.�
p��K_N���-*%2r�@��'&WG]cc�X��7�0�#ͨ���q��J�J�^�xE4
��`W\ $r8d����^�WLt�yb�{�2��L�#�(��|>1
��dQ,c� �^Y�3�����Vī�����X8�������m�tQ�(����Ʌ�bOaV��[!�E����żX���׋ߗ��+�_y�|N$Ȃ�Qa��u���a�5�{f�4,�B!"�m��5�*M��41,Z�{4�O�ox�T��Õv
++�_mx%,���A&r��:�����Y�ɾj8��a���q���>�l[ޓ*xR�m�+�wݰ��1�����7`��BL���d=�VE��+Ȅv �mOfq�],[�5�Xް�"�B�%�0�W��L���c����5][�h�nJ�|x��������yN�����>C�}�����DL%3�,
��sq���^Ӱ^ckW�p%뾮
+	W�T�tj�����C��B�����
��l&���X#
{eO[[�!�VQ�ƍ�
_WW�O�e�r~��������
B*+�������}L���@&u�U�0t����jȮ��Y��֟Rߚ�v�ˤV,D,R�{���\tv6����H����i��r��s���/�#��I	ǫ�U'�l'��^�����cxR��-m(�C�ݮ�{��d����@�酳R�RKk/�f��p�ю#��,�)��)a��5T؋)Ii	͐��K�jL�+���@�8)���ֶ�)T��"�2�7�+�}���}���]���_���x���}���w�����"�+�u�M�ַ<t_�5��Q!�$,�#�Gj�%R��xB�U�{�̝�d�ұ�Lg)�9�x5�۔2,�X�D4�[�H� �j,�����E����x���s�����2\����&�X`77���Ta��r,�L&�),�(ly��l��W���R�Q�
��5�::�KM�ܤ��
��2��+�r��Ѿ>.�~����o>}\!�D"�H1yN&��O9zh߾}���T͞=2l��!�7�f��Q�Hk�;5u'��Z��8��۹T�W�B��Y�y�R�&��ZY����ϐY@-�~���/�4?�Pk���Ӄ�|���oXpxFJyUA`��
X�����Ҁ�h2Ա8*�a�A���~X#~��.n��o��n0D߇��PM{�[,�Xk���j�hA�X�tu
����I,H*�T&�	��!.����U�-El[X���iܙ�a:��)�wG�)��V�$V8�*Df�F
�p��kl�p�3-���"`��
�Ƣd��8��S,r�)���x���
���?�*���),�V�
�&,+l�:�����i�'�OM�]֔y՗�:Q`9Z�?�k��N����^PW��X���IX�����͡�1�ŰRl��w��a{,`��L�w��
�
{2젤Ҷ	�	V���
�W]r7��j�	��ʰT�UB,��j�_x��g��>�����Z���=��4�(4T㕬�f�U`�ג�2����#F�;X3��z�E�ʓ5�
a�E�/ِ�E�[�K(4�vD_�@�R+Go�3O�ݤyW<u�M�O���{B"��Kq����pHZ�\����]B
�0s�),�b)d
S$��X��o�Ib��v�1���I�B^����>��
��B�u%�x��Ru�A��$�fĚbg Y�nxc
넾[CYG�o�]�˯��`�9��ѬT��/�8s�+�7�dԕN�χZC�nl���W�x4������$��b��)i?r��a�W��'����SG� ��UQ�Ng�Q=�Ț�!�7��0Ҋ�2w���ө��)o�%������XBYb1SH1���\���~�i���v�/|������=��ӈO�����%
�&�i�99�[}\VXQC���e��G�"voP�4�47��<�r���yx����oy�5[�,!o/��b��%	�����h
��&�J��fHS�H��rX
�uG��|��kN���}$�6)xOqb�x1���6�>�襑^c��5\1�E�
��b�*��,���	
T�Q�����B`y_OaU�V�!g�岱9�KO�H
�^�h��`����9�X�>'Z�'O��W��Ё��Z�͌
�z{_��ٌ�����.vc�d%�H�l��lb�c9(�HN��|��
k���|cw�a󢾁�I	V�e;����Ϊ3s��Bai�E�X��jk�V�@+��f�z��Y�\����2E��T�U%�Ł�Zo\׀ղ<�n��̀���v���5�'q�Ո~����k
'��߫Dv���#����;`	�D����*�/V6J���B1U�ւ^d�#$��b���2��Tr��"Ơ�"S���KVX�+��+\c�b�[Ӥ��[>i�;A10li��b`lN���(�
�J�6n�	e�����
��T�+v	���zs+k�R,McU/ĺVZ��+���N`��ݧ`��j(�'OH`�8,��g=��^3X7��6[?�XH�bw���%H� ����/�?Ñ:���+�H�>��Ad!ɰupguR�Ί)V5Z]�z��z
K/����j�ld�#�,\�-�
e�M���V�U�!�h+.ٖAP��Â���g�;�&���:�[�O1�yC��ht�j��m�*����Gs֘�Z�Ě~��3�'��X�/ȵ���0��	Ic�_Y�� ���0��eW����X�\cm*���^��$\y���'c�7�@B�*Š�N�Y�*�T���  ���y�Ԫ���ײ�����Q_��ҙBy���*�XK��(f�ZA�+�s�@h�\(�2�G{H4R���Fp�6���.&�b�,�0W��x��x*&���ɣ�"9�����w�1;/k `e�8�D|%�4Lʉ�t<�RO��U�I,Ci��K�,��&�nc*�F+j;;;�S�[jKyU.��FU)�g�w]l.9�S�^		�w�h��C�ڎ�(Ț�I����e��YZ�~e"���	Qc��JWa���,�)�T��~�	*.�6Y��s�������U��9BS0 |!G���3h	\��#YD,��)|
�����y��e�������X��6S�@>�8AֺX�NW:�x���k���hn|��%Yt�΋�+@�(��5�+R�y��������){��Eoy�;�եII_iy����U�^
�(a�^*,.�t�%�j�������l�����oh�O-5Vk�� ����Ȋ��M~�?!ksC%$�xǁ�3;;�&Uc���(��G�B,�(zj��*�,-^;*K,�X��q�#�9"ָX��X>���X�8es�܃�Vp��E�h��A���<�(r�>b��4q��Š�H�Qd�Y����^?ú~���AʰNH�J3���.k����q4!���a!v��5�s9�|������X=�+0�O#o�M�HVͯ�x����o<Q�%v��W�s7���GcT찳���03�2y�Wf|�j���fX�)�4���֚��_��k^�6G����!n���#�v�r����ꉰ����̶.|gBKt�)PAV��v9�X]����H߹����'T����n�8SX�d^Q�lrb��B�y���\��<��y��1X�I�9\��Ju��Xa�����Yޒ�
�N_�5�ҧXrG,y0a�º���9�*��X �Xh�S��}}NW
����$z-�Bb��c�XW�����:��x�'��Xa�~Tl�r�%6	�s71�p��� ��!�Ꜽ}{r�Da���]�r�U-��3K(�6P����P=!Rq�����m�io7�����
���4���N�iU��_ãI����*ܸ!�!�"���3*��a����	m#��x���1��B�@/rL	]�)F1
�8FHX�-�C!�16;���%���d;�`�*�:X'W]ႅ`Io�KQ�Z']9���7�͌�-r|q��F���>|��c���2��4�%�B�M'��"+O�r�, ��k�I.�U��1�U��Ҵ}��y�8�o��e����Z(ȸPH���f�����؜a.��%����E֟�O��ؽ�M���Wԍ[�Lyߚ�?K��zRLݟ���H�ݗ]���e�V��@�_y��5�_�n�jp�{���;X�x�Z�0�*�n�4�z
+$�]O��|
K�XFT(�ʬkL+�U�B�O\����|�X������Zk���1����˾~kf�OnIw�-��C�����Ѐ��2+�YXx>�&�v��bb�Bf��YMO-��/8,�����崠�e��J�3�YԅeO]�42f�/�a0+�,�u�W�l:X�Q��,����x(�p�(�+�V��A�}"5���:5�H ��/�Vn�m�Ђ��TĬ,:#-��2���?US����U�{�H���jIUyZ1VH���gb��M��kc���2s�X��B.]�x$�qY|O�b\}\_�D�_����Js��������k�囱�IZO4f��BnM��1!), �^�j[�e�k ��
&�ڶ��Bh��Y ��}VO�W9!��)�U�V�E��<d��l�z-���a� ���&��Q�7��8&4���M����	�)+$V;�[X���5�	V"e���,+1{v�W�Κz0ycj�u���T@�pl����g��������:��;f�"�*A^�L�@K,��k�OXAK�,�Y�~�������:���Paͭϕ^�B��ː\kz7e?�����',� &,k=���9��m��L+�#s�mCd�:"��d9@��99ɩ�s$l,&�	���X�Ҋj{�q��B/���ƒ=�ж�,5��XfS�������N��f��L��k%2�x�B��z�JđW��b<A�q�!\ZMai�xe��HP�����Ymm׵18bK?�~����{�#�����9���}�P(��Y�.��X>diВ��J�ʧ��	��@a!���K�s%�%�%'E#�S���K,ե��x5&�l%�.��	(�����,Y��|�qǎ�����	k�]�#ҊAU�8p� �B_-HZ���֦����}�߰!�O�i�{����'��X�bW����&+n�R��D�]캩���6�x���*���y!ݮ���POuќ��(��gWȫ�~{�j��<`���<�[�XO�|��Z%���h���c֩yX��z�����bh��c���ʓW�u^xu
k����WK��w�}?��6^�Jt�����m�oO��.ў�]Z���
���.Z4TM��В�l	m���!!��W�8,̷l!���BR�w�*x�#�B�X��~��[�W�ե-�X"",h��`���Û�9�+0��PX/�~/��OhlN+�S����(���W�[�R�����ʵ`�͂8�����,�z�>UT�B)��0ѝ0�#&M7���J�Nc�ӳĴ��������X��>��O'4G@����5�Od�������yu���Yki��+|��g,<�w��3/��]z �:���z�G���O�p_k� �٧��;���H�r<�h���$�W������%VA�{R<}�6^�i���J����5H��M��7�1a0K���o�nvI~�����|�0��`�bŁJm��_��x܊[���v���vkt`�x�DqbYX*�Q?=�au,�i�ͷ�ݺGm�T�d�hx3�U�Y���Q_ˆ>�	WC�?���
j,�,��Ժ����X��KwaS	��\I����p[��%cK���Mҋo�����c�X����=]c��IJ=˝�E�,RXUVX"l����Y�p.M�p��B�u"��eٴ\(�ٴ��r@`-ȍ�*+-�Ks|Aa0K�0�6��WQ�y���q3����r�)lw P�r��w� ������6��O F�u�,:0Ĺ�Ҫ�,�NC<b��ֽ;_���EV��5Cn ��td�,���:b�t�ZՃ�ϥ���"�C+-��e�*�_�0��s���X��q29���$/��L��;��t2o�t�Z��VR=M~��ko�pO���y�EHH&V3�ʳ�rL���'f��<ӊp���١Ҭ�e�#]v����w[����XYd)��^�2�9�b���DŽ�E��/��M��:j����2I�h�颊B&����^�bB	�����^��k`PH'�
�k�s�)�J&��=�x��.���`�����BN
��ZU5:!g��,��SY4h��h%p���ī���IGU$��J�����|��ӈ�E䕆,���&/=�7$��t�i,[k�,tJ,�K;$l��E��U���Xhb��q�\��+�NV!�RI�yҼ����X�UIX�+P���l����S���	=��n�G�(DŽ�,�	q��J$���U��6����և(�.�#�̋R�\�^S=��܂��:�|[�~�V�TdN�f��>Vx�ё�p�}54�ᔁeh,!�Ya����zt�ꫳV$2�v�v�vD_iI-������PI�T�IŸZL�[� q�6H�K���v/{���B��N�Fm�Xha�j��r4���a�.m���ɫ��������Y��Z���J����0��8����2���[X���Tw�		X8=�V���=O�X�"7���wRT�+���Et���m��C���t	Ha����Q�R1灪x���k�qh�(���/��<+�z���T=����bf!��6.�o$���~���L����ȝ^ci���Y��"1k�b��BDWC�E.rD{��w�
��~u�
�Y�jXD(Ƅ�D4ה���F[~�]��p4�.��ɝ�L����q�+?!V�SkEK���^Ɋ�д�������
!���jІ�
�E��8��ɶ;h�j9��o����x��!>)^EQW�X[�zQ�\5е�������-�W51t��,:z��SX~��W�<��P�6�BOx�<
+`dI�����G*T�����L�5f��؝1A�;��c��i���1|[DfQd�ٵH��\$����D�۫��b��������֢�жs͜�B`)���),��A��]d��W�r�R|�-���Y�,����-%��tp�#��>@�E���!����+�6�5�X�t�`��kߎ�M�.�TQ���i���c�BTXt0X��
$�@G]���;�)��Dz)�Z-4�V^U�Mf���9'T��֧VPdI���*M[���'�<����^��w��m�iO�⊐���%g)��R8�b
��")���!�$8�`W$�p�s6%E�`G8���Y-B��S��-b�[�CP���}���kf���~G�e�b������������*2���K�*/�Z^^ũ�u�X����HU���P;�
���*I((��[e	��W�E�">�p%x�A�k5�?��`%�Uf���j�rY�Xla!�^jY��^„f�;V��xҪ/)�$�5��ែ60��^#�h¸O�*ة
C�]z��.��>{X��X܁ӆ�O�r�s�<��#m/��?��1��Å#��ƊXX�ę�Zd��0Ad-��Z����x>�P��R�K�����б�Ց�'x��䉩<J,�L��W1/q�; +O��7��
���XXb)��k�i	,
	}Yڀ1!(-
,�5��U��Lx�+�)bU��QVS�*�Ȱ��,�@�^�鑐%pa�+�,�x�&
�u��?�'b!��}���A�TrAB��
��#\�)=(�rL���$�:��͝���t{d7yA+!5����/Ika%��v¸�>���A�G5��v8��k(!4�'e^���kL\S��%RJ\y�2�&d��U�Ya	X��U����U���	f	�uC �﷛�e�{�ɰ�T�5�T��o��7�so��VQ�;�_�6{���WoM
���Iz	I����k�M\�OO���U:M�2(<�5���;��w����
��j5�+�f{=�!^���5z����Qx^�}�
�?��p�|*��<���Ǥa�{���
�)�x~�
?O�(��u_P�9�J+al��4�2됀��d���)�[���WG,A+ �	|	Y�$�4�&2Z�<�2�r��1"\�\�ۍ
��7��KTW�Ra�UBb���+_
,�-ߣ�X �(�Y�.�4P<蛘j�
���jW�;�Q-y�C�*%��Pr
QUf]U�~c0�k?���$�xl^C�*��#
�:&|�
�
v:�O'������@q����]g�
�V�˲X�+A%�`�H�W�v�X�tVBa��ն�^[�z�g[��ej�trm�Z���o�GH��OV�p��S������`��Xcfd8A�
bA��[YZEv�sP[9���U��^��X�Bb���P^yJb��2]w�Y�{�֨��������Z�
�2��(���iZN���Mgˌ�	�0�@\1�����������O�	��~X��-���6J�`�m�>K,2��3��6캻��� ���]��}jb2f	�����nm�ߏ�_��^k���.ţVt:��=gR�w쾫\!W���J����s'�:�56s�' Y8���̄��Iae��$_Q�P1�*��xW��V��n"�JYBd��E�
��ȫ+,f�٭���,��RYa��ڨ��%Q�>{v�ժÆ�^͘7j�*�Z�n�� qV(����*P�P�j�
K�>P�pg��%[��?Tـ�z"��MĢs��@fC�	�#���(������q�J���%_���
aծ�ڔ.�l��g�ViC�z4��p��+0��,ɚ�<$����c�XSiZIfE"�밀%/0��cT��
t��di�����|�BV<�*jKpL<d����u�,=O��,�X�J�>�僢��-cE�]u��"�y�O�VkI����	
je����$�WA	+	/��ȿ�:��),�bY�Xz&���0��>���u�G�6;���X��M2����p	�(��� ��hFg�!�E�{'`����ʂ�����*��ꥪ �,{``A��ϥ�n��+F�{d�LtG��.Lb�P;��?#I�'s�%<D�556eƄ?Q9r�	
�)^t�@b�Ȃ��"�*3��W��'�����k,��U��j�(����Z�*rX
�j��2PUS�ܧ7�fD�	̊D��qs�k�1�~��:5Xa=�L��
����L�IC���
�?h��č��@�+�UP��2+pD���s1"��joF7��x/p�-ĕ�����p�j�Z9O�bB�X��JJN��w���f�MVH��i��uXF�hʮk8��:4��۩1��Z����2$�2��L�EM<+x���df�ǙĪ���Hd��.���X��罨
���vvd�����,T�V�R]�`y0���?,K���2D��!�
��?+V9o(�g��0���X��;m�|v�{�W ��]���
�|M���RDا�9ƺ/Yz���#�k��m��GrL+�v�T�BlZ���0)0\�
��=ޛ��*^�SYǓXGQ��;�f����:��;R\ J�+NE<:�8�\q�V9��3�fgg��u�
����B7�oz����U2G�z(�pUG/]|(R��+X���Qe��#a��Qha�޻>�,�/
���t/ ����E1a��Шn�mw���6�yٗ�X��F[j/�̒�{���+"?X�Q~p3���T!Ua��賬��M��>2�z	���*z�Bo��
X+��0�*L�
�q���0 .<p+�����)��:+ȗuD�
	u��DV�\�w:����"X�]@+����љ�Q��3w�^�z���5Y�dy���t@(/�g���BH���[W��N	�t�Z�{��8�ETMKe%^�,�6�˖�Z���`���j�
�Q���
>�'�t>|R�M�Dwh�zAh*W�.�I|���㑯~x��??f�A�7ʠ�:&�:� 8쬝�괙d�������#�Y���"+�NPX�|T7$ƅ��R�)~rZ��Ii�k�K�0��u�u$��D�TW���fa�;f
�!���d��Y��
>
ZM����V���L��ڵ�V}U�,@֒����S���K��Wu}Z�Qx.�Y������	X
s�^Oǃ�5�f���c�p
�-)�^�e~��a�z�@Vlj�Λգ�R��hk���)�בXzp��nv��˽�_?~��W#O���;;"��;ka=�b��ة�V
<�5�VR�0*�VV�-�ik�Nz@ga��A"����quj.q�󜚇�� �X\�N�j̪j�[^��yVX�b���
+��bn9�����̬�չsB\	u����ٳ-�!_��,1�\}��P���,L�.�J�����B�z�X\)X�}�pZ���y�*�Raј��[a��F6X3f,^I�}>q�*�J�ź�(b܂�9—�"�0�=-XG���`M���.4�th-!�*�RzmE�h��v|�RQNtDZ[�gK6�b�2ڠ�λ'e�N�ɚ<`�e3���s��c1���9ց��I±)KfQ��E^&	�TF�+d���ʌ3�Ίh�D��ݽz��Aa
���ZU:�3�E����ɹ������̃š�&� �}eЊ����v>n��_�
eUA������U>�(��\��	ֻ9+��d�����"�~���<@�7�c"X��j��/~��B�ʳ8�a�/+A�":%���˚�i�
��v�(:2mPFB����-���E�Z�)X�E���N��5��/�A(:)>M�eϟߟ{s���f���wo�\��0����;�s����;
K��������5ֺ,@�W�d�.B3U��X�:!�
����k2��3��X��J��g�{7E���m:�t��_L�����uy�(,
+���O^`�QEq��0吆%�8�e��  ����$�=B���g�Z��z�O���"\u{!^�j$�X;z��uV�&��?�P;o¡�8�1�I[�b&�*F+�{gw	OUX&ԥ���Xv��%��{�j����Y;�D���/�TL+TY�+�j��޿�!�EF�����&�
��R�p���g��E�U��ʵ8��S8�~�&5�}\�S��X�W~\���T2�‘T�wA�ܒ������!3�2�w
�k

��zƟȈT]�9
ˑ�>��̈́1��r��;���ނ��q�
�O�%*,"%�Y��YL����๴g(���VBr�C����U�X?��
+�`��J���,�U{��*�]P)�X²H.a��ʦ�W{���:%��,1��lp	�[���>g_�O�瓶�1xL����KZ_��M|BVb����E�G�W`SīRi��DN`Ѕe�Tٙ-�U����rާ�j[��,�,9Y��C藊a�k��cT]a�5�
x|�����	�%��ܘ��%t����4�Mr�)+��B����Y(��'�g�Q�X�V��Tɬ�e
�nYdfD�(}��8Kǯ´8^�G�B�
4�YQ���A�l#��S�*�S���w�>{��*��U��n��o�7�*�bU��G��
n84UL��
��@">��r檢S1�~ex�,���*��֣�}�{�N�7�*cIbQdY���y�}Q�X�f.Iw��
$�˧������O���-Y!y}��Z�B\-�d�}�~筐��B`�J����K}w���u?tȲ\�[�~
�fu�x��SHy=�-><h�|���/<ykaA�d>5h`���J�,��	|q����+�
�-u�xFOpD�M�V�e���UB��������kr�EƱ@e�c؁��J�r%P
+�*��ծݮձ�I0�€ylulwww�U�"^!��+�(�*Q%Z�TU�`�D�XBR�95��4��e@��)j����bN%�"�+�GW�-),�f$�W��X.Q,Yi��
'6PZ��i�I�v7��<�j�K�K�D4���٣م�\�\�%���5�GZ�����j��m'�,��E��dG��O�9r�C�;ta��bh�<���r�+-�����m��jA��`�.rȯE�I˟&2�[Q*��R���:��E���|��?��i�M^�#�OEڻ��ݖB�ᰡֈڥ3B���K��ߍyX^/�aq,C�Bh��'�)�
�0�j
4�nBiw�'ƀX����
��gUF=�,�TG�ĴZ
U�NvJ�}q�ل[IX)f)���
���{�&h�Sh�u��`�����	Q^�_�﷥�W*�W��ܷ�+�����ՄVy�$����3kq}km����닪�������BN��:1����[�Y��]b�4R����2K�JF��A����ܢE�G�ם��,�ƪH�����rg�Q�+�glK�{��Kv�"~1��h�-=A�T	�U�9��M���&/N�$��˜�
}��.&���f{�|���;xkhh�6��6��6�p�iCR�`f)FM#��Yz-&�i�0�u������K(���֌BB넞_'2�.�Y|��<ͷ���ij��M�JC��	����
PXw�+׏��K �R�X���)�U�b`]n[���bj�X^����qw�:�t0+4�Z�/��V]B��b��<�+X��ף���b�Зlt�EbśŅ�<���r���\��N����L�_(��P̍2��N�̦#"�-�o���ދ���iљ�Q`��(#��F+��s�Q&>`�)^����_:O_sT,̟`}��i���-�MT���� ]d����{T��;Z��nJ�˜�-�Z�$y~����n�t����ž�q��[`�������W4�nD7b���oJ^�Q�j�'�0yŒ�br��cJd��+����렰4�jbX:����#�C�S�D��[�B�p�lC�ϸ�;5�B����E�'v����Yb-~��m(���Ah��Xk[��>�>:S<b�9S\c�![8+�ޢ"d:Jh�	X'�B�qE
� ��h%���
g�X���qTX�A!�/����1X�RB�y�*��r{��$�1�&�PZ�|�����t���yYB
F77
�����#(�ff�\�)�&E�Bx��+���<��\J��	S�'i7�1l�,�k`ٝ���V�Ci��4�m0�$������n߾�������ޡ^�O����ġm��3�6���ÒM�no4C���78�!�f��h٥��ʋZ\y#a�dp���a�x����Ra��(,��"�&/R_�\�����M
�F�{�FX�-�{P��\M�
�\C�p�d���:��(���ZӼҷ.na��
Y�,��S!g��`X��U_�p�?K�
�J
�Z��ȀX�Bde�Nb���n�b�"""�l�FC�SR�Б��)˪���͙\���Y���TScFx�W�}��(6�E{>�F9�\�!�Ds>/D����d>�E!�>7
��R���T�r���.=p�@û�XO����|[�jy�70��z����&�'�^
O����xܟ���_��tb����rxXQ�zM����PpL�����Y��~4k�mĦc�&{��Ql�ţ
KG�?q�o��Vn��{�:.��,�X���x�[+�>L-�b!�����׷+o���8�Y����MYO��*)`�i�%a�[nf�63墲Ԗ�)��u_4��GaլJ}5O�`������WVd����5�3�-+���F�E��*蜼Sa��?�A������ư��8_���q�v8)�uA4�f:�Y�mJk%�s���������'����,��Ҳ<�\N��t��1G����I�f��L<�<�����8^o�F�5��Q�;��,�Kbc�J�����	�+K�pV�t-lˍ�)���!t�WU"��Ћf� ��vj70..�i���pS�!�ŝ���**U�M�BA(�B��lj5Φa�}��t��s�=uo�H�O�=�9�Uw�Z�]�O_����
kAo=�}4NbE&N�daHb���º"�5�R��3	��X��^���_Gi�L���=���7�n.�#�"�z��zh@+f��5c�N��`j��:����A����
}W�W�.� +�Ѓ�	/9�g2ݙ|E����!��'`�3�[�B�*dF����Y���Y�t�?3:���_�O�5�^!`
�Ry��w��{���q����(,�U𱋟�(Ф�K�\�'5�|�������f�o̥�<ƻ��-lm�3���^�6����\�Y��Ib	KD��a��B��Xv�^���X�ۻ˝�~o�,m
��z�U�pG�r.�N���)�cf���j_�c��Q_�C������𕛗8�n�]��u�UO�-���F��Yo���#
K�WY�������zs��r��C�Ň>"�g�YE�X�˘%�͂�����4@�p����3!`�d�Ă�U&��I��z3�l~ab259��5�)fS�i�V�;/3݃�6���>�_�%�d������aU2)Ր=Q���h.(�E&$�� ��B=���1��Ɠ+�j�T����~�Y�{ㆅȉqS���_�!:�����a΂�"R�r�����:�Z�ӟ`���M�X� �ZV!��%��6���գ͎�*";���ЂV��F�,�`]�+;�+��9u�0z���)�%5��iP+c]Hg���F�3#]�O+�U�iX[�L���+��O����ٗy\��M
`qǙ+q�s:�]|��{�����
g2�-@�Օ.ֺ3���ڵ��T�tz��Z��T«�7RJ�j�����kzR��Xd>ã���'e�O�>���+�S��\ͬ$h��
b��W����ZX�]m�Xgl��$~����\$��:��ǽ�q���V�⣳����<!ou���(u߁�(8�vt�nEY�!�e�E���1�8��a�uX�!�"����R�J�B�,��R��Fk�a�8��UH�1��R�Jm�F�Տ4[L���X�Jm
�V�B�J]/��k88�x��2+���ϥ����W�qƘ��iX��tM�ӹV��x�q-��XB���.�*Ϊ�j���BUͤ�W
YH�E�"�4ڤBL�zBA��rI~
D1�&���3.�@O={��7z%~�+�7��kU%A��i8_��KV�����GG�r,#x�$��
�P��ɬ��x��6Xk:��]��=nu0u��(.�b�x�.*��������!�#�"�YQfu �
,tv�����Rp ���<�@V~`�4��ܷ!ۑ���n/CV���KYPK{��rI�+����T�V�9��Bp1-��U��-E�a�����������|ߋ�jKV��i�BI����XH)7+G#+�i��+��:f�p�-���Ȫ�ЪL��m��Z��9X�5��(��K`�
�’Ȫ	\�L�U����;I��c���2֬Xו��:1?�[�h`徶���.\{c�#��(���֫ei�	V1`?��\��<�x�j\5id��b�VJY)V���b
%�՘O��O����Q\��BSȄ��bn{ ��V)b��ϧ�>��6�KH�;7 ������b��em*��8�3�Z���fO�r���L!�j!m�$�VXcc���!�U�����zL��\�u�Zǣ6��’�g�m}��OX��s�;����?}31�Mo��v���F_g�����a�raŅV�DVUf�%PX�7�*��nP&X��]�4+H�bv���2��W��<�U��Hdid1r�07�,��������'�br�N�@*y5PL'�A�Y�%�<���-�߃����z�评�
�\a�"���:q��V
J��� ����Uo{~ӒX0mX&b��K�%��2�
�ºa��uLd���B-\�WXa���R���>I,�����\ZY���&���]���W��һ�}�yVU�VU1u�����P�
�$��U�@���*��h$X$��B��q���-u�����d�ȵ�4K�JP���^���$HvP(�����,7H�W��*��9t����ܻ���M_h���X�~�X�u��9+zG���V~����}8�����z��i���f8Ī	�%��36vy��bB,�.���^�('����b->vXQ�5[�	V_���_��e�V���xQ������.�$�Gp$���U�ː�+��*����+��j�EJ�Ra5d�����+�	�Q�U"l�.�Ӿ�I�%Q��%:�2K!�̀VL�+i	�U�\qbQV��@���%�u�Y�_�:H���\-�5�zGd��	�ª���q����mn
yw�N[�k��nMm�NY�
}�-"���\������|�6�P�PO�%��IY�i�V<�ǎ),X�(��h�����@��[��*?PĚ�������J�A;w���U���!�+�W����J��K�.j�����	IX-KR�<aS�
21+�|�e)Z�`�	01.&�+OG�j��E5SJX1���\�L�Jf픷S|E
�b���W��� ~6�q��/$�~���&�&dАY��::n'�N��/+��w���q��Ƕ'P�	�
�,�����W9��
^�̪��bx]�u�B��Ia�;(������)�l�L�����`�W�ˌpŁ�x����~!���d>��WX+XаK�j��.J,ȯ���BG(�,��K�pT�
b�PªٴB�&�iTm%��Iw(xU�૘˓rK�Ba1�KT��i�K
+�� C���,Q�e�6�"�qH�;{w����b�����n8�Z�S$oBzdG�q`#�*m�C��j����m��%7|Gl�3�Qa
_�ڳ���%#���pE雱elha�չVH`e1���k���|�
�-֭�Rb�Զ+E��Ͽ�Z�A3��s�b�2�*�Zz K���j�Y��4�V�r�TXV�"xg4R殧��o}0=�(���I+_�ʊ��ٕ�R[I\�l�������8��K��y�����7�����^��6��5�[��
s��¶ݢm���k|�����w�;t�m�l,,X_��t�R����L�����\�Zgk-#�Sk�y�A9E���]�����}Ϊ?��Zn`��j���&.��	V�w\�<($�'��`E�̲	[n�t�Ϟ]Ζ�����
����F>���c�|B��8��8��7�_	B��x���E�m�B�+�@��R^Lx�d��OE�0��5`&�&��)("
2B�S5+q�&�xۗ���Ψc4il����LMҫ�3wf>~Ϲw���a��jM�p3��aՏ��O̱����>O��_�WVX�p�~6����G�>8����?0�89����xJ�5"�Ԑ�Qu5��ʻ�c�g[^�c�+��XG����S��,�^�'��(�]��\��o�y*`Q�W�y`
Xpd�{��	
o6��;~>�d-��vx9#}^a`50�����D^�O�h>a_b�qB
�_�(�~5`
��#�F	
K��'�Ny�/�N��w8A5�!�j4"�o�+0�6Nh�
��W����z�V�#�IT�y-�;<��x�'�_����yA��\(�je[�,��`5�Y5�β�S� � �u	��RL�e�����
��*
K7F��>*,�a��BE%�1�8����Th�Z~Y�UU_��,��S�.SX�:��f�����
���q.�1��.O��C�s��!Z'P��K}`�/Z�wY>�x�k�]-�b]6�s`��#cEm35��fRa�a�~>���|���
�X_5���i,�q|��_A]�|-Y����-�q�X��ȌEݯ���#�?�$�X�(�f
X���~0�yL+���)�%�I���(�ď�ﰼ�q��d��r���s����J���ѹ��Vŭ����P`Q���a��a����aR��
džcב���$��kk|�+I�l��O�0�xV+ڙ{�𜅅}��g��*%3�f��2�f�:	X�f<S��*ɝ<ZXU}7��$�XuW
튙��a��X[6�m���|a���H�r��W�F�ڇ��׏�W0�!�s�,$V�6��Vc����BI&�m�ʬ, �Vƀ`q�k(�6%S����|��-��Eat�U����UX�Xa�BX*���v���Ÿ���B.��yy;'G��ˮ��J�SY��B'r+�}������ŗ��eH�'by�&s�+h�I�!��N��`G�vj.� �!`)�ZV�7�,�PS��Fʊh���F�}WX#�z��K�
TD��&$�����퓘U�]a�+�	�r��$I�x����p��k���aR��D	��U��9`��L�H�m.��L���ª��KA��=���R�
k��V�<��F�(I�Z����
��Bn'x*�ٷ���V���P�˄�ɰjc�R�X�A�J� Z,�+,�$0IkcI�f}aUx�J*�K�����X�(��1��
�H�%je:Ń���o5l�ˑ��`��;���N���x�e�X,�\##��{��2\F�‚��&�I
m�3)x:
,Rճ�J���&���(e(����l5�̌
,
,j?@aɴ��F�B2�����������J,A:��8vNj;�����d�P�Kr�Q"����K��ճ�+k���v��9,�"��h!�2��hR�	�¬2��֠��b���S`Q�1���R�U"�+3�L9�q:����\�nL���x��ps5��e��l����|����d�xɴǀ՟��ƺ�D��"�O
c���nO��_�e!�R��b��m���-a5��fFa��^�d�U�J��ç���H��i�����Dn=��{���ח�J��R+�?An�41$y&),�W���/]���ZQ�,�*�﷔�4o��\a��Ȩ�Ng���=s���‚	�>s����ٷ���Z��.��ϩIt�Vƀ�	�V���X:37�\�u	�F��&üZ�R����SMG��(!|��TZ��%�]�A�t%�
X�Zb{���U����V��8ٯe����Uo&�X)�F�jC�L�۝�a�2S`M�.�̷)�~�F�5�<�fH(*��h��Y�DcEy.��%�!������<��p-N�Lt2O��5�^��KA+ߺ�2P`M8����Y)�~�E�n[�D����"5G�x�kI�q
X�ǯ�-��,=�}-N��?ü:����g�S`]X"ܲ$V���m���lNϜv��WX�[�^�yˡ�T�Y�`]�2��!p��UeƮo��{��c\d�w�?Ӯ�Ɓua��KH��g�������C��B����r�3V����k����Z�K���������WK9J�u`U��V1һ�?Fhz8�!{_a���*ݺ44N}�L���Gn�h�r�
Ԅ��Q1���w�?Ӯ��>[�.	�ʫ���D"G,�����-b`I�P1��	�?,��0�ݬm�ZY�������º6��;�,PX�,k�ª d	��f�&���G�uUfX�gkP������&�!iYX��q�z./8��dk�`����f[��ş��4��aQ�u]`������e��5Ya�.���(,]|�^:}��9�\N"�ʩT`�롐��|�b��y�/@�d�+lp]yz�*�s�*O��%�`�"�S�h`���$^cU\@(	O�E���_e��Xۄֶ"���J�	�D�
,�i*�2�Z�P�*|�e+�m�Qt#d�!vS��WP�í*�z��n�+��ì0���)�����?Du�D,
YQ����V�bY�
��c�?RЪ�꧍wv�b�|Ȍ�x�J€"��;��@g�-��(��&��;x�5��t��M�bP���p�u�ͮW����8�V��ֹa��ڙx�������?>>.��R\�*�
;���8����쥡g��„w,���ZEW��������q�'ˠS�C���=
�����챗^�ð�ҷ�-yJ����^�ch����<
�B��$�5,6v��=���>�k{���7#iF�Ng�WOދS{<��7����ьG�hl��<t�t@����'2����Uz�`R���?�}�#`��s�56E^h�:�i�,���Aێ�n��/��T��쬺tV�e�$�p�!��XХ�P��
�̫
6���%YR�G�F����D�R���ޘ�Wu:��
'L6�{���_c��
c$��+O,i�?U#d6�V!C(0BK)o5�ٵ�X�,"ލ�b`�v�)�xf���9J,�X�/O	X;'��g����G�[��/��z��0�nO��z���V4S�،Z4��[?4��hM�ㆳ�2!�C�3kQ ��cW7,�Rn��q=Ċ��k#k&���܂%���b�u�"��h#y������<�,�_JZ�*�v ,=����2�U���p�z���%��PuE�V�e��^��kFa(�˰rp`U@���)Ԍ\yRI����A
)d�T!x爩�����]K���vh�b�g�KXd���^������:�X����8�Y�����O�>��b������W�z#�+PXr%`�c�d���Z�k�bXy`��d�-�-y>�0Jh�lߡ���[gG/�a��3q&���ژ�|
��G���jB<�����_h�|V�8pc�u6c�1,���jy�o��`y`>b��{6y�SV�>���brv�Nh��EV����YZyrI���[�����D�
gf�Ĺ̮e\�cX�W_&�y;?�$�F�Az���ש�:`���X';;'�t�ɻ��^n����A`����:`��ܓJ1�\p/㭟=z��=;�=���q�n�Qݝ�s�&G���-8g�XS���w��y�18f����{�]��J6��U���O��-�ۤ�W��Z��N����A���*��
��G��E�	&\B��'d������M�"���f���ӈ<\���	5�O��mٮ�����|�)j+QXY�I,-���u%��N�#<;=N�+��m_�����V�W	,h����%ѠR��It�;��”+�
�a
����
���yO��K�6�.(8g�
Xev����I�m�ݡ��y{�>���j�VlJ��$���X�q�q�p��VY�	��)"��8!P),�l�d�%U�P�Ja�\�V�3p5L
WPiu=hq���d�B�'����̞�B�%J��w���|�5#�>u	��kg�w޽;���}�
�E��%=�k���T��##޸$`1�WX�+z�ejv�rZC�%��y��J/(8g�
XV�>�f�x�>�g��	SX�=�Z�`a�g(��)�����G`3`18h߼*K�j�R:A���{�()���䒔��k���½�c
O���nS��q}R��0w��`e3�R�E����ɓ?<�|s�5�����Bm5vx������H5����X�ui/��m��k�P-o�U��>�.(�>e�\i$3��	FY��Ҥ6��onڬY�/8g���S����k!]�2��’���u��LH����%��DҺN��9�
y������,�δ��q*��VX�6��	w6�򄒔]�.?�P��5�Ǣ]]��A㿦�`���Es��޽{�����?�y���,��W��D�)cX�!�3c�k`}���������*��G�(a���2E^�-�ڋ�W|�v{8��b���Ko����L\,�����݄��
K�g%
k�zX4�Wu]�zK6!V�Ǹ��PSi��~�'Cz�*�e��n�^Bɣt�Ra��xZ������$e�݈��Uc
��׋M:�ٵ�Y��Ĝ��ǰ� V*��6Mq��=��7���^w:�1��>8Jӫ�A'��j�F� �.����X��g�$sb&V2��DpهfAV����\тZ:�j��R�M��/*X6qA��߂+�1��
K>�u*�d�ak�e���UX��PSU����s8�	J��|�6Ga�%���l�Y[�,���M��Z�l��
�JbQ�؏\���;�ܷ�#PT�^��+x��A���#&��p:�J+����WK�tsC�ʳ��
��ڿz`��Uu�v;f�5���nhZ�����W��Q7��CQfnaQ�š���KY{��‚%�RX�V�}�h��Raɇ�V��
ݚ�W�1k~}�f5܉�C�),��d��2	X�!����R8A�;�Պ���%��RXN�5��@�
Xڲt�B�]K�>+���L�UXJ�E����]����`�}���޺u���[�y�|��y�/Kͭ�t�Tf�8o��F]X�������
�gN]�^�-��h��_:�. �X����˗饫�����⤟��/s�ڕFV���g.{a_Y�yL�]�Ix��Wq��SX�@!��m�罽�gϞ�g���|�(�դ���m=��JXv�,���H73�s�巼I��C/��n���j�;6M��ēr�ׂ~�]N���>��A�<J�͂_�Rv��}�WB�.��T��T���Bb����Ϗ�Ϗ�p��f�~v���_�I���O����5ć�zu��*�VUm�P�����m/Bhi}YњM�7¥զk`���C|���+_��K�v�ך6�ī�x�9
�,�Ě�Y,�r��:d5Yǀ)��x�Kܢ�[��J!��tM���R�z��BR5�b"���(5zx/7�̡G��)`R����0V��W����#~��W\Y�9��n�~��W�|}Y�v�V��r�"�e�wQba�e?�/[H���y��G�eh����2`uu_�`W^4�&���)��P�6b-6In�m��E��O��8_=��W���n����+�U*��
VmE%����^^a��u
)�U����q�2da�qPs��H��J�ҐE�Z�X�oAa�,_�z2:Xh
Qo١��
�+�����#�]2]���:�@��N�QX�IJ3����X�Oi��fB-����n��O�
�R	,��c�i��r,*�H�,-*G�l�'�-�a	�gLP��Z�EQ.8BT[k�n��Z��(,Ybe��:d����q�,��m��1	*��ī\�PX�k��q�0L�lb%v���z
�a�����3P�@�9LhH�\�P�3��6l6���&*1�P<>���@
��c�9h�jYM�9�$�fj7��m�<�KJMr�t|�ynۏ=�Ša��m��BX[��Gwc,�XZ�H\�&�ҲU�ݽ��Wς��J�v|]�Nm�	��rO$�������r/�Q��>1�����'b�j���,��`)�rK&�&�!�cK�
��(��Vݠ���~pA�H;�F�Q''�[�:?��v���C`!�B��aYM��X�-L����q����|q�DgQ�j�uXӾ�hqp��X(�n
%�D�>K +|�peW�����;��1���~E��!�`X�u
�r,�+��ZdV,i�p�ī��O�UP�NA�m�?��a��5,w�Aˑ,Υ���ؗ�Pm���z�W�=���ZX�9����Y�r��Oˮ�y����,�[��Kk�,ZVʮ�f~���a�~&�r+��B�e1hlqT)�����ʯbr���J����PIEND�B`�searchform.php000064400000002312152425655550007422 0ustar00<?php
/**
 * The template for displaying search form.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

// Support for custom search post type.
$bloglo_post_type = apply_filters( 'bloglo_search_post_type', 'all' );
$bloglo_post_type = 'all' !== $bloglo_post_type ? '<input type="hidden" name="post_type" value="' . esc_attr( $bloglo_post_type ) . '" />' : '';
?>

<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
	<div>
		<input type="search" class="search-field" aria-label="<?php esc_attr_e( 'Enter search keywords', 'bloglo' ); ?>" placeholder="<?php esc_attr_e( 'Search', 'bloglo' ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
		<?php echo $bloglo_post_type; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>

		<button role="button" type="submit" class="search-submit" aria-label="<?php esc_attr_e( 'Search', 'bloglo' ); ?>">
			<?php echo bloglo()->icons->get_svg( 'search', array( 'aria-hidden' => 'true' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
		</button>
	</div>
</form>
rtl.css000064400000015503152425655550006101 0ustar00/*****************************************/
/* Right-to-left language support
 * https://codex.wordpress.org/Right-to-Left_Language_Support
/*****************************************/
body {
  direction: rtl;
  unicode-bidi: embed;
}

.bloglo-hover-slider .slide-inner .post-category,
th {
  text-align: right;
}

.screen-reader-text:focus {
  left: auto;
  right: 5px;
}

.rtl #bloglo-topbar .bloglo-topbar-widget__text .bloglo-icon {
  margin: 0 0 0 0.7rem;
}

.rtl.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo {
  margin-left: auto;
  margin-right: unset;
}

.rtl.bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav > ul > li,
.rtl.bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav > ul > li:first-child {
  margin-left: 1.6rem !important;
}

.rtl.bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav > ul > li:last-child {
  margin-left: 0 !important;
}

.rtl .bloglo-social-nav.rounded>ul>li>a {
  margin-right: 0.8rem;
}

.rtl .bloglo-social-nav.rounded>ul>li:first-child>a {
  margin-right: 0;
}

.rtl .bloglo-header-element > .bloglo-header-widget:first-child {
  margin-left: 0;
}

.rtl .bloglo-header-element > .bloglo-header-widget.bloglo-header-widget__image {
  padding-left: 0;
}

.rtl.bloglo-header-layout-4 .bloglo-header-widgets .bloglo-header-widget.bloglo-header-widget__button {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
}

.rtl.bloglo-header-layout-4 .bloglo-nav-container .bloglo-widget-location-right .bloglo-header-widget:last-of-type {
  padding-left: 0;
}

.rtl .ticker-slider-items .ticker-title::after {
  top: 30%;
  right: unset;
  left: -0.9rem;
  transform: rotate(180deg);
}

.rtl .author-avatar img {
  margin-left: 0.8rem;
  margin-right: 0;
}

.rtl .bloglo-hover-slider .entry-meta .entry-meta-elements>span:first-child {
  padding-right: 0 !important;
  padding-left: 1.1rem !important;
}

.rtl .bloglo-hover-slider .slide-inner .read-more {
  left: unset;
  right: 0;
}

.rtl.bloglo-layout__boxed-separated.bloglo-sidebar-position__right-sidebar.bloglo-sidebar-style-3 #primary {
  padding-right: 0;
  padding-left: 3.5rem;
}

.rtl.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-left .entry-media {
  margin-right: 0;
  margin-left: 3rem;
}

.rtl.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-right .entry-media {
  margin-right: 3rem;
  margin-left: 0;
}

@media screen and (max-width: 768px) {
.rtl.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-left .entry-media,
.rtl.bloglo-blog-horizontal .bloglo-article:not(.format-quote) .bloglo-blog-entry-wrapper.bloglo-thumb-right .entry-media {
    margin: 0 0 2.128em;
}
}

.rtl .entry-meta .bloglo-icon {
  margin-left: 0.7rem;
  margin-right: 0;
}

.rtl .entry-meta .entry-meta-elements>span:last-child {
  margin-right: 1.1rem;
  padding-right: 1.1rem;
  margin-left: 0;
  padding-left: 0;
}

.rtl .entry-meta .entry-meta-elements>span:before {
  right: -1.1rem;
}

.rtl.bloglo-blog-masonry .bloglo-article .entry-meta span:first-child,
.rtl.bloglo-blog-horizontal .bloglo-article .entry-meta .entry-meta-elements > span:first-child,
.rtl.bloglo-blog-layout-1 .bloglo-article .entry-meta span:first-child {
  padding-left: 0.5rem !important;
  padding-right: 0 !important;
}

.rtl.rtl.bloglo-sidebar-style-3 #pyml .pyml-slider-items .widget-title::before {
  right: 2rem;
}

.rtl.bloglo-sidebar-style-3 #pyml .pyml-slider-items .widget-title::after {
  right: 9rem;
}

.rtl #pyml .pyml-button-buttons {
  flex-direction: row-reverse;
}

@media only screen and (min-width: 783px) {
  .rtl .site .bloglo-flex-row.start-md, .site .bloglo-flex-row .start-md {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      text-align: right;
  }

  .rtl .site .bloglo-flex-row.end-md, .site .bloglo-flex-row .end-md {
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      text-align: left;
  }
}

.rtl .hester-posts-list-widget-init-s1 .hester-posts-list-widget-thumb {
  margin-right: 0;
  margin-left: 1.8rem;
}

.rtl .hester-posts-list-widget-categories .bloglo-icon,
.rtl .hester-posts-list-widget-meta .bloglo-icon,
.rtl .hester-posts-list-widget-categories .hester-icon,
.rtl .hester-posts-list-widget-meta .hester-icon {
  margin-right: 0;
  margin-left: 0.6rem;
}

.rtl.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading::before,
.rtl.is-footer-heading-init-s1 #bloglo-footer .widget-title::before,
.rtl.is-section-heading-init-s1 .comments-title::before {
  right: 0;
  left: 0;
}

.rtl.is-footer-heading-init-s1 #bloglo-footer .wp-block-heading::after,
.rtl.is-footer-heading-init-s1 #bloglo-footer .widget-title::after,
.rtl.is-section-heading-init-s1 .comments-title::after {
  right: 7rem;
  left: 0;
}

.rtl.bloglo-sidebar-style-3 .pyml-slider-items .widget-title::before,
.rtl.bloglo-sidebar-style-3 #secondary .wp-block-search .wp-block-search__label::before,
.rtl.bloglo-sidebar-style-3 #secondary .wp-block-heading::before,
.rtl.bloglo-sidebar-style-3 #secondary .widget-title::before {
  right: 2.5rem;
  left: 0;
}

.rtl.bloglo-sidebar-style-3 .pyml-slider-items .widget-title::after,
.rtl.bloglo-sidebar-style-3 #secondary .wp-block-search .wp-block-search__label::after,
.rtl.bloglo-sidebar-style-3 #secondary .wp-block-heading::after,
.rtl.bloglo-sidebar-style-3 #secondary .widget-title::after {
  right: 9.5rem;
  left: 0;
}

.rtl .widget.widget_block ul:not(.submenu-container,.wp-block-social-links,.wp-block-latest-posts__list) > li > a:hover::before,
.rtl.using-keyboard .widget.widget_block ul:not(.submenu-container,.wp-block-social-links,.wp-block-latest-posts__list) > li > a:focus::before,
.rtl .widget.widget_archive ul:not(.children) > li > a:hover::before,
.rtl.using-keyboard .widget.widget_archive ul:not(.children) > li > a:focus::before,
.rtl .widget.widget_categories ul:not(.children) > li > a:hover::before,
.rtl.using-keyboard .widget.widget_categories ul:not(.children) > li > a:focus::before,
.rtl .widget.widget.widget_pages ul:not(.sub-menu) > li > a:hover::before,
.rtl.using-keyboard .widget.widget.widget_pages ul:not(.sub-menu) > li > a:focus::before,
.rtl .widget.widget_nav_menu ul:not(.sub-menu) > li > a:hover::before,
.rtl.using-keyboard .widget.widget_nav_menu ul:not(.sub-menu) > li > a:focus::before {
  margin-right: 0;
  margin-left: 1.2rem;
}

.rtl .bloglo-nav .menu-item-has-children>a>.bloglo-icon,
.rtl .bloglo-nav .page_item_has_children>a>.bloglo-icon {
  margin-left: 0;
  margin-right: 0.4rem;
}

.rtl .bloglo-layout__boxed-separated.bloglo-sidebar-position__left-sidebar.bloglo-sidebar-style-3 #primary {
  padding-left: 0;
  padding-right: 3.5rem;
}

.rtl .bloglo-hover-slider .hover-slider-items > div {
  border-right: 0;
}

.rtl .bloglo-hover-slider .hover-slider-items > div:not(:last-child) {
  border-left: .1rem solid rgba(255,255,255,0.2);
}404.php000064400000001276152425655550005610 0ustar00<?php
/**
 * The template for displaying 404 pages (not found).
 *
 * @link https://codex.wordpress.org/Creating_an_Error_404_Page
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<?php get_header(); ?>

<div class="bloglo-container">

	<div id="primary" class="content-area">

		<?php do_action( 'bloglo_before_content' ); ?>

		<main id="content" class="site-content" role="main"<?php bloglo_schema_markup( 'main' ); ?>>

			<?php do_action( 'bloglo_content_404' ); ?>

		</main><!-- #content .site-content -->

		<?php do_action( 'bloglo_after_content' ); ?>

	</div><!-- #primary .content-area -->

</div><!-- END .bloglo-container -->

<?php
get_footer();
header.php000064400000002477152425655550006535 0ustar00<?php
/**
 * The header for our theme.
 *
 * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>
<!DOCTYPE html>
<html <?php language_attributes(); ?><?php bloglo_schema_markup( 'html' ); ?> <?php echo bloglo_option( 'dark_mode' ) ? 'data-theme="dark"' : ''; ?>>
<head>
	<meta charset="<?php bloginfo( 'charset' ); ?>">
	<link rel="profile" href="http://gmpg.org/xfn/11">
	<?php wp_head(); ?>
</head>

<body <?php body_class(); ?>>

<?php wp_body_open(); ?>

<?php do_action( 'bloglo_before_page_wrapper' ); ?>
<div id="page" class="hfeed site">
	<a class="skip-link screen-reader-text" href="#main"><?php esc_html_e( 'Skip to content', 'bloglo' ); ?></a>

	<?php
	if ( get_header_image() ) {
		the_custom_header_markup();
	}
	?>

	<?php do_action( 'bloglo_before_masthead' ); ?>

	<header id="masthead" class="site-header" role="banner"<?php bloglo_masthead_atts(); ?><?php bloglo_schema_markup( 'header' ); ?>>
		<?php do_action( 'bloglo_header' ); ?>
		<?php do_action( 'bloglo_page_header' ); ?>
	</header><!-- #masthead .site-header -->

	<?php do_action( 'bloglo_after_masthead' ); ?>

	<?php do_action( 'bloglo_before_main' ); ?>
		<div id="main" class="site-main">

			<?php do_action( 'bloglo_main_start' ); ?>
singular.php000064400000002205152425655550007116 0ustar00<?php
/**
 * The template for displaying all pages, single posts and attachments.
 *
 * This is a new template file that WordPress introduced in
 * version 4.3.
 *
 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

?>

<?php
get_header();

do_action( 'bloglo_before_singular_container' );
?>

<?php do_action( 'bloglo_before_container' ); ?>

<div class="bloglo-container">

	<div id="primary" class="content-area">

		<?php do_action( 'bloglo_before_content' ); ?>

		<main id="content" class="site-content" role="main"<?php bloglo_schema_markup( 'main' ); ?>>

			<?php
			do_action( 'bloglo_before_singular' );

			do_action( 'bloglo_content_singular' );

			do_action( 'bloglo_after_singular' );
			?>

		</main><!-- #content .site-content -->

		<?php do_action( 'bloglo_after_content' ); ?>

	</div><!-- #primary .content-area -->

	<?php do_action( 'bloglo_sidebar' ); ?>

</div><!-- END .bloglo-container -->

<?php do_action( 'bloglo_after_container' ); ?>

<?php
do_action( 'bloglo_after_singular_container' );
get_footer();
inc/index.php000064400000000225152425655550007152 0ustar00<?php
/**
 * Index file
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/* Silence is golden, and we agree. */
inc/customizer/controls/textarea/class-bloglo-customizer-control-textarea.php000064400000004701152425655550024006 0ustar00<?php
/**
 * Bloglo Customizer custom textarea control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Textarea' ) ) :
	/**
	 * Bloglo Customizer custom select control class.
	 */
	class Bloglo_Customizer_Control_Textarea extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-textarea';

		/**
		 * Placeholder text.
		 *
		 * @since 1.0.0
		 * @var string|false
		 */
		public $placeholder = '';

		/**
		 * Textarea rows parameter.
		 *
		 * @since 1.0.0
		 * @var string|false
		 */
		public $rows = '5';

		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();
			$this->json['rows']        = $this->rows;
			$this->json['placeholder'] = $this->placeholder;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-control-wrapper bloglo-textarea-wrapper">

				<label>
					<# if ( data.label ) { #>
						<div class="customize-control-title">
							<span>{{{ data.label }}}</span>

							<# if ( data.description ) { #>
								<i class="bloglo-info-icon">
									<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
										<circle cx="12" cy="12" r="10"></circle>
										<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
										<line x1="12" y1="17" x2="12" y2="17"></line>
									</svg>
									<span class="bloglo-tooltip">{{{ data.description }}}</span>
								</i>
							<# } #>
						</div>
					<# } #>

					<textarea rows="{{ data.rows }}" placeholder="{{ data.placeholder }}" {{{ data.link }}}>{{ data.value }}</textarea>

				</label>

			</div><!-- END .bloglo-control-wrapper -->
			<?php
		}
	}
endif;
inc/customizer/controls/repeater/class-bloglo-customizer-control-repeater.php000064400000230343152425655550023775 0ustar00<?php
/**
 * Customizer Repeatable control class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Repeater' ) ) :

	/**
	 * Customizer Repeatable control class.
	 */
	class Bloglo_Customizer_Control_Repeater extends Bloglo_Customizer_Control {
		/**
		 * The type of customize control being rendered.
		 *
		 * @since  1.0.0
		 * @access public
		 * @var    string
		 */
		public $type = 'bloglo-repeater';

		/**
		 * Repreater fields
		 *
		 * @var array
		 */
		public $fields = array();

		/**
		 * Live title id to update repeater heading
		 *
		 * @var string
		 */
		public $live_title_id = null;

		/**
		 * Title format
		 *
		 * @var string
		 */
		public $title_format = null;
		/**
		 * Defined values
		 *
		 * @var array
		 */
		public $defined_values = null;
		/**
		 * Key Id
		 *
		 * @var string
		 */
		public $id_key = null;
		/**
		 * Limited message
		 *
		 * @var string
		 */
		public $limited_msg = null;
		/**
		 * Add new button text
		 *
		 * @var string
		 */
		public $add_text = null;

		/**
		 * Set the default options.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) {
			parent::__construct( $manager, $id, $args );
			if ( empty( $args['fields'] ) || ! is_array( $args['fields'] ) ) {
				$args['fields'] = array();
			}
			foreach ( $args['fields'] as $key => $op ) {
				$args['fields'][ $key ]['id'] = $key;
				if ( ! isset( $op['value'] ) ) {
					if ( isset( $op['default'] ) ) {
						$args['fields'][ $key ]['value'] = $op['default'];
					} else {
						$args['fields'][ $key ]['value'] = '';
					}
				}
			}

			$this->fields         = $args['fields'];
			$this->live_title_id  = isset( $args['live_title_id'] ) ? $args['live_title_id'] : false;
			$this->defined_values = isset( $args['defined_values'] ) ? $args['defined_values'] : false;
			$this->id_key         = isset( $args['id_key'] ) ? $args['id_key'] : false;
			if ( isset( $args['title_format'] ) && '' !== $args['title_format'] ) {
				$this->title_format = $args['title_format'];
			} else {
				$this->title_format = '';
			}
			if ( isset( $args['limited_msg'] ) && '' !== $args['limited_msg'] ) {
				$this->limited_msg = $args['limited_msg'];
			} else {
				$this->limited_msg = '';
			}
			if ( ! isset( $args['max_item'] ) ) {
				$args['max_item'] = 0;
			}
			if ( ! isset( $args['allow_unlimited'] ) || false !== $args['allow_unlimited'] ) {
				$this->max_item = apply_filters( 'bloglo_reepeatable_max_item', absint( $args['max_item'] ) );
			} else {
				$this->max_item = absint( $args['max_item'] );
			}
			$this->changeable          = isset( $args['changeable'] ) && 'no' === $args['changeable'] ? 'no' : 'yes';
			$this->default_empty_title = isset( $args['default_empty_title'] ) && '' !== $args['default_empty_title'] ? $args['default_empty_title'] : esc_html__( 'Item', 'bloglo' );

			add_action( 'customize_controls_print_footer_scripts', array( __CLASS__, 'item_tpl' ), 66 );
			add_action( 'customize_controls_enqueue_scripts', array( $this, 'bloglo_customize_controls_enqueue_scripts' ) );
		}

		/**
		 * Merge fields data
		 *
		 * @param array $array_value field values.
		 * @param array $array_default default field values.
		 * @return array
		 */
		public function merge_data( $array_value, $array_default ) {
			if ( ! $this->id_key ) {
				return $array_value;
			}
			if ( ! is_array( $array_value ) ) {
				$array_value = array();
			}
			if ( ! is_array( $array_default ) ) {
				$array_default = array();
			}
			$new_array = array();
			foreach ( $array_value as $k => $a ) {
				if ( is_array( $a ) ) {
					if ( isset( $a[ $this->id_key ] ) && '' !== $a[ $this->id_key ] ) {
						$new_array[ $a[ $this->id_key ] ] = $a;
					} else {
						$new_array[ $k ] = $a;
					}
				}
			}
			foreach ( $array_default as $k => $a ) {
				if ( is_array( $a ) && isset( $a[ $this->id_key ] ) ) {
					if ( ! isset( $new_array[ $a[ $this->id_key ] ] ) ) {
						$new_array[ $a[ $this->id_key ] ] = $a;
					}
				}
			}
			return array_values( $new_array );
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();
			$value = $this->value();
			if ( is_string( $value ) ) {
				$value = json_decode( $value, true );
			}
			if ( empty( $value ) ) {
				$value = $this->defined_values;
			} elseif ( is_array( $this->defined_values ) && ! empty( $this->defined_values ) ) {
				$value = $this->merge_data( $value, $this->defined_values );
			}
			$this->json['live_title_id']       = $this->live_title_id;
			$this->json['title_format']        = $this->title_format;
			$this->json['max_item']            = $this->max_item;
			$this->json['limited_msg']         = $this->limited_msg;
			$this->json['changeable']          = $this->changeable;
			$this->json['default_empty_title'] = $this->default_empty_title;
			$this->json['add_text']            = $this->add_text ?? __( 'Add new item', 'bloglo' );
			$this->json['value']               = $value;
			$this->json['id_key']              = $this->id_key;
			$this->json['fields']              = $this->fields;

			$this->json['l10n'] = array(
				'image' => array(
					'placeholder'  => __( 'No image selected', 'bloglo' ),
					'less'         => __( 'Less Settings', 'bloglo' ),
					'more'         => __( 'Advanced', 'bloglo' ),
					'select_image' => __( 'Select Image', 'bloglo' ),
					'use_image'    => __( 'Use This Image', 'bloglo' ),
				),
			);

		}

		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {

			parent::enqueue();

			// Script debug.
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			// Enqueue background image stylesheet.
			if ( in_array( 'button_set', array_values( array_column( $this->fields, 'type' ) ), true ) ) {
				wp_enqueue_style(
					'bloglo-background-alignment-style',
					BLOGLO_THEME_URI . '/inc/customizer/controls/alignment/alignment' . $bloglo_suffix . '.css',
					false,
					BLOGLO_THEME_VERSION,
					'all'
				);
			}

			// Enqueue background image stylesheet.
			if ( in_array( 'background', array_values( array_column( $this->fields, 'type' ) ), true ) ) {
				wp_enqueue_style(
					'bloglo-background-control-style',
					BLOGLO_THEME_URI . '/inc/customizer/controls/background/background' . $bloglo_suffix . '.css',
					false,
					BLOGLO_THEME_VERSION,
					'all'
				);
			}
		}

		/**
		 * Item template to for repeatable
		 *
		 * @return void
		 */
		public static function item_tpl() {
			?>
		<script type="text/html" id="repeatable-js-item-tpl">
			<?php self::js_item(); ?>
		</script>
			<?php
		}

		/**
		 * Render the control to be displayed in the Customizer.
		 */
		public function content_template() {
			?>

		<# if ( data.label ) {   #>
			<div class="bloglo-control-heading customize-control-title bloglo-field bloglo-control-wrapper">
				<div class="customize-control-title">
				<span>{{{ data.label }}}</span>

				<# if ( data.description ) { #>
					<i class="bloglo-info-icon">
						<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
							<circle cx="12" cy="12" r="10"></circle>
							<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
							<line x1="12" y1="17" x2="12" y2="17"></line>
						</svg>
						<span class="bloglo-tooltip">{{{ data.description }}}</span>
					</i>
				<# } #>
				</div>
			</div>
		<# } #>
		<input data-hidden-value type="hidden" value="" {{{ data.link }}} />
		<div class="form-data">
			<ul class="list-repeatable"></ul>
		</div>
		<div class="repeatable-actions">
			<span class="button-secondary add-new-repeat-item">
				{{data.add_text}}
			</span>
		</div>

			<?php
		}

		/**
		 * Repeatable field items.
		 *
		 * @return void
		 */
		public static function js_item() {
			?>
			
		<li class="repeatable-customize-control">
			<div class="widget">
				<div class="widget-top">
					<div class="widget-title-action">
						<a class="widget-action" href="#"></a>
					</div>
					<div class="widget-title">
						<h4 class="live-title"><?php esc_html_e( 'Item', 'bloglo' ); ?></h4>
					</div>
				</div> 
				<div class="widget-inside">
					<div class="form">
						<div class="widget-content">
							<# var cond_v; #>
							<# for ( i in data ) { #>
								<# if ( ! data.hasOwnProperty( i ) ) continue; #>
								<# field = data[i]; #>
								<# if ( ! field.type ) continue; #>
								<# if ( field.type ){ #>
									<#
									if ( ! _.isEmpty( field.required  ) ) {
										#>
										<div data-field-id="{{ field.id }}" class="field--item conditionize item item-{{ field.type }} item-{{ field.id }}" data-cond="{{ JSON.stringify( field.required ) }}" >
										<#
									} else {
										#>
										<div data-field-id="{{ field.id }}"  class="field--item item item-{{ field.type }} item-{{ field.id }}" >
										<#
									}
									#>
										<# if ( field.type !== 'checkbox' ) { #>
											<# if ( field.title && field.type != 'design-options' ) { #>
												<div class="bloglo-control-heading bloglo-control-wrapper">
													<div class="customize-control-title">
														<span>{{{ field.title }}}</span>

														<# if ( field.desc ) { #>
															<i class="bloglo-info-icon">
																<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
																	<circle cx="12" cy="12" r="10"></circle>
																	<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
																	<line x1="12" y1="17" x2="12" y2="17"></line>
																</svg>
																<span class="bloglo-tooltip">{{{ field.desc }}}</span>
															</i>
														<# } #>
													</div>
												</div>
											<# } #>
										<# } #>
										<# if ( field.type === 'hidden' ) { #>
											<input data-live-id="{{ field.id }}" type="hidden" value="{{ field.value }}" data-repeat-name="_items[__i__][{{ field.id }}]" class="">
										<# } else if ( field.type === 'add_by' ) { #>
											<input data-live-id="{{ field.id }}" type="hidden" value="{{ field.value }}" data-repeat-name="_items[__i__][{{ field.id }}]" class="add_by">
										<# } else if ( field.type === 'text' ) { #>
											<input data-live-id="{{ field.id }}" type="text" value="{{ field.value }}" data-repeat-name="_items[__i__][{{ field.id }}]" class="">
										<# } else if ( field.type === 'url' ) { #>
											<input data-live-id="{{ field.id }}" type="url" value="{{ field.value }}" data-repeat-name="_items[__i__][{{ field.id }}]" class="">
										<# } else if ( field.type === 'checkbox' ) { #>
											<# if ( field.title ) { #>
												<label class="checkbox-label">
													<input data-live-id="{{ field.id }}" type="checkbox" <# if ( field.value ) { #> checked="checked" <# } #> value="1" data-repeat-name="_items[__i__][{{ field.id }}]" class="">
													{{ field.title }}</label>
											<# } #>
											<# if ( field.desc ) { #>
											<p class="field-desc description">{{ field.desc }}</p>
											<# } #>
										<# } else if ( field.type === 'select' ) { #>
											<# if ( field.multiple ) { #>
												<select data-live-id="{{ field.id }}"  class="select-multiple" multiple="multiple" data-repeat-name="_items[__i__][{{ field.id }}][]">
											<# } else  { #>
												<select data-live-id="{{ field.id }}"  class="select-one" data-repeat-name="_items[__i__][{{ field.id }}]">
											<# } #>
												<# for ( k in field.options ) { #>
													<# if ( _.isArray( field.value ) ) { #>
														<option <# if ( _.contains( field.value , k ) ) { #> selected="selected" <# } #>  value="{{ k }}">{{ field.options[k] }}</option>
													<# } else { #>
														<option <# if ( field.value == k ) { #> selected="selected" <# } #>  value="{{ k }}">{{ field.options[k] }}</option>
													<# } #>
												<# } #>
											</select>
										<# } else if ( field.type === 'radio' ) { #>
											<# for ( k in field.options ) { #>
												<# if ( field.options.hasOwnProperty( k ) ) { #>
													<label>
														<input data-live-id="{{ field.id }}"  type="radio" <# if ( field.value == k ) { #> checked="checked" <# } #> value="{{ k }}" data-repeat-name="_items[__i__][{{ field.id }}]" class="widefat">
														{{ field.options[k] }}
													</label>
												<# } #>
											<# } #>
										<# } else if ( field.type === 'button_set' ) { #>
											<div class="bloglo-alignment-control button_set">
												<div class="button-group bloglo-middle">
											<# for ( k in field.options ) { #>
												<# if ( field.options.hasOwnProperty( k ) ) { #>
													<label class="bloglo-{{ k }}">
														<input data-live-id="{{ field.id }}" class="screen-reader-text" data-repeat-name="_items[__i__][{{ field.id }}]" type="radio" <# if ( field.value == k ) { #> checked="checked" <# } #> value="{{ k }}" >
														<span class="button display-options position">
															<span class="{{ field.options[k] }}" aria-hidden="true"></span>
														</span>
														<span class="screen-reader-text">{{{ k }}}</span>
													</label>
												<# } #>
											<# } #>
												</div>
											</div>
										<# } else if ( field.type == 'color' || field.type == 'coloralpha'  ) { #>
											<# if ( field.value !='' ) { field.value = '#'+field.value ; }  #>
											<input data-live-id="{{ field.id }}" data-show-opacity="true" type="text" value="{{ field.value }}" data-repeat-name="_items[__i__][{{ field.id }}]" class="color-field c-{{ field.type }} alpha-color-control">
										<# } else if ( field.type == 'media' ) { #>
											<# if ( !field.media  || field.media == '' || field.media =='image' ) {  #>
												<input type="hidden" value="{{ field.value.url }}" data-repeat-name="_items[__i__][{{ field.id }}][url]" class="image_url widefat">
											<# } else { #>
												<input type="text" value="{{ field.value.url }}" data-repeat-name="_items[__i__][{{ field.id }}][url]" class="image_url widefat">
											<# } #>
											<input type="hidden" data-live-id="{{ field.id }}"  value="{{ field.value.id }}" data-repeat-name="_items[__i__][{{ field.id }}][id]" class="image_id widefat">
											<# if ( !field.media  || field.media == '' || field.media =='image' ) {  #>
											<div class="current <# if ( field.value.url !== '' ){ #> show <# } #>">
												<div class="container">
													<div class="attachment-media-view attachment-media-view-image landscape">
														<div class="thumbnail thumbnail-image">
															<# if ( field.value.url !== '' ){ #>
																<img src="{{ field.value.url }}" alt="">
															<# } #>
														</div>
													</div>
												</div>
											</div>
											<# } #>
											<div class="actions">
												<button class="button remove-button " <# if ( ! field.value.url ){ #> style="display:none"; <# } #> type="button"><?php esc_html_e( 'Remove', 'bloglo' ); ?></button>
												<button class="button upload-button" data-media="{{field.media}}" data-add-txt="<?php esc_attr_e( 'Add', 'bloglo' ); ?>" data-change-txt="<?php esc_attr_e( 'Change', 'bloglo' ); ?>" type="button"><# if ( ! field.value.url  ){ #> <?php esc_html_e( 'Add', 'bloglo' ); ?> <# } else { #> <?php esc_html_e( 'Change', 'bloglo' ); ?> <# } #> </button>
												<div style="clear:both"></div>
											</div>
										<# } else if ( field.type == 'textarea' || field.type == 'editor' ) { #>
											<textarea rows="5" data-live-id="{{{ field.id }}}" data-repeat-name="_items[__i__][{{ field.id }}]">{{ field.value }}</textarea>
										<# } else if ( field.type == 'icon'  ) { #>
											<#
												var icon_class = field.value;
												if ( icon_class.indexOf( 'fa-' ) != 0 ) {
													icon_class = 'fa-' + field.value;
												} else {
													icon_class = icon_class.replace( 'fa ', '' );
												}
												icon_class = icon_class.replace( 'fa-fa', '' );
												#>
											<div class="icon-wrapper">
												<i class="fa {{ icon_class }}"></i>
												<input data-live-id="{{ field.id }}" type="hidden" value="{{ field.value }}" data-repeat-name="_items[__i__][{{ field.id }}]" class="">
											</div>
											<a href="#" class="remove-icon"><?php esc_html_e( 'Remove', 'bloglo' ); ?></a>
											<# } else if(field.type == 'gradient'){ #>

												<div data-dep-field="background-type" data-dep-value="gradient">

													<!-- Color 1 -->
													<div class="popup-element color-element style-1">
														<label for="gradient-color-1-{{ field.id }}"><?php esc_html_e( 'Color 1', 'bloglo' ); ?></label>
														<input data-live-id="{{ field.id }}" type="text" value="{{ field.value['gradient-color-1'] }}" data-repeat-name="_items[__i__][{{ field.id }}][gradient-color-1]" class="color-field c-coloralpha alpha-color-control">
													</div>

													<!-- Color 1 Location -->
													<div class="bloglo-range-wrapper popup-element color-element style-2" data-option-id="gradient-color-1-location">
														<label for="gradient-color-1-location-{{ field.id }}"><?php esc_html_e( 'Color location', 'bloglo' ); ?></label>

														<div class="bloglo-control-wrap">
															<input 
																type="range" 
																value="{{field.value['gradient-color-1-location']}}" 
																data-repeat-name="_items[__i__][{{ field.id }}][gradient-color-1-location]"
																min="0" 
																max="100" 
																step="1" />

															<input 
																type="number" 
																class="bloglo-range-input" 
																value="{{field.value['gradient-color-1-location']}}"
																data-repeat-name="_items[__i__][{{ field.id }}][gradient-color-1-location]"
																data-option="gradient-color-1-location" />
														</div>
													</div>

													<!-- Color 2 -->
													<div class="popup-element color-element style-1">
														<label for="gradient-color-2-{{ field.id }}"><?php esc_html_e( 'Color 2', 'bloglo' ); ?></label>

														<input class="color-field c-coloralpha alpha-color-control" data-repeat-name="_items[__i__][{{ field.id }}][gradient-color-2]"  type="text"  value="{{field.value['gradient-color-2']}}" data-show-opacity="true" />
													</div>

													<!-- Color 2 Location -->
													<div class="bloglo-range-wrapper popup-element color-element style-2" data-option-id="gradient-color-2-location">
														<label for="gradient-color-2-location-{{ field.id }}"><?php esc_html_e( 'Color location', 'bloglo' ); ?></label>

														<div class="bloglo-control-wrap">
															<input 
																type="range" 
																value="{{field.value['gradient-color-2-location']}}" 
																data-repeat-name="_items[__i__][{{ field.id }}][gradient-color-2-location]"
																min="0" 
																max="100" 
																step="1" />

															<input 
																type="number" 
																class="bloglo-range-input" 
																value="{{field.value['gradient-color-2-location']}}"
																data-repeat-name="_items[__i__][{{ field.id }}][gradient-color-2-location]"
																data-option="gradient-color-2-location" />
														</div>
													</div>

													<!-- Type -->
													<div class="bloglo-select-wrapper popup-element style-1">
														<label for="gradient-type-{{ field.id }}"><?php esc_html_e( 'Gradient type', 'bloglo' ); ?></label>
														<div class="popup-input-wrapper">
															<select data-option="gradient-type" id="gradient-type-{{ field.id }}" data-repeat-name="_items[__i__][{{ field.id }}][gradient-type]">
																<option value="linear"<# if ( 'linear' === field.value['gradient-type'] ) { #> selected="selected"<# } #>><?php esc_html_e( 'Linear', 'bloglo' ); ?></option>
																<option value="radial"<# if ( 'radial' === field.value['gradient-type'] ) { #> selected="selected"<# } #>><?php esc_html_e( 'Radial', 'bloglo' ); ?></option>
															</select>
														</div>
													</div>

													<!-- Linear Angle -->
													<div data-dep-field="gradient-type" data-dep-value="linear" class="bloglo-range-wrapper popup-element color-element style-2" data-option-id="gradient-linear-angle">
														<label for="gradient-angle-{{ field.id }}"><?php esc_html_e( 'Angle', 'bloglo' ); ?></label>

														<div class="bloglo-control-wrap">
															<input 
																type="range" 
																data-repeat-name="_items[__i__][{{ field.id }}][gradient-angle]"
																value="{{field.value['gradient-linear-angle']}}" 
																min="0" 
																max="360" 
																step="1" />

															<input 
																type="number" 
																class="bloglo-range-input" 
																data-repeat-name="_items[__i__][{{ field.id }}][gradient-angle]"
																value="{{field.value['gradient-linear-angle']}}"
																data-option="gradient-linear-angle" />
														</div>
													</div>

													<!-- Radial Position -->
													<div data-dep-field="gradient-type" data-dep-value="radial" class="bloglo-select-wrapper popup-element style-1">
														<label for="gradient-position-{{ field.id }}"><?php esc_html_e( 'Position', 'bloglo' ); ?></label>
														<div class="popup-input-wrapper">
															<!-- <# var choices = 
																{'center center':'Center Center', 
																'center left':'Center Left',
																'center right': 'Center Right' ,
																'top center':'Top Center',
																'top left':'Top Left',
																'top right' : 'Top Right',
																'bottom center' : 'Bottom Center',
																'bottom left' : 'Bottom Left',
																'bottom right' : 'Bottom Right'}
																; #>
															<select data-option="gradient-position" id="gradient-position-{{ field.id }}">
															<# _.each( choices, function( value, key ){#>
																<option value="{{ key }}"<# if ( key === field.value['gradient-position'] ) { #> selected="selected"<# } #>>{{{ value }}}</option>
															<# }); #>
															</select> -->

															<?php
																$choices = array(
																	'center center' => esc_html__( 'Center Center', 'bloglo' ),
																	'center left' => esc_html__( 'Center Left', 'bloglo' ),
																	'center right' => esc_html__( 'Center Right', 'bloglo' ),
																	'top center' => esc_html__( 'Top Center', 'bloglo' ),
																	'top left' => esc_html__( 'Top Left', 'bloglo' ),
																	'top right' => esc_html__( 'Top Right', 'bloglo' ),
																	'bottom center' => esc_html__( 'Bottom Center', 'bloglo' ),
																	'bottom left' => esc_html__( 'Bottom Left', 'bloglo' ),
																	'bottom right' => esc_html__( 'Bottom Right', 'bloglo' ),
																);
																?>

															<select data-option="gradient-position" id="gradient-position-{{ field.id }}"  data-repeat-name="_items[__i__][{{ field.id }}][gradient-position]">
																<?php foreach ( $choices  as $key => $value ) { ?>
																	<option value="<?php echo esc_attr( $key ); ?>"<# if ( '<?php echo esc_attr( $key ); ?>' === field.value['gradient-position'] ) { #> selected="selected"<# } #>><?php echo esc_html( $value ); ?></option>
																<?php } ?>
															</select>

														</div>
													</div>
												</div>
												<# } else if(field.type == 'design-options') { #> 
													<div class="bloglo-design-options-wrapper bloglo-popup-options bloglo-control-wrapper">
													<div class="bloglo-design-options-heading">
														<# if ( field.title ) { #>
															<span class="customize-control-title">{{{ field.title }}}</span>
														<# } #>

														<# if ( field.desc ) { #>
															<span class="description customize-control-description">{{{ field.desc }}}</span>
														<# } #>
													</div>

													<!-- <a href="#" class="reset-defaults">
														<span class="dashicons dashicons-image-rotate"></span>
													</a> -->

													<a href="#" class="popup-link">
														<span class="dashicons dashicons-edit"></span>
													</a>

													<div class="hidden popup-content">

														<# if ( 'background' in field.display ) { #>

															<!-- Background Type -->
															<div class="bloglo-select-wrapper popup-element style-1">
																<label for="background-type-{{ field.id }}"><?php esc_html_e( 'Background type', 'bloglo' ); ?></label>
																<div class="popup-input-wrapper">
																	<select data-live-id="{{{ field.id }}}" data-repeat-name="_items[__i__][{{ field.id }}][background-type]" data-option="background-type" id="background-type-{{ field.id }}">
																		<# _.each( field.display['background'], function( value, key ){ #>
																			<option value="{{ key }}"<# if ( key === field.value['background-type'] ) { #> selected="selected"<# } #>>{{{ value }}}</option>
																		<# }); #>
																	</select>
																</div>
															</div>

															<# if ( 'color' in field.display['background'] ) { #>

																<div data-dep-field="background-type" data-dep-value="color">
																	<!-- Background Color -->
																	<div class="popup-element color-element style-1">
																		<label for="background-color-{{ field.id }}"><?php esc_html_e( 'Background color', 'bloglo' ); ?></label>

																		<input  class="color-field c-coloralpha alpha-color-control" data-live-id="{{ field.id }}" data-repeat-name="_items[__i__][{{ field.id }}][background-color]" data-option="background-color" type="text" value="{{field.value['background-color']}}" data-show-opacity="true" data-default-color="{{field.value['background-color']}}" />
																	</div>
																</div>
															<# } #>

															<# if ( 'gradient' in field.display['background'] ) { #>

																<div data-dep-field="background-type" data-dep-value="gradient">

																	<!-- Color 1 -->
																	<div class="popup-element color-element style-1">
																		<label for="gradient-color-1-{{ field.id }}"><?php esc_html_e( 'Color 1', 'bloglo' ); ?></label>

																		<input class="color-field c-coloralpha alpha-color-control" data-live-id="{{ field.id }}" data-repeat-name="_items[__i__][{{ field.id }}][gradient-color-1]" data-option="gradient-color-1" type="text" value="{{field.value['gradient-color-1']}}" data-show-opacity="true" data-default-color="{{field.value['gradient-color-1']}}" />
																	</div>

																	<!-- Color 1 Location -->
																	<div class="bloglo-range-wrapper popup-element color-element style-2" data-option-id="gradient-color-1-location">
																		<label for="gradient-color-1-location-{{ field.id }}"><?php esc_html_e( 'Color location', 'bloglo' ); ?></label>

																		<div class="bloglo-control-wrap">
																			<input 
																				type="range" 
																				value="{{field.value['gradient-color-1-location']}}" 
																				min="0" 
																				max="100" 
																				step="1" />

																			<input 
																				type="number" 
																				class="bloglo-range-input" 
																				value="{{field.value['gradient-color-1-location']}}"
																				data-repeat-name="_items[__i__][{{ field.id }}][gradient-color-1-location]"
																				data-option="gradient-color-1-location" />
																		</div>
																	</div>

																	<!-- Color 2 -->
																	<div class="popup-element color-element style-1">
																		<label for="gradient-color-2-{{ field.id }}"><?php esc_html_e( 'Color 2', 'bloglo' ); ?></label>

																		<input class="color-field c-coloralpha alpha-color-control" data-live-id="{{ field.id }}" data-repeat-name="_items[__i__][{{ field.id }}][gradient-color-2]"  data-option="gradient-color-2" type="text" value="{{field.value['gradient-color-2']}}" data-show-opacity="true" data-default-color="{{field.value['gradient-color-2']}}" />
																	</div>

																	<!-- Color 2 Location -->
																	<div class="bloglo-range-wrapper popup-element color-element style-2" data-option-id="gradient-color-2-location">
																		<label for="gradient-color-2-location-{{ field.id }}"><?php esc_html_e( 'Color location', 'bloglo' ); ?></label>

																		<div class="bloglo-control-wrap">
																			<input 
																				type="range" 
																				value="{{field.value['gradient-color-2-location']}}" 
																				min="0" 
																				max="100" 
																				step="1" />

																			<input 
																				type="number" 
																				class="bloglo-range-input" 
																				value="{{field.value['gradient-color-2-location']}}"
																				data-repeat-name="_items[__i__][{{ field.id }}][gradient-color-2-location]" 
																				data-option="gradient-color-2-location" />
																		</div>
																	</div>

																	<!-- Type -->
																	<div class="bloglo-select-wrapper popup-element style-1">
																		<label for="gradient-type-{{ field.id }}"><?php esc_html_e( 'Gradient type', 'bloglo' ); ?></label>
																		<div class="popup-input-wrapper">
																			<select data-repeat-name="_items[__i__][{{ field.id }}][gradient-type]"  data-option="gradient-type" id="gradient-type-{{ field.id }}" data-live-id="{{{ field.id }}}">
																				<option value="linear"<# if ( 'linear' === field.value['gradient-type'] ) { #> selected="selected"<# } #>><?php esc_html_e( 'Linear', 'bloglo' ); ?></option>
																				<option value="radial"<# if ( 'radial' === field.value['gradient-type'] ) { #> selected="selected"<# } #>><?php esc_html_e( 'Radial', 'bloglo' ); ?></option>
																			</select>
																		</div>
																	</div>

																	<!-- Linear Angle -->
																	<div data-dep-field="gradient-type" data-dep-value="linear" class="bloglo-range-wrapper popup-element color-element style-2" data-option-id="gradient-linear-angle">
																		<label for="gradient-angle-{{ field.id }}"><?php esc_html_e( 'Angle', 'bloglo' ); ?></label>

																		<div class="bloglo-control-wrap">
																			<input 
																				type="range" 
																				value="{{field.value['gradient-linear-angle']}}" 
																				min="0" 
																				max="360" 
																				step="1" />

																			<input 
																				type="number" 
																				class="bloglo-range-input" 
																				value="{{field.value['gradient-linear-angle']}}"
																				data-repeat-name="_items[__i__][{{ field.id }}][gradient-linear-angle]" 
																				data-option="gradient-linear-angle" />
																		</div>
																	</div>

																	<!-- Radial Position -->
																	<div data-dep-field="gradient-type" data-dep-value="radial" class="bloglo-select-wrapper popup-element style-1">
																		<label for="gradient-position-{{ field.id }}"><?php esc_html_e( 'Gradinet position', 'bloglo' ); ?></label>
																		<div class="popup-input-wrapper">
																			<?php
																				$choices = array(
																					'center center' => esc_html__( 'Center Center', 'bloglo' ),
																					'center left' => esc_html__( 'Center Left', 'bloglo' ),
																					'center right' => esc_html__( 'Center Right', 'bloglo' ),
																					'top center' => esc_html__( 'Top Center', 'bloglo' ),
																					'top left' => esc_html__( 'Top Left', 'bloglo' ),
																					'top right' => esc_html__( 'Top Right', 'bloglo' ),
																					'bottom center' => esc_html__( 'Bottom Center', 'bloglo' ),
																					'bottom left' => esc_html__( 'Bottom Left', 'bloglo' ),
																					'bottom right' => esc_html__( 'Bottom Right', 'bloglo' ),
																				);
																				?>

																			<select data-option="gradient-position" id="gradient-position-{{ field.id }}"  data-repeat-name="_items[__i__][{{ field.id }}][gradient-position]">
																				<?php foreach ( $choices  as $key => $value ) { ?>
																					<option value="<?php echo esc_attr( $key ); ?>"<# if ( '<?php echo esc_attr( $key ); ?>' === field.value['gradient-position'] ) { #> selected="selected"<# } #> ><?php echo esc_html( $value ); ?></option>
																				<?php } ?>
																			</select>
																		</div>
																	</div>
																</div>
															<# } #>

															<# if ( 'image' in field.display['background'] ) { #>

																<div class="bloglo-background-wrapper" data-dep-field="background-type" data-dep-value="image">

																	<!-- Background Image -->
																	<div class="background-image">

																		<div class="attachment-media-view background-image-upload">

																			<# if ( field.value['background-image'] ) { #>
																				<div class="thumbnail thumbnail-image"><img src="{{ field.value['background-image'] }}" alt="" /></div>
																			<# } else { #>
																				<div class="placeholder"><?php esc_html_e( 'No image selected', 'bloglo' ); ?></div>
																			<# } #>

																			<input type="hidden" data-live-id="{{{ field.id }}}" data-repeat-name="_items[__i__][{{ field.id }}][background-image]" data-option="background-image" value="{{ field.value['background-image'] }}" />

																			<div class="actions">

																				<button class="button background-image-upload-remove-button<# if ( ! field.value['background-image'] ) { #> hidden<# } #>"><?php esc_html_e( 'Remove', 'bloglo' ); ?></button>

																				<button type="button" class="button background-image-upload-button"><?php esc_html_e( 'Select image', 'bloglo' ); ?></button>

																				<a href="#" class="advanced-settings<# if ( ! field.value['background-image'] ) { #> hidden<# } #>">
																					<span class="message"><?php esc_html_e( 'Advanced', 'bloglo' ); ?></span>
																					<span class="dashicons dashicons-arrow-down"></span>
																				</a>

																			</div>
																		</div>
																	</div>

																	<!-- Background Advanced -->
																	<div class="background-image-advanced">

																		<!-- Background Repeat -->
																		<div class="background-repeat">
																			<select {{{ data.inputAttrs }}} data-live-id="{{{ field.id }}}" data-option="background-repeat" data-repeat-name="_items[__i__][{{ field.id }}][background-repeat]">
																				<option value="no-repeat"<# if ( 'no-repeat' === field.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'No Repeat', 'bloglo' ); ?></option>
																				<option value="repeat"<# if ( 'repeat' === field.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat All', 'bloglo' ); ?></option>
																				<option value="repeat-x"<# if ( 'repeat-x' === field.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat Horizontally', 'bloglo' ); ?></option>
																				<option value="repeat-y"<# if ( 'repeat-y' === field.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat Vertically', 'bloglo' ); ?></option>
																			</select>
																		</div>

																		<!-- Background Position -->
																		<div class="background-position">

																			<h4><?php esc_html_e( 'Background Position', 'bloglo' ); ?></h4>

																			<div class="bloglo-range-wrapper" data-option-id="background-position-x">
																				<span><?php esc_html_e( 'Horizontal', 'bloglo' ); ?></span>
																				<div class="bloglo-control-wrap">
																					<input 
																						type="range" 
																						data-key="background-position-x"
																						value="{{ field.value['background-position-x'] }}" 
																						min="0" 
																						max="100" 
																						step="1" />
																					<input 
																						type="number" 
																						class="bloglo-range-input"
																						data-option="background-position-x"
																						data-repeat-name="_items[__i__][{{ field.id }}][background-position-x]"
																						value="{{ field.value['background-position-x'] }}"  />
																					<span class="bloglo-range-suffix">%</span>
																				</div>
																			</div>

																			<div class="bloglo-range-wrapper" data-option-id="background-position-y">
																				<span><?php esc_html_e( 'Vertical', 'bloglo' ); ?></span>
																				<div class="bloglo-control-wrap">
																					<input 
																						type="range"
																						data-key="background-position-y"
																						value="{{ field.value['background-position-y'] }}" 
																						min="0" 
																						max="100" 
																						step="1" />
																					<input 
																						type="number"
																						class="bloglo-range-input"
																						data-option="background-position-y"
																						data-repeat-name="_items[__i__][{{ field.id }}][background-position-y]"
																						value="{{ field.value['background-position-y'] }}"  />
																					<span class="bloglo-range-suffix">%</span>
																				</div>
																			</div>

																		</div>

																		<!-- Background Size -->
																		<div class="background-size">
																			<h4><?php esc_html_e( 'Background Size', 'bloglo' ); ?></h4>
																			<div class="buttonset">
																				<input {{{ data.inputAttrs }}} data-live-id="{{{ field.id }}}" data-repeat-name="_items[__i__][{{ field.id }}][background-size]" data-option="background-size" class="switch-input screen-reader-text" type="radio" value="cover" id="{{ field.id }}cover" <# if ( 'cover' === field.value['background-size'] ) { #> checked="checked" <# } #>>
																					<label class="switch-label" for="{{ field.id }}cover"><?php esc_html_e( 'Cover', 'bloglo' ); ?></label>
																				</input>
																				<input {{{ data.inputAttrs }}} data-live-id="{{{ field.id }}}" data-repeat-name="_items[__i__][{{ field.id }}][background-size]" data-option="background-size" class="switch-input screen-reader-text" type="radio" value="contain" id="{{ field.id }}contain" <# if ( 'contain' === field.value['background-size'] ) { #> checked="checked" <# } #>>
																					<label class="switch-label" for="{{ field.id }}contain"><?php esc_html_e( 'Contain', 'bloglo' ); ?></label>
																				</input>
																				<input {{{ data.inputAttrs }}} data-live-id="{{{ field.id }}}" data-repeat-name="_items[__i__][{{ field.id }}][background-size]" data-option="background-size" class="switch-input screen-reader-text" type="radio" value="auto" id="{{ field.id }}auto" <# if ( 'auto' === field.value['background-size'] ) { #> checked="checked" <# } #>>
																					<label class="switch-label" for="{{ field.id }}auto"><?php esc_html_e( 'Auto', 'bloglo' ); ?></label>
																				</input>
																			</div>
																		</div>

																		<!-- Background Attachment -->
																		<div class="background-attachment">
																			<h4><?php esc_html_e( 'Background Attachment', 'bloglo' ); ?></h4>
																			<div class="buttonset">
																				<input {{{ data.inputAttrs }}} data-live-id="{{{ field.id }}}" data-repeat-name="_items[__i__][{{ field.id }}][background-attachment]" data-option="background-attachment" lass="switch-input screen-reader-text" type="radio" value="inherit" id="{{ field.id }}inherit" <# if ( 'inherit' === field.value['background-attachment'] ) { #> checked="checked" <# } #>>
																					<label class="switch-label" for="{{ field.id }}inherit"><?php esc_html_e( 'Inherit', 'bloglo' ); ?></label>
																				</input>
																				<input {{{ data.inputAttrs }}} data-live-id="{{{ field.id }}}" data-repeat-name="_items[__i__][{{ field.id }}][background-attachment]" data-option="background-attachment" class="switch-input screen-reader-text" type="radio" value="scroll" id="{{ field.id }}scroll" <# if ( 'scroll' === field.value['background-attachment'] ) { #> checked="checked" <# } #>>
																					<label class="switch-label" for="{{ field.id }}scroll"><?php esc_html_e( 'Scroll', 'bloglo' ); ?></label>
																				</input>
																				<input {{{ data.inputAttrs }}} data-live-id="{{{ field.id }}}" data-repeat-name="_items[__i__][{{ field.id }}][background-attachment]" data-option="background-attachment" class="switch-input screen-reader-text" type="radio" value="fixed" id="{{ field.id }}fixed" <# if ( 'fixed' === field.value['background-attachment'] ) { #> checked="checked" <# } #>>
																					<label class="switch-label" for="{{ field.id }}fixed"><?php esc_html_e( 'Fixed', 'bloglo' ); ?></label>
																				</input>
																			</div>
																		</div>

																		<!-- Background Color Overlay -->
																		<div class="background-color-overlay popup-element color-element style-1">

																			<label for="background-color-overlay-{{ field.id }}"><h4><?php esc_html_e( 'Overlay Color', 'bloglo' ); ?></h4></label>

																			<input class="color-field c-coloralpha alpha-color-control" data-live-id="{{ field.id }}" data-repeat-name="_items[__i__][{{ field.id }}][background-color-overlay]" data-option="background-color-overlay" type="text" value="{{field.value['background-color-overlay']}}" data-show-opacity="true" data-default-color="{{field.value['background-color-overlay']}}" />
																		</div>

																		<!-- Background Image ID -->
																		<input type="hidden" data-option="background-image-id" data-repeat-name="_items[__i__][{{ field.id }}][background-image-id]" value="{{ field.value['background-image-id'] }}" class="background-image-id" />
																	</div>

																</div>
															<# } #>
														<# } #>

														<# if ( 'color' in field.display ) { #>

															<# _.each( field.display['color'], function( title, id ){ #>

																<div class="popup-element color-element style-1">
																	<label for="{{ id }}-{{ field.id }}">{{{ title }}}</label>
																	<input class="color-field c-coloralpha alpha-color-control" data-live-id="{{ field.id }}" data-repeat-name="_items[__i__][{{ field.id }}][{{ id }}]" data-option="{{ id }}" type="text" value="{{field.value[ id ]}}" data-show-opacity="true" data-default-color="{{field.value[ id ]}}" />
																</div>
															<# }); #>

														<# } #>

														<# if ( 'border' in field.display ) { #>

															<# if ( 'width' in field.display['border'] && 'positions' in field.display['border'] ) { #>

																<div class="customize-control-bloglo-spacing popup-element style-2">

																	<label>{{{ field.display['border']['width'] }}}</label>

																	<div class="bloglo-control-wrap">

																		<ul class="active">

																			<# _.each( field.display['border']['positions'], function( title, id ){ #>
																				<li class="spacing-control-wrap spacing-input">
																					<input {{{ data.inputAttrs }}} data-live-id="{{{ field.id }}}" data-repeat-name="_items[__i__][{{ field.id }}][border-{{ id }}-width]" type="number" data-option="border-{{ id }}-width" value="{{{ field.value[ 'border-' + id + '-width' ] }}}" />
																					<span class="bloglo-spacing-label">{{{ title }}}</span>
																				</li>
																			<# }); #>

																			<li class="spacing-control-wrap">
																				<div class="spacing-link-values">
																					<span class="dashicons dashicons-admin-links bloglo-spacing-linked" data-element="{{ field.id }}" title="{{ data.title }}"></span>
																					<span class="dashicons dashicons-editor-unlink bloglo-spacing-unlinked" data-element="{{ field.id }}" title="{{ data.title }}"></span>
																				</div>
																			</li>

																		</ul>
																	</div>
																</div>

															<# } #>

															<# if ( 'style' in field.display['border'] ) { #>
																<!-- Border Style -->
																<div class="bloglo-select-wrapper popup-element style-1">
																	<label for="border-style-{{ field.id }}">{{{ field.display['border']['style'] }}}</label>
																	<div class="popup-input-wrapper">
																		<select data-option="border-style" data-live-id="{{{ field.id }}}" id="border-style-{{ field.id }}" data-repeat-name="_items[__i__][{{ field.id }}][border-style]">
																			<?php
																				$choices = array(
																					'solid' => esc_html__( 'Solid', 'bloglo' ),
																					'dotted' => esc_html__( 'Dotted', 'bloglo' ),
																					'dashed' => esc_html__( 'Dashed', 'bloglo' ),
																				);
																				?>
																				<?php foreach ( $choices  as $key => $value ) { ?>
																				<option value="<?php echo esc_attr( $key ); ?>"<# if ( '<?php echo esc_attr( $key ); ?>' === field.value['border-style'] ) { #> selected="selected"<# } #>><?php echo esc_html( $value ); ?></option>
																			<?php } ?>
																		</select>
																	</div>
																</div>
															<# } #>

															<# if ( 'color' in field.display['border'] ) { #>
																<!-- Border Color -->
																<div class="popup-element color-element style-1">
																	<label for="border-color-{{ field.id }}">{{{ field.display['border']['color'] }}}</label>

																	<input class="color-field c-coloralpha alpha-color-control" data-live-id="{{ field.id }}" data-repeat-name="_items[__i__][{{ field.id }}][border-color]" data-option="border-color" type="text" value="{{field.value['border-color']}}" data-show-opacity="true" data-default-color="{{field.value['border-color']}}" />
																</div>
															<# } #>

															<# if ( 'separator' in field.display['border'] ) { #>
																<!-- Separator Color -->
																<div class="popup-element color-element style-1">
																	<label for="separator-color-{{ field.id }}">{{{ field.display['border']['separator'] }}}</label>
																	<input class="color-field c-coloralpha alpha-color-control" data-live-id="{{ field.id }}" data-repeat-name="_items[__i__][{{ field.id }}][seperator-style]" data-option="separator-color" type="text" value="{{field.value['separator-color']}}" data-show-opacity="true" data-default-color="{{field.value['separator-color']}}" />
																</div>
															<# } #>

														<# } #>

														</div><!-- .popup-content -->
													</div>
												<# } #>
												<!-- background end -->
									</div>
								<# } #>
							<# } #>
							<div class="widget-control-actions">
								<div class="alignleft">
									<span class="remove-btn-wrapper">
										<a href="#" class="repeat-control-remove" title=""><?php esc_html_e( 'Remove', 'bloglo' ); ?></a> |
									</span>
									<a href="#" class="repeat-control-close"><?php esc_html_e( 'Close', 'bloglo' ); ?></a>
								</div>
								<br class="clear">
							</div>
						</div>
					</div><!-- .form -->
				</div>
			</div>
		</li>
			<?php
		}

		/**
		 * Customizer Icon picker
		 */
		public function bloglo_customize_controls_enqueue_scripts() {
			wp_localize_script(
				'customize-controls',
				'Bloglo_Icon_Picker',
				apply_filters(
					'bloglo_icon_picker_js_setup',
					array(
						'search' => esc_html__( 'Search', 'bloglo' ),
						'fonts'  => array(
							'font-awesome' => array(
								// Name of icon.
								'name'   => esc_html__( 'Font Awesome', 'bloglo' ),
								// prefix class example for font-awesome fa-fa-{name}.
								'prefix' => '',
								// font url.
								'url'    => esc_url( add_query_arg( array( 'ver' => '5.15.4' ), get_template_directory_uri() . '/assets/css/all.css' ) ),
								// Icon class name, separated by |.
								'icons'  => 'fab fa-500px|fab fa-accessible-icon|fab fa-accusoft|fab fa-acquisitions-incorporated|fas fa-ad|fas fa-address-book|far fa-address-book|fas fa-address-card|far fa-address-card|fas fa-adjust|fab fa-adn|fab fa-adversal|fab fa-affiliatetheme|fas fa-air-freshener|fab fa-airbnb|fab fa-algolia|fas fa-align-center|fas fa-align-justify|fas fa-align-left|fas fa-align-right|fab fa-alipay|fas fa-allergies|fab fa-amazon|fab fa-amazon-pay|fas fa-ambulance|fas fa-american-sign-language-interpreting|fab fa-amilia|fas fa-anchor|fab fa-android|fab fa-angellist|fas fa-angle-double-down|fas fa-angle-double-left|fas fa-angle-double-right|fas fa-angle-double-up|fas fa-angle-down|fas fa-angle-left|fas fa-angle-right|fas fa-angle-up|fas fa-angry|far fa-angry|fab fa-angrycreative|fab fa-angular|fas fa-ankh|fab fa-app-store|fab fa-app-store-ios|fab fa-apper|fab fa-apple|fas fa-apple-alt|fab fa-apple-pay|fas fa-archive|fas fa-archway|fas fa-arrow-alt-circle-down|far fa-arrow-alt-circle-down|fas fa-arrow-alt-circle-left|far fa-arrow-alt-circle-left|fas fa-arrow-alt-circle-right|far fa-arrow-alt-circle-right|fas fa-arrow-alt-circle-up|far fa-arrow-alt-circle-up|fas fa-arrow-circle-down|fas fa-arrow-circle-left|fas fa-arrow-circle-right|fas fa-arrow-circle-up|fas fa-arrow-down|fas fa-arrow-left|fas fa-arrow-right|fas fa-arrow-up|fas fa-arrows-alt|fas fa-arrows-alt-h|fas fa-arrows-alt-v|fab fa-artstation|fas fa-assistive-listening-systems|fas fa-asterisk|fab fa-asymmetrik|fas fa-at|fas fa-atlas|fab fa-atlassian|fas fa-atom|fab fa-audible|fas fa-audio-description|fab fa-autoprefixer|fab fa-avianex|fab fa-aviato|fas fa-award|fab fa-aws|fas fa-baby|fas fa-baby-carriage|fas fa-backspace|fas fa-backward|fas fa-bacon|fas fa-bacteria|fas fa-bacterium|fas fa-bahai|fas fa-balance-scale|fas fa-balance-scale-left|fas fa-balance-scale-right|fas fa-ban|fas fa-band-aid|fab fa-bandcamp|fas fa-barcode|fas fa-bars|fas fa-baseball-ball|fas fa-basketball-ball|fas fa-bath|fas fa-battery-empty|fas fa-battery-full|fas fa-battery-half|fas fa-battery-quarter|fas fa-battery-three-quarters|fab fa-battle-net|fas fa-bed|fas fa-beer|fab fa-behance|fab fa-behance-square|fas fa-bell|far fa-bell|fas fa-bell-slash|far fa-bell-slash|fas fa-bezier-curve|fas fa-bible|fas fa-bicycle|fas fa-biking|fab fa-bimobject|fas fa-binoculars|fas fa-biohazard|fas fa-birthday-cake|fab fa-bitbucket|fab fa-bitcoin|fab fa-bity|fab fa-black-tie|fab fa-blackberry|fas fa-blender|fas fa-blender-phone|fas fa-blind|fas fa-blog|fab fa-blogger|fab fa-blogger-b|fab fa-bluetooth|fab fa-bluetooth-b|fas fa-bold|fas fa-bolt|fas fa-bomb|fas fa-bone|fas fa-bong|fas fa-book|fas fa-book-dead|fas fa-book-medical|fas fa-book-open|fas fa-book-reader|fas fa-bookmark|far fa-bookmark|fab fa-bootstrap|fas fa-border-all|fas fa-border-none|fas fa-border-style|fas fa-bowling-ball|fas fa-box|fas fa-box-open|fas fa-box-tissue|fas fa-boxes|fas fa-braille|fas fa-brain|fas fa-bread-slice|fas fa-briefcase|fas fa-briefcase-medical|fas fa-broadcast-tower|fas fa-broom|fas fa-brush|fab fa-btc|fab fa-buffer|fas fa-bug|fas fa-building|far fa-building|fas fa-bullhorn|fas fa-bullseye|fas fa-burn|fab fa-buromobelexperte|fas fa-bus|fas fa-bus-alt|fas fa-business-time|fab fa-buy-n-large|fab fa-buysellads|fas fa-calculator|fas fa-calendar|far fa-calendar|fas fa-calendar-alt|far fa-calendar-alt|fas fa-calendar-check|far fa-calendar-check|fas fa-calendar-day|fas fa-calendar-minus|far fa-calendar-minus|fas fa-calendar-plus|far fa-calendar-plus|fas fa-calendar-times|far fa-calendar-times|fas fa-calendar-week|fas fa-camera|fas fa-camera-retro|fas fa-campground|fab fa-canadian-maple-leaf|fas fa-candy-cane|fas fa-cannabis|fas fa-capsules|fas fa-car|fas fa-car-alt|fas fa-car-battery|fas fa-car-crash|fas fa-car-side|fas fa-caravan|fas fa-caret-down|fas fa-caret-left|fas fa-caret-right|fas fa-caret-square-down|far fa-caret-square-down|fas fa-caret-square-left|far fa-caret-square-left|fas fa-caret-square-right|far fa-caret-square-right|fas fa-caret-square-up|far fa-caret-square-up|fas fa-caret-up|fas fa-carrot|fas fa-cart-arrow-down|fas fa-cart-plus|fas fa-cash-register|fas fa-cat|fab fa-cc-amazon-pay|fab fa-cc-amex|fab fa-cc-apple-pay|fab fa-cc-diners-club|fab fa-cc-discover|fab fa-cc-jcb|fab fa-cc-mastercard|fab fa-cc-paypal|fab fa-cc-stripe|fab fa-cc-visa|fab fa-centercode|fab fa-centos|fas fa-certificate|fas fa-chair|fas fa-chalkboard|fas fa-chalkboard-teacher|fas fa-charging-station|fas fa-chart-area|fas fa-chart-bar|far fa-chart-bar|fas fa-chart-line|fas fa-chart-pie|fas fa-check|fas fa-check-circle|far fa-check-circle|fas fa-check-double|fas fa-check-square|far fa-check-square|fas fa-cheese|fas fa-chess|fas fa-chess-bishop|fas fa-chess-board|fas fa-chess-king|fas fa-chess-knight|fas fa-chess-pawn|fas fa-chess-queen|fas fa-chess-rook|fas fa-chevron-circle-down|fas fa-chevron-circle-left|fas fa-chevron-circle-right|fas fa-chevron-circle-up|fas fa-chevron-down|fas fa-chevron-left|fas fa-chevron-right|fas fa-chevron-up|fas fa-child|fab fa-chrome|fab fa-chromecast|fas fa-church|fas fa-circle|far fa-circle|fas fa-circle-notch|fas fa-city|fas fa-clinic-medical|fas fa-clipboard|far fa-clipboard|fas fa-clipboard-check|fas fa-clipboard-list|fas fa-clock|far fa-clock|fas fa-clone|far fa-clone|fas fa-closed-captioning|far fa-closed-captioning|fas fa-cloud|fas fa-cloud-download-alt|fas fa-cloud-meatball|fas fa-cloud-moon|fas fa-cloud-moon-rain|fas fa-cloud-rain|fas fa-cloud-showers-heavy|fas fa-cloud-sun|fas fa-cloud-sun-rain|fas fa-cloud-upload-alt|fab fa-cloudflare|fab fa-cloudscale|fab fa-cloudsmith|fab fa-cloudversify|fas fa-cocktail|fas fa-code|fas fa-code-branch|fab fa-codepen|fab fa-codiepie|fas fa-coffee|fas fa-cog|fas fa-cogs|fas fa-coins|fas fa-columns|fas fa-comment|far fa-comment|fas fa-comment-alt|far fa-comment-alt|fas fa-comment-dollar|fas fa-comment-dots|far fa-comment-dots|fas fa-comment-medical|fas fa-comment-slash|fas fa-comments|far fa-comments|fas fa-comments-dollar|fas fa-compact-disc|fas fa-compass|far fa-compass|fas fa-compress|fas fa-compress-alt|fas fa-compress-arrows-alt|fas fa-concierge-bell|fab fa-confluence|fab fa-connectdevelop|fab fa-contao|fas fa-cookie|fas fa-cookie-bite|fas fa-copy|far fa-copy|fas fa-copyright|far fa-copyright|fab fa-cotton-bureau|fas fa-couch|fab fa-cpanel|fab fa-creative-commons|fab fa-creative-commons-by|fab fa-creative-commons-nc|fab fa-creative-commons-nc-eu|fab fa-creative-commons-nc-jp|fab fa-creative-commons-nd|fab fa-creative-commons-pd|fab fa-creative-commons-pd-alt|fab fa-creative-commons-remix|fab fa-creative-commons-sa|fab fa-creative-commons-sampling|fab fa-creative-commons-sampling-plus|fab fa-creative-commons-share|fab fa-creative-commons-zero|fas fa-credit-card|far fa-credit-card|fab fa-critical-role|fas fa-crop|fas fa-crop-alt|fas fa-cross|fas fa-crosshairs|fas fa-crow|fas fa-crown|fas fa-crutch|fab fa-css3|fab fa-css3-alt|fas fa-cube|fas fa-cubes|fas fa-cut|fab fa-cuttlefish|fab fa-d-and-d|fab fa-d-and-d-beyond|fab fa-dailymotion|fab fa-dashcube|fas fa-database|fas fa-deaf|fab fa-deezer|fab fa-delicious|fas fa-democrat|fab fa-deploydog|fab fa-deskpro|fas fa-desktop|fab fa-dev|fab fa-deviantart|fas fa-dharmachakra|fab fa-dhl|fas fa-diagnoses|fab fa-diaspora|fas fa-dice|fas fa-dice-d20|fas fa-dice-d6|fas fa-dice-five|fas fa-dice-four|fas fa-dice-one|fas fa-dice-six|fas fa-dice-three|fas fa-dice-two|fab fa-digg|fab fa-digital-ocean|fas fa-digital-tachograph|fas fa-directions|fab fa-discord|fab fa-discourse|fas fa-disease|fas fa-divide|fas fa-dizzy|far fa-dizzy|fas fa-dna|fab fa-dochub|fab fa-docker|fas fa-dog|fas fa-dollar-sign|fas fa-dolly|fas fa-dolly-flatbed|fas fa-donate|fas fa-door-closed|fas fa-door-open|fas fa-dot-circle|far fa-dot-circle|fas fa-dove|fas fa-download|fab fa-draft2digital|fas fa-drafting-compass|fas fa-dragon|fas fa-draw-polygon|fab fa-dribbble|fab fa-dribbble-square|fab fa-dropbox|fas fa-drum|fas fa-drum-steelpan|fas fa-drumstick-bite|fab fa-drupal|fas fa-dumbbell|fas fa-dumpster|fas fa-dumpster-fire|fas fa-dungeon|fab fa-dyalog|fab fa-earlybirds|fab fa-ebay|fab fa-edge|fab fa-edge-legacy|fas fa-edit|far fa-edit|fas fa-egg|fas fa-eject|fab fa-elementor|fas fa-ellipsis-h|fas fa-ellipsis-v|fab fa-ello|fab fa-ember|fab fa-empire|fas fa-envelope|far fa-envelope|fas fa-envelope-open|far fa-envelope-open|fas fa-envelope-open-text|fas fa-envelope-square|fab fa-envira|fas fa-equals|fas fa-eraser|fab fa-erlang|fab fa-ethereum|fas fa-ethernet|fab fa-etsy|fas fa-euro-sign|fab fa-evernote|fas fa-exchange-alt|fas fa-exclamation|fas fa-exclamation-circle|fas fa-exclamation-triangle|fas fa-expand|fas fa-expand-alt|fas fa-expand-arrows-alt|fab fa-expeditedssl|fas fa-external-link-alt|fas fa-external-link-square-alt|fas fa-eye|far fa-eye|fas fa-eye-dropper|fas fa-eye-slash|far fa-eye-slash|fab fa-facebook|fab fa-facebook-f|fab fa-facebook-messenger|fab fa-facebook-square|fas fa-fan|fab fa-fantasy-flight-games|fas fa-fast-backward|fas fa-fast-forward|fas fa-faucet|fas fa-fax|fas fa-feather|fas fa-feather-alt|fab fa-fedex|fab fa-fedora|fas fa-female|fas fa-fighter-jet|fab fa-figma|fas fa-file|far fa-file|fas fa-file-alt|far fa-file-alt|fas fa-file-archive|far fa-file-archive|fas fa-file-audio|far fa-file-audio|fas fa-file-code|far fa-file-code|fas fa-file-contract|fas fa-file-csv|fas fa-file-download|fas fa-file-excel|far fa-file-excel|fas fa-file-export|fas fa-file-image|far fa-file-image|fas fa-file-import|fas fa-file-invoice|fas fa-file-invoice-dollar|fas fa-file-medical|fas fa-file-medical-alt|fas fa-file-pdf|far fa-file-pdf|fas fa-file-powerpoint|far fa-file-powerpoint|fas fa-file-prescription|fas fa-file-signature|fas fa-file-upload|fas fa-file-video|far fa-file-video|fas fa-file-word|far fa-file-word|fas fa-fill|fas fa-fill-drip|fas fa-film|fas fa-filter|fas fa-fingerprint|fas fa-fire|fas fa-fire-alt|fas fa-fire-extinguisher|fab fa-firefox|fab fa-firefox-browser|fas fa-first-aid|fab fa-first-order|fab fa-first-order-alt|fab fa-firstdraft|fas fa-fish|fas fa-fist-raised|fas fa-flag|far fa-flag|fas fa-flag-checkered|fas fa-flag-usa|fas fa-flask|fab fa-flickr|fab fa-flipboard|fas fa-flushed|far fa-flushed|fab fa-fly|fas fa-folder|far fa-folder|fas fa-folder-minus|fas fa-folder-open|far fa-folder-open|fas fa-folder-plus|fas fa-font|fab fa-font-awesome|fab fa-font-awesome-alt|fab fa-font-awesome-flag|fab fa-fonticons|fab fa-fonticons-fi|fas fa-football-ball|fab fa-fort-awesome|fab fa-fort-awesome-alt|fab fa-forumbee|fas fa-forward|fab fa-foursquare|fab fa-free-code-camp|fab fa-freebsd|fas fa-frog|fas fa-frown|far fa-frown|fas fa-frown-open|far fa-frown-open|fab fa-fulcrum|fas fa-funnel-dollar|fas fa-futbol|far fa-futbol|fab fa-galactic-republic|fab fa-galactic-senate|fas fa-gamepad|fas fa-gas-pump|fas fa-gavel|fas fa-gem|far fa-gem|fas fa-genderless|fab fa-get-pocket|fab fa-gg|fab fa-gg-circle|fas fa-ghost|fas fa-gift|fas fa-gifts|fab fa-git|fab fa-git-alt|fab fa-git-square|fab fa-github|fab fa-github-alt|fab fa-github-square|fab fa-gitkraken|fab fa-gitlab|fab fa-gitter|fas fa-glass-cheers|fas fa-glass-martini|fas fa-glass-martini-alt|fas fa-glass-whiskey|fas fa-glasses|fab fa-glide|fab fa-glide-g|fas fa-globe|fas fa-globe-africa|fas fa-globe-americas|fas fa-globe-asia|fas fa-globe-europe|fab fa-gofore|fas fa-golf-ball|fab fa-goodreads|fab fa-goodreads-g|fab fa-google|fab fa-google-drive|fab fa-google-pay|fab fa-google-play|fab fa-google-plus|fab fa-google-plus-g|fab fa-google-plus-square|fab fa-google-wallet|fas fa-gopuram|fas fa-graduation-cap|fab fa-gratipay|fab fa-grav|fas fa-greater-than|fas fa-greater-than-equal|fas fa-grimace|far fa-grimace|fas fa-grin|far fa-grin|fas fa-grin-alt|far fa-grin-alt|fas fa-grin-beam|far fa-grin-beam|fas fa-grin-beam-sweat|far fa-grin-beam-sweat|fas fa-grin-hearts|far fa-grin-hearts|fas fa-grin-squint|far fa-grin-squint|fas fa-grin-squint-tears|far fa-grin-squint-tears|fas fa-grin-stars|far fa-grin-stars|fas fa-grin-tears|far fa-grin-tears|fas fa-grin-tongue|far fa-grin-tongue|fas fa-grin-tongue-squint|far fa-grin-tongue-squint|fas fa-grin-tongue-wink|far fa-grin-tongue-wink|fas fa-grin-wink|far fa-grin-wink|fas fa-grip-horizontal|fas fa-grip-lines|fas fa-grip-lines-vertical|fas fa-grip-vertical|fab fa-gripfire|fab fa-grunt|fab fa-guilded|fas fa-guitar|fab fa-gulp|fas fa-h-square|fab fa-hacker-news|fab fa-hacker-news-square|fab fa-hackerrank|fas fa-hamburger|fas fa-hammer|fas fa-hamsa|fas fa-hand-holding|fas fa-hand-holding-heart|fas fa-hand-holding-medical|fas fa-hand-holding-usd|fas fa-hand-holding-water|fas fa-hand-lizard|far fa-hand-lizard|fas fa-hand-middle-finger|fas fa-hand-paper|far fa-hand-paper|fas fa-hand-peace|far fa-hand-peace|fas fa-hand-point-down|far fa-hand-point-down|fas fa-hand-point-left|far fa-hand-point-left|fas fa-hand-point-right|far fa-hand-point-right|fas fa-hand-point-up|far fa-hand-point-up|fas fa-hand-pointer|far fa-hand-pointer|fas fa-hand-rock|far fa-hand-rock|fas fa-hand-scissors|far fa-hand-scissors|fas fa-hand-sparkles|fas fa-hand-spock|far fa-hand-spock|fas fa-hands|fas fa-hands-helping|fas fa-hands-wash|fas fa-handshake|far fa-handshake|fas fa-handshake-alt-slash|fas fa-handshake-slash|fas fa-hanukiah|fas fa-hard-hat|fas fa-hashtag|fas fa-hat-cowboy|fas fa-hat-cowboy-side|fas fa-hat-wizard|fas fa-hdd|far fa-hdd|fas fa-head-side-cough|fas fa-head-side-cough-slash|fas fa-head-side-mask|fas fa-head-side-virus|fas fa-heading|fas fa-headphones|fas fa-headphones-alt|fas fa-headset|fas fa-heart|far fa-heart|fas fa-heart-broken|fas fa-heartbeat|fas fa-helicopter|fas fa-highlighter|fas fa-hiking|fas fa-hippo|fab fa-hips|fab fa-hire-a-helper|fas fa-history|fab fa-hive|fas fa-hockey-puck|fas fa-holly-berry|fas fa-home|fab fa-hooli|fab fa-hornbill|fas fa-horse|fas fa-horse-head|fas fa-hospital|far fa-hospital|fas fa-hospital-alt|fas fa-hospital-symbol|fas fa-hospital-user|fas fa-hot-tub|fas fa-hotdog|fas fa-hotel|fab fa-hotjar|fas fa-hourglass|far fa-hourglass|fas fa-hourglass-end|fas fa-hourglass-half|fas fa-hourglass-start|fas fa-house-damage|fas fa-house-user|fab fa-houzz|fas fa-hryvnia|fab fa-html5|fab fa-hubspot|fas fa-i-cursor|fas fa-ice-cream|fas fa-icicles|fas fa-icons|fas fa-id-badge|far fa-id-badge|fas fa-id-card|far fa-id-card|fas fa-id-card-alt|fab fa-ideal|fas fa-igloo|fas fa-image|far fa-image|fas fa-images|far fa-images|fab fa-imdb|fas fa-inbox|fas fa-indent|fas fa-industry|fas fa-infinity|fas fa-info|fas fa-info-circle|fab fa-innosoft|fab fa-instagram|fab fa-instagram-square|fab fa-instalod|fab fa-intercom|fab fa-internet-explorer|fab fa-invision|fab fa-ioxhost|fas fa-italic|fab fa-itch-io|fab fa-itunes|fab fa-itunes-note|fab fa-java|fas fa-jedi|fab fa-jedi-order|fab fa-jenkins|fab fa-jira|fab fa-joget|fas fa-joint|fab fa-joomla|fas fa-journal-whills|fab fa-js|fab fa-js-square|fab fa-jsfiddle|fas fa-kaaba|fab fa-kaggle|fas fa-key|fab fa-keybase|fas fa-keyboard|far fa-keyboard|fab fa-keycdn|fas fa-khanda|fab fa-kickstarter|fab fa-kickstarter-k|fas fa-kiss|far fa-kiss|fas fa-kiss-beam|far fa-kiss-beam|fas fa-kiss-wink-heart|far fa-kiss-wink-heart|fas fa-kiwi-bird|fab fa-korvue|fas fa-landmark|fas fa-language|fas fa-laptop|fas fa-laptop-code|fas fa-laptop-house|fas fa-laptop-medical|fab fa-laravel|fab fa-lastfm|fab fa-lastfm-square|fas fa-laugh|far fa-laugh|fas fa-laugh-beam|far fa-laugh-beam|fas fa-laugh-squint|far fa-laugh-squint|fas fa-laugh-wink|far fa-laugh-wink|fas fa-layer-group|fas fa-leaf|fab fa-leanpub|fas fa-lemon|far fa-lemon|fab fa-less|fas fa-less-than|fas fa-less-than-equal|fas fa-level-down-alt|fas fa-level-up-alt|fas fa-life-ring|far fa-life-ring|fas fa-lightbulb|far fa-lightbulb|fab fa-line|fas fa-link|fab fa-linkedin|fab fa-linkedin-in|fab fa-linode|fab fa-linux|fas fa-lira-sign|fas fa-list|fas fa-list-alt|far fa-list-alt|fas fa-list-ol|fas fa-list-ul|fas fa-location-arrow|fas fa-lock|fas fa-lock-open|fas fa-long-arrow-alt-down|fas fa-long-arrow-alt-left|fas fa-long-arrow-alt-right|fas fa-long-arrow-alt-up|fas fa-low-vision|fas fa-luggage-cart|fas fa-lungs|fas fa-lungs-virus|fab fa-lyft|fab fa-magento|fas fa-magic|fas fa-magnet|fas fa-mail-bulk|fab fa-mailchimp|fas fa-male|fab fa-mandalorian|fas fa-map|far fa-map|fas fa-map-marked|fas fa-map-marked-alt|fas fa-map-marker|fas fa-map-marker-alt|fas fa-map-pin|fas fa-map-signs|fab fa-markdown|fas fa-marker|fas fa-mars|fas fa-mars-double|fas fa-mars-stroke|fas fa-mars-stroke-h|fas fa-mars-stroke-v|fas fa-mask|fab fa-mastodon|fab fa-maxcdn|fab fa-mdb|fas fa-medal|fab fa-medapps|fab fa-medium|fab fa-medium-m|fas fa-medkit|fab fa-medrt|fab fa-meetup|fab fa-megaport|fas fa-meh|far fa-meh|fas fa-meh-blank|far fa-meh-blank|fas fa-meh-rolling-eyes|far fa-meh-rolling-eyes|fas fa-memory|fab fa-mendeley|fas fa-menorah|fas fa-mercury|fas fa-meteor|fab fa-microblog|fas fa-microchip|fas fa-microphone|fas fa-microphone-alt|fas fa-microphone-alt-slash|fas fa-microphone-slash|fas fa-microscope|fab fa-microsoft|fas fa-minus|fas fa-minus-circle|fas fa-minus-square|far fa-minus-square|fas fa-mitten|fab fa-mix|fab fa-mixcloud|fab fa-mixer|fab fa-mizuni|fas fa-mobile|fas fa-mobile-alt|fab fa-modx|fab fa-monero|fas fa-money-bill|fas fa-money-bill-alt|far fa-money-bill-alt|fas fa-money-bill-wave|fas fa-money-bill-wave-alt|fas fa-money-check|fas fa-money-check-alt|fas fa-monument|fas fa-moon|far fa-moon|fas fa-mortar-pestle|fas fa-mosque|fas fa-motorcycle|fas fa-mountain|fas fa-mouse|fas fa-mouse-pointer|fas fa-mug-hot|fas fa-music|fab fa-napster|fab fa-neos|fas fa-network-wired|fas fa-neuter|fas fa-newspaper|far fa-newspaper|fab fa-nimblr|fab fa-node|fab fa-node-js|fas fa-not-equal|fas fa-notes-medical|fab fa-npm|fab fa-ns8|fab fa-nutritionix|fas fa-object-group|far fa-object-group|fas fa-object-ungroup|far fa-object-ungroup|fab fa-octopus-deploy|fab fa-odnoklassniki|fab fa-odnoklassniki-square|fas fa-oil-can|fab fa-old-republic|fas fa-om|fab fa-opencart|fab fa-openid|fab fa-opera|fab fa-optin-monster|fab fa-orcid|fab fa-osi|fas fa-otter|fas fa-outdent|fab fa-page4|fab fa-pagelines|fas fa-pager|fas fa-paint-brush|fas fa-paint-roller|fas fa-palette|fab fa-palfed|fas fa-pallet|fas fa-paper-plane|far fa-paper-plane|fas fa-paperclip|fas fa-parachute-box|fas fa-paragraph|fas fa-parking|fas fa-passport|fas fa-pastafarianism|fas fa-paste|fab fa-patreon|fas fa-pause|fas fa-pause-circle|far fa-pause-circle|fas fa-paw|fab fa-paypal|fas fa-peace|fas fa-pen|fas fa-pen-alt|fas fa-pen-fancy|fas fa-pen-nib|fas fa-pen-square|fas fa-pencil-alt|fas fa-pencil-ruler|fab fa-penny-arcade|fas fa-people-arrows|fas fa-people-carry|fas fa-pepper-hot|fab fa-perbyte|fas fa-percent|fas fa-percentage|fab fa-periscope|fas fa-person-booth|fab fa-phabricator|fab fa-phoenix-framework|fab fa-phoenix-squadron|fas fa-phone|fas fa-phone-alt|fas fa-phone-slash|fas fa-phone-square|fas fa-phone-square-alt|fas fa-phone-volume|fas fa-photo-video|fab fa-php|fab fa-pied-piper|fab fa-pied-piper-alt|fab fa-pied-piper-hat|fab fa-pied-piper-pp|fab fa-pied-piper-square|fas fa-piggy-bank|fas fa-pills|fab fa-pinterest|fab fa-pinterest-p|fab fa-pinterest-square|fas fa-pizza-slice|fas fa-place-of-worship|fas fa-plane|fas fa-plane-arrival|fas fa-plane-departure|fas fa-plane-slash|fas fa-play|fas fa-play-circle|far fa-play-circle|fab fa-playstation|fas fa-plug|fas fa-plus|fas fa-plus-circle|fas fa-plus-square|far fa-plus-square|fas fa-podcast|fas fa-poll|fas fa-poll-h|fas fa-poo|fas fa-poo-storm|fas fa-poop|fas fa-portrait|fas fa-pound-sign|fas fa-power-off|fas fa-pray|fas fa-praying-hands|fas fa-prescription|fas fa-prescription-bottle|fas fa-prescription-bottle-alt|fas fa-print|fas fa-procedures|fab fa-product-hunt|fas fa-project-diagram|fas fa-pump-medical|fas fa-pump-soap|fab fa-pushed|fas fa-puzzle-piece|fab fa-python|fab fa-qq|fas fa-qrcode|fas fa-question|fas fa-question-circle|far fa-question-circle|fas fa-quidditch|fab fa-quinscape|fab fa-quora|fas fa-quote-left|fas fa-quote-right|fas fa-quran|fab fa-r-project|fas fa-radiation|fas fa-radiation-alt|fas fa-rainbow|fas fa-random|fab fa-raspberry-pi|fab fa-ravelry|fab fa-react|fab fa-reacteurope|fab fa-readme|fab fa-rebel|fas fa-receipt|fas fa-record-vinyl|fas fa-recycle|fab fa-red-river|fab fa-reddit|fab fa-reddit-alien|fab fa-reddit-square|fab fa-redhat|fas fa-redo|fas fa-redo-alt|fas fa-registered|far fa-registered|fas fa-remove-format|fab fa-renren|fas fa-reply|fas fa-reply-all|fab fa-replyd|fas fa-republican|fab fa-researchgate|fab fa-resolving|fas fa-restroom|fas fa-retweet|fab fa-rev|fas fa-ribbon|fas fa-ring|fas fa-road|fas fa-robot|fas fa-rocket|fab fa-rocketchat|fab fa-rockrms|fas fa-route|fas fa-rss|fas fa-rss-square|fas fa-ruble-sign|fas fa-ruler|fas fa-ruler-combined|fas fa-ruler-horizontal|fas fa-ruler-vertical|fas fa-running|fas fa-rupee-sign|fab fa-rust|fas fa-sad-cry|far fa-sad-cry|fas fa-sad-tear|far fa-sad-tear|fab fa-safari|fab fa-salesforce|fab fa-sass|fas fa-satellite|fas fa-satellite-dish|fas fa-save|far fa-save|fab fa-schlix|fas fa-school|fas fa-screwdriver|fab fa-scribd|fas fa-scroll|fas fa-sd-card|fas fa-search|fas fa-search-dollar|fas fa-search-location|fas fa-search-minus|fas fa-search-plus|fab fa-searchengin|fas fa-seedling|fab fa-sellcast|fab fa-sellsy|fas fa-server|fab fa-servicestack|fas fa-shapes|fas fa-share|fas fa-share-alt|fas fa-share-alt-square|fas fa-share-square|far fa-share-square|fas fa-shekel-sign|fas fa-shield-alt|fas fa-shield-virus|fas fa-ship|fas fa-shipping-fast|fab fa-shirtsinbulk|fas fa-shoe-prints|fab fa-shopify|fas fa-shopping-bag|fas fa-shopping-basket|fas fa-shopping-cart|fab fa-shopware|fas fa-shower|fas fa-shuttle-van|fas fa-sign|fas fa-sign-in-alt|fas fa-sign-language|fas fa-sign-out-alt|fas fa-signal|fas fa-signature|fas fa-sim-card|fab fa-simplybuilt|fas fa-sink|fab fa-sistrix|fas fa-sitemap|fab fa-sith|fas fa-skating|fab fa-sketch|fas fa-skiing|fas fa-skiing-nordic|fas fa-skull|fas fa-skull-crossbones|fab fa-skyatlas|fab fa-skype|fab fa-slack|fab fa-slack-hash|fas fa-slash|fas fa-sleigh|fas fa-sliders-h|fab fa-slideshare|fas fa-smile|far fa-smile|fas fa-smile-beam|far fa-smile-beam|fas fa-smile-wink|far fa-smile-wink|fas fa-smog|fas fa-smoking|fas fa-smoking-ban|fas fa-sms|fab fa-snapchat|fab fa-snapchat-ghost|fab fa-snapchat-square|fas fa-snowboarding|fas fa-snowflake|far fa-snowflake|fas fa-snowman|fas fa-snowplow|fas fa-soap|fas fa-socks|fas fa-solar-panel|fas fa-sort|fas fa-sort-alpha-down|fas fa-sort-alpha-down-alt|fas fa-sort-alpha-up|fas fa-sort-alpha-up-alt|fas fa-sort-amount-down|fas fa-sort-amount-down-alt|fas fa-sort-amount-up|fas fa-sort-amount-up-alt|fas fa-sort-down|fas fa-sort-numeric-down|fas fa-sort-numeric-down-alt|fas fa-sort-numeric-up|fas fa-sort-numeric-up-alt|fas fa-sort-up|fab fa-soundcloud|fab fa-sourcetree|fas fa-spa|fas fa-space-shuttle|fab fa-speakap|fab fa-speaker-deck|fas fa-spell-check|fas fa-spider|fas fa-spinner|fas fa-splotch|fab fa-spotify|fas fa-spray-can|fas fa-square|far fa-square|fas fa-square-full|fas fa-square-root-alt|fab fa-squarespace|fab fa-stack-exchange|fab fa-stack-overflow|fab fa-stackpath|fas fa-stamp|fas fa-star|far fa-star|fas fa-star-and-crescent|fas fa-star-half|far fa-star-half|fas fa-star-half-alt|fas fa-star-of-david|fas fa-star-of-life|fab fa-staylinked|fab fa-steam|fab fa-steam-square|fab fa-steam-symbol|fas fa-step-backward|fas fa-step-forward|fas fa-stethoscope|fab fa-sticker-mule|fas fa-sticky-note|far fa-sticky-note|fas fa-stop|fas fa-stop-circle|far fa-stop-circle|fas fa-stopwatch|fas fa-stopwatch-20|fas fa-store|fas fa-store-alt|fas fa-store-alt-slash|fas fa-store-slash|fab fa-strava|fas fa-stream|fas fa-street-view|fas fa-strikethrough|fab fa-stripe|fab fa-stripe-s|fas fa-stroopwafel|fab fa-studiovinari|fab fa-stumbleupon|fab fa-stumbleupon-circle|fas fa-subscript|fas fa-subway|fas fa-suitcase|fas fa-suitcase-rolling|fas fa-sun|far fa-sun|fab fa-superpowers|fas fa-superscript|fab fa-supple|fas fa-surprise|far fa-surprise|fab fa-suse|fas fa-swatchbook|fab fa-swift|fas fa-swimmer|fas fa-swimming-pool|fab fa-symfony|fas fa-synagogue|fas fa-sync|fas fa-sync-alt|fas fa-syringe|fas fa-table|fas fa-table-tennis|fas fa-tablet|fas fa-tablet-alt|fas fa-tablets|fas fa-tachometer-alt|fas fa-tag|fas fa-tags|fas fa-tape|fas fa-tasks|fas fa-taxi|fab fa-teamspeak|fas fa-teeth|fas fa-teeth-open|fab fa-telegram|fab fa-telegram-plane|fas fa-temperature-high|fas fa-temperature-low|fab fa-tencent-weibo|fas fa-tenge|fas fa-terminal|fas fa-text-height|fas fa-text-width|fas fa-th|fas fa-th-large|fas fa-th-list|fab fa-the-red-yeti|fas fa-theater-masks|fab fa-themeco|fab fa-themeisle|fas fa-thermometer|fas fa-thermometer-empty|fas fa-thermometer-full|fas fa-thermometer-half|fas fa-thermometer-quarter|fas fa-thermometer-three-quarters|fab fa-think-peaks|fas fa-thumbs-down|far fa-thumbs-down|fas fa-thumbs-up|far fa-thumbs-up|fas fa-thumbtack|fas fa-ticket-alt|fab fa-tiktok|fas fa-times|fas fa-times-circle|far fa-times-circle|fas fa-tint|fas fa-tint-slash|fas fa-tired|far fa-tired|fas fa-toggle-off|fas fa-toggle-on|fas fa-toilet|fas fa-toilet-paper|fas fa-toilet-paper-slash|fas fa-toolbox|fas fa-tools|fas fa-tooth|fas fa-torah|fas fa-torii-gate|fas fa-tractor|fab fa-trade-federation|fas fa-trademark|fas fa-traffic-light|fas fa-trailer|fas fa-train|fas fa-tram|fas fa-transgender|fas fa-transgender-alt|fas fa-trash|fas fa-trash-alt|far fa-trash-alt|fas fa-trash-restore|fas fa-trash-restore-alt|fas fa-tree|fab fa-trello|fas fa-trophy|fas fa-truck|fas fa-truck-loading|fas fa-truck-monster|fas fa-truck-moving|fas fa-truck-pickup|fas fa-tshirt|fas fa-tty|fab fa-tumblr|fab fa-tumblr-square|fas fa-tv|fab fa-twitch|fab fa-twitter|fab fa-twitter-square|fab fa-typo3|fab fa-uber|fab fa-ubuntu|fab fa-uikit|fab fa-umbraco|fas fa-umbrella|fas fa-umbrella-beach|fab fa-uncharted|fas fa-underline|fas fa-undo|fas fa-undo-alt|fab fa-uniregistry|fab fa-unity|fas fa-universal-access|fas fa-university|fas fa-unlink|fas fa-unlock|fas fa-unlock-alt|fab fa-unsplash|fab fa-untappd|fas fa-upload|fab fa-ups|fab fa-usb|fas fa-user|far fa-user|fas fa-user-alt|fas fa-user-alt-slash|fas fa-user-astronaut|fas fa-user-check|fas fa-user-circle|far fa-user-circle|fas fa-user-clock|fas fa-user-cog|fas fa-user-edit|fas fa-user-friends|fas fa-user-graduate|fas fa-user-injured|fas fa-user-lock|fas fa-user-md|fas fa-user-minus|fas fa-user-ninja|fas fa-user-nurse|fas fa-user-plus|fas fa-user-secret|fas fa-user-shield|fas fa-user-slash|fas fa-user-tag|fas fa-user-tie|fas fa-user-times|fas fa-users|fas fa-users-cog|fas fa-users-slash|fab fa-usps|fab fa-ussunnah|fas fa-utensil-spoon|fas fa-utensils|fab fa-vaadin|fas fa-vector-square|fas fa-venus|fas fa-venus-double|fas fa-venus-mars|fas fa-vest|fas fa-vest-patches|fab fa-viacoin|fab fa-viadeo|fab fa-viadeo-square|fas fa-vial|fas fa-vials|fab fa-viber|fas fa-video|fas fa-video-slash|fas fa-vihara|fab fa-vimeo|fab fa-vimeo-square|fab fa-vimeo-v|fab fa-vine|fas fa-virus|fas fa-virus-slash|fas fa-viruses|fab fa-vk|fab fa-vnv|fas fa-voicemail|fas fa-volleyball-ball|fas fa-volume-down|fas fa-volume-mute|fas fa-volume-off|fas fa-volume-up|fas fa-vote-yea|fas fa-vr-cardboard|fab fa-vuejs|fas fa-walking|fas fa-wallet|fas fa-warehouse|fab fa-watchman-monitoring|fas fa-water|fas fa-wave-square|fab fa-waze|fab fa-weebly|fab fa-weibo|fas fa-weight|fas fa-weight-hanging|fab fa-weixin|fab fa-whatsapp|fab fa-whatsapp-square|fas fa-wheelchair|fab fa-whmcs|fas fa-wifi|fab fa-wikipedia-w|fas fa-wind|fas fa-window-close|far fa-window-close|fas fa-window-maximize|far fa-window-maximize|fas fa-window-minimize|far fa-window-minimize|fas fa-window-restore|far fa-window-restore|fab fa-windows|fas fa-wine-bottle|fas fa-wine-glass|fas fa-wine-glass-alt|fab fa-wix|fab fa-wizards-of-the-coast|fab fa-wodu|fab fa-wolf-pack-battalion|fas fa-won-sign|fab fa-wordpress|fab fa-wordpress-simple|fab fa-wpbeginner|fab fa-wpexplorer|fab fa-wpforms|fab fa-wpressr|fas fa-wrench|fas fa-x-ray|fab fa-xbox|fab fa-xing|fab fa-xing-square|fab fa-y-combinator|fab fa-yahoo|fab fa-yammer|fab fa-yandex|fab fa-yandex-international|fab fa-yarn|fab fa-yelp|fas fa-yen-sign|fas fa-yin-yang|fab fa-yoast|fab fa-youtube|fab fa-youtube-square|fab fa-zhihu',
							),
						),
					)
				)
			);
		}
	}
endif;
inc/customizer/controls/repeater/repeater.css000064400000011216152425655550015533 0ustar00.no-changeable .remove-btn-wrapper,
.no-changeable .repeatable-actions {
  display: none !important;
}
.list-repeatable .sortable-placeholder {
  height: 42px;
  display: block;
}
.list-repeatable li {
  margin-bottom: 0px;
  padding: 5px 0px 5px;
}
.list-repeatable .widget {
  margin-bottom: 0px;
}
.list-repeatable .widget-top {
  background: #ffffff;
}
.list-repeatable .widget-top:after {
  clear: both;
  display: block;
  content: " ";
}
.list-repeatable .widget .widget-title-action .widget-action {
  text-decoration: none;
  position: relative;
  font-size: 16px;
  top: 12px;
  outline: none !important;
  box-shadow: none;
  -webkit-box-shadow: none;
}
.list-repeatable .widget .widget-title-action .widget-action::after {
  content: "\f140";
  font-family: "dashicons";
}
.list-repeatable .widget.explained .widget-title-action .widget-action::after {
  content: "\f142";
}
.list-repeatable .widget .widget-inside {
  display: none;
}
.list-repeatable .widget.explained .widget-inside {
  display: block;
}
.list-repeatable .wp-picker-holder {
  position: absolute;
  z-index: 99;
}
.list-repeatable .item {
  margin-bottom: 15px;
}
.list-repeatable .item:first-child {
  margin-top: 15px;
}
.list-repeatable .item label {
  display: block;
  margin-bottom: 10px;
}
.list-repeatable .item .button_set label {
  display: inline-block;
}
.list-repeatable .item label.field-label {
  font-weight: bold;
  margin-bottom: 5px;
}
.list-repeatabl input:not([type="radio"]),
.list-repeatabl input:not([type="checkbox"]),
.list-repeatable .item select,
.list-repeatable .item textarea {
  width: 100%;
}
.list-repeatable .item-media .actions,
.repeatable-actions {
  text-align: right;
  margin-top: 10px;
}
.list-repeatable .thumbnail-image {
  margin-bottom: 10px;
}
.list-repeatable .thumbnail-image img {
  width: 100%;
  height: auto;
}
/* Special element */
.repeatable-customize-control.show-display-field-only .widget-content .item {
  display: none;
}
.repeatable-customize-control.show-display-field-only
  .widget-content
  .item.item-show_section {
  display: block;
  margin-top: 15px;
}

.bloglo-customizer-button-wrapper {
}
.bloglo-customizer-button-wrapper input {
  margin-bottom: 15px;
}

.bloglo-editor-added .wp-js-editor-preview {
  padding: 0 10px;
}

/* Customizer ICON Picker */
.icon-wrapper {
  border: 1px solid #cccccc;
  font-size: 24px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  width: 40px;
  cursor: pointer;
}
.icon-wrapper i:before {
  font-size: 24px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  width: 40px !important;
}
.c-icon-picker * {
  box-sizing: border-box;
}
.c-icon-picker {
  position: absolute;
  top: 0px;
  left: 0px;
  bottom: 0px;
  display: block;
  width: 300px;
  background: #eeeeee;
  border-right: 1px solid #ddd;
  -webkit-transition: all 0.5s; /* Safari */
  transition: all 0.5s;
  -ms-transform: translateX(-100%); /* IE 9 */
  -webkit-transform: translateX(-100%); /* Safari */
  transform: translateX(-100%);
}
.c-icon-picker.ic-active {
  -ms-transform: translateX(0); /* IE 9 */
  -webkit-transform: translateX(0); /* Safari */
  transform: translateX(0);
}
.c-icon-type {
}
.c-icon-type-wrap {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
}
.c-icon-type-wrap select {
  height: 30px;
  width: 100%;
}
.c-icon-search {
  position: absolute;
  top: 44px;
  left: 10px;
  right: 10px;
}
.c-icon-search input {
  width: 100%;
  height: 25px;
}
.c-icon-list {
  position: absolute;
  top: 88px;
  left: 0px;
  right: 0px;
  bottom: 13px;
  padding: 0 0 0 12px;
  overflow: auto;
}
.c-icon-list:after {
  clear: both;
  display: block;
  content: " ";
}
.c-icon-list i {
  font-size: 20px;
  line-height: 35px;
  color: #333333;
}
.c-icon-list span {
  width: 34px;
  height: 34px;
  display: block;
  float: left;
  background: #ffffff;
  text-align: center;
  margin: 2px;
  cursor: pointer;
}
.c-icon-list span:hover {
  background: #0085ba;
}
.c-icon-list span:hover i {
  color: #ffffff;
}
.icon-wrapper.icon-editing {
  background: #f5f5f5;
  box-shadow: 0 0 2px rgba(30, 140, 190, 0.8);
  border-color: #5b9dd9;
}
@media (max-width: 700px) {
  .c-icon-picker {
    z-index: 99999;
    width: 100%;
    top: 50%;
    left: 0px;
    border-top: 1px solid #ddd;
    border-right: 0 none !important;
    -ms-transform: translateX(0); /* IE 9 */
    -webkit-transform: translateX(0); /* Safari */
    transform: translateX(0);
    -ms-transform: translateY(100%); /* IE 9 */
    -webkit-transform: translateY(100%); /* Safari */
    transform: translateY(100%);
  }
  .c-icon-picker.ic-active {
    -ms-transform: translateY(0); /* IE 9 */
    -webkit-transform: translateY(0); /* Safari */
    transform: translateY(0);
  }
}
inc/customizer/controls/repeater/repeater.min.css000064400000010563152425655550016321 0ustar00.no-changeable .remove-btn-wrapper,
.no-changeable .repeatable-actions {
  display: none !important;
}
.list-repeatable .sortable-placeholder {
  height: 42px;
  display: block;
}
.list-repeatable li {
  margin-bottom: 0;
  padding: 5px 0;
}
.list-repeatable .widget {
  margin-bottom: 0;
}
.list-repeatable .widget-top {
  background: #fff;
}
.list-repeatable .widget-top:after {
  clear: both;
  display: block;
  content: " ";
}
.list-repeatable .widget .widget-title-action .widget-action {
  text-decoration: none;
  position: relative;
  font-size: 16px;
  top: 12px;
  outline: none !important;
  box-shadow: none;
  -webkit-box-shadow: none;
}
.list-repeatable .widget .widget-title-action .widget-action::after {
  content: "\f140";
  font-family: "dashicons";
}
.list-repeatable .widget.explained .widget-title-action .widget-action::after {
  content: "\f142";
}
.list-repeatable .widget .widget-inside {
  display: none;
}
.list-repeatable .widget.explained .widget-inside {
  display: block;
}
.list-repeatable .wp-picker-holder {
  position: absolute;
  z-index: 99;
}
.list-repeatable .item {
  margin-bottom: 15px;
}
.list-repeatable .item:first-child {
  margin-top: 15px;
}
.list-repeatable .item label {
  display: block;
  margin-bottom: 10px;
}
.list-repeatable .item .button_set label {
  display: inline-block;
}
.list-repeatable .item label.field-label {
  font-weight: 700;
  margin-bottom: 5px;
}
.list-repeatabl input:not([type="radio"]),
.list-repeatabl input:not([type="checkbox"]),
.list-repeatable .item select,
.list-repeatable .item textarea {
  width: 100%;
}
.list-repeatable .item-media .actions,
.repeatable-actions {
  text-align: right;
  margin-top: 10px;
}
.list-repeatable .thumbnail-image {
  margin-bottom: 10px;
}
.list-repeatable .thumbnail-image img {
  width: 100%;
  height: auto;
}
.repeatable-customize-control.show-display-field-only .widget-content .item {
  display: none;
}
.repeatable-customize-control.show-display-field-only
  .widget-content
  .item.item-show_section {
  display: block;
  margin-top: 15px;
}
.bloglo-customizer-button-wrapper input {
  margin-bottom: 15px;
}
.bloglo-editor-added .wp-js-editor-preview {
  padding: 0 10px;
}
.icon-wrapper {
  border: 1px solid #ccc;
  font-size: 24px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  width: 40px;
  cursor: pointer;
}
.icon-wrapper i:before {
  font-size: 24px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  width: 40px !important;
}
.c-icon-picker * {
  box-sizing: border-box;
}
.c-icon-picker {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: block;
  width: 300px;
  background: #eee;
  border-right: 1px solid #ddd;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -ms-transform: translateX(-100%);
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.c-icon-picker.ic-active {
  -ms-transform: translateX(0);
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.c-icon-type-wrap {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
}
.c-icon-type-wrap select {
  height: 30px;
  width: 100%;
}
.c-icon-search {
  position: absolute;
  top: 44px;
  left: 10px;
  right: 10px;
}
.c-icon-search input {
  width: 100%;
  height: 25px;
}
.c-icon-list {
  position: absolute;
  top: 88px;
  left: 0;
  right: 0;
  bottom: 13px;
  padding: 0 0 0 12px;
  overflow: auto;
}
.c-icon-list:after {
  clear: both;
  display: block;
  content: " ";
}
.c-icon-list i {
  font-size: 20px;
  line-height: 35px;
  color: #333;
}
.c-icon-list span {
  width: 34px;
  height: 34px;
  display: block;
  float: left;
  background: #fff;
  text-align: center;
  margin: 2px;
  cursor: pointer;
}
.c-icon-list span:hover {
  background: #0085ba;
}
.c-icon-list span:hover i {
  color: #fff;
}
.icon-wrapper.icon-editing {
  background: #f5f5f5;
  box-shadow: 0 0 2px rgba(30, 140, 190, 0.8);
  border-color: #5b9dd9;
}
@media (max-width: 700px) {
  .c-icon-picker {
    z-index: 99999;
    width: 100%;
    top: 50%;
    left: 0;
    border-top: 1px solid #ddd;
    border-right: 0 none !important;
    -ms-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -ms-transform: translateY(100%);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
  .c-icon-picker.ic-active {
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
inc/customizer/controls/repeater/repeater.js000064400000147371152425655550015373 0ustar00/*
  jQuery deparam is an extraction of the deparam method from Ben Alman's jQuery BBQ
  http://benalman.com/projects/jquery-bbq-plugin/
*/
(function ($) {
  $.deparam = function (params, coerce) {
    var obj = {},
      coerce_types = {
        true: !0,
        false: !1,
        null: null,
      };

    // Iterate over all name=value pairs.
    $.each(params.replace(/\+/g, " ").split("&"), function (j, v) {
      var param = v.split("="),
        key = decodeURIComponent(param[0]),
        val,
        cur = obj,
        i = 0,
        // If key is more complex than 'foo', like 'a[]' or 'a[b][c]', split it
        // into its component parts.
        keys = key.split("]["),
        keys_last = keys.length - 1;

      // If the first keys part contains [ and the last ends with ], then []
      // are correctly balanced.
      if (/\[/.test(keys[0]) && /\]$/.test(keys[keys_last])) {
        // Remove the trailing ] from the last keys part.
        keys[keys_last] = keys[keys_last].replace(/\]$/, "");

        // Split first keys part into two parts on the [ and add them back onto
        // the beginning of the keys array.
        keys = keys.shift().split("[").concat(keys);
        keys_last = keys.length - 1;
      } else {
        // Basic 'foo' style key.
        keys_last = 0;
      }

      // Are we dealing with a name=value pair, or just a name?
      if (2 === param.length) {
        val = decodeURIComponent(param[1]);

        // Coerce values.
        if (coerce) {
          val =
            val && !isNaN(val)
              ? +val // number
              : "undefined" === val
              ? undefined // undefined
              : coerce_types[val] !== undefined
              ? coerce_types[val] // true, false, null
              : val; // string
        }
        if (keys_last) {
          // Complex key, build deep object structure based on a few rules:
          // * The 'cur' pointer starts at the object top-level.
          // * [] = array push (n is set to array length), [n] = array if n is
          //   numeric, otherwise object.
          // * If at the last keys part, set the value.
          // * For each keys part, if the current level is undefined create an
          //   object or array based on the type of the next keys part.
          // * Move the 'cur' pointer to the next level.
          // * Rinse & repeat.
          for (; i <= keys_last; i++) {
            key = "" === keys[i] ? cur.length : keys[i];
            cur = cur[key] =
              i < keys_last
                ? cur[key] || (keys[i + 1] && isNaN(keys[i + 1]) ? {} : [])
                : val;
          }
        } else {
          // Simple key, even simpler rules, since only scalars and shallow
          // arrays are allowed.
          if ($.isArray(obj[key])) {
            // val is already an array, so push on the next value.
            obj[key].push(val);
          } else if (obj[key] !== undefined) {
            // val isn't an array, but since a second value has been specified,
            // convert val into an array.
            obj[key] = [obj[key], val];
          } else {
            // val is a scalar.
            obj[key] = val;
          }
        }
      } else if (key) {
        // No value was defined, so set something meaningful.
        obj[key] = coerce ? undefined : "";
      }
    });
    return obj;
  };
})(jQuery);

// COLOR ALPHA -----------------------------
/**
 * Alpha Color Picker JS
 */
(function ($) {
  /**
   * Override the stock color.js toString() method to add support for
   * outputting RGBa or Hex.
   */
  Color.prototype.toString = function (flag) {
    // If our no-alpha flag has been passed in, output RGBa value with 100% opacity.
    // This is used to set the background color on the opacity slider during color changes.
    if ("no-alpha" == flag) {
      return this.toCSS("rgba", "1").replace(/\s+/g, "");
    }

    // If we have a proper opacity value, output RGBa.
    if (1 > this._alpha) {
      return this.toCSS("rgba", this._alpha).replace(/\s+/g, "");
    }

    // Proceed with stock color.js hex output.
    var hex = parseInt(this._color, 10).toString(16);
    if (this.error) {
      return "";
    }
    if (6 > hex.length) {
      for (var i = 6 - hex.length - 1; 0 <= i; i--) {
        hex = "0" + hex;
      }
    }
    return "#" + hex;
  };

  /**
   * Given an RGBa, RGB, or hex color value, return the alpha channel value.
   */
  function acp_get_alpha_value_from_color(value) {
    var alphaVal;

    // Remove all spaces from the passed in value to help our RGBa regex.
    value = value.replace(/ /g, "");
    if (value.match(/rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/)) {
      alphaVal =
        parseFloat(value.match(/rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/)[1]).toFixed(
          2
        ) * 100;
      alphaVal = parseInt(alphaVal);
    } else {
      alphaVal = 100;
    }
    return alphaVal;
  }

  /**
   * Force update the alpha value of the color picker object and maybe the alpha slider.
   */
  function acp_update_alpha_value_on_color_input(
    alpha,
    $input,
    $alphaSlider,
    update_slider
  ) {
    var iris, colorPicker, color;
    iris = $input.data("a8cIris");
    colorPicker = $input.data("wpWpColorPicker");

    // Set the alpha value on the Iris object.
    iris._color._alpha = alpha;

    // Store the new color value.
    color = iris._color.toString();

    // Set the value of the input.
    $input.val(color);
    $input.trigger("color_change");

    // Update the background color of the color picker.
    colorPicker.toggler.css({
      "background-color": color,
    });

    // Maybe update the alpha slider itself.
    if (update_slider) {
      acp_update_alpha_value_on_alpha_slider(alpha, $alphaSlider);
    }

    // Update the color value of the color picker object.
    $input.wpColorPicker("color", color);
  }

  /**
   * Update the slider handle position and label.
   */
  function acp_update_alpha_value_on_alpha_slider(alpha, $alphaSlider) {
    $alphaSlider.slider("value", alpha);
    $alphaSlider.find(".ui-slider-handle").text(alpha.toString());
  }
  $.fn.alphaColorPicker = function () {
    return this.each(function () {
      // Scope the vars.
      var $input,
        startingColor,
        paletteInput,
        showOpacity,
        defaultColor,
        palette,
        colorPickerOptions,
        $container,
        $alphaSlider,
        alphaVal,
        sliderOptions;

      // Store the input.
      $input = $(this);

      // We must wrap the input now in order to get our a top level class
      // around the HTML added by wpColorPicker().
      $input.wrap('<div class="alpha-color-picker-wrap"></div>');

      // Get some data off the input.
      paletteInput = $input.attr("data-palette") || "true";
      showOpacity = $input.attr("data-show-opacity") || "true";
      defaultColor = $input.attr("data-default-color") || "";

      // Process the palette.
      if (-1 !== paletteInput.indexOf("|")) {
        palette = paletteInput.split("|");
      } else if ("false" == paletteInput) {
        palette = false;
      } else {
        palette = true;
      }

      // Get a clean starting value for the option.
      startingColor = $input.val().replace(/\s+/g, "");

      //startingColor = $input.val().replace( '#', '' );
      //console.log( startingColor );
      // If we don't yet have a value, use the default color.
      if ("" == startingColor) {
        startingColor = defaultColor;
      }

      // Set up the options that we'll pass to wpColorPicker().
      colorPickerOptions = {
        change: function (event, ui) {
          var key, value, alpha, $transparency;
          key = $input.attr("data-customize-setting-link");
          value = $input.wpColorPicker("color");

          // Set the opacity value on the slider handle when the default color button is clicked.
          if (defaultColor == value) {
            alpha = acp_get_alpha_value_from_color(value);
            $alphaSlider.find(".ui-slider-handle").text(alpha);
          }

          // If we're in the Customizer, send an ajax request to wp.customize
          // to trigger the Save action.
          if ("undefined" != typeof wp.customize) {
            wp.customize(key, function (obj) {
              obj.set(value);
            });
          }
          $transparency = $container.find(".transparency");

          // Always show the background color of the opacity slider at 100% opacity.
          $transparency.css("background-color", ui.color.toString("no-alpha"));
          $input.trigger("color_change");
        },
        clear: function () {
          var key = $input.attr("data-customize-setting-link") || "";
          if (key && "" !== key) {
            if ("undefined" != typeof wp.customize) {
              wp.customize(key, function (obj) {
                obj.set("");
              });
            }
          }
          $input.val("");
          $input.trigger("color_change");
        },
        palettes: palette, // Use the passed in palette.
      };

      // Create the colorpicker.
      $input.wpColorPicker(colorPickerOptions);
      $container = $input.parents(".wp-picker-container:first");

      // Insert our opacity slider.
      $(
        '<div class="alpha-color-picker-container">' +
          '<div class="min-click-zone click-zone"></div>' +
          '<div class="max-click-zone click-zone"></div>' +
          '<div class="alpha-slider"></div>' +
          '<div class="transparency"></div>' +
          "</div>"
      ).appendTo($container.find(".wp-picker-holder"));
      $alphaSlider = $container.find(".alpha-slider");

      // If starting value is in format RGBa, grab the alpha channel.
      alphaVal = acp_get_alpha_value_from_color(startingColor);

      // Set up jQuery UI slider() options.
      sliderOptions = {
        create: function (event, ui) {
          var value = $(this).slider("value");

          // Set up initial values.
          $(this).find(".ui-slider-handle").text(value);
          $(this)
            .siblings(".transparency ")
            .css("background-color", startingColor);
        },
        value: alphaVal,
        range: "max",
        step: 1,
        min: 0,
        max: 100,
        animate: 300,
      };

      // Initialize jQuery UI slider with our options.
      $alphaSlider.slider(sliderOptions);

      // Maybe show the opacity on the handle.
      if ("true" == showOpacity) {
        $alphaSlider.find(".ui-slider-handle").addClass("show-opacity");
      }

      // Bind event handlers for the click zones.
      $container.find(".min-click-zone").on("click", function () {
        acp_update_alpha_value_on_color_input(0, $input, $alphaSlider, true);
      });
      $container.find(".max-click-zone").on("click", function () {
        acp_update_alpha_value_on_color_input(100, $input, $alphaSlider, true);
      });

      // Bind event handler for clicking on a palette color.
      $container.find(".iris-palette").on("click", function () {
        var color, alpha;
        color = $(this).css("background-color");
        alpha = acp_get_alpha_value_from_color(color);
        acp_update_alpha_value_on_alpha_slider(alpha, $alphaSlider);

        // Sometimes Iris doesn't set a perfect background-color on the palette,
        // for example rgba(20, 80, 100, 0.3) becomes rgba(20, 80, 100, 0.298039).
        // To compensante for this we round the opacity value on RGBa colors here
        // and save it a second time to the color picker object.
        if (100 != alpha) {
          color = color.replace(/[^,]+(?=\))/, (alpha / 100).toFixed(2));
        }
        $input.wpColorPicker("color", color);
      });

      // Bind event handler for clicking on the 'Default' button.
      $container.find(".button.wp-picker-default").on("click", function () {
        var alpha = acp_get_alpha_value_from_color(defaultColor);
        acp_update_alpha_value_on_alpha_slider(alpha, $alphaSlider);
      });

      // Bind event handler for typing or pasting into the input.
      $input.on("input", function () {
        var value = $(this).val();
        var alpha = acp_get_alpha_value_from_color(value);
        acp_update_alpha_value_on_alpha_slider(alpha, $alphaSlider);
      });

      // Update all the things when the slider is interacted with.
      $alphaSlider.slider().on("slide", function (event, ui) {
        var alpha = parseFloat(ui.value) / 100.0;
        acp_update_alpha_value_on_color_input(
          alpha,
          $input,
          $alphaSlider,
          false
        );

        // Change value shown on slider handle.
        $(this).find(".ui-slider-handle").text(ui.value);
      });
    });
  };
})(jQuery);

// WP COLOR ALPHA customizer -----------------------------
(function (api, $) {
  api.controlConstructor["alpha-color"] = api.Control.extend({
    ready: function () {
      var control = this;
      $(".alpha-color-control", control.container).alphaColorPicker({
        clear: function (event, ui) {},
      });
    },
  });
})(wp.customize, jQuery);

// WP REPEATERABLE Customizer -----------------------------
(function (api, $) {
  api.controlConstructor["bloglo-repeater"] = api.Control.extend({
    ready: function () {
      var control = this;
      setTimeout(function () {
        control._init();
      }, 2500);
    },
    eval: function (valueIs, valueShould, operator) {
      switch (operator) {
        case "not_in":
          valueShould = valueShould.split(",");
          if (0 > $.inArray(valueIs, valueShould)) {
            return true;
          } else {
            return false;
          }
          break;
        case "in":
          valueShould = valueShould.split(",");
          if (-1 < $.inArray(valueIs, valueShould)) {
            return true;
          } else {
            return false;
          }
          break;
        case "!=":
          return valueIs != valueShould;
        case "<=":
          return valueIs <= valueShould;
        case "<":
          return valueIs < valueShould;
        case ">=":
          return valueIs >= valueShould;
        case ">":
          return valueIs > valueShould;
        case "==":
        case "=":
          return valueIs == valueShould;
          break;
      }
    },
    compare: function (value1, cond, value2) {
      var equal = false;
      var _v;
      switch (cond) {
        case "===":
          equal = value1 === value2 ? true : false;
          break;
        case ">":
          equal = value1 > value2 ? true : false;
          break;
        case "<":
          equal = value1 < value2 ? true : false;
          break;
        case "!=":
          equal = value1 != value2 ? true : false;
          break;
        case "empty":
          _v = _.clone(value1);
          if (_.isObject(_v) || _.isArray(_v)) {
            _.each(_v, function (v, i) {
              if (_.isEmpty(v)) {
                delete _v[i];
              }
            });
            equal = _.isEmpty(_v) ? true : false;
          } else {
            equal = _.isNull(_v) || "" == _v ? true : false;
          }
          break;
        case "not_empty":
          _v = _.clone(value1);
          if (_.isObject(_v) || _.isArray(_v)) {
            _.each(_v, function (v, i) {
              if (_.isEmpty(v)) {
                delete _v[i];
              }
            });
          }
          equal = _.isEmpty(_v) ? false : true;
          break;
        default:
          equal = value1 == value2 ? true : false;
      }
      return equal;
    },
    multiple_compare: function (list, values) {
      var control = this;
      var check = true;
      try {
        var test = list[0];
        check = true;
        if (_.isString(test)) {
          check = false;
          var cond = list[1];
          var cond_val = list[2];
          var value;
          if (!_.isUndefined(values[test])) {
            value = values[test];
            check = control.compare(value, cond, cond_val);
          }
        } else if (_.isArray(test)) {
          check = true;
          _.each(list, function (req) {
            var cond_key = req[0];
            var cond_cond = req[1];
            var cond_val = req[2];
            var t_val = values[cond_key];
            if (_.isUndefined(t_val)) {
              t_val = "";
            }
            if (!control.compare(t_val, cond_cond, cond_val)) {
              check = false;
            }
          });
        }
      } catch (e) {
        check = false;
      }
      return check;
    },
    conditionize: function ($context) {
      var control = this;
      if ($context.hasClass("conditionized")) {
        return;
      }
      $context.addClass("conditionized");
      var $fields = $(".field--item", $context);
      $context.on(
        "change condition_check",
        "input, select, textarea",
        function (e) {
          var f = $(".form", $context);
          var data = $("input, textarea, select", f).serialize();
          data = jQuery.deparam(data);
          var fieldData = {};
          if (_.isObject(data)) {
            _.each(data._items, function (value) {
              fieldData = value;
            });
          }
          $fields.each(function () {
            var $field = $(this);
            var check = true;
            var req = $field.attr("data-cond") || false;
            if (!_.isUndefined(req) && req) {
              req = JSON.parse(req);
              check = control.multiple_compare(req, fieldData);
              if (!check) {
                $field.hide().addClass("cond-hide").removeClass("cond-show");
              } else {
                $field
                  .slideDown()
                  .removeClass("cond-hide")
                  .addClass("cond-show");
              }
            }
          });
        }
      );

      /**
       * Current support one level only
       */
      $("input, select, textarea", $context).eq(0).trigger("condition_check");
    },
    remove_editor: function ($context) {},
    editor: function ($textarea) {},
    _init: function () {
      var control = this;
      var default_data = control.params.fields;
      var values;
      try {
        if ("string" == typeof control.params.value) {
          values = JSON.parse(control.params.value);
        } else {
          values = control.params.value;
        }
      } catch (e) {
        values = {};
      }
      var max_item = 0; // unlimited
      var limited_mg = control.params.limited_msg || "";
      if (!isNaN(parseInt(control.params.max_item))) {
        max_item = parseInt(control.params.max_item);
      }
      if ("no" === control.params.changeable) {
        // control.container.addClass( 'no-changeable' );
      }

      /**
       * Toggle show/hide item
       */
      control.container.on(
        "click",
        ".widget .widget-action, .widget .repeat-control-close, .widget-title",
        function (e) {
          e.preventDefault();
          var p = $(this).closest(".widget");
          if (p.hasClass("explained")) {
            //console.log( 'has: explained' );
            $(".widget-inside", p).slideUp(200, "linear", function () {
              $(".widget-inside", p).removeClass("show").addClass("hide");
              p.removeClass("explained");
            });
          } else {
            // console.log( 'No: explained' );
            $(".widget-inside", p).slideDown(200, "linear", function () {
              $(".widget-inside", p).removeClass("hide").addClass("show");
              p.addClass("explained");
            });
          }
        }
      );

      /**
       * Remove repeater item
       */
      control.container.on("click", ".repeat-control-remove", function (e) {
        e.preventDefault();
        var $context = $(this).closest(".repeatable-customize-control");
        $("body").trigger("repeat-control-remove-item", [$context]);
        control.remove_editor($context);
        $context.remove();
        control.rename();
        control.updateValue();
        control._check_max_item();
      });

      /**
       * Get customizer control data
       *
       * @returns {*}
       */
      control.getData = function () {
        var f = $(".form-data", control.container);
        var data = $("input, textarea, select", f).serialize();
        return JSON.stringify(data);
      };

      /**
       * Update repeater value
       */
      control.updateValue = function () {
        var data = control.getData();

        //$("[data-hidden-value]", control.container).val(data);
        //$("[data-hidden-value]", control.container).trigger('change');
        control.setting.set(data);
      };
      control.update_value = function () {
        var self = this,
          value = {},
          option;

        self.container.find("[data-option]").each(function () {
          option = $(this).data("option");

          if (
            "background-size" === option ||
            "background-attachment" === option
          ) {
            value[option] = $(this).is(":checked")
              ? $(this).val()
              : value[option];
          } else {
            value[option] = $(this).val();
          }
        });

        self.setting.set(value);
      };

      /**
       * Rename repeater item
       */
      control.rename = function () {
        $(".list-repeatable li", control.container).each(function (index) {
          var li = $(this);
          $("input, textarea, select", li).each(function () {
            var input = $(this);
            var name = input.attr("data-repeat-name") || undefined;
            if ("undefined" !== typeof name) {
              name = name.replace(/__i__/g, index);
              input.attr("name", name);
            }
          });
        });
      };
      control.autocorrect_range_input_number = function (
        input_number,
        timeout
      ) {
        var range_input = input_number,
          range = range_input.parent().find('input[type="range"]'),
          value = parseFloat(range_input.val()),
          reset = parseFloat(
            range.find(".bloglo-reset-range").attr("data-reset_value")
          ),
          step = parseFloat(range_input.attr("step")),
          min = parseFloat(range_input.attr("min")),
          max = parseFloat(range_input.attr("max"));

        clearTimeout(timeout);

        timeout = setTimeout(function () {
          if (isNaN(value)) {
            range_input.val(reset);
            range.val(reset).trigger("change");
            return;
          }

          if (1 <= step && 0 !== value % 1) {
            value = Math.round(value);
            range_input.val(value);
            range.val(value).trigger("change");
          }

          if (value > max) {
            range_input.val(max);
            range.val(max).trigger("change");
          }

          if (value < min) {
            range_input.val(min);
            range.val(min).trigger("change");
          }
        }, timeout);

        range.val(value).trigger("change");
        control.updateValue();
      };
      if (!window._upload_bloglo) {
        // var insertImage = wp.media.controller.Library.extend({
        //     defaults :  _.defaults({
        //             id:        'insert-image',
        //             title:      'Insert Image Url',
        //             allowLocalEdits: true,
        //             displaySettings: true,
        //             displayUserSettings: true,
        //             multiple : false,
        //             type : 'image'//audio, video, application/pdf, ... etc
        //       }, wp.media.controller.Library.prototype.defaults )
        // });

        window._upload_bloglo = wp.media({
          title: wp.media.view.l10n.addMedia,
          multiple: false,

          //frame      : 'post'
          // library: {type: 'all' },
          //button : { text : 'Insert' }
        });
      }
      window._upload_bloglo.on("close", function () {
        // get selections and save to hidden input plus other AJAX stuff etc.
        var selection = window._upload_bloglo.state().get("selection");

        // console.log(selection);
      });
      window.media_current = {};
      window.media_btn = {};
      window._upload_bloglo.on("select", function () {
        // Grab our attachment selection and construct a JSON representation of the model.
        var media_attachment = window._upload_bloglo
          .state()
          .get("selection")
          .first()
          .toJSON();
        $(".image_id", window.media_current).val(media_attachment.id);
        var preview, img_url;
        img_url = media_attachment.url;
        $(".current", window.media_current)
          .removeClass("hide")
          .addClass("show");
        $(".image_url", window.media_current).val(img_url);
        if ("image" == media_attachment.type) {
          preview = '<img src="' + img_url + '" alt="">';
          $(".thumbnail-image", window.media_current).html(preview);
        }
        $(".remove-button", window.media_current).show();
        $(".image_id", window.media_current).trigger("change");
        try {
          window.media_btn.text(window.media_btn.attr("data-change-txt"));
        } catch (e) {}
      });
      control.handleMedia = function ($context) {
        $(".item-media", $context).each(function () {
          var _item = $(this);

          // when remove item
          $(".remove-button", _item).on("click", function (e) {
            e.preventDefault();
            $(".image_id, .image_url", _item).val("");
            $(".thumbnail-image", _item).html("");
            $(".current", _item).removeClass("show").addClass("hide");
            $(this).hide();
            $(".upload-button", _item).text(
              $(".upload-button", _item).attr("data-add-txt")
            );
            $(".image_id", _item).trigger("change");
          });

          // when upload item
          $(".upload-button, .attachment-media-view", _item).on(
            "click",
            function (e) {
              e.preventDefault();
              window.media_current = _item;
              window.media_btn = $(this);
              window._upload_bloglo.open();
            }
          );
        });
      };

      control.handleGradient = function ($context) {
        var control = this,
          setting = control.setting.get(),
          range,
          range_input,
          value,
          bloglo_range_input_number_timeout,
          popup_content = control.container.find(".popup-content");

        // Range controls.

        $(".item-gradient", $context).each(function () {
          var _item = $(this);

          _item.find(".bloglo-range-wrapper").each(function () {
            var $this = $(this);

            $this.rangeControl({
              id: control.params.id + "-" + $this.data("option-id"),
              option: $this.data("option-id"),
              value: setting[$this.data("options-id")],
              responsive: control.params.responsive,
              change: function () {
                control.update_value();
              },
            });

            // Change the text value
            $this
              .find("input.bloglo-range-input")
              .on("change keyup", function () {
                control.autocorrect_range_input_number(
                  $(this),
                  1000,
                  bloglo_range_input_number_timeout
                );
              })
              .on("focusout", function () {
                control.autocorrect_range_input_number(
                  $(this),
                  0,
                  bloglo_range_input_number_timeout
                );
              });
          });

          // Visibility deps.
          _item.on(
            "change",
            '[data-option="background-type"], [data-option="gradient-type"]',
            function () {
              var field = $(this).attr("data-option");
              _item.find('[data-dep-field="' + field + '"]').hide();
              _item
                .find(
                  '[data-dep-field="' +
                    field +
                    '"][data-dep-value="' +
                    $(this).val() +
                    '"]'
                )
                .show();
            }
          );

          _item
            .find(
              '[data-option="background-type"], [data-option="gradient-type"]'
            )
            .trigger("change");

          _item.on("change", ".bloglo-select-wrapper", function () {
            control.update_value();
          });
        });
      };

      control.handleBackground = function ($context) {
        var control = this,
          setting = control.setting.get(),
          range,
          range_input,
          value,
          bloglo_range_input_number_timeout,
          popup_content = control.container.find(".popup-content");

        // Range controls.

        $(".item-design-options", $context).each(function () {
          var _item = $(this);

          _item.find(".bloglo-range-wrapper").each(function () {
            var $this = $(this);

            $this.rangeControl({
              id: control.params.id + "-" + $this.data("option-id"),
              option: $this.data("option-id"),
              value: setting[$this.data("options-id")],
              responsive: control.params.responsive,
              change: function () {
                control.update_value();
              },
            });

            // Change the text value
            $this
              .find("input.bloglo-range-input")
              .on("change keyup", function () {
                control.autocorrect_range_input_number(
                  $(this),
                  1000,
                  bloglo_range_input_number_timeout
                );
              })
              .on("focusout", function () {
                control.autocorrect_range_input_number(
                  $(this),
                  0,
                  bloglo_range_input_number_timeout
                );
              });
          });

          // Visibility deps.
          _item.on(
            "change",
            '[data-option="background-type"], [data-option="gradient-type"]',
            function () {
              var field = $(this).attr("data-option");
              _item.find('[data-dep-field="' + field + '"]').hide();
              _item
                .find(
                  '[data-dep-field="' +
                    field +
                    '"][data-dep-value="' +
                    $(this).val() +
                    '"]'
                )
                .show();
            }
          );

          _item
            .find(
              '[data-option="background-type"], [data-option="gradient-type"]'
            )
            .trigger("change");

          _item.on("change", ".bloglo-select-wrapper", function () {
            control.update_value();
          });

          // Advanced panel.
          _item.find(".popup-link").on("click", function () {
            popup_content.toggleClass("hidden");
            $(this).toggleClass("active");
            $(this).siblings(".reset-defaults").toggleClass("active");

            // Close the panel on outside click.
            $("body").on("click", outside_click_close);
          });

          var outside_click_close = function (e) {
            if (
              !$(e.target).closest(".customize-save-button-wrapper").length &&
              !_item.has($(e.target).closest(".popup-link")).length &&
              !_item.has($(e.target).closest(".popup-content")).length &&
              !popup_content.hasClass("hidden") &&
              !$(e.target).closest(".reset-defaults").length
            ) {
              popup_content.addClass("hidden");
              _item.find(".popup-link").removeClass("active");
              _item.find(".reset-defaults").removeClass("active");
              $("body").off("click", outside_click_close);
            }
          };

          // Hide unnecessary controls.
          _item.find(".background-image-advanced").hide();

          // Background-Repeat.
          _item.on("change", ".background-repeat select", function () {
            control.update_value();
          });

          // Background-Size.
          _item.on("change click", ".background-size input", function () {
            control.update_value();
          });

          // Background-Attachment.
          _item.on("change click", ".background-attachment input", function () {
            control.update_value();
          });

          // Background-Image.
          _item.on("click", ".background-image-upload-button", function (e) {
            $("body").off("click", outside_click_close);

            var image = wp
              .media({
                multiple: false,
                title: control.params.l10n.image.select_image,
                button: {
                  text: control.params.l10n.image.use_image,
                },
              })
              .open()
              .on("select", function () {
                // This will return the selected image from the Media Uploader, the result is an object.
                var uploadedImage = image.state().get("selection").first(),
                  uploadedImageJSON = uploadedImage.toJSON(),
                  previewImage,
                  imageUrl,
                  imageID,
                  imageWidth,
                  imageHeight,
                  preview,
                  removeButton;

                if (!_.isUndefined(uploadedImageJSON.sizes)) {
                  if (!_.isUndefined(uploadedImageJSON.sizes.medium)) {
                    previewImage = uploadedImageJSON.sizes.medium.url;
                  } else if (
                    !_.isUndefined(uploadedImageJSON.sizes.thumbnail)
                  ) {
                    previewImage = uploadedImageJSON.sizes.thumbnail.url;
                  } else if (!_.isUndefined(uploadedImageJSON.sizes.full)) {
                    previewImage = uploadedImageJSON.sizes.full.url;
                  } else {
                    previewImage = uploadedImageJSON.url;
                  }
                } else {
                  previewImage = uploadedImageJSON.url;
                }

                imageUrl = uploadedImageJSON.url;
                imageID = uploadedImageJSON.id;
                imageWidth = uploadedImageJSON.width;
                imageHeight = uploadedImageJSON.height;

                // Show extra controls if the value has an image.
                if ("" !== imageUrl) {
                  _item.find(".background-image-advanced").show();
                  _item
                    .find(".advanced-settings")
                    .removeClass("hidden")
                    .addClass("up");
                }

                _item.find('[data-option="background-image"]').val(imageUrl);
                _item.find('[data-option="background-image-id"]').val(imageID);

                control.update_value();

                preview = _item.find(".placeholder, .thumbnail");
                removeButton = _item.find(
                  ".background-image-upload-remove-button"
                );

                if (preview.length) {
                  preview
                    .removeClass()
                    .addClass("thumbnail thumbnail-image")
                    .html('<img src="' + previewImage + '" alt="" />');
                }
                if (removeButton.length) {
                  removeButton.show();
                }

                setTimeout(function () {
                  $("body").on("click", outside_click_close);
                }, 100);
              });

            e.preventDefault();
          });

          _item.on(
            "click",
            ".background-image-upload-remove-button",
            function (e) {
              var preview, removeButton;

              e.preventDefault();

              _item.find('[data-option="background-image"]').val("");
              _item.find('[data-option="background-image-id"]').val("");

              control.update_value();

              preview = _item.find(".placeholder, .thumbnail");
              removeButton = _item.find(
                ".background-image-upload-remove-button"
              );

              // Hide unnecessary controls.
              _item.find(".background-image-advanced").hide();
              _item
                .find(".advanced-settings")
                .addClass("hidden")
                .removeClass("up");

              if (preview.length) {
                preview
                  .removeClass()
                  .addClass("placeholder")
                  .html(control.params.l10n.image.placeholder);
              }

              if (removeButton.length) {
                removeButton.hide();
              }
            }
          );

          _item.on("click", ".advanced-settings", function (e) {
            $(this).toggleClass("up");
            _item.find(".background-image-advanced").toggle();
          });

          // Spacing field.

          // Linked button
          _item.on("click", ".bloglo-spacing-linked", function () {
            // Set up variables
            var $this = $(this);

            // Remove linked class
            $this.closest("ul").find(".spacing-input").removeClass("linked");

            // Remove class
            $this.parent(".spacing-link-values").removeClass("unlinked");
          });

          // Unlinked button
          _item.on("click", ".bloglo-spacing-unlinked", function () {
            // Set up variables
            var $this = $(this);

            // Remove linked class
            $this.closest("ul").find(".spacing-input").addClass("linked");

            // Remove class
            $this.parent(".spacing-link-values").addClass("unlinked");
          });

          // Values linked inputs
          _item.on("input", ".linked input", function () {
            var $val = $(this).val();
            $(this)
              .closest(".spacing-input")
              .siblings(".linked")
              .find("input")
              .val($val)
              .change();
          });

          // Store new inputs
          _item.on("change input", ".spacing-input input", function () {
            control.update_value();
          });

          // Reset default.
          _item.find(".reset-defaults").on("click", function () {
            var item, option_id;

            _item.find("[data-option]").each(function () {
              item = $(this);
              option_id = item.data("option");

              if (
                "background-size" === option_id ||
                "background-attachment" === option_id
              ) {
                item.prop("checked", false);

                if (
                  option_id in control.params.default &&
                  control.params.default[option_id] === item.val()
                ) {
                  item.prop("checked", true);
                }
              } else {
                item
                  .val(control.params.default[item.data("option")])
                  .trigger("change");
              }
            });

            _item.find(".background-image-upload-remove-button").click();

            control.update_value();
          });
        });
      };

      /**
       * Init color picker
       *
       * @param $context
       */
      control.colorPicker = function ($context) {
        // Add Color Picker to all inputs that have 'color-field' class
        $(".c-color", $context).wpColorPicker({
          change: function (event, ui) {
            control.updateValue();
          },
          clear: function (event, ui) {
            control.updateValue();
          },
        });
        $(".c-coloralpha", $context).each(function () {
          var input = $(this);
          var c = input.val();

          //c = c.replace('#', '');
          input.removeAttr("value");
          input.prop("value", c);
          input.alphaColorPicker({
            change: function (event, ui) {
              control.updateValue();
            },
            clear: function (event, ui) {
              control.updateValue();
            },
          });
        });
      };

      /**
       * Live title events
       *
       * @param $context
       */
      control.actions = function ($context) {
        if (control.params.live_title_id) {
          if (!$context.attr("data-title-format")) {
            $context.attr("data-title-format", control.params.title_format);
          }
          var format = $context.attr("data-title-format") || "";

          // Custom for special ID
          if ("bloglo_section_order_styling" === control.id) {
            if ("click" !== $context.find("input.add_by").val()) {
              format = "[live_title]";
            }
          }

          // Live title
          if (
            control.params.live_title_id &&
            0 <
              $(
                "[data-live-id='" + control.params.live_title_id + "']",
                $context
              ).length
          ) {
            var v = "";
            if (
              $(
                "[data-live-id='" + control.params.live_title_id + "']",
                $context
              ).is(".select-one")
            ) {
              v = $(
                "[data-live-id='" + control.params.live_title_id + "']",
                $context
              )
                .find("option:selected")
                .eq(0)
                .text();
            } else {
              v = $(
                "[data-live-id='" + control.params.live_title_id + "']",
                $context
              )
                .eq(0)
                .val();
            }
            if ("" == v) {
              v = control.params.default_empty_title;
            }
            if ("" !== format) {
              v = format.replace("[live_title]", v);
            }
            $(".widget-title .live-title", $context).text(v);
            $context.on(
              "keyup change",
              "[data-live-id='" + control.params.live_title_id + "']",
              function () {
                var v = "";
                var format = $context.attr("data-title-format") || "";

                // custom for special ID
                if ("bloglo_section_order_styling" === control.id) {
                  if ("click" !== $context.find("input.add_by").val()) {
                    format = "[live_title]";
                  }
                }
                if ($(this).is(".select-one")) {
                  v = $(this).find("option:selected").eq(0).text();
                } else {
                  v = $(this).val();
                }
                if ("" == v) {
                  v = control.params.default_empty_title;
                }
                if ("" !== format) {
                  v = format.replace("[live_title]", v);
                }
                $(".widget-title .live-title", $context).text(v);
              }
            );
          } else {
          }
        } else {
          //$('.widget-title .live-title', $context).text( control.params.title_format );
        }
      };

      /**
       * Check limit number item
       *
       * @private
       */
      control._check_max_item = function () {
        var n = $(
          ".list-repeatable > li.repeatable-customize-control",
          control.container
        ).length;

        //console.log( n );
        if (n >= max_item) {
          $(".repeatable-actions", control.container).hide();
          if (0 >= $(".limited-msg", control.container).length) {
            if ("" !== limited_mg) {
              var msg = $('<p class="limited-msg"/>');
              msg.html(limited_mg);
              msg.insertAfter($(".repeatable-actions", control.container));
              msg.show();
            }
          } else {
            $(".limited-msg", control.container).show();
          }
        } else {
          $(".repeatable-actions", control.container).show();
          $(".limited-msg", control.container).hide();
        }
      };

      /**
       * Function that loads the Mustache template
       */
      control.repeaterTemplate = _.memoize(function () {
        var compiled,
          /*
           * Underscore's default ERB-style templates are incompatible with PHP
           * when asp_tags is enabled, so WordPress uses Mustache-inspired templating syntax.
           *
           * @see trac ticket #22344.
           */
          options = {
            evaluate: /<#([\s\S]+?)#>/g,
            interpolate: /\{\{\{([\s\S]+?)\}\}\}/g,
            escape: /\{\{([^\}]+?)\}\}(?!\})/g,
            variable: "data",
          };
        return function (data) {
          if ("undefined" === typeof window.repeater_item_tpl) {
            window.repeater_item_tpl = $("#repeatable-js-item-tpl").html();
          }
          compiled = _.template(window.repeater_item_tpl, null, options);
          return compiled(data);
        };
      });
      control.template = control.repeaterTemplate();

      /**
       * Init item events
       *
       * @param $context
       */
      control.intItem = function ($context) {
        control.rename();
        control.conditionize($context);
        control.colorPicker($context);
        control.handleMedia($context);
        control.handleGradient($context);
        control.handleBackground($context);

        //Special check element
        $('[data-live-id="section_id"]', $context).each(function () {
          $(this)
            .closest(".repeatable-customize-control")
            .addClass("section-" + $(this).val());
          if ("map" === $(this).val()) {
            $context.addClass("show-display-field-only");
          }
        });

        // Custom for special IDs
        if ("bloglo_section_order_styling" === control.id) {
          if ("click" !== $context.find("input.add_by").val()) {
            $context.addClass("no-changeable");

            // Remove because we never use
            $(".item-editor textarea", $context).remove();
          } else {
            $context.find(".item-title").removeClass("item-hidden ");
            $context
              .find('.item-title input[type="hidden"]')
              .attr("type", "text");
            $context.find(".item-section_id").removeClass("item-hidden ");
            $context
              .find('.item-section_id input[type="hidden"]')
              .attr("type", "text");
          }
        }

        // Setup editor
        $(".item-editor textarea", $context).each(function () {
          control.editor($(this));
        });

        // Setup editor
        $("body").trigger("repeater-control-init-item", [$context]);
      };

      /**
       * Drag to sort items
       */
      $(".list-repeatable", control.container).sortable({
        handle: ".widget-title",

        //containment: ".customize-control-repeatable",
        containment: control.container,

        /// placeholder: "sortable-placeholder",
        update: function (event, ui) {
          control.rename();
          control.updateValue();
        },
      });

      /**
       * Create existing items
       */
      _templateData = $.extend(true, {}, control.params.fields);
      var _templateData;
      $.each(values, function (i, _values) {
        _values = values[i];
        if (_values) {
          for (var j in _values) {
            if (_templateData.hasOwnProperty(j) && _values.hasOwnProperty(j)) {
              _templateData[j].value = _values[j];
            }
          }
        }
        var $html = $(control.template(_templateData));
        $(".list-repeatable", control.container).append($html);
        control.intItem($html);
        control.actions($html);
      });

      /**
       * Add new item
       */
      control.container.on("click", ".add-new-repeat-item", function () {
        var $html = $(control.template(default_data));
        $(".list-repeatable", control.container).append($html);

        // add unique ID for section if id_key is set
        if ("" !== control.params.id_key) {
          $html
            .find(".item-" + control.params.id_key)
            .find("input")
            .val("sid" + new Date().getTime());
        }
        $html.find("input.add_by").val("click");
        control.intItem($html);
        control.actions($html);
        control.updateValue();
        control._check_max_item();
      });

      /**
       * Update repeater data when any events fire.
       */
      $(".list-repeatable", control.container).on(
        "keyup change color_change",
        "input, select, textarea",
        function (e) {
          control.updateValue();
        }
      );
      control._check_max_item();
    },
  });
})(wp.customize, jQuery);

/**
 * Icon picker
 */
jQuery(document).ready(function ($) {
  window.editing_icon = false;
  var icon_picker = $(
    '<div class="c-icon-picker"><div class="c-icon-type-wrap"><select class="c-icon-type"></select></div><div class="c-icon-search"><input class="" type="text"></div><div class="c-icon-list"></div></div>'
  );
  var options_font_type = "",
    icon_group = "";
  $.each(Bloglo_Icon_Picker.fonts, function (key, font) {
    font = $.extend(
      {},
      {
        url: "",
        name: "",
        prefix: "",
        icons: "",
      },
      font
    );
    $("<link>")
      .appendTo("head")
      .attr({
        type: "text/css",
        rel: "stylesheet",
      })
      .attr("id", "customizer-icon-" + key)
      .attr("href", font.url);
    options_font_type +=
      '<option value="' + key + '">' + font.name + "</option>";
    var icons_array = font.icons.split("|");
    icon_group +=
      '<div class="ic-icons-group" style="display: none;" data-group-name="' +
      key +
      '">';
    $.each(icons_array, function (index, icon) {
      if (font.prefix) {
        icon = font.prefix + " " + icon;
      }
      icon_group +=
        '<span title="' +
        icon +
        '" data-name="' +
        icon +
        '"><i class="' +
        icon +
        '"></i></span>';
    });
    icon_group += "</div>";
  });
  icon_picker
    .find(".c-icon-search input")
    .attr("placeholder", Bloglo_Icon_Picker.search);
  icon_picker.find(".c-icon-type").html(options_font_type);
  icon_picker.find(".c-icon-list").append(icon_group);
  $(".wp-full-overlay").append(icon_picker);

  // Change icon type
  $("body").on("change", "select.c-icon-type", function () {
    var t = $(this).val();
    icon_picker.find(".ic-icons-group").hide();
    icon_picker.find('.ic-icons-group[data-group-name="' + t + '"]').show();
  });
  icon_picker.find("select.c-icon-type").trigger("change");

  // When type to search
  $("body").on("keyup", ".c-icon-search input", function () {
    var v = $(this).val();
    if ("" == v) {
      $(".c-icon-list span").show();
    } else {
      $(".c-icon-list span").hide();
      try {
        $('.c-icon-list span[data-name*="' + v + '"]').show();
      } catch (e) {}
    }
  });

  // Edit icon
  $("body").on("click", ".icon-wrapper", function (e) {
    e.preventDefault();
    var icon = $(this);
    window.editing_icon = icon;
    icon_picker.addClass("ic-active");
    $("body").find(".icon-wrapper").removeClass("icon-editing");
    icon.addClass("icon-editing");
  });

  // Remove icon
  $("body").on("click", ".item-icon .remove-icon", function (e) {
    e.preventDefault();
    var item = $(this).closest(".item-icon");
    item.find(".icon-wrapper input").val("");
    item.find(".icon-wrapper input").trigger("change");
    item.find(".icon-wrapper i").attr("class", "");
    $("body").find(".icon-wrapper").removeClass("icon-editing");
  });

  // Selected icon
  $("body").on("click", ".c-icon-list span", function (e) {
    e.preventDefault();
    var icon_name = $(this).attr("data-name") || "";
    if (window.editing_icon) {
      window.editing_icon
        .find("i")
        .attr("class", "")
        .addClass($(this).find("i").attr("class"));
      window.editing_icon.find("input").val(icon_name).trigger("change");
    }
    icon_picker.removeClass("ic-active");
    window.editing_icon = false;
    $("body").find(".icon-wrapper").removeClass("icon-editing");
  });
  $(document).mouseup(function (e) {
    if (window.editing_icon) {
      if (
        !window.editing_icon.is(e.target) && // if the target of the click isn't the container...
        0 === window.editing_icon.has(e.target).length && // ... nor a descendant of the container
        !icon_picker.is(e.target) &&
        0 === icon_picker.has(e.target).length
      ) {
        icon_picker.removeClass("ic-active");

        // window.editing_icon = false;
      }
    }
  });
});
inc/customizer/controls/repeater/repeater.min.js000064400000113474152425655550016152 0ustar00!(function (e) {
  e.deparam = function (t, i) {
    var a = {},
      n = { true: !0, false: !1, null: null };
    return (
      e.each(t.replace(/\+/g, " ").split("&"), function (t, o) {
        var r,
          c = o.split("="),
          d = decodeURIComponent(c[0]),
          l = a,
          s = 0,
          u = d.split("]["),
          p = u.length - 1;
        if (
          (/\[/.test(u[0]) && /\]$/.test(u[p])
            ? ((u[p] = u[p].replace(/\]$/, "")),
              (p = (u = u.shift().split("[").concat(u)).length - 1))
            : (p = 0),
          2 === c.length)
        )
          if (
            ((r = decodeURIComponent(c[1])),
            i &&
              (r =
                r && !isNaN(r)
                  ? +r
                  : "undefined" === r
                  ? void 0
                  : void 0 !== n[r]
                  ? n[r]
                  : r),
            p)
          )
            for (; s <= p; s++)
              l = l[(d = "" === u[s] ? l.length : u[s])] =
                s < p ? l[d] || (u[s + 1] && isNaN(u[s + 1]) ? {} : []) : r;
          else
            e.isArray(a[d])
              ? a[d].push(r)
              : void 0 !== a[d]
              ? (a[d] = [a[d], r])
              : (a[d] = r);
        else d && (a[d] = i ? void 0 : "");
      }),
      a
    );
  };
})(jQuery),
  (function (e) {
    function t(e) {
      var t;
      return (
        (e = e.replace(/ /g, "")).match(/rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/)
          ? ((t =
              100 *
              parseFloat(e.match(/rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/)[1]).toFixed(
                2
              )),
            (t = parseInt(t)))
          : (t = 100),
        t
      );
    }
    function i(e, t, i, n) {
      var o, r, c;
      (o = t.data("a8cIris")),
        (r = t.data("wpWpColorPicker")),
        (o._color._alpha = e),
        (c = o._color.toString()),
        t.val(c),
        t.trigger("color_change"),
        r.toggler.css({ "background-color": c }),
        n && a(e, i),
        t.wpColorPicker("color", c);
    }
    function a(e, t) {
      t.slider("value", e), t.find(".ui-slider-handle").text(e.toString());
    }
    (Color.prototype.toString = function (e) {
      if ("no-alpha" == e) return this.toCSS("rgba", "1").replace(/\s+/g, "");
      if (1 > this._alpha)
        return this.toCSS("rgba", this._alpha).replace(/\s+/g, "");
      var t = parseInt(this._color, 10).toString(16);
      if (this.error) return "";
      if (6 > t.length) for (var i = 6 - t.length - 1; 0 <= i; i--) t = "0" + t;
      return "#" + t;
    }),
      (e.fn.alphaColorPicker = function () {
        return this.each(function () {
          var n, o, r, c, d, l, s, u, p, h;
          (n = e(this)).wrap('<div class="alpha-color-picker-wrap"></div>'),
            (r = n.attr("data-palette") || "true"),
            (c = n.attr("data-show-opacity") || "true"),
            (d = n.attr("data-default-color") || ""),
            (l = -1 !== r.indexOf("|") ? r.split("|") : "false" != r),
            "" == (o = n.val().replace(/\s+/g, "")) && (o = d),
            (s = {
              change: function (e, i) {
                var a, o, r;
                (a = n.attr("data-customize-setting-link")),
                  (o = n.wpColorPicker("color")),
                  d == o && ((r = t(o)), p.find(".ui-slider-handle").text(r)),
                  void 0 !== wp.customize &&
                    wp.customize(a, function (e) {
                      e.set(o);
                    }),
                  u
                    .find(".transparency")
                    .css("background-color", i.color.toString("no-alpha")),
                  n.trigger("color_change");
              },
              clear: function () {
                var e = n.attr("data-customize-setting-link") || "";
                e &&
                  "" !== e &&
                  void 0 !== wp.customize &&
                  wp.customize(e, function (e) {
                    e.set("");
                  }),
                  n.val(""),
                  n.trigger("color_change");
              },
              palettes: l,
            }),
            n.wpColorPicker(s),
            (u = n.parents(".wp-picker-container:first")),
            e(
              '<div class="alpha-color-picker-container"><div class="min-click-zone click-zone"></div><div class="max-click-zone click-zone"></div><div class="alpha-slider"></div><div class="transparency"></div></div>'
            ).appendTo(u.find(".wp-picker-holder")),
            (p = u.find(".alpha-slider")),
            (h = {
              create: function (t, i) {
                var a = e(this).slider("value");
                e(this).find(".ui-slider-handle").text(a),
                  e(this).siblings(".transparency ").css("background-color", o);
              },
              value: t(o),
              range: "max",
              step: 1,
              min: 0,
              max: 100,
              animate: 300,
            }),
            p.slider(h),
            "true" == c && p.find(".ui-slider-handle").addClass("show-opacity"),
            u.find(".min-click-zone").on("click", function () {
              i(0, n, p, !0);
            }),
            u.find(".max-click-zone").on("click", function () {
              i(100, n, p, !0);
            }),
            u.find(".iris-palette").on("click", function () {
              var i, o;
              a((o = t((i = e(this).css("background-color")))), p),
                100 != o &&
                  (i = i.replace(/[^,]+(?=\))/, (o / 100).toFixed(2))),
                n.wpColorPicker("color", i);
            }),
            u.find(".button.wp-picker-default").on("click", function () {
              a(t(d), p);
            }),
            n.on("input", function () {
              a(t(e(this).val()), p);
            }),
            p.slider().on("slide", function (t, a) {
              i(parseFloat(a.value) / 100, n, p, !1),
                e(this).find(".ui-slider-handle").text(a.value);
            });
        });
      });
  })(jQuery),
  (function (e, t) {
    e.controlConstructor["alpha-color"] = e.Control.extend({
      ready: function () {
        t(".alpha-color-control", this.container).alphaColorPicker({
          clear: function (e, t) {},
        });
      },
    });
  })(wp.customize, jQuery),
  (function (e, t) {
    e.controlConstructor["bloglo-repeater"] = e.Control.extend({
      ready: function () {
        var e = this;
        setTimeout(function () {
          e._init();
        }, 2500);
      },
      eval: function (e, i, a) {
        switch (a) {
          case "not_in":
            return (i = i.split(",")), 0 > t.inArray(e, i);
          case "in":
            return (i = i.split(",")), -1 < t.inArray(e, i);
          case "!=":
            return e != i;
          case "<=":
            return e <= i;
          case "<":
            return e < i;
          case ">=":
            return e >= i;
          case ">":
            return e > i;
          case "==":
          case "=":
            return e == i;
        }
      },
      compare: function (e, t, i) {
        var a,
          n = !1;
        switch (t) {
          case "===":
            n = e === i;
            break;
          case ">":
            n = e > i;
            break;
          case "<":
            n = e < i;
            break;
          case "!=":
            n = e != i;
            break;
          case "empty":
            (a = _.clone(e)),
              _.isObject(a) || _.isArray(a)
                ? (_.each(a, function (e, t) {
                    _.isEmpty(e) && delete a[t];
                  }),
                  (n = !!_.isEmpty(a)))
                : (n = !(!_.isNull(a) && "" != a));
            break;
          case "not_empty":
            (a = _.clone(e)),
              (_.isObject(a) || _.isArray(a)) &&
                _.each(a, function (e, t) {
                  _.isEmpty(e) && delete a[t];
                }),
              (n = !_.isEmpty(a));
            break;
          default:
            n = e == i;
        }
        return n;
      },
      multiple_compare: function (e, t) {
        var i = this,
          a = !0;
        try {
          var n = e[0];
          if (((a = !0), _.isString(n))) {
            a = !1;
            var o,
              r = e[1],
              c = e[2];
            _.isUndefined(t[n]) || ((o = t[n]), (a = i.compare(o, r, c)));
          } else
            _.isArray(n) &&
              ((a = !0),
              _.each(e, function (e) {
                var n = e[0],
                  o = e[1],
                  r = e[2],
                  c = t[n];
                _.isUndefined(c) && (c = ""), i.compare(c, o, r) || (a = !1);
              }));
        } catch (e) {
          a = !1;
        }
        return a;
      },
      conditionize: function (e) {
        var i = this;
        if (!e.hasClass("conditionized")) {
          e.addClass("conditionized");
          var a = t(".field--item", e);
          e.on(
            "change condition_check",
            "input, select, textarea",
            function (n) {
              var o = t(".form", e),
                r = t("input, textarea, select", o).serialize();
              r = jQuery.deparam(r);
              var c = {};
              _.isObject(r) &&
                _.each(r._items, function (e) {
                  c = e;
                }),
                a.each(function () {
                  var e = t(this),
                    a = e.attr("data-cond") || !1;
                  !_.isUndefined(a) &&
                    a &&
                    ((a = JSON.parse(a)),
                    i.multiple_compare(a, c)
                      ? e
                          .slideDown()
                          .removeClass("cond-hide")
                          .addClass("cond-show")
                      : e
                          .hide()
                          .addClass("cond-hide")
                          .removeClass("cond-show"));
                });
            }
          ),
            t("input, select, textarea", e).eq(0).trigger("condition_check");
        }
      },
      remove_editor: function (e) {},
      editor: function (e) {},
      _init: function () {
        var e,
          i = this,
          a = i.params.fields;
        try {
          e =
            "string" == typeof i.params.value
              ? JSON.parse(i.params.value)
              : i.params.value;
        } catch (t) {
          e = {};
        }
        var n,
          o = 0,
          r = i.params.limited_msg || "";
        isNaN(parseInt(i.params.max_item)) || (o = parseInt(i.params.max_item)),
          i.params.changeable,
          i.container.on(
            "click",
            ".widget .widget-action, .widget .repeat-control-close, .widget-title",
            function (e) {
              e.preventDefault();
              var i = t(this).closest(".widget");
              i.hasClass("explained")
                ? t(".widget-inside", i).slideUp(200, "linear", function () {
                    t(".widget-inside", i).removeClass("show").addClass("hide"),
                      i.removeClass("explained");
                  })
                : t(".widget-inside", i).slideDown(200, "linear", function () {
                    t(".widget-inside", i).removeClass("hide").addClass("show"),
                      i.addClass("explained");
                  });
            }
          ),
          i.container.on("click", ".repeat-control-remove", function (e) {
            e.preventDefault();
            var a = t(this).closest(".repeatable-customize-control");
            t("body").trigger("repeat-control-remove-item", [a]),
              i.remove_editor(a),
              a.remove(),
              i.rename(),
              i.updateValue(),
              i._check_max_item();
          }),
          (i.getData = function () {
            var e = t(".form-data", i.container),
              a = t("input, textarea, select", e).serialize();
            return JSON.stringify(a);
          }),
          (i.updateValue = function () {
            var e = i.getData();
            i.setting.set(e);
          }),
          (i.update_value = function () {
            var e,
              i = {};
            this.container.find("[data-option]").each(function () {
              (e = t(this).data("option")),
                (i[e] =
                  "background-size" === e || "background-attachment" === e
                    ? t(this).is(":checked")
                      ? t(this).val()
                      : i[e]
                    : t(this).val());
            }),
              this.setting.set(i);
          }),
          (i.rename = function () {
            t(".list-repeatable li", i.container).each(function (e) {
              var i = t(this);
              t("input, textarea, select", i).each(function () {
                var i = t(this),
                  a = i.attr("data-repeat-name") || void 0;
                void 0 !== a &&
                  ((a = a.replace(/__i__/g, e)), i.attr("name", a));
              });
            });
          }),
          (i.autocorrect_range_input_number = function (e, t) {
            var a = e,
              n = a.parent().find('input[type="range"]'),
              o = parseFloat(a.val()),
              r = parseFloat(
                n.find(".bloglo-reset-range").attr("data-reset_value")
              ),
              c = parseFloat(a.attr("step")),
              d = parseFloat(a.attr("min")),
              l = parseFloat(a.attr("max"));
            clearTimeout(t),
              (t = setTimeout(function () {
                if (isNaN(o)) return a.val(r), void n.val(r).trigger("change");
                1 <= c &&
                  0 != o % 1 &&
                  ((o = Math.round(o)), a.val(o), n.val(o).trigger("change")),
                  o > l && (a.val(l), n.val(l).trigger("change")),
                  o < d && (a.val(d), n.val(d).trigger("change"));
              }, t)),
              n.val(o).trigger("change"),
              i.updateValue();
          }),
          window._upload_bloglo ||
            (window._upload_bloglo = wp.media({
              title: wp.media.view.l10n.addMedia,
              multiple: !1,
            })),
          window._upload_bloglo.on("close", function () {
            window._upload_bloglo.state().get("selection");
          }),
          (window.media_current = {}),
          (window.media_btn = {}),
          window._upload_bloglo.on("select", function () {
            var e,
              i,
              a = window._upload_bloglo
                .state()
                .get("selection")
                .first()
                .toJSON();
            t(".image_id", window.media_current).val(a.id),
              (i = a.url),
              t(".current", window.media_current)
                .removeClass("hide")
                .addClass("show"),
              t(".image_url", window.media_current).val(i),
              "image" == a.type &&
                ((e = '<img src="' + i + '" alt="">'),
                t(".thumbnail-image", window.media_current).html(e)),
              t(".remove-button", window.media_current).show(),
              t(".image_id", window.media_current).trigger("change");
            try {
              window.media_btn.text(window.media_btn.attr("data-change-txt"));
            } catch (e) {}
          }),
          (i.handleMedia = function (e) {
            t(".item-media", e).each(function () {
              var e = t(this);
              t(".remove-button", e).on("click", function (i) {
                i.preventDefault(),
                  t(".image_id, .image_url", e).val(""),
                  t(".thumbnail-image", e).html(""),
                  t(".current", e).removeClass("show").addClass("hide"),
                  t(this).hide(),
                  t(".upload-button", e).text(
                    t(".upload-button", e).attr("data-add-txt")
                  ),
                  t(".image_id", e).trigger("change");
              }),
                t(".upload-button, .attachment-media-view", e).on(
                  "click",
                  function (i) {
                    i.preventDefault(),
                      (window.media_current = e),
                      (window.media_btn = t(this)),
                      window._upload_bloglo.open();
                  }
                );
            });
          }),
          (i.handleGradient = function (e) {
            var i = this,
              a = i.setting.get();
            i.container.find(".popup-content");
            t(".item-gradient", e).each(function () {
              var e = t(this);
              e.find(".bloglo-range-wrapper").each(function () {
                var e = t(this);
                e.rangeControl({
                  id: i.params.id + "-" + e.data("option-id"),
                  option: e.data("option-id"),
                  value: a[e.data("options-id")],
                  responsive: i.params.responsive,
                  change: function () {
                    i.update_value();
                  },
                }),
                  e
                    .find("input.bloglo-range-input")
                    .on("change keyup", function () {
                      i.autocorrect_range_input_number(t(this), 1e3, void 0);
                    })
                    .on("focusout", function () {
                      i.autocorrect_range_input_number(t(this), 0, void 0);
                    });
              }),
                e.on(
                  "change",
                  '[data-option="background-type"], [data-option="gradient-type"]',
                  function () {
                    var i = t(this).attr("data-option");
                    e.find('[data-dep-field="' + i + '"]').hide(),
                      e
                        .find(
                          '[data-dep-field="' +
                            i +
                            '"][data-dep-value="' +
                            t(this).val() +
                            '"]'
                        )
                        .show();
                  }
                ),
                e
                  .find(
                    '[data-option="background-type"], [data-option="gradient-type"]'
                  )
                  .trigger("change"),
                e.on("change", ".bloglo-select-wrapper", function () {
                  i.update_value();
                });
            });
          }),
          (i.handleBackground = function (e) {
            var i = this,
              a = i.setting.get(),
              n = i.container.find(".popup-content");
            t(".item-design-options", e).each(function () {
              var e = t(this);
              e.find(".bloglo-range-wrapper").each(function () {
                var e = t(this);
                e.rangeControl({
                  id: i.params.id + "-" + e.data("option-id"),
                  option: e.data("option-id"),
                  value: a[e.data("options-id")],
                  responsive: i.params.responsive,
                  change: function () {
                    i.update_value();
                  },
                }),
                  e
                    .find("input.bloglo-range-input")
                    .on("change keyup", function () {
                      i.autocorrect_range_input_number(t(this), 1e3, void 0);
                    })
                    .on("focusout", function () {
                      i.autocorrect_range_input_number(t(this), 0, void 0);
                    });
              }),
                e.on(
                  "change",
                  '[data-option="background-type"], [data-option="gradient-type"]',
                  function () {
                    var i = t(this).attr("data-option");
                    e.find('[data-dep-field="' + i + '"]').hide(),
                      e
                        .find(
                          '[data-dep-field="' +
                            i +
                            '"][data-dep-value="' +
                            t(this).val() +
                            '"]'
                        )
                        .show();
                  }
                ),
                e
                  .find(
                    '[data-option="background-type"], [data-option="gradient-type"]'
                  )
                  .trigger("change"),
                e.on("change", ".bloglo-select-wrapper", function () {
                  i.update_value();
                }),
                e.find(".popup-link").on("click", function () {
                  n.toggleClass("hidden"),
                    t(this).toggleClass("active"),
                    t(this).siblings(".reset-defaults").toggleClass("active"),
                    t("body").on("click", o);
                });
              var o = function (i) {
                t(i.target).closest(".customize-save-button-wrapper").length ||
                  e.has(t(i.target).closest(".popup-link")).length ||
                  e.has(t(i.target).closest(".popup-content")).length ||
                  n.hasClass("hidden") ||
                  t(i.target).closest(".reset-defaults").length ||
                  (n.addClass("hidden"),
                  e.find(".popup-link").removeClass("active"),
                  e.find(".reset-defaults").removeClass("active"),
                  t("body").off("click", o));
              };
              e.find(".background-image-advanced").hide(),
                e.on("change", ".background-repeat select", function () {
                  i.update_value();
                }),
                e.on("change click", ".background-size input", function () {
                  i.update_value();
                }),
                e.on(
                  "change click",
                  ".background-attachment input",
                  function () {
                    i.update_value();
                  }
                ),
                e.on("click", ".background-image-upload-button", function (a) {
                  t("body").off("click", o);
                  var n = wp
                    .media({
                      multiple: !1,
                      title: i.params.l10n.image.select_image,
                      button: { text: i.params.l10n.image.use_image },
                    })
                    .open()
                    .on("select", function () {
                      var a,
                        r,
                        c,
                        d,
                        l,
                        s = n.state().get("selection").first().toJSON();
                      (a = _.isUndefined(s.sizes)
                        ? s.url
                        : _.isUndefined(s.sizes.medium)
                        ? _.isUndefined(s.sizes.thumbnail)
                          ? _.isUndefined(s.sizes.full)
                            ? s.url
                            : s.sizes.full.url
                          : s.sizes.thumbnail.url
                        : s.sizes.medium.url),
                        (r = s.url),
                        (c = s.id),
                        s.width,
                        s.height,
                        "" !== r &&
                          (e.find(".background-image-advanced").show(),
                          e
                            .find(".advanced-settings")
                            .removeClass("hidden")
                            .addClass("up")),
                        e.find('[data-option="background-image"]').val(r),
                        e.find('[data-option="background-image-id"]').val(c),
                        i.update_value(),
                        (d = e.find(".placeholder, .thumbnail")),
                        (l = e.find(".background-image-upload-remove-button")),
                        d.length &&
                          d
                            .removeClass()
                            .addClass("thumbnail thumbnail-image")
                            .html('<img src="' + a + '" alt="" />'),
                        l.length && l.show(),
                        setTimeout(function () {
                          t("body").on("click", o);
                        }, 100);
                    });
                  a.preventDefault();
                }),
                e.on(
                  "click",
                  ".background-image-upload-remove-button",
                  function (t) {
                    var a, n;
                    t.preventDefault(),
                      e.find('[data-option="background-image"]').val(""),
                      e.find('[data-option="background-image-id"]').val(""),
                      i.update_value(),
                      (a = e.find(".placeholder, .thumbnail")),
                      (n = e.find(".background-image-upload-remove-button")),
                      e.find(".background-image-advanced").hide(),
                      e
                        .find(".advanced-settings")
                        .addClass("hidden")
                        .removeClass("up"),
                      a.length &&
                        a
                          .removeClass()
                          .addClass("placeholder")
                          .html(i.params.l10n.image.placeholder),
                      n.length && n.hide();
                  }
                ),
                e.on("click", ".advanced-settings", function (i) {
                  t(this).toggleClass("up"),
                    e.find(".background-image-advanced").toggle();
                }),
                e.on("click", ".bloglo-spacing-linked", function () {
                  var e = t(this);
                  e.closest("ul").find(".spacing-input").removeClass("linked"),
                    e.parent(".spacing-link-values").removeClass("unlinked");
                }),
                e.on("click", ".bloglo-spacing-unlinked", function () {
                  var e = t(this);
                  e.closest("ul").find(".spacing-input").addClass("linked"),
                    e.parent(".spacing-link-values").addClass("unlinked");
                }),
                e.on("input", ".linked input", function () {
                  var e = t(this).val();
                  t(this)
                    .closest(".spacing-input")
                    .siblings(".linked")
                    .find("input")
                    .val(e)
                    .change();
                }),
                e.on("change input", ".spacing-input input", function () {
                  i.update_value();
                }),
                e.find(".reset-defaults").on("click", function () {
                  var a, n;
                  e.find("[data-option]").each(function () {
                    (a = t(this)),
                      "background-size" === (n = a.data("option")) ||
                      "background-attachment" === n
                        ? (a.prop("checked", !1),
                          n in i.params.default &&
                            i.params.default[n] === a.val() &&
                            a.prop("checked", !0))
                        : a
                            .val(i.params.default[a.data("option")])
                            .trigger("change");
                  }),
                    e.find(".background-image-upload-remove-button").click(),
                    i.update_value();
                });
            });
          }),
          (i.colorPicker = function (e) {
            t(".c-color", e).wpColorPicker({
              change: function (e, t) {
                i.updateValue();
              },
              clear: function (e, t) {
                i.updateValue();
              },
            }),
              t(".c-coloralpha", e).each(function () {
                var e = t(this),
                  a = e.val();
                e.removeAttr("value"),
                  e.prop("value", a),
                  e.alphaColorPicker({
                    change: function (e, t) {
                      i.updateValue();
                    },
                    clear: function (e, t) {
                      i.updateValue();
                    },
                  });
              });
          }),
          (i.actions = function (e) {
            if (i.params.live_title_id) {
              e.attr("data-title-format") ||
                e.attr("data-title-format", i.params.title_format);
              var a = e.attr("data-title-format") || "";
              if (
                ("bloglo_section_order_styling" === i.id &&
                  "click" !== e.find("input.add_by").val() &&
                  (a = "[live_title]"),
                i.params.live_title_id &&
                  0 <
                    t("[data-live-id='" + i.params.live_title_id + "']", e)
                      .length)
              ) {
                var n = "";
                "" ==
                  (n = t(
                    "[data-live-id='" + i.params.live_title_id + "']",
                    e
                  ).is(".select-one")
                    ? t("[data-live-id='" + i.params.live_title_id + "']", e)
                        .find("option:selected")
                        .eq(0)
                        .text()
                    : t("[data-live-id='" + i.params.live_title_id + "']", e)
                        .eq(0)
                        .val()) && (n = i.params.default_empty_title),
                  "" !== a && (n = a.replace("[live_title]", n)),
                  t(".widget-title .live-title", e).text(n),
                  e.on(
                    "keyup change",
                    "[data-live-id='" + i.params.live_title_id + "']",
                    function () {
                      var a = "",
                        n = e.attr("data-title-format") || "";
                      "bloglo_section_order_styling" === i.id &&
                        "click" !== e.find("input.add_by").val() &&
                        (n = "[live_title]"),
                        "" ==
                          (a = t(this).is(".select-one")
                            ? t(this).find("option:selected").eq(0).text()
                            : t(this).val()) &&
                          (a = i.params.default_empty_title),
                        "" !== n && (a = n.replace("[live_title]", a)),
                        t(".widget-title .live-title", e).text(a);
                    }
                  );
              }
            }
          }),
          (i._check_max_item = function () {
            if (
              t(
                ".list-repeatable > li.repeatable-customize-control",
                i.container
              ).length >= o
            )
              if (
                (t(".repeatable-actions", i.container).hide(),
                0 >= t(".limited-msg", i.container).length)
              ) {
                if ("" !== r) {
                  var e = t('<p class="limited-msg"/>');
                  e.html(r),
                    e.insertAfter(t(".repeatable-actions", i.container)),
                    e.show();
                }
              } else t(".limited-msg", i.container).show();
            else
              t(".repeatable-actions", i.container).show(),
                t(".limited-msg", i.container).hide();
          }),
          (i.repeaterTemplate = _.memoize(function () {
            var e = {
              evaluate: /<#([\s\S]+?)#>/g,
              interpolate: /\{\{\{([\s\S]+?)\}\}\}/g,
              escape: /\{\{([^\}]+?)\}\}(?!\})/g,
              variable: "data",
            };
            return function (i) {
              return (
                void 0 === window.repeater_item_tpl &&
                  (window.repeater_item_tpl = t(
                    "#repeatable-js-item-tpl"
                  ).html()),
                _.template(window.repeater_item_tpl, null, e)(i)
              );
            };
          })),
          (i.template = i.repeaterTemplate()),
          (i.intItem = function (e) {
            i.rename(),
              i.conditionize(e),
              i.colorPicker(e),
              i.handleMedia(e),
              i.handleGradient(e),
              i.handleBackground(e),
              t('[data-live-id="section_id"]', e).each(function () {
                t(this)
                  .closest(".repeatable-customize-control")
                  .addClass("section-" + t(this).val()),
                  "map" === t(this).val() &&
                    e.addClass("show-display-field-only");
              }),
              "bloglo_section_order_styling" === i.id &&
                ("click" !== e.find("input.add_by").val()
                  ? (e.addClass("no-changeable"),
                    t(".item-editor textarea", e).remove())
                  : (e.find(".item-title").removeClass("item-hidden "),
                    e
                      .find('.item-title input[type="hidden"]')
                      .attr("type", "text"),
                    e.find(".item-section_id").removeClass("item-hidden "),
                    e
                      .find('.item-section_id input[type="hidden"]')
                      .attr("type", "text"))),
              t(".item-editor textarea", e).each(function () {
                i.editor(t(this));
              }),
              t("body").trigger("repeater-control-init-item", [e]);
          }),
          t(".list-repeatable", i.container).sortable({
            handle: ".widget-title",
            containment: i.container,
            update: function (e, t) {
              i.rename(), i.updateValue();
            },
          }),
          (n = t.extend(!0, {}, i.params.fields)),
          t.each(e, function (a, o) {
            if ((o = e[a]))
              for (var r in o)
                n.hasOwnProperty(r) &&
                  o.hasOwnProperty(r) &&
                  (n[r].value = o[r]);
            var c = t(i.template(n));
            t(".list-repeatable", i.container).append(c),
              i.intItem(c),
              i.actions(c);
          }),
          i.container.on("click", ".add-new-repeat-item", function () {
            var e = t(i.template(a));
            t(".list-repeatable", i.container).append(e),
              "" !== i.params.id_key &&
                e
                  .find(".item-" + i.params.id_key)
                  .find("input")
                  .val("sid" + new Date().getTime()),
              e.find("input.add_by").val("click"),
              i.intItem(e),
              i.actions(e),
              i.updateValue(),
              i._check_max_item();
          }),
          t(".list-repeatable", i.container).on(
            "keyup change color_change",
            "input, select, textarea",
            function (e) {
              i.updateValue();
            }
          ),
          i._check_max_item();
      },
    });
  })(wp.customize, jQuery),
  jQuery(document).ready(function (e) {
    window.editing_icon = !1;
    var t = e(
        '<div class="c-icon-picker"><div class="c-icon-type-wrap"><select class="c-icon-type"></select></div><div class="c-icon-search"><input class="" type="text"></div><div class="c-icon-list"></div></div>'
      ),
      i = "",
      a = "";
    e.each(Bloglo_Icon_Picker.fonts, function (t, n) {
      (n = e.extend({}, { url: "", name: "", prefix: "", icons: "" }, n)),
        e("<link>")
          .appendTo("head")
          .attr({ type: "text/css", rel: "stylesheet" })
          .attr("id", "customizer-icon-" + t)
          .attr("href", n.url),
        (i += '<option value="' + t + '">' + n.name + "</option>");
      var o = n.icons.split("|");
      (a +=
        '<div class="ic-icons-group" style="display: none;" data-group-name="' +
        t +
        '">'),
        e.each(o, function (e, t) {
          n.prefix && (t = n.prefix + " " + t),
            (a +=
              '<span title="' +
              t +
              '" data-name="' +
              t +
              '"><i class="' +
              t +
              '"></i></span>');
        }),
        (a += "</div>");
    }),
      t
        .find(".c-icon-search input")
        .attr("placeholder", Bloglo_Icon_Picker.search),
      t.find(".c-icon-type").html(i),
      t.find(".c-icon-list").append(a),
      e(".wp-full-overlay").append(t),
      e("body").on("change", "select.c-icon-type", function () {
        var i = e(this).val();
        t.find(".ic-icons-group").hide(),
          t.find('.ic-icons-group[data-group-name="' + i + '"]').show();
      }),
      t.find("select.c-icon-type").trigger("change"),
      e("body").on("keyup", ".c-icon-search input", function () {
        var t = e(this).val();
        if ("" == t) e(".c-icon-list span").show();
        else {
          e(".c-icon-list span").hide();
          try {
            e('.c-icon-list span[data-name*="' + t + '"]').show();
          } catch (e) {}
        }
      }),
      e("body").on("click", ".icon-wrapper", function (i) {
        i.preventDefault();
        var a = e(this);
        (window.editing_icon = a),
          t.addClass("ic-active"),
          e("body").find(".icon-wrapper").removeClass("icon-editing"),
          a.addClass("icon-editing");
      }),
      e("body").on("click", ".item-icon .remove-icon", function (t) {
        t.preventDefault();
        var i = e(this).closest(".item-icon");
        i.find(".icon-wrapper input").val(""),
          i.find(".icon-wrapper input").trigger("change"),
          i.find(".icon-wrapper i").attr("class", ""),
          e("body").find(".icon-wrapper").removeClass("icon-editing");
      }),
      e("body").on("click", ".c-icon-list span", function (i) {
        i.preventDefault();
        var a = e(this).attr("data-name") || "";
        window.editing_icon &&
          (window.editing_icon
            .find("i")
            .attr("class", "")
            .addClass(e(this).find("i").attr("class")),
          window.editing_icon.find("input").val(a).trigger("change")),
          t.removeClass("ic-active"),
          (window.editing_icon = !1),
          e("body").find(".icon-wrapper").removeClass("icon-editing");
      }),
      e(document).mouseup(function (e) {
        window.editing_icon &&
          (window.editing_icon.is(e.target) ||
            0 !== window.editing_icon.has(e.target).length ||
            t.is(e.target) ||
            0 !== t.has(e.target).length ||
            t.removeClass("ic-active"));
      });
  });
inc/customizer/controls/generic-notice/class-bloglo-customizer-control-generic-notice.php000064400000006142152425655550026143 0ustar00<?php
/**
 * Customizer info main class.
 *
 * @package Bloglo
 * @since Bloglo 1.0.0
 */

/**
 * Pro customizer section.
 *
 * @since  1.0.0
 * @access public
 */
class Bloglo_Customizer_Control_Generic_Notice extends WP_Customize_Section {

	/**
	 * The type of customize section being rendered.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    string
	 */
	public $type = 'bloglo-generic-notice';

	/**
	 * Label text to output.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    string
	 */
	public $section_text = '';

	/**
	 * Plugin slug for which to create install button.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    string
	 */
	public $slug = '';

	/**
	 * Hide notice.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    string
	 */
	public $hide_notice = false;

	/**
	 * Screen reader text on dismiss button.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    string
	 */
	public $button_screenreader = '';

	/**
	 * Control options.
	 *
	 * Ex: redirect link after install
	 *
	 * @var array
	 */
	public $options = array();


	/**
	 * Id of customizer hiding control.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var integer
	 */
	public $id;

	/**
	 * Bloglo_Hiding_Section constructor.
	 *
	 * @param WP_Customize_Manager $manager Customizer Manager.
	 * @param string               $id Control id.
	 * @param array                $args Arguments.
	 */
	public function __construct( WP_Customize_Manager $manager, $id, array $args = array() ) {
		parent::__construct( $manager, $id, $args );
		add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue' ), 10, 1 );
	}


	/**
	 * Enqueue function.
	 */
	public function enqueue() {
		 Bloglo_Customizer_Plugin_Install_Helper::instance()->enqueue_scripts();
	}

	/**
	 * Add custom parameters to pass to the JS via JSON.
	 *
	 * @since  1.0.0
	 * @access public
	 * @return array
	 */
	public function json() {
		$json                          = parent::json();
		$json['section_text']          = $this->section_text;
		$json['hide_notice']           = $this->hide_notice;
		$json['plugin_install_button'] = $this->create_plugin_install_button( $this->slug, $this->options );

		return $json;
	}

	/**
	 * Outputs the Underscore.js template.
	 *
	 * @since  1.0.0
	 * @access public
	 * @return void
	 */
	protected function render_template() {
		?>
		<# if ( !data.hide_notice ) { #>
		<li id="accordion-section-{{ data.id }}"
				class="bloglo-notice accordion-section control-section control-section-{{ data.type }} cannot-expand">
			<button type="button" class="notice-dismiss" style="z-index: 1;"></button>
			<h4 class="accordion-section-title" style="padding-right: 36px">
				<# if ( data.section_text ) { #>
				{{{data.section_text}}}
				<# } #>
				<# if ( data.plugin_install_button ) { #>
				{{{data.plugin_install_button}}}
				<# } #>
			</h4>

		</li>
		<# } #>
		<?php
	}

	/**
	 * Check plugin state.
	 *
	 * @param string $slug plugin slug.
	 *
	 * @return bool
	 */
	public function create_plugin_install_button( $slug, $settings = array() ) {
		return Bloglo_Customizer_Plugin_Install_Helper::instance()->get_button_html( $slug, $settings );
	}
}
inc/customizer/controls/typography/class-bloglo-customizer-control-typography.php000064400000041103152425655550024765 0ustar00<?php
/**
 * Bloglo Customizer custom typography control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Typography' ) ) :
	/**
	 * Bloglo Customizer custom typography control class.
	 */
	class Bloglo_Customizer_Control_Typography extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-typography';

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $display = array();

		/**
		 * Set the default typography options.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) {

			$this->display = array(
				'font-family'     => array(),
				'font-subsets'    => array(),
				'font-weight'     => array(),
				'font-style'      => array(),
				'text-transform'  => array(),
				'letter-spacing'  => array(),
				'text-decoration' => array(),
				'font-size'       => array(),
				'line-height'     => array(),
			);

			parent::__construct( $manager, $id, $args );
		}

		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {

			parent::enqueue();

			wp_localize_script(
				$this->type . '-js',
				'bloglo_typography_vars',
				array(
					'fonts'   => bloglo()->fonts->get_fonts(),
					'default' => bloglo()->fonts->get_default_system_font(),
				)
			);

			// Script debug.
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			/**
			 * Enqueue select2 stylesheet.
			 */
			wp_enqueue_style(
				'bloglo-select2-style',
				BLOGLO_THEME_URI . '/inc/admin/assets/css/select2' . $bloglo_suffix . '.css',
				false,
				BLOGLO_THEME_VERSION,
				'all'
			);

			/**
			 * Enqueue select2 script.
			 */
			wp_enqueue_script(
				'bloglo-select2-js',
				BLOGLO_THEME_URI . '/inc/admin/assets/js/libs/select2' . $bloglo_suffix . '.js',
				array( 'jquery' ),
				BLOGLO_THEME_VERSION,
				true
			);
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['display'] = $this->display;

			$this->json['l10n'] = array(
				'advanced'        => esc_html__( 'Advanced', 'bloglo' ),
				'font-family'     => esc_html__( 'Font Family', 'bloglo' ),
				'font-subsets'    => esc_html__( 'Languages', 'bloglo' ),
				'font-weight'     => esc_html__( 'Weight', 'bloglo' ),
				'font-size'       => esc_html__( 'Size', 'bloglo' ),
				'font-style'      => esc_html__( 'Style', 'bloglo' ),
				'text-transform'  => esc_html__( 'Transform', 'bloglo' ),
				'text-decoration' => esc_html__( 'Decoration', 'bloglo' ),
				'line-height'     => esc_html__( 'Line Height', 'bloglo' ),
				'letter-spacing'  => esc_html__( 'Letter Spacing', 'bloglo' ),
				'inherit'         => esc_html__( 'Inherit', 'bloglo' ),
				'default'         => esc_html__( 'Default System Font', 'bloglo' ),
				'weights'         => array(
					'inherit'   => esc_html__( 'Inherit', 'bloglo' ),
					'100'       => esc_html__( 'Thin 100', 'bloglo' ),
					'100italic' => esc_html__( 'Thin 100 Italic', 'bloglo' ),
					'200'       => esc_html__( 'Extra-Thin 200', 'bloglo' ),
					'200italic' => esc_html__( 'Extra-Thin 200 Italic', 'bloglo' ),
					'300'       => esc_html__( 'Light 300', 'bloglo' ),
					'300italic' => esc_html__( 'Light 300 Italic', 'bloglo' ),
					'400'       => esc_html__( 'Normal 400', 'bloglo' ),
					'400italic' => esc_html__( 'Normal 400 Italic', 'bloglo' ),
					'500'       => esc_html__( 'Medium 500', 'bloglo' ),
					'500italic' => esc_html__( 'Medium 500 Italic', 'bloglo' ),
					'600'       => esc_html__( 'Semi-Bold 600', 'bloglo' ),
					'600italic' => esc_html__( 'Semi-Bold 600 Italic', 'bloglo' ),
					'700'       => esc_html__( 'Bold 700', 'bloglo' ),
					'700italic' => esc_html__( 'Bold 700 Italic', 'bloglo' ),
					'800'       => esc_html__( 'Extra-Bold 800', 'bloglo' ),
					'800italic' => esc_html__( 'Extra-Bold 800 Italic', 'bloglo' ),
					'900'       => esc_html__( 'Black 900', 'bloglo' ),
					'900italic' => esc_html__( 'Black 900 Italic', 'bloglo' ),
				),
				'subsets'         => bloglo()->fonts->get_google_font_subsets(),
				'transforms'      => array(
					'inherit'    => esc_html__( 'Inherit', 'bloglo' ),
					'uppercase'  => esc_html__( 'Uppercase', 'bloglo' ),
					'lowercase'  => esc_html__( 'Lowercase', 'bloglo' ),
					'capitalize' => esc_html__( 'Capitalize', 'bloglo' ),
					'none'       => esc_html__( 'None', 'bloglo' ),
				),
				'decorations'     => array(
					'inherit'      => esc_html__( 'Inherit', 'bloglo' ),
					'underline'    => esc_html__( 'Underline', 'bloglo' ),
					'overline'     => esc_html__( 'Overline', 'bloglo' ),
					'line-through' => esc_html__( 'Line Through', 'bloglo' ),
					'none'         => esc_html__( 'None', 'bloglo' ),
				),
				'styles'          => array(
					'inherit' => esc_html__( 'Inherit', 'bloglo' ),
					'normal'  => esc_html__( 'Normal', 'bloglo' ),
					'italic'  => esc_html__( 'Italic', 'bloglo' ),
					'oblique' => esc_html__( 'Oblique', 'bloglo' ),
				),
			);

			$default_units = array(
				'font-size'      => array(
					array(
						'id'   => 'px',
						'name' => 'px',
						'min'  => 8,
						'max'  => 65,
						'step' => 1,
					),
					array(
						'id'   => 'em',
						'name' => 'em',
						'min'  => 0.5,
						'max'  => 6.5,
						'step' => 0.01,
					),
					array(
						'id'   => 'rem',
						'name' => 'rem',
						'min'  => 0.5,
						'max'  => 6.5,
						'step' => 0.01,
					),
				),
				'letter-spacing' => array(
					array(
						'id'   => 'px',
						'name' => 'px',
						'min'  => -10,
						'max'  => 10,
						'step' => 1,
					),
				),
				'line-height'    => array(
					array(
						'id'   => '',
						'name' => '',
						'min'  => 1,
						'max'  => 10,
						'step' => 0.1,
					),
				),
			);

			$this->json['units'] = array();

			foreach ( array( 'font-size', 'letter-spacing', 'line-height' ) as $key ) {
				if ( isset( $this->display[ $key ] ) && isset( $this->display[ $key ]['unit'] ) ) {
					$this->json['units'][ $key ] = $this->display[ $key ]['unit'];
				}
			}

			$this->json['units'] = wp_parse_args( $this->json['units'], $default_units );

			$this->json['responsive'] = array(
				'desktop' => array(
					'title' => esc_html__( 'Desktop', 'bloglo' ),
					'icon'  => 'dashicons dashicons-desktop',
				),
				'tablet'  => array(
					'title' => esc_html__( 'Tablet', 'bloglo' ),
					'icon'  => 'dashicons dashicons-tablet',
				),
				'mobile'  => array(
					'title' => esc_html__( 'Mobile', 'bloglo' ),
					'icon'  => 'dashicons dashicons-smartphone',
				),
			);
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-typography-wrapper bloglo-popup-options bloglo-control-wrapper">

				<div class="bloglo-typography-heading">
					<# if ( data.label ) { #>
						<div class="customize-control-title">
							<span>{{{ data.label }}}</span>

							<# if ( data.description ) { #>
								<i class="bloglo-info-icon">
									<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
										<circle cx="12" cy="12" r="10"></circle>
										<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
										<line x1="12" y1="17" x2="12" y2="17"></line>
									</svg>
									<span class="bloglo-tooltip">{{{ data.description }}}</span>
								</i>
							<# } #>
					</div>
					<# } #>
				</div>

				<a href="#" class="reset-defaults">
					<span class="dashicons dashicons-image-rotate"></span>
				</a>

				<a href="#" class="popup-link">
					<span class="dashicons dashicons-edit"></span>
				</a>

				<div class="popup-content hidden">

					<# if ( 'font-family' in data.display ) { #>
						<!-- Font Family -->
						<div class="bloglo-select-wrapper bloglo-typography-font-family">
							<label for="font-family-{{ data.id }}">{{{ data.l10n['font-family'] }}}</label>
							<select data-option="font-family" id="font-family-{{ data.id }}" data-default="{{ data.default['font-family'] }}">
								<option value="{{ data.value['font-family'] }}" selected="selected">
									<# if ( 'default' === data.value['font-family'] ) { #>
										{{{ data.l10n['default'] }}}
									<# } else if ( 'inherit' === data.value['font-family'] ) { #>
										{{{ data.l10n['inherit'] }}}
									<# } else { #>
										{{{ data.value['font-family'] }}}
									<# } #>
								</option> 
							</select>
						</div>
					<# } #>

					<# if ( 'font-subsets' in data.display ) { #>
						<!-- Font subsets -->
						<div class="bloglo-select-wrapper bloglo-typography-font-subsets">
							<label for="font-subsets-{{ data.id }}">{{{ data.l10n['font-subsets'] }}}</label>
							<select data-option="font-subsets" id="font-subsets-{{ data.id }}" multiple="multiple">
								<# _.each( data.value['font-subsets'], function( subsets ){ #>
									<option value="{{ subsets }}" selected="selected">{{{ data.l10n['subsets'][ subsets ] }}}</option>
								<# }); #>
							</select>
						</div>
					<# } #>

					<# if ( 'font-size' in data.display ) { #>
						<!-- Font Size -->
						<div class="bloglo-range-wrapper bloglo-typography-font-size bloglo-control-responsive" data-option-id="font-size">
							<label for="font-size-{{ data.id }}">
								<span>{{{ data.l10n['font-size'] }}}</span>
								<?php $this->responsive_devices(); ?>
							</label>

							<div class="bloglo-control-wrap" data-unit="{{ data.value['font-size-unit'] }}">
								<# _.each( data.responsive, function( settings, device ){ #>

									<div class="{{ device }} control-responsive">

										<input 
											type="range" 
											{{{ data.inputAttrs }}} 
											value="{{ data.value[ 'font-size-' + device ] }}" 
											min="{{ data.units['font-size']['min'] }}" 
											max="{{ data.units['font-size']['max'] }}" 
											step="{{ data.units['font-size']['step'] }}"  
											data-device="{{ device }}" />

											<span 
												class="bloglo-reset-range"
												data-reset_value="{{ data.default[ 'font-size-' + device ] }}"
												data-reset_unit="{{ data.default[ 'font-size-unit'] }}">
												<span class="dashicons dashicons-image-rotate"></span>
											</span>

										<input 
											type="number" 
											{{{ data.inputAttrs }}} 
											class="bloglo-range-input" 
											data-option="font-size-{{ device }}" 
											value="{{ data.value[ 'font-size-' + device ] }}" />
									</div>

								<# } ); #>
							</div><!-- .bloglo-control-wrap -->
						</div><!-- .bloglo-range-wrapper -->
					<# } #>

					<# if ( 'font-weight' in data.display ) { #>
						<!-- Font Weight -->
						<div class="bloglo-select-wrapper bloglo-typography-font-weight">
							<label for="font-weight-{{ data.id }}">{{{ data.l10n['font-weight'] }}}</label>
							<select data-option="font-weight" id="font-weight-{{ data.id }}" data-default="{{ data.default['font-weight'] }}">
								<option value="{{ data.value['font-weight'] }}" selected="selected">{{{ data.l10n.weights[ data.value['font-weight'] ] }}}</option> 
							</select>
						</div>
					<# } #>

					<# if ( 'font-style' in data.display ) { #>
						<!-- Font Style -->
						<div class="bloglo-select-wrapper bloglo-typography-font-style">
							<label for="font-style-{{ data.id }}">{{{ data.l10n['font-style'] }}}</label>
							<select data-option="font-style" id="font-style-{{ data.id }}" data-default="{{ data.default['font-style'] }}">
								<# _.each( data.l10n['styles'], function( value, key ){ #>
									<option value="{{ key }}" <# if ( key === data.value['font-style'] ) { #> selected="selected"<# } #>>{{{ value }}}</option>
								<# }); #>
							</select>
						</div>
					<# } #>

					<# if ( 'text-transform' in data.display ) { #>
						<!-- Text Transform -->
						<div class="bloglo-select-wrapper bloglo-typography-text-transform">
							<label for="text-transform-{{ data.id }}">{{{ data.l10n['text-transform'] }}}</label>
							<select data-option="text-transform" id="text-transform-{{ data.id }}" data-default="{{ data.default['text-transform'] }}">
								<# _.each( data.l10n['transforms'], function( value, key ){ #>
									<option value="{{ key }}" <# if ( key === data.value['text-transform'] ) { #> selected="selected"<# } #>>{{{ value }}}</option>
								<# }); #>
							</select>
						</div>
					<# } #>

					<# if ( 'text-decoration' in data.display ) { #>
						<!-- Text Transform -->
						<div class="bloglo-select-wrapper bloglo-typography-text-decoration">
							<label for="text-decoration-{{ data.id }}">{{{ data.l10n['text-decoration'] }}}</label>
							<select data-option="text-decoration" id="text-decoration-{{ data.id }}" data-default="{{ data.default['text-decoration'] }}">
								<# _.each( data.l10n['decorations'], function( value, key ){ #>
									<option value="{{ key }}" <# if ( key === data.value['text-decoration'] ) { #> selected="selected"<# } #>>{{{ value }}}</option>
								<# }); #>
							</select>
						</div>
					<# } #>

					<# if ( 'line-height' in data.display ) { #>
						<!-- Line Height -->
						<div class="bloglo-range-wrapper bloglo-typography-line-height bloglo-control-responsive" data-option-id="line-height">
							<label for="line-height-{{ data.id }}">
								<span>{{{ data.l10n['line-height'] }}}</span>
								<?php $this->responsive_devices(); ?>
							</label>

							<div class="bloglo-control-wrap" data-unit="{{ data.value['line-height-unit'] }}">
								<# _.each( data.responsive, function( settings, device ){ #>

									<div class="{{ device }} control-responsive">

										<input 
											type="range" 
											{{{ data.inputAttrs }}} 
											value="{{ data.value[ 'line-height-' + device ] }}" 
											min="{{ data.units['line-height']['min'] }}" 
											max="{{ data.units['line-height']['max'] }}" 
											step="{{ data.units['line-height']['step'] }}"  
											data-device="{{ device }}" />

											<span 
												class="bloglo-reset-range"
												data-reset_value="{{ data.default[ 'line-height-' + device ] }}"
												data-reset_unit="{{ data.default[ 'line-height-unit'] }}">
												<span class="dashicons dashicons-image-rotate"></span>
											</span>

										<input 
											type="number" 
											{{{ data.inputAttrs }}} 
											class="bloglo-range-input" 
											data-option="line-height-{{ device }}" 
											value="{{ data.value[ 'line-height-' + device ] }}" />
									</div>

								<# } ); #>
							</div><!-- .bloglo-control-wrap -->
						</div><!-- .bloglo-range-wrapper -->
					<# } #>

					<# if ( 'letter-spacing' in data.display ) { #>
						<!-- Letter Spacing -->
						<div class="bloglo-range-wrapper bloglo-typography-letter-spacing bloglo-control-responsive" data-option-id="letter-spacing">
							<label for="letter-spacing-{{ data.id }}">
								<span>{{{ data.l10n['letter-spacing'] }}}</span>
							</label>

							<div class="bloglo-control-wrap" data-unit="{{ data.value['letter-spacing-unit'] }}">
								<input 
									type="range" 
									{{{ data.inputAttrs }}} 
									value="{{ data.value[ 'letter-spacing' ] }}" 
									min="{{ data.units['letter-spacing']['min'] }}" 
									max="{{ data.units['letter-spacing']['max'] }}" 
									step="{{ data.units['letter-spacing']['step'] }}" />
								<span 
									class="bloglo-reset-range"
									data-reset_value="{{ data.default[ 'letter-spacing' ] }}"
									data-reset_unit="{{ data.default[ 'letter-spacing-unit'] }}">
									<span class="dashicons dashicons-image-rotate"></span>
								</span>
								<input 
									type="number" 
									{{{ data.inputAttrs }}} 
									class="bloglo-range-input" 
									data-option="letter-spacing" 
									value="{{ data.value[ 'letter-spacing' ] }}" />
							</div><!-- .bloglo-control-wrap -->
						</div><!-- .bloglo-range-wrapper -->
					<# } #>
				</div><!-- .bloglo-typography-advanced -->

			</div><!-- .bloglo-control-wrapper -->
			<?php
		}
	}
endif;
inc/customizer/controls/typography/typography.min.js000064400000020566152425655550017147 0ustar00!(function (t) {
  "use strict";
  wp.customize.controlConstructor["bloglo-typography"] =
    wp.customize.Control.extend({
      ready: function () {
        var e = this,
          n = e.setting.get(),
          i = e.container.find(".popup-content");
        e.container.find("#font-family-" + e.params.id).select2(),
          e.container.find("#font-subsets-" + e.params.id).select2(),
          e.update_font_subsets_field(n["font-family"]),
          e.container.on("change", "#font-family-" + e.params.id, function () {
            e.update_font_weight_field(t(this).val()),
              e.update_font_subsets_field(t(this).val());
          }),
          e.container.on("change", "[data-option]", function () {
            e.update_value();
          }),
          e.container.find(".bloglo-range-wrapper").each(function () {
            var i = t(this);
            i.rangeControl({
              id: e.params.id + "-" + i.data("option-id"),
              option: i.data("option-id"),
              unit: e.params.units[i.data("option-id")],
              value: n[i.data("options-id")],
              responsive: e.params.responsive,
              change: function () {
                e.update_value();
              },
            });
          }),
          e.container.on(
            "select2:opening",
            "#font-family-" + e.params.id,
            function () {
              e.populate_font_family_field(),
                e.container.off(
                  "select2:opening",
                  "#font-family-" + e.params.id
                );
            }
          ),
          e.container.on(
            "mousedown",
            '[data-option="font-weight"]',
            function () {
              e.update_font_weight_field(
                e.container.find("#font-family-" + e.params.id).val()
              ),
                e.container.off("mousedown", '[data-option="font-weight"]');
            }
          ),
          e.container.on(
            "select2:opening",
            "#font-subsets-" + e.params.id,
            function () {
              e.update_font_subsets_field(
                e.container.find("#font-family-" + e.params.id).val()
              ),
                e.container.off("mousedown", '[data-option="font-subsets"]');
            }
          ),
          e.container.find(".popup-link").on("click", function () {
            i.toggleClass("hidden"),
              t(this).toggleClass("active"),
              t(this).siblings(".reset-defaults").toggleClass("active"),
              t("body").on("click", o);
          }),
          e.container.find(".reset-defaults").on("click", function () {
            "font-family" in e.params.display &&
              (e.populate_font_family_field(),
              e.container
                .find("#font-family-" + e.params.id)
                .val(e.params.default["font-family"])
                .trigger("change")),
              [
                "font-weight",
                "font-style",
                "text-transform",
                "text-decoration",
              ].forEach((t) => {
                t in e.params.display &&
                  e.container
                    .find('[data-option="' + t + '"]')
                    .val(e.params.default[t])
                    .trigger("change");
              }),
              ["font-size", "line-height", "letter-spacing"].forEach((t) => {
                e.container
                  .find('[data-option-id="' + t + '"]')
                  .find(".bloglo-reset-range")
                  .click();
              });
          });
        var o = function (n) {
          t(n.target).closest(".select2-container").length ||
            t(n.target).closest(".customize-save-button-wrapper").length ||
            t(n.target).closest(".reset-defaults").length ||
            e.container.has(t(n.target).closest(".popup-link")).length ||
            e.container.has(t(n.target).closest(".popup-content")).length ||
            i.hasClass("hidden") ||
            (i.addClass("hidden"),
            e.container.find(".popup-link").removeClass("active"),
            e.container.find(".reset-defaults").removeClass("active"),
            t("body").off("click", o));
        };
      },
      update_value: function () {
        var e,
          n = {};
        this.container.find("[data-option]").each(function () {
          (e = t(this).data("option")),
            (n[e] =
              "font-size-unit" === e ||
              "line-height-unit" === e ||
              "letter-spacing-unit" === e
                ? t(this).is(":checked")
                  ? t(this).val()
                  : n[e]
                : t(this).val());
        }),
          this.setting.set(n);
      },
      update_font_weight_field: function (e) {
        var n = this,
          i = "",
          o = "",
          a = n.setting.get();
        if (
          ("inherit" === e && (o = ' selected="selected"'),
          (i +=
            '<option value="inherit"' +
            o +
            ">" +
            n.params.l10n.inherit +
            "</option>"),
          "inherit" === e || "default" === e)
        ) {
          t.each(
            ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
            function (t, e) {
              (o = e === a["font-weight"] ? ' selected="selected"' : ""),
                (i +=
                  '<option value="' +
                  e +
                  '"' +
                  o +
                  ">" +
                  n.params.l10n.weights[e] +
                  "</option>");
            }
          );
        } else
          t.each(bloglo_typography_vars.fonts, function (s, f) {
            void 0 === f.fonts[e] ||
              t.each(f.fonts[e].variants, function (t, e) {
                (o = e === a["font-weight"] ? ' selected="selected"' : ""),
                  (i +=
                    '<option value="' +
                    e +
                    '"' +
                    o +
                    ">" +
                    n.params.l10n.weights[e] +
                    "</option>");
              });
          });
        n.container
          .find(".bloglo-typography-font-weight")
          .find("select")
          .html(i);
      },
      update_font_subsets_field: function (e) {
        var n = "",
          i = "",
          o = this.setting.get(),
          a = this.container.find(".bloglo-typography-font-subsets");
        "default" !== e && "inherit" !== e
          ? (t.each(bloglo_typography_vars.fonts, function (s, f) {
              if (void 0 !== f.fonts[e])
                return (
                  "system_fonts" === s || "standard_fonts" === s
                    ? a.hide()
                    : a.show(),
                  void t.each(f.fonts[e].subsets, function (t, e) {
                    (i = ""),
                      ((o["font-subsets"] &&
                        -1 !== o["font-subsets"].indexOf(e)) ||
                        "latin" === e) &&
                        (i = ' selected="selected"'),
                      (n +=
                        '<option value="' +
                        e +
                        '"' +
                        i +
                        ">" +
                        e +
                        "</option>");
                  })
                );
            }),
            a.find("select").html(n))
          : a.hide();
      },
      populate_font_family_field: function (e) {
        var n = "",
          i = "",
          o = this.setting.get();
        (i = "inherit" === o["font-family"] ? ' selected="selected"' : ""),
          (n +=
            '<option value="inherit"' +
            i +
            ">" +
            this.params.l10n.inherit +
            "</option>"),
          (i = "default" === o["font-family"] ? ' selected="selected"' : ""),
          (n +=
            '<option value="default"' +
            i +
            ">" +
            this.params.l10n.default +
            "</option>"),
          t.each(bloglo_typography_vars.fonts, function (e, a) {
            (n += '<optgroup label="' + a.name + '">'),
              t.each(a.fonts, function (t, e) {
                (i = t === o["font-family"] ? ' selected="selected"' : ""),
                  (n +=
                    '<option value="' + t + '"' + i + ">" + t + "</option>");
              }),
              (n += "</optgroup>");
          }),
          this.container.find("#font-family-" + this.params.id).html(n);
      },
    });
})(jQuery);
inc/customizer/controls/typography/typography.scss000064400000005050152425655550016713 0ustar00/*****************************************/
/* Customizer control typography style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

.bloglo-typography-wrapper {
  .bloglo-control-wrap {
    width: 100%;
  }

  .bloglo-range-wrapper {
    position: relative;

    label {
      display: flex;
      align-items: center;
      margin-bottom: 6px;
    }

    .bloglo-control-unit {
      position: absolute;
      top: 4px;
      right: 0;
      z-index: 1;
    }
  }

  .bloglo-typography-heading {
    flex-grow: 1;
  }

  .bloglo-typography-advanced {
    background-color: #fff;
    padding: 15px 22px;
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    margin-top: 15px;
    box-sizing: border-box;
    border-radius: $border_radius;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 1;
  }

  .advanced-settings {
    display: flex;
    align-items: center;
    margin-left: auto;
    text-decoration: none;
    color: #555d66;

    &.active,
    &:focus,
    &:hover {
      background-color: #0284ba;
      color: #fff;
    }

    &.hidden {
      display: none;
    }
  }

  .bloglo-typography-font-family,
  .bloglo-typography-font-subsets,
  .bloglo-typography-font-weight,
  .bloglo-typography-font-style,
  .bloglo-typography-text-transform,
  .bloglo-typography-text-decoration {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 6px;
    margin-bottom: 6px;

    .select2-container,
    select {
      width: 150px !important;
      margin-left: auto !important;
    }
  }

  .bloglo-typography-font-weight,
  .bloglo-typography-font-style,
  .bloglo-typography-text-transform,
  .bloglo-typography-text-decoration {
    margin-top: 0;
    margin-bottom: 0;
  }

  .bloglo-typography-font-weight,
  .bloglo-typography-letter-spacing,
  .bloglo-typography-line-height {
    margin-top: 12px;
  }

  .bloglo-typography-line-height,
  .bloglo-typography-text-decoration {
    margin-bottom: 24px;
  }

  .bloglo-typography-font-family {
    margin-bottom: 12px;
  }

  .bloglo-responsive-switchers {
    margin-left: 6px;
  }

  .advanced-settings {
    background-color: #fff;
    border-radius: 2px;
    display: inline-flex;
    margin-left: 0;
    font-size: 12px;
    width: 40px;
    height: 40px;
    justify-content: center;
    border: 1px solid #e0e0e0;
    transition: all 0.15s ease;

    .dashicons {
      transition: none;
    }
  }

  .reset-defaults {
    display: none;

    &.active {
      display: block;
    }
  }
}
inc/customizer/controls/typography/typography.css000064400000011341152425655550016530 0ustar00/*****************************************/
/* Customizer control typography style
/*****************************************/
/**
 * Import configuration file with variables.
 */
.bloglo-typography-wrapper .bloglo-control-wrap {
  width: 100%;
}

.bloglo-typography-wrapper .bloglo-range-wrapper {
  position: relative;
}

.bloglo-typography-wrapper .bloglo-range-wrapper label {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 6px;
}

.bloglo-typography-wrapper .bloglo-range-wrapper .bloglo-control-unit {
  position: absolute;
  top: 4px;
  right: 0;
  z-index: 1;
}

.bloglo-typography-wrapper .bloglo-typography-heading {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.bloglo-typography-wrapper .bloglo-typography-advanced {
  background-color: #fff;
  padding: 15px 22px;
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0;
  margin-top: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  z-index: 1;
}

.bloglo-typography-wrapper .advanced-settings {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: auto;
  text-decoration: none;
  color: #555d66;
}

.bloglo-typography-wrapper .advanced-settings.active,
.bloglo-typography-wrapper .advanced-settings:focus,
.bloglo-typography-wrapper .advanced-settings:hover {
  background-color: #0284ba;
  color: #fff;
}

.bloglo-typography-wrapper .advanced-settings.hidden {
  display: none;
}

.bloglo-typography-wrapper .bloglo-typography-font-family,
.bloglo-typography-wrapper .bloglo-typography-font-subsets,
.bloglo-typography-wrapper .bloglo-typography-font-weight,
.bloglo-typography-wrapper .bloglo-typography-font-style,
.bloglo-typography-wrapper .bloglo-typography-text-transform,
.bloglo-typography-wrapper .bloglo-typography-text-decoration {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 6px;
  margin-bottom: 6px;
}

.bloglo-typography-wrapper .bloglo-typography-font-family .select2-container,
.bloglo-typography-wrapper .bloglo-typography-font-family select,
.bloglo-typography-wrapper .bloglo-typography-font-subsets .select2-container,
.bloglo-typography-wrapper .bloglo-typography-font-subsets select,
.bloglo-typography-wrapper .bloglo-typography-font-weight .select2-container,
.bloglo-typography-wrapper .bloglo-typography-font-weight select,
.bloglo-typography-wrapper .bloglo-typography-font-style .select2-container,
.bloglo-typography-wrapper .bloglo-typography-font-style select,
.bloglo-typography-wrapper .bloglo-typography-text-transform .select2-container,
.bloglo-typography-wrapper .bloglo-typography-text-transform select,
.bloglo-typography-wrapper
  .bloglo-typography-text-decoration
  .select2-container,
.bloglo-typography-wrapper .bloglo-typography-text-decoration select {
  width: 150px !important;
  margin-left: auto !important;
}

.bloglo-typography-wrapper .bloglo-typography-font-weight,
.bloglo-typography-wrapper .bloglo-typography-font-style,
.bloglo-typography-wrapper .bloglo-typography-text-transform,
.bloglo-typography-wrapper .bloglo-typography-text-decoration {
  margin-top: 0;
  margin-bottom: 0;
}

.bloglo-typography-wrapper .bloglo-typography-font-weight,
.bloglo-typography-wrapper .bloglo-typography-letter-spacing,
.bloglo-typography-wrapper .bloglo-typography-line-height {
  margin-top: 12px;
}

.bloglo-typography-wrapper .bloglo-typography-line-height,
.bloglo-typography-wrapper .bloglo-typography-text-decoration {
  margin-bottom: 24px;
}

.bloglo-typography-wrapper .bloglo-typography-font-family {
  margin-bottom: 12px;
}

.bloglo-typography-wrapper .bloglo-responsive-switchers {
  margin-left: 6px;
}

.bloglo-typography-wrapper .advanced-settings {
  background-color: #fff;
  border-radius: 2px;
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 0;
  font-size: 12px;
  width: 40px;
  height: 40px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid #e0e0e0;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
}

.bloglo-typography-wrapper .advanced-settings .dashicons {
  -webkit-transition: none;
  transition: none;
}

.bloglo-typography-wrapper .reset-defaults {
  display: none;
}

.bloglo-typography-wrapper .reset-defaults.active {
  display: block;
}
inc/customizer/controls/typography/typography.js000064400000025151152425655550016360 0ustar00(function ($) {
  "use strict";

  // Typography control
  wp.customize.controlConstructor["bloglo-typography"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this,
          setting = control.setting.get(),
          populated = false,
          $font_family,
          value,
          popup_content = control.container.find(".popup-content");

        control.container.find("#font-family-" + control.params.id).select2();
        control.container.find("#font-subsets-" + control.params.id).select2();

        control.update_font_subsets_field(setting["font-family"]);

        control.container.on(
          "change",
          "#font-family-" + control.params.id,
          function () {
            control.update_font_weight_field($(this).val());
            control.update_font_subsets_field($(this).val());
          }
        );

        // Update value.
        control.container.on("change", "[data-option]", function () {
          control.update_value();
        });

        // Range controls.
        control.container.find(".bloglo-range-wrapper").each(function () {
          var $this = $(this);

          $this.rangeControl({
            id: control.params.id + "-" + $this.data("option-id"),
            option: $this.data("option-id"),
            unit: control.params.units[$this.data("option-id")],
            value: setting[$this.data("options-id")],
            responsive: control.params.responsive,
            change: function () {
              control.update_value();
            },
          });
        });

        // Populate font-family field
        control.container.on(
          "select2:opening",
          "#font-family-" + control.params.id,
          function () {
            control.populate_font_family_field();
            control.container.off(
              "select2:opening",
              "#font-family-" + control.params.id
            );
          }
        );

        // Populate font-weight field.
        control.container.on(
          "mousedown",
          '[data-option="font-weight"]',
          function () {
            control.update_font_weight_field(
              control.container.find("#font-family-" + control.params.id).val()
            );
            control.container.off("mousedown", '[data-option="font-weight"]');
          }
        );

        // Populate font-subsets field.
        control.container.on(
          "select2:opening",
          "#font-subsets-" + control.params.id,
          function () {
            control.update_font_subsets_field(
              control.container.find("#font-family-" + control.params.id).val()
            );
            control.container.off("mousedown", '[data-option="font-subsets"]');
          }
        );

        // Advanced panel.
        control.container.find(".popup-link").on("click", function () {
          popup_content.toggleClass("hidden");

          $(this).toggleClass("active");
          $(this).siblings(".reset-defaults").toggleClass("active");

          // Close the panel on outside click.
          $("body").on("click", outside_click_close);
        });

        // Reset options.
        control.container.find(".reset-defaults").on("click", function () {
          var selectFields = [
              "font-weight",
              "font-style",
              "text-transform",
              "text-decoration",
            ],
            rangeFields = ["font-size", "line-height", "letter-spacing"];

          if ("font-family" in control.params.display) {
            control.populate_font_family_field();
            control.container
              .find("#font-family-" + control.params.id)
              .val(control.params.default["font-family"])
              .trigger("change");
          }

          selectFields.forEach((item) => {
            if (item in control.params.display) {
              control.container
                .find('[data-option="' + item + '"]')
                .val(control.params.default[item])
                .trigger("change");
            }
          });

          rangeFields.forEach((item) => {
            control.container
              .find('[data-option-id="' + item + '"]')
              .find(".bloglo-reset-range")
              .click();
          });
        });

        var outside_click_close = function (e) {
          if (
            !$(e.target).closest(".select2-container").length &&
            !$(e.target).closest(".customize-save-button-wrapper").length &&
            !$(e.target).closest(".reset-defaults").length &&
            !control.container.has($(e.target).closest(".popup-link")).length &&
            !control.container.has($(e.target).closest(".popup-content"))
              .length &&
            !popup_content.hasClass("hidden")
          ) {
            popup_content.addClass("hidden");
            control.container.find(".popup-link").removeClass("active");
            control.container.find(".reset-defaults").removeClass("active");
            $("body").off("click", outside_click_close);
          }
        };
      },

      // Update value.
      update_value: function () {
        var self = this,
          value = {},
          option;

        self.container.find("[data-option]").each(function () {
          option = $(this).data("option");

          if (
            "font-size-unit" === option ||
            "line-height-unit" === option ||
            "letter-spacing-unit" === option
          ) {
            value[option] = $(this).is(":checked")
              ? $(this).val()
              : value[option];
          } else {
            value[option] = $(this).val();
          }
        });

        self.setting.set(value);
      },

      // Populate available font weights for given font family.
      update_font_weight_field: function (font_family) {
        var self = this,
          options = "",
          selected = "",
          setting = self.setting.get();

        if ("inherit" === font_family) {
          selected = ' selected="selected"';
        }

        options +=
          '<option value="inherit"' +
          selected +
          ">" +
          self.params.l10n.inherit +
          "</option>";

        if ("inherit" === font_family || "default" === font_family) {
          var default_weights = [
            "100",
            "200",
            "300",
            "400",
            "500",
            "600",
            "700",
            "800",
            "900",
          ];

          $.each(default_weights, function (index, variant) {
            if (variant === setting["font-weight"]) {
              selected = ' selected="selected"';
            } else {
              selected = "";
            }

            options +=
              '<option value="' +
              variant +
              '"' +
              selected +
              ">" +
              self.params.l10n.weights[variant] +
              "</option>";
          });
        } else {
          $.each(bloglo_typography_vars.fonts, function (group_id, group) {
            if ("undefined" !== typeof group.fonts[font_family]) {
              $.each(
                group.fonts[font_family].variants,
                function (index, variant) {
                  if (variant === setting["font-weight"]) {
                    selected = ' selected="selected"';
                  } else {
                    selected = "";
                  }

                  options +=
                    '<option value="' +
                    variant +
                    '"' +
                    selected +
                    ">" +
                    self.params.l10n.weights[variant] +
                    "</option>";
                }
              );
              return;
            }
          });
        }

        self.container
          .find(".bloglo-typography-font-weight")
          .find("select")
          .html(options);
      },

      // Populate available font subsets for given font family.
      update_font_subsets_field: function (font_family) {
        var self = this,
          options = "",
          selected = "",
          setting = self.setting.get(),
          field = self.container.find(".bloglo-typography-font-subsets");

        if ("default" === font_family || "inherit" === font_family) {
          field.hide();
          return;
        }

        $.each(bloglo_typography_vars.fonts, function (group_id, group) {
          if ("undefined" !== typeof group.fonts[font_family]) {
            if ("system_fonts" === group_id || "standard_fonts" === group_id) {
              field.hide();
            } else {
              field.show();
            }

            $.each(group.fonts[font_family].subsets, function (index, subsets) {
              selected = "";

              if (
                (setting["font-subsets"] &&
                  -1 !== setting["font-subsets"].indexOf(subsets)) ||
                "latin" === subsets
              ) {
                selected = ' selected="selected"';
              }

              options +=
                '<option value="' +
                subsets +
                '"' +
                selected +
                ">" +
                subsets +
                "</option>";
            });
            return;
          }
        });

        field.find("select").html(options);
      },

      // Populate available font families.
      populate_font_family_field: function (e) {
        var self = this,
          options = "",
          selected = "",
          setting = self.setting.get();

        selected =
          "inherit" === setting["font-family"] ? ' selected="selected"' : "";
        options +=
          '<option value="inherit"' +
          selected +
          ">" +
          self.params.l10n.inherit +
          "</option>";

        selected =
          "default" === setting["font-family"] ? ' selected="selected"' : "";
        options +=
          '<option value="default"' +
          selected +
          ">" +
          self.params.l10n.default +
          "</option>";

        $.each(bloglo_typography_vars.fonts, function (group_id, group) {
          options += '<optgroup label="' + group.name + '">';

          $.each(group.fonts, function (font, font_options) {
            if (font === setting["font-family"]) {
              selected = ' selected="selected"';
            } else {
              selected = "";
            }

            options +=
              '<option value="' +
              font +
              '"' +
              selected +
              ">" +
              font +
              "</option>";
          });

          options += "</optgroup>";
        });

        self.container.find("#font-family-" + self.params.id).html(options);
      },
    });
})(jQuery);
inc/customizer/controls/typography/typography.min.css000064400000011032152425655550017307 0ustar00.bloglo-typography-wrapper .bloglo-control-wrap {
  width: 100%;
}
.bloglo-typography-wrapper .bloglo-range-wrapper {
  position: relative;
}
.bloglo-typography-wrapper .bloglo-range-wrapper label {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 6px;
}
.bloglo-typography-wrapper .bloglo-range-wrapper .bloglo-control-unit {
  position: absolute;
  top: 4px;
  right: 0;
  z-index: 1;
}
.bloglo-typography-wrapper .bloglo-typography-heading {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
.bloglo-typography-wrapper .bloglo-typography-advanced {
  background-color: #fff;
  padding: 15px 22px;
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0;
  margin-top: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  z-index: 1;
}
.bloglo-typography-wrapper .advanced-settings {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: auto;
  text-decoration: none;
  color: #555d66;
}
.bloglo-typography-wrapper .advanced-settings.active,
.bloglo-typography-wrapper .advanced-settings:focus,
.bloglo-typography-wrapper .advanced-settings:hover {
  background-color: #0284ba;
  color: #fff;
}
.bloglo-typography-wrapper .advanced-settings.hidden {
  display: none;
}
.bloglo-typography-wrapper .bloglo-typography-font-family,
.bloglo-typography-wrapper .bloglo-typography-font-subsets,
.bloglo-typography-wrapper .bloglo-typography-font-weight,
.bloglo-typography-wrapper .bloglo-typography-font-style,
.bloglo-typography-wrapper .bloglo-typography-text-transform,
.bloglo-typography-wrapper .bloglo-typography-text-decoration {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 6px;
  margin-bottom: 6px;
}
.bloglo-typography-wrapper .bloglo-typography-font-family .select2-container,
.bloglo-typography-wrapper .bloglo-typography-font-family select,
.bloglo-typography-wrapper .bloglo-typography-font-subsets .select2-container,
.bloglo-typography-wrapper .bloglo-typography-font-subsets select,
.bloglo-typography-wrapper .bloglo-typography-font-weight .select2-container,
.bloglo-typography-wrapper .bloglo-typography-font-weight select,
.bloglo-typography-wrapper .bloglo-typography-font-style .select2-container,
.bloglo-typography-wrapper .bloglo-typography-font-style select,
.bloglo-typography-wrapper .bloglo-typography-text-transform .select2-container,
.bloglo-typography-wrapper .bloglo-typography-text-transform select,
.bloglo-typography-wrapper
  .bloglo-typography-text-decoration
  .select2-container,
.bloglo-typography-wrapper .bloglo-typography-text-decoration select {
  width: 150px !important;
  margin-left: auto !important;
}
.bloglo-typography-wrapper .bloglo-typography-font-weight,
.bloglo-typography-wrapper .bloglo-typography-font-style,
.bloglo-typography-wrapper .bloglo-typography-text-transform,
.bloglo-typography-wrapper .bloglo-typography-text-decoration {
  margin-top: 0;
  margin-bottom: 0;
}
.bloglo-typography-wrapper .bloglo-typography-font-weight,
.bloglo-typography-wrapper .bloglo-typography-letter-spacing,
.bloglo-typography-wrapper .bloglo-typography-line-height {
  margin-top: 12px;
}
.bloglo-typography-wrapper .bloglo-typography-line-height,
.bloglo-typography-wrapper .bloglo-typography-text-decoration {
  margin-bottom: 24px;
}
.bloglo-typography-wrapper .bloglo-typography-font-family {
  margin-bottom: 12px;
}
.bloglo-typography-wrapper .bloglo-responsive-switchers {
  margin-left: 6px;
}
.bloglo-typography-wrapper .advanced-settings {
  background-color: #fff;
  border-radius: 2px;
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 0;
  font-size: 12px;
  width: 40px;
  height: 40px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid #e0e0e0;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
}
.bloglo-typography-wrapper .advanced-settings .dashicons {
  -webkit-transition: none;
  transition: none;
}
.bloglo-typography-wrapper .reset-defaults {
  display: none;
}
.bloglo-typography-wrapper .reset-defaults.active {
  display: block;
}
inc/customizer/controls/range/range.js000064400000023762152425655550014142 0ustar00(function ($) {
  "use strict";

  wp.customize.controlConstructor["bloglo-range"] = wp.customize.Control.extend(
    {
      ready: function () {
        "use strict";

        var control = this,
          setting = control.setting.get();

        // Initialize range control.
        control.container.find(".bloglo-range-wrapper").rangeControl({
          id: control.params.id,
          unit: control.params.unit,
          value: setting,
          responsive: control.params.responsive,
          change: function () {
            control.save();
          },
        });
      },

      /**
       * Store value for range control.
       *
       * @since 1.0.0
       *
       * @access private
       *
       * @returns {void}
       */
      save: function () {
        var value = {},
          devices = this.params.responsive;

        if (false === devices || devices === undefined || 0 == devices.length) {
          value.value = parseFloat(
            this.container.find(".bloglo-range-input").val()
          );
        } else {
          for (var device in devices) {
            value[device] = parseFloat(
              this.container
                .find(".control-responsive." + device + " .bloglo-range-input")
                .val()
            );
          }
        }

        if (this.container.find(".bloglo-control-unit").length) {
          value.unit = this.container
            .find(".bloglo-control-unit input:checked")
            .val();
        }

        this.setting.set(value);
      },
    }
  );

  (function ($, undef) {
    var RangeControl;

    /**
     * Range control that is used in the theme customizer.
     *
     * @since 1.0.0
     */
    RangeControl = {
      options: {
        id: false,
        option: false,
        responsive: false,
        unit: false,
        value: false,
        change: false,
      },

      /**
       * Creates the range control.
       *
       * @since 1.0.0
       *
       * @access private
       *
       * @returns {void}
       */
      _create: function () {
        var self = this,
          el = self.element;

        self.unit = el.find(".bloglo-control-wrap").attr("data-unit");

        self._addListeners();

        if ("object" === typeof self.options.responsive) {
          self._initResponsiveControls();
        }

        if (false !== self.options.unit) {
          self._initUnit();
        }
      },

      /**
       * Binds event listeners to the color picker.
       *
       * @since 1.0.0
       *
       * @access private
       *
       * @returns {void}
       */
      _addListeners: function () {
        var self = this,
          range,
          input,
          value,
          newVal;

        /**
         * Detect changes on range element.
         *
         * @since 1.0.0
         */
        self.element.change(function (event) {
          // Fire clear callback if we have one.
          if ($.isFunction(self.options.change)) {
            self.options.change.call(this, event);
          }
        });

        /**
         * Detect typing on range text input.
         *
         * @since 1.0.0
         */
        self.element
          .on("keyup input paste", ".bloglo-range-input", function () {
            self._autocorrectSlider($(this));
          })
          .on("focusout", function () {
            self._autocorrectSlider($(this));
          });

        /**
         * Detect slider click.
         *
         * @since 1.0.0
         */
        self.element.on("click", "input[type=range]", function () {
          range = $(this);
          input = range.parent().children(".bloglo-range-input");

          newVal = range.val();

          if (value !== newVal) {
            value = newVal;
            input.val(newVal).change();
          }
        });

        /**
         * Detect slider dragging.
         *
         * @since 1.0.0
         */
        self.element.on("mousedown", "input[type=range]", function () {
          range = $(this);
          input = range.parent().children(".bloglo-range-input");

          // Handle mousemove.
          range.mousemove(function () {
            newVal = range.val();
            if (value !== newVal) {
              value = newVal;
              input.val(newVal).change();
            }
          });
        });

        /**
         * Slider dragging gone.
         *
         * @since 1.0.0
         */
        self.element.on("mouseup", "input[type=range]", function () {
          $(this).off("mousemove");
        });

        /**
         * Reset default values.
         *
         * @since 1.0.0
         */
        self.element.on("click", ".bloglo-reset-range", function () {
          var $el;

          self.element.find(".bloglo-reset-range").each(function (index, el) {
            $el = $(el);

            // Reset range unit.
            self.unit = $el.data("reset_unit");
            $el
              .closest(".bloglo-range-wrapper")
              .find(
                '.bloglo-control-unit input[type="radio"][value="' +
                  $el.data("reset_unit") +
                  '"]'
              )
              .click();

            // Reset range value.
            $el.siblings("input").val($el.data("reset_value"));
          });

          self.element.change();
        });

        /**
         * Adjust min, max and step for unit.
         *
         * @since 1.0.0
         */
        self.element.on("click", ".bloglo-control-unit input", function () {
          var $unit = $(this);

          self.element
            .find('.bloglo-control-wrap input[type="range"]')
            .each(function (index, el) {
              $(this).attr("min", $unit.data("min"));
              $(this).attr("max", $unit.data("max"));
              $(this).attr("step", $unit.data("step"));
            });
          if (
            "px" === $unit.val() &&
            ("rem" === self.unit || "em" === self.unit)
          ) {
            self.element
              .find("input.bloglo-range-input")
              .each(function (index, el) {
                $(el).val(Math.floor($(el).val() * range_obj.base_font));
                self._autocorrectSlider($(el));
              });

            self.unit = $unit.val();
          } else if (
            ("rem" === $unit.val() || "em" === $unit.val()) &&
            "px" === self.unit
          ) {
            self.element
              .find("input.bloglo-range-input")
              .each(function (index, el) {
                $(el).val($(el).val() / range_obj.base_font);
                self._autocorrectSlider($(el));
              });

            self.unit = $unit.val();
          }
        });
      },

      /**
       * Autocorrect position on slider to match value in input.
       *
       * @since 1.0.0
       *
       * @access private
       *
       * @returns {void}
       */
      _autocorrectSlider: function (range_input) {
        var range = range_input.parent().find('input[type="range"]'),
          value = parseFloat(range_input.val()),
          step = parseFloat(range_input.attr("step")),
          min = parseFloat(range_input.attr("min")),
          max = parseFloat(range_input.attr("max"));

        if (isNaN(value)) {
          range.change();
          return;
        }

        if (1 <= step && 0 !== value % 1) {
          value = Math.round(value);
          range_input.val(value);
          range.val(value).change();
        }

        if (value > max) {
          range_input.val(max);
          range.val(max).change();
        }

        if (value < min) {
          range_input.val(min);
          range.val(min).change();
        }

        range.val(value).change();
      },

      /**
       * Initialize responsive controls for range.
       *
       * @since 1.0.0
       *
       * @access private
       *
       * @returns {void}
       */
      _initResponsiveControls: function () {
        var self = this,
          el = self.element,
          wrap = el.find(".bloglo-control-wrap");

        el.addClass("bloglo-control-responsive");

        // Populate responsive switcher.
        if (el.find(".customize-control-title").length) {
          var $switcher = $('<ul class="bloglo-responsive-switchers"></ul>');

          for (var device in self.options.responsive) {
            $switcher.append(
              '<li class="' +
                device +
                '"><span class="preview-' +
                device +
                '" data-device="' +
                device +
                '"><span class="bloglo-tooltip small-tooltip">' +
                device +
                '</span><i class="' +
                self.options.responsive[device].icon +
                '"></i></span></li>'
            );
          }

          el.find(".customize-control-title").append($switcher);
        }
      },

      /**
       * Initialize unit controls for range.
       *
       * @since 1.0.0
       *
       * @access private
       *
       * @returns {void}
       */
      _initUnit: function () {
        var self = this,
          el = self.element,
          wrap = el.find(".bloglo-control-wrap");

        var template = wp.template("bloglo-control-unit");

        var data = {
          unit: self.options.unit,
          id: self.options.id,
          option: self.options.option,
          selected: wrap.attr("data-unit"),
        };

        if ("object" === typeof self.options.unit) {
          $(template(data)).insertBefore(wrap);

          if ("undefined" !== typeof self.options.value.unit) {
            wrap
              .parent()
              .find(
                "#" + self.options.id + "-" + self.options.value.unit + "-unit"
              )
              .click();
          }
        } else if ("string" === typeof self.options.unit) {
          $(
            '<span class="bloglo-range-unit">' + self.options.unit + "</span>"
          ).insertAfter(wrap.find(".bloglo-range-input"));
        }

        wrap.parent().find(".bloglo-control-unit input:checked").click();
      },
    };

    // Register the color picker as a widget.
    $.widget("bloglo.rangeControl", RangeControl);
  })(jQuery);
})(jQuery);
inc/customizer/controls/range/range.min.css000064400000010323152425655550015065 0ustar00.bloglo-range-wrapper .bloglo-control-wrap {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-top: 12px;
}
.bloglo-range-wrapper .bloglo-control-wrap input[type="range"],
.bloglo-range-wrapper .bloglo-control-wrap .bloglo-range-input,
.bloglo-range-wrapper .bloglo-control-wrap .bloglo-reset-range {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.bloglo-range-wrapper input[type="range"] {
  background-color: #ddd;
  height: 3px;
  padding: 0;
  margin: 0;
  cursor: pointer;
  -webkit-transition: background 0.15s ease;
  transition: background 0.15s ease;
  border-radius: 3px;
  -webkit-appearance: none;
}
.bloglo-range-wrapper input[type="range"]:focus {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.bloglo-range-wrapper input[type="range"]:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
.bloglo-range-wrapper input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  background-color: #2e86b9;
  width: 15px;
  height: 15px;
  border: none;
  border-radius: 50%;
  -webkit-transition: background-color 0.15s ease, -webkit-box-shadow 0.15s ease,
    -webkit-transform 0.15s ease;
  transition: background-color 0.15s ease, -webkit-box-shadow 0.15s ease,
    -webkit-transform 0.15s ease;
  transition: background-color 0.15s ease, box-shadow 0.15s ease,
    transform 0.15s ease;
  transition: background-color 0.15s ease, box-shadow 0.15s ease,
    transform 0.15s ease, -webkit-box-shadow 0.15s ease,
    -webkit-transform 0.15s ease;
}
.bloglo-range-wrapper input[type="range"]::-webkit-slider-thumb:hover {
  background-color: #008ec2;
  -webkit-box-shadow: 0 0 0 10px rgba(46, 134, 185, 0.12);
  box-shadow: 0 0 0 10px rgba(46, 134, 185, 0.12);
}
.bloglo-range-wrapper input[type="range"]::-webkit-slider-thumb:active {
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transform: scale(1.5);
  transform: scale(1.5);
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.bloglo-range-wrapper input[type="range"]::-moz-range-track {
  border: inherit;
  background-color: transparent;
}
.bloglo-range-wrapper input[type="range"]::-ms-track {
  border: inherit;
  color: transparent;
  background-color: transparent;
}
.bloglo-range-wrapper input[type="range"]::-ms-fill-lower,
.bloglo-range-wrapper input[type="range"]::-ms-fill-upper {
  background-color: transparent;
}
.bloglo-range-wrapper input[type="range"]::-ms-tooltip {
  display: none;
}
.bloglo-range-wrapper input[type="range"]::-moz-range-thumb {
  background-color: #2e86b9;
  width: 15px;
  height: 15px;
  border: none;
  border-radius: 30px;
  -moz-transition: all 0.15s ease;
  transition: all 0.15s ease;
}
.bloglo-range-wrapper input[type="range"]::-moz-range-thumb:hover {
  background-color: #008ec2;
  transform: scale(1.25);
}
.bloglo-range-wrapper input[type="range"]::-ms-thumb {
  background-color: #2e86b9;
  width: 15px;
  height: 15px;
  border: none;
  border-radius: 30px;
  -ms-transition: all 0.15s ease;
  transition: all 0.15s ease;
}
.bloglo-range-wrapper input[type="range"]::-ms-thumb:hover {
  background-color: #008ec2;
  -ms-transform: scale(1.25);
  transform: scale(1.25);
}
.bloglo-range-wrapper .bloglo-range-input {
  max-width: 50px;
  height: 28px;
  text-align: center;
  font-size: 13px;
  border-radius: 3px;
  font-weight: 400;
  color: #232323;
  -moz-appearance: textfield;
  margin-left: 6px !important;
}
.bloglo-range-wrapper .bloglo-range-input::-webkit-outer-spin-button,
.bloglo-range-wrapper .bloglo-range-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.bloglo-range-wrapper .bloglo-reset-range {
  max-width: 16px;
  margin-left: 12px;
  display: inline-block;
  position: relative;
  line-height: 1;
  color: rgba(0, 0, 0, 0.2);
  cursor: pointer;
  text-align: center;
}
.bloglo-range-wrapper .bloglo-reset-range:hover {
  color: red;
}
.bloglo-range-wrapper .bloglo-reset-range span {
  width: 13px;
  height: 13px;
  font-size: 13px;
  line-height: 1;
}
.bloglo-range-wrapper .bloglo-range-unit {
  margin-left: 6px;
  color: #555d66;
}
inc/customizer/controls/range/range.scss000064400000005774152425655550014504 0ustar00/*****************************************/
/* Customizer control range style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

.bloglo-range-wrapper {
  .bloglo-control-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    box-sizing: border-box;
    margin-top: 12px;

    input[type="range"],
    .bloglo-range-input,
    .bloglo-reset-range {
      flex: 1;
    }
  }

  input[type="range"] {
    background-color: #ddd;
    height: 3px;
    padding: 0;
    margin: 0;
    cursor: pointer;
    transition: background 0.15s ease;
    border-radius: 3px;
    -webkit-appearance: none;

    &:focus {
      box-shadow: none !important;
      outline: none !important;
    }

    &:hover {
      background-color: rgba(0, 0, 0, 0.1);
    }

    &::-webkit-slider-thumb {
      -webkit-appearance: none;
      background-color: #2e86b9;
      width: 15px;
      height: 15px;
      border: none;
      border-radius: 50%;
      transition: background-color 0.15s ease, box-shadow 0.15s ease,
        transform 0.15s ease;

      &:hover {
        background-color: #008ec2;
        box-shadow: 0 0 0 10px rgba(46, 134, 185, 0.12);
      }

      &:active {
        box-shadow: none;
        transform: scale(1.5);
        cursor: grabbing;
      }
    }

    &::-moz-range-track {
      border: inherit;
      background-color: transparent;
    }

    &::-ms-track {
      border: inherit;
      color: transparent;
      background-color: transparent;
    }

    &::-ms-fill-lower,
    &::-ms-fill-upper {
      background-color: transparent;
    }

    &::-ms-tooltip {
      display: none;
    }

    &::-moz-range-thumb {
      background-color: #2e86b9;
      width: 15px;
      height: 15px;
      border: none;
      border-radius: 30px;
      transition: all 0.15s ease;

      &:hover {
        background-color: #008ec2;
        transform: scale(1.25);
      }
    }

    &::-ms-thumb {
      background-color: #2e86b9;
      width: 15px;
      height: 15px;
      border: none;
      border-radius: 30px;
      transition: all 0.15s ease;

      &:hover {
        background-color: #008ec2;
        transform: scale(1.25);
      }
    }
  }

  .bloglo-range-input {
    max-width: 50px;
    height: 28px;
    text-align: center;
    font-size: 13px;
    border-radius: 3px;
    font-weight: 400;
    color: $color_3;
    -moz-appearance: textfield;
    margin-left: 6px !important;

    &::-webkit-outer-spin-button,
    &::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }
  }

  .bloglo-reset-range {
    max-width: 16px;
    margin-left: 12px;
    display: inline-block;
    position: relative;
    line-height: 1;
    color: rgba(0, 0, 0, 0.2);
    cursor: pointer;
    text-align: center;

    &:hover {
      color: #f00;
    }

    span {
      width: 13px;
      height: 13px;
      font-size: 13px;
      line-height: 1;
    }
  }

  .bloglo-range-unit {
    margin-left: 6px;
    color: #555d66;
  }
}
inc/customizer/controls/range/class-bloglo-customizer-control-range.php000064400000011475152425655550022552 0ustar00<?php
/**
 * Bloglo Customizer custom heading control class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Range' ) ) :
	/**
	 * Bloglo Customizer custom heading control class.
	 */
	class Bloglo_Customizer_Control_Range extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-range';

		/**
		 * Minimum range value.
		 *
		 * @since 1.0.0
		 * @var integer
		 */
		public $min = 0;

		/**
		 * Maximum range value.
		 *
		 * @since 1.0.0
		 * @var integer
		 */
		public $max = 1000;

		/**
		 * Range step value.
		 *
		 * @since 1.0.0
		 * @var integer
		 */
		public $step = 1;

		/**
		 * Range unit.
		 *
		 * @since 1.0.0
		 * @var string
		 */
		public $unit = array();

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['min']  = $this->min;
			$this->json['max']  = $this->max;
			$this->json['step'] = $this->step;
			$this->json['unit'] = $this->unit;
		}

		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {
			parent::enqueue();
			$base_font_size = bloglo()->options->get( 'bloglo_html_base_font_size' );
			$bfs            = ( $base_font_size['desktop'] * 16 ) / 100;
			wp_localize_script(
				'bloglo-range-js',
				'range_obj',
				array(
					'base_font' => $bfs,
				)
			);
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-range-wrapper bloglo-control-wrapper">

				<# if ( data.label ) { #>
					<!-- Control label -->
					<div class="customize-control-title">
						<span>{{{ data.label }}}</span>

						<# if ( data.description ) { #>
							<i class="bloglo-info-icon">
								<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
									<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
									<line x1="12" y1="17" x2="12" y2="17"></line>
								</svg>
								<span class="bloglo-tooltip">{{{ data.description }}}</span>
							</i>
						<# } #>

					</div>
				<# } #>

				<div class="bloglo-control-wrap" data-unit="{{ data.value['unit'] }}">

					<# if ( ! _.isEmpty( data.responsive ) ) { #>

						<# _.each( data.responsive, function( settings, device ){ #>

							<div class="{{ device }} control-responsive">

								<input 
									type="range" 
									{{{ data.inputAttrs }}} 
									value="{{ data.value[ device ] }}" 
									min="{{ data.min }}" 
									max="{{ data.max }}" 
									step="{{ data.step }}"  
									data-device="{{ device }}" />

									<span 
										class="bloglo-reset-range"
										data-reset_value="{{ data.default[ device ] }}"
										data-reset_unit="{{ data.default[ 'unit'] }}">
										<span class="dashicons dashicons-image-rotate"></span>
									</span>

								<input 
									type="number" 
									{{{ data.inputAttrs }}} 
									class="bloglo-range-input" 
									value="{{ data.value[ device ] }}" />
							</div>

						<# } ); #>

					<# } else { #>

						<# if ( _.isObject( data.value ) ) { #>
							<input 
								type="range" 
								{{{ data.inputAttrs }}} 
								value="{{ data.value.value }}" 
								min="{{ data.min }}" 
								max="{{ data.max }}" 
								step="{{ data.step }}" />
						<# } else { #>
							<input 
								type="range" 
								{{{ data.inputAttrs }}} 
								value="{{ data.value }}" 
								min="{{ data.min }}" 
								max="{{ data.max }}" 
								step="{{ data.step }}" />
						<# } #>

						<span 
							class="bloglo-reset-range"
							data-reset_value="{{ data.default['value'] ? data.default['value'] : data.default }}"
							data-reset_unit="{{ data.default[ 'unit'] }}" >
							<span class="dashicons dashicons-image-rotate"></span>
						</span>

						<# if ( _.isObject( data.value ) ) { #>
							<input 
								type="number" 
								{{{ data.inputAttrs }}} 
								class="bloglo-range-input" 
								value="{{ data.value.value }}" />
						<# } else { #>
							<input 
								type="number" 
								{{{ data.inputAttrs }}} 
								class="bloglo-range-input" 
								value="{{ data.value }}" />
						<# } #>

					<# } #>
				</div>
			</div>
			<?php
		}
	}
endif;
inc/customizer/controls/range/range.min.js000064400000016663152425655550014726 0ustar00!(function (t) {
  "use strict";
  (wp.customize.controlConstructor["bloglo-range"] =
    wp.customize.Control.extend({
      ready: function () {
        var t = this,
          e = t.setting.get();
        t.container.find(".bloglo-range-wrapper").rangeControl({
          id: t.params.id,
          unit: t.params.unit,
          value: e,
          responsive: t.params.responsive,
          change: function () {
            t.save();
          },
        });
      },
      save: function () {
        var t = {},
          e = this.params.responsive;
        if (!1 === e || void 0 === e || 0 == e.length)
          t.value = parseFloat(
            this.container.find(".bloglo-range-input").val()
          );
        else
          for (var n in e)
            t[n] = parseFloat(
              this.container
                .find(".control-responsive." + n + " .bloglo-range-input")
                .val()
            );
        this.container.find(".bloglo-control-unit").length &&
          (t.unit = this.container
            .find(".bloglo-control-unit input:checked")
            .val()),
          this.setting.set(t);
      },
    })),
    (function (t, e) {
      var n;
      (n = {
        options: {
          id: !1,
          option: !1,
          responsive: !1,
          unit: !1,
          value: !1,
          change: !1,
        },
        _create: function () {
          var t = this.element;
          (this.unit = t.find(".bloglo-control-wrap").attr("data-unit")),
            this._addListeners(),
            "object" == typeof this.options.responsive &&
              this._initResponsiveControls(),
            !1 !== this.options.unit && this._initUnit();
        },
        _addListeners: function () {
          var e,
            n,
            i,
            a,
            s = this;
          s.element.change(function (e) {
            t.isFunction(s.options.change) && s.options.change.call(this, e);
          }),
            s.element
              .on("keyup input paste", ".bloglo-range-input", function () {
                s._autocorrectSlider(t(this));
              })
              .on("focusout", function () {
                s._autocorrectSlider(t(this));
              }),
            s.element.on("click", "input[type=range]", function () {
              (e = t(this)),
                (n = e.parent().children(".bloglo-range-input")),
                (a = e.val()),
                i !== a && ((i = a), n.val(a).change());
            }),
            s.element.on("mousedown", "input[type=range]", function () {
              (e = t(this)),
                (n = e.parent().children(".bloglo-range-input")),
                e.mousemove(function () {
                  (a = e.val()), i !== a && ((i = a), n.val(a).change());
                });
            }),
            s.element.on("mouseup", "input[type=range]", function () {
              t(this).off("mousemove");
            }),
            s.element.on("click", ".bloglo-reset-range", function () {
              var e;
              s.element.find(".bloglo-reset-range").each(function (n, i) {
                (e = t(i)),
                  (s.unit = e.data("reset_unit")),
                  e
                    .closest(".bloglo-range-wrapper")
                    .find(
                      '.bloglo-control-unit input[type="radio"][value="' +
                        e.data("reset_unit") +
                        '"]'
                    )
                    .click(),
                  e.siblings("input").val(e.data("reset_value"));
              }),
                s.element.change();
            }),
            s.element.on("click", ".bloglo-control-unit input", function () {
              var e = t(this);
              s.element
                .find('.bloglo-control-wrap input[type="range"]')
                .each(function (n, i) {
                  t(this).attr("min", e.data("min")),
                    t(this).attr("max", e.data("max")),
                    t(this).attr("step", e.data("step"));
                }),
                "px" !== e.val() || ("rem" !== s.unit && "em" !== s.unit)
                  ? ("rem" !== e.val() && "em" !== e.val()) ||
                    "px" !== s.unit ||
                    (s.element
                      .find("input.bloglo-range-input")
                      .each(function (e, n) {
                        t(n).val(t(n).val() / range_obj.base_font),
                          s._autocorrectSlider(t(n));
                      }),
                    (s.unit = e.val()))
                  : (s.element
                      .find("input.bloglo-range-input")
                      .each(function (e, n) {
                        t(n).val(Math.floor(t(n).val() * range_obj.base_font)),
                          s._autocorrectSlider(t(n));
                      }),
                    (s.unit = e.val()));
            });
        },
        _autocorrectSlider: function (t) {
          var e = t.parent().find('input[type="range"]'),
            n = parseFloat(t.val()),
            i = parseFloat(t.attr("step")),
            a = parseFloat(t.attr("min")),
            s = parseFloat(t.attr("max"));
          isNaN(n)
            ? e.change()
            : (1 <= i &&
                0 != n % 1 &&
                ((n = Math.round(n)), t.val(n), e.val(n).change()),
              n > s && (t.val(s), e.val(s).change()),
              n < a && (t.val(a), e.val(a).change()),
              e.val(n).change());
        },
        _initResponsiveControls: function () {
          var e = this.element;
          e.find(".bloglo-control-wrap");
          if (
            (e.addClass("bloglo-control-responsive"),
            e.find(".customize-control-title").length)
          ) {
            var n = t('<ul class="bloglo-responsive-switchers"></ul>');
            for (var i in this.options.responsive)
              n.append(
                '<li class="' +
                  i +
                  '"><span class="preview-' +
                  i +
                  '" data-device="' +
                  i +
                  '"><span class="bloglo-tooltip small-tooltip">' +
                  i +
                  '</span><i class="' +
                  this.options.responsive[i].icon +
                  '"></i></span></li>'
              );
            e.find(".customize-control-title").append(n);
          }
        },
        _initUnit: function () {
          var e = this.element.find(".bloglo-control-wrap"),
            n = wp.template("bloglo-control-unit"),
            i = {
              unit: this.options.unit,
              id: this.options.id,
              option: this.options.option,
              selected: e.attr("data-unit"),
            };
          "object" == typeof this.options.unit
            ? (t(n(i)).insertBefore(e),
              void 0 !== this.options.value.unit &&
                e
                  .parent()
                  .find(
                    "#" +
                      this.options.id +
                      "-" +
                      this.options.value.unit +
                      "-unit"
                  )
                  .click())
            : "string" == typeof this.options.unit &&
              t(
                '<span class="bloglo-range-unit">' +
                  this.options.unit +
                  "</span>"
              ).insertAfter(e.find(".bloglo-range-input")),
            e.parent().find(".bloglo-control-unit input:checked").click();
        },
      }),
        t.widget("bloglo.rangeControl", n);
    })(jQuery);
})(jQuery);
inc/customizer/controls/range/range.css000064400000010630152425655550014304 0ustar00/*****************************************/
/* Customizer control range style
/*****************************************/
/**
 * Import configuration file with variables.
 */
.bloglo-range-wrapper .bloglo-control-wrap {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-top: 12px;
}

.bloglo-range-wrapper .bloglo-control-wrap input[type="range"],
.bloglo-range-wrapper .bloglo-control-wrap .bloglo-range-input,
.bloglo-range-wrapper .bloglo-control-wrap .bloglo-reset-range {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.bloglo-range-wrapper input[type="range"] {
  background-color: #ddd;
  height: 3px;
  padding: 0;
  margin: 0;
  cursor: pointer;
  -webkit-transition: background 0.15s ease;
  transition: background 0.15s ease;
  border-radius: 3px;
  -webkit-appearance: none;
}

.bloglo-range-wrapper input[type="range"]:focus {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.bloglo-range-wrapper input[type="range"]:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.bloglo-range-wrapper input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  background-color: #2e86b9;
  width: 15px;
  height: 15px;
  border: none;
  border-radius: 50%;
  -webkit-transition: background-color 0.15s ease, -webkit-box-shadow 0.15s ease,
    -webkit-transform 0.15s ease;
  transition: background-color 0.15s ease, -webkit-box-shadow 0.15s ease,
    -webkit-transform 0.15s ease;
  transition: background-color 0.15s ease, box-shadow 0.15s ease,
    transform 0.15s ease;
  transition: background-color 0.15s ease, box-shadow 0.15s ease,
    transform 0.15s ease, -webkit-box-shadow 0.15s ease,
    -webkit-transform 0.15s ease;
}

.bloglo-range-wrapper input[type="range"]::-webkit-slider-thumb:hover {
  background-color: #008ec2;
  -webkit-box-shadow: 0 0 0 10px rgba(46, 134, 185, 0.12);
  box-shadow: 0 0 0 10px rgba(46, 134, 185, 0.12);
}

.bloglo-range-wrapper input[type="range"]::-webkit-slider-thumb:active {
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transform: scale(1.5);
  transform: scale(1.5);
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.bloglo-range-wrapper input[type="range"]::-moz-range-track {
  border: inherit;
  background-color: transparent;
}

.bloglo-range-wrapper input[type="range"]::-ms-track {
  border: inherit;
  color: transparent;
  background-color: transparent;
}

.bloglo-range-wrapper input[type="range"]::-ms-fill-lower,
.bloglo-range-wrapper input[type="range"]::-ms-fill-upper {
  background-color: transparent;
}

.bloglo-range-wrapper input[type="range"]::-ms-tooltip {
  display: none;
}

.bloglo-range-wrapper input[type="range"]::-moz-range-thumb {
  background-color: #2e86b9;
  width: 15px;
  height: 15px;
  border: none;
  border-radius: 30px;
  -moz-transition: all 0.15s ease;
  transition: all 0.15s ease;
}

.bloglo-range-wrapper input[type="range"]::-moz-range-thumb:hover {
  background-color: #008ec2;
  transform: scale(1.25);
}

.bloglo-range-wrapper input[type="range"]::-ms-thumb {
  background-color: #2e86b9;
  width: 15px;
  height: 15px;
  border: none;
  border-radius: 30px;
  -ms-transition: all 0.15s ease;
  transition: all 0.15s ease;
}

.bloglo-range-wrapper input[type="range"]::-ms-thumb:hover {
  background-color: #008ec2;
  -ms-transform: scale(1.25);
  transform: scale(1.25);
}

.bloglo-range-wrapper .bloglo-range-input {
  max-width: 50px;
  height: 28px;
  text-align: center;
  font-size: 13px;
  border-radius: 3px;
  font-weight: 400;
  color: #232323;
  -moz-appearance: textfield;
  margin-left: 6px !important;
}

.bloglo-range-wrapper .bloglo-range-input::-webkit-outer-spin-button,
.bloglo-range-wrapper .bloglo-range-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.bloglo-range-wrapper .bloglo-reset-range {
  max-width: 16px;
  margin-left: 12px;
  display: inline-block;
  position: relative;
  line-height: 1;
  color: rgba(0, 0, 0, 0.2);
  cursor: pointer;
  text-align: center;
}

.bloglo-range-wrapper .bloglo-reset-range:hover {
  color: #f00;
}

.bloglo-range-wrapper .bloglo-reset-range span {
  width: 13px;
  height: 13px;
  font-size: 13px;
  line-height: 1;
}

.bloglo-range-wrapper .bloglo-range-unit {
  margin-left: 6px;
  color: #555d66;
}
inc/customizer/controls/class-bloglo-customizer-control.php000064400000012533152425655550020360 0ustar00<?php
/**
 * Bloglo Customizer custom control class. To be extended in other controls.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control' ) ) :
	/**
	 * Bloglo Customizer custom control class. To be extended in other controls.
	 */
	class Bloglo_Customizer_Control extends WP_Customize_Control {

		/**
		 * Whitelisting the "required" argument.
		 *
		 * @since 1.0.0
		 * @var array
		 */
		public $required = array();

		/**
		 * Whitelisting the "responsive" argument.
		 *
		 * @since 1.0.0
		 * @var array
		 */
		public $responsive = array();

		/**
		 * Set the default options.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) {

			parent::__construct( $manager, $id, $args );

			if ( isset( $args['responsive'] ) && true === $args['responsive'] ) {
				$this->responsive = apply_filters(
					'bloglo_customizer_responsive_breakpoints',
					array(
						'desktop' => array(
							'title' => esc_html__( 'Desktop', 'bloglo' ),
							'icon'  => 'dashicons dashicons-desktop',
						),
						'tablet'  => array(
							'title' => esc_html__( 'Tablet', 'bloglo' ),
							'icon'  => 'dashicons dashicons-tablet',
						),
						'mobile'  => array(
							'title' => esc_html__( 'Mobile', 'bloglo' ),
							'icon'  => 'dashicons dashicons-smartphone',
						),
					)
				);
			}
		}

		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {

			// Script debug.
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			// Control type.
			$bloglo_type = str_replace( 'bloglo-', '', $this->type );
			/**
			 * Enqueue control stylesheet
			 */
			wp_enqueue_style(
				'bloglo-' . $bloglo_type . '-control-style',
				BLOGLO_THEME_URI . '/inc/customizer/controls/' . $bloglo_type . '/' . $bloglo_type . $bloglo_suffix . '.css',
				false,
				BLOGLO_THEME_VERSION,
				'all'
			);

			/**
			 * Enqueue our control script.
			 */
			wp_enqueue_script(
				'bloglo-' . $bloglo_type . '-js',
				BLOGLO_THEME_URI . '/inc/customizer/controls/' . $bloglo_type . '/' . $bloglo_type . $bloglo_suffix . '.js',
				array( 'jquery', 'customize-base' ),
				BLOGLO_THEME_VERSION,
				true
			);
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 * @since  1.0.0
		 */
		public function to_json() {

			$this->json['settings'] = array();
			foreach ( $this->settings as $key => $setting ) {
				$this->json['settings'][ $key ] = $setting->id;
			}

			$this->json['type']           = $this->type;
			$this->json['priority']       = $this->priority;
			$this->json['active']         = $this->active();
			$this->json['section']        = $this->section;
			$this->json['label']          = $this->label;
			$this->json['description']    = $this->description;
			$this->json['instanceNumber'] = $this->instance_number;

			if ( 'dropdown-pages' === $this->type ) {
				$this->json['allow_addition'] = $this->allow_addition;
			}

			if ( isset( $this->default ) ) {
				$this->json['default'] = $this->default;
			} elseif ( isset( $this->setting->default ) ) {
				$this->json['default'] = $this->setting->default;
			}

			$this->json['value']      = $this->value();
			$this->json['link']       = $this->get_link();
			$this->json['id']         = $this->id;
			$this->json['required']   = $this->required;
			$this->json['responsive'] = $this->responsive;
			$this->json['inputAttrs'] = '';

			foreach ( $this->input_attrs as $attr => $value ) {
				$this->json['inputAttrs'] .= $attr . '="' . esc_attr( $value ) . '" ';
			}
		}

		/**
		 * An Underscore (JS) template for this control's responsive devices buttons.
		 *
		 * @since 1.0.0
		 */
		protected function responsive_devices() {
			?>
			<ul class="bloglo-responsive-switchers">

				<# _.each( data.responsive, function( settings, device ) { #>

					<li class="{{ device }}">
						<span class="preview-{{ device }}" data-device="{{ device }}">
							<i class="{{{ settings.icon }}}"></i>
						</span>
					</li>

				<# } ); #>
			</ul>
			<?php
		}

		/**
		 * Print the JavaScript templates used throughout custom controls.
		 *
		 * Templates are imported into the JS use wp.template.
		 *
		 * @since 1.0.0
		 */
		public static function template_units() {
			?>
			<script type="text/template" id="tmpl-bloglo-control-unit">

				<# if ( _.isObject( data.unit ) ) { #>

					<div class="bloglo-control-unit">

						<# _.each( data.unit, function( unit ){ #>
							<input
								type="radio"
								id="{{ data.id }}-{{ unit.id }}-unit"
								<# if ( false !== data.option ) { #>data-option="{{ data.option }}-unit"<# } #>
								name="{{ data.id }}-unit"
								data-min="{{ unit.min }}"
								data-max="{{ unit.max }}"
								data-step="{{ unit.step }}"
								value="{{ unit.id }}"
								<# if ( unit.id === data.selected ) { #> checked="checked"<# } #> />

							<label for="{{ data.id }}-{{ unit.id }}-unit">{{{ unit.name }}}</label>

						<# }); #>
					</div>
				<# } #>
			</script>
			<?php
		}
	}
endif;
inc/customizer/controls/section-pro/class-bloglo-customizer-control-section-pro.php000064400000002557152425655550025067 0ustar00<?php
/**
 * Pro customizer section.
 *
 * @since  1.0.0
 * @access public
 */
class Bloglo_Customizer_Control_Section_Pro extends WP_Customize_Section {

	/**
	 * The type of customize section being rendered.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    string
	 */
	public $type = 'section-pro';

	/**
	 * Custom button text to output.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    string
	 */
	public $pro_text = '';

	/**
	 * Custom pro button URL.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    string
	 */
	public $pro_url = '';

	/**
	 * Add custom parameters to pass to the JS via JSON.
	 *
	 * @since  1.0.0
	 * @access public
	 * @return void
	 */
	public function json() {
		$json = parent::json();

		$json['pro_text'] = $this->pro_text;
		$json['pro_url']  = esc_url( $this->pro_url );

		return $json;
	}

	/**
	 * Outputs the Underscore.js template.
	 *
	 * @since  1.0.0
	 * @access public
	 * @return void
	 */
	protected function render_template() { ?>

		<li id="accordion-section-{{ data.id }}" class="accordion-section control-section control-section-{{ data.type }} cannot-expand">

			<h3 class="accordion-section-title">
				{{ data.title }}

				<# if ( data.pro_text && data.pro_url ) { #>
					<a href="{{ data.pro_url }}" class="btn button-primary alignright" target="_blank">{{ data.pro_text }}</a>
				<# } #>
			</h3>
		</li>
		<?php
	}
}
inc/customizer/controls/color/color.css000064400000015321152425655550014352 0ustar00/*****************************************/
/* Customizer control color style
/*****************************************/
/**
 * Import configuration file with variables.
 */
.bloglo-color-wrapper .wp-picker-container {
  margin-top: 6px;
}

.bloglo-color-wrapper .bloglo-color-control {
  border-radius: 3px 0 0 0px !important;
  margin-top: 0 !important;
}

.wp-core-ui .button.wp-color-result {
  background: transparent;
}

body.wp-customizer .wp-picker-container {
  max-width: 247px;
}

body.wp-customizer
  .wp-picker-container
  .wp-picker-open
  ~ .wp-picker-holder
  .alpha-color-picker-container {
  display: block;
}

body.wp-customizer .wp-picker-container .iris-picker {
  margin: 0 0 0 0;
  -webkit-box-sizing: content-box !important;
  box-sizing: content-box !important;
  border-color: #ddd;
  border-radius: 0;
  max-width: calc(100% - 2px);
}

body.wp-customizer .wp-picker-container .iris-picker .iris-square {
  margin-right: 0;
}

body.wp-customizer .wp-picker-container .iris-picker .iris-strip {
  float: right;
}

body.wp-customizer
  .wp-picker-container
  .iris-picker
  .iris-strip
  .ui-slider-handle {
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 2px;
  opacity: 1;
}

body.wp-customizer
  .wp-picker-container
  .iris-picker
  .iris-strip
  .ui-slider-handle:before {
  border-radius: 2px;
}

body.wp-customizer .wp-picker-container .wp-color-result.button {
  -webkit-box-shadow: none;
  box-shadow: none;
  padding: 0 0 0 45px;
  border: solid 1px #ddd;
  height: 34px;
  border-radius: 3px;
  margin: 0;
  max-width: 160px;
  position: relative;
}

body.wp-customizer .wp-picker-container .wp-color-result.button:focus,
body.wp-customizer .wp-picker-container .wp-color-result.button:hover {
  border-color: #bcbcbc !important;
}

body.wp-customizer .wp-picker-container .wp-color-result.button:before {
  content: "";
  background-image: url("../../assets/images/transparency.svg");
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 45px;
  z-index: -1;
  background-repeat: repeat;
  background-size: 18px;
}

body.wp-customizer
  .wp-picker-container
  .wp-color-result.button
  .wp-color-result-text {
  background-color: #eee;
  height: 32px;
  line-height: 32px;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 0 2px 2px 0;
  border-left: 1px solid #ddd;
  padding: 0 16px;
  position: relative;
  top: 0;
  right: 0;
  font-size: 13px;
  color: #555d66;
}

body.wp-customizer .alpha-color-picker-container {
  display: none;
  width: 247px;
  border: 1px solid #ddd;
  border-top: none;
  background-color: #ffffff;
  padding: 0 11px 10px;
  position: relative;
  border-radius: 0 0 3px 3px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  top: -1px;
  position: relative;
  z-index: 2;
}

body.wp-customizer .alpha-color-picker-container .ui-widget-content,
body.wp-customizer .alpha-color-picker-container .ui-widget-header {
  background: transparent;
  border: none;
}

body.wp-customizer .alpha-color-picker-container .ui-slider {
  position: relative;
  z-index: 1;
  height: 24px;
  text-align: center;
  margin: 0 auto;
  width: 88%;
  width: calc(100% - 28px);
}

body.wp-customizer .alpha-color-picker-container .ui-slider-handle,
body.wp-customizer
  .alpha-color-picker-container
  .ui-widget-content
  .ui-state-default {
  color: #000;
  background-color: #ffffff;
  text-shadow: 0 1px 0 #fff;
  text-decoration: none;
  position: absolute;
  z-index: 2;
  border: 1px solid #aaa;
  border-radius: 2px;
  margin-top: -2px;
  top: 0;
  height: 26px;
  width: 26px;
  cursor: ew-resize;
  font-size: 0;
  padding: 0;
  line-height: 27px;
  margin-left: -14px;
}

body.wp-customizer .alpha-color-picker-container .ui-slider-handle:focus,
body.wp-customizer
  .alpha-color-picker-container
  .ui-widget-content
  .ui-state-default:focus {
  -webkit-box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
  box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
}

body.wp-customizer
  .alpha-color-picker-container
  .ui-slider-handle.show-opacity {
  font-size: 10px;
  font-weight: 500;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

body.wp-customizer .alpha-color-picker-container .click-zone {
  display: block;
  position: absolute;
  left: 10px;
  width: 14px;
  height: 24px;
}

body.wp-customizer .alpha-color-picker-container .max-click-zone {
  right: 10px;
  left: auto;
}

body.wp-customizer .alpha-color-picker-container .transparency {
  height: 24px;
  width: 100%;
  background-color: #ffffff;
  background-image: url("../../assets/images/transparency-grid.png");
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.4) inset;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.4) inset;
  border-radius: 3px;
  padding: 0;
  margin-top: -24px;
}

body.wp-customizer .alpha-color-picker-wrap .ui-state-focus {
  background: transparent;
  border: none;
}

body.wp-customizer .alpha-color-picker-wrap a.iris-square-value:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

body.wp-customizer .wp-picker-holder {
  max-width: 247px;
}

body.wp-customizer .wp-picker-input-wrap {
  overflow: hidden;
}

body.wp-customizer .wp-picker-open + .wp-picker-input-wrap {
  width: 100%;
  margin-top: 12px;
  -js-display: flex !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  max-width: 247px;
  border-radius: 0;
}

body.wp-customizer .wp-picker-open + .wp-picker-input-wrap > label,
body.wp-customizer .wp-picker-open + .wp-picker-input-wrap > span {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

body.wp-customizer .wp-picker-open + .wp-picker-input-wrap label {
  width: auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin: 0;
  border-radius: 0;
}

body.wp-customizer .wp-picker-open + .wp-picker-input-wrap label input {
  padding: 0 12px;
  width: 100% !important;
  height: 100%;
  margin-top: 0;
  border-radius: 0;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 3px 0 0 0;
  border-bottom: none;
  background-color: #ffffff;
  color: #000;
  font-family: inherit;
  -ms-flex-item-align: end;
  align-self: flex-end;
}

body.wp-customizer
  .wp-picker-open
  + .wp-picker-input-wrap
  input[type="button"] {
  height: auto !important;
  padding: 8px 12px;
  border-radius: 0 3px 0 0;
  line-height: 1.3;
  color: #232323;
  border: none;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  margin-left: 0;
  font-size: 13px;
}

body.wp-customizer .wp-picker-clear {
  width: 28%;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  outline: none;
}

/* Responsive */

@media only screen and (max-width: 640px) {
  .wp-picker-input-wrap
    input[type="text"].wp-color-picker.bloglo-color-control {
    height: 33px;
  }
}
inc/customizer/controls/color/color.js000064400000022202152425655550014172 0ustar00(function ($) {
  wp.customize.controlConstructor["bloglo-color"] = wp.customize.Control.extend(
    {
      ready: function () {
        "use strict";

        var control = this,
          color = control.setting.get();

        // Changes.
        control.container.on(
          "color-updated",
          ".bloglo-color-control",
          function () {
            value = $(this).val();

            if (value !== color) {
              control.setting.set(value);
              color = value;
            }
          }
        );
      },
    }
  );

  /**
   * Override the stock color.js toString() method to add support for
   * outputting RGBa or Hex.
   */
  Color.prototype.toString = function (flag) {
    // If our no-alpha flag has been passed in, output RGBa value with 100% opacity.
    // This is used to set the background color on the opacity slider during color changes.
    if ("no-alpha" == flag) {
      return this.toCSS("rgba", "1").replace(/\s+/g, "");
    }

    // If we have a proper opacity value, output RGBa.
    if (1 > this._alpha) {
      return this.toCSS("rgba", this._alpha).replace(/\s+/g, "");
    }

    // Proceed with stock color.js hex output.
    var hex = parseInt(this._color, 10).toString(16);
    if (this.error) {
      return "";
    }
    if (hex.length < 6) {
      for (var i = 6 - hex.length - 1; i >= 0; i--) {
        hex = "0" + hex;
      }
    }

    return "#" + hex;
  };

  /**
   * Given an RGBa, RGB, or hex color value, return the alpha channel value.
   */
  function bloglo_get_alpha_value_from_color(value) {
    var alphaVal;

    // Remove all spaces from the passed in value to help our RGBa regex.
    value = value.replace(/ /g, "");

    if (value.match(/rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/)) {
      alphaVal =
        parseFloat(value.match(/rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/)[1]).toFixed(
          2
        ) * 100;
      alphaVal = parseInt(alphaVal);
    } else {
      alphaVal = 100;
    }

    return alphaVal;
  }

  /**
   * Force update the alpha value of the color picker object and maybe the alpha slider.
   */
  function bloglo_update_alpha_value_on_color_control(
    alpha,
    $control,
    $alphaSlider,
    update_slider
  ) {
    var iris, colorPicker, color;

    iris = $control.data("a8cIris");
    colorPicker = $control.data("wpWpColorPicker");

    // Set the alpha value on the Iris object.
    iris._color._alpha = alpha;

    // Store the new color value.
    color = iris._color.toString();

    // Set the value of the input.
    $control.val(color);

    // Update the background color of the color picker.
    colorPicker.toggler.css({
      "background-color": color,
    });

    // Maybe update the alpha slider itself.
    if (update_slider) {
      blogloupdate_alpha_value_on_alpha_slider(alpha, $alphaSlider);
    }

    // Trigger change.
    $control.trigger("color-updated");
  }

  /**
   * Update the slider handle position and label.
   */
  function bloglo_update_alpha_value_on_alpha_slider(alpha, $alphaSlider) {
    $alphaSlider.slider("value", alpha);
    $alphaSlider.find(".ui-slider-handle").text(alpha.toString());
  }

  /**
   * Initialization trigger.
   */

  $(document).ready(function ($) {
    // Loop over each control and transform it into our color picker.
    $(".bloglo-color-control").each(function () {
      // Scope the vars.
      var $control,
        startingColor,
        showOpacity,
        defaultColor,
        colorPickerOptions,
        $container,
        $alphaSlider,
        alphaVal,
        sliderOptions;

      // Store the control instance.
      $control = $(this);

      // Get a clean starting value for the option.
      startingColor = $control.val().replace(/\s+/g, "");

      // Get some data off the control.
      showOpacity = $control.attr("data-show-opacity");
      defaultColor = $control.attr("data-default-color");

      // Set up the options that we'll pass to wpColorPicker().
      colorPickerOptions = {
        change: function (event, ui) {
          var value, alpha, $transparency;

          value = ui.color.toString();
          $control.val(value);

          // Set the opacity value on the slider handle when the default color button is clicked.
          if (defaultColor == value) {
            alpha = bloglo_get_alpha_value_from_color(value);
            $alphaSlider.find(".ui-slider-handle").text(alpha);
          }

          // Always show the background color of the opacity slider at 100% opacity.
          $transparency = $container.find(".transparency");
          $transparency.css("background-color", ui.color.toString("no-alpha"));

          $control.trigger("color-updated");
        },
        palettes: bloglo_customizer_localized.color_palette, // Use the passed in palette.
      };

      // Create the colorpicker.
      $control.wpColorPicker(colorPickerOptions);

      $container = $control.parents(".wp-picker-container:first");

      // Insert our opacity slider.
      if ("true" == showOpacity) {
        $(
          '<div class="alpha-color-picker-container">' +
            '<div class="min-click-zone click-zone"></div>' +
            '<div class="max-click-zone click-zone"></div>' +
            '<div class="alpha-slider"></div>' +
            '<div class="transparency"></div>' +
            "</div>"
        ).appendTo($container.find(".wp-picker-holder"));
      }

      $alphaSlider = $container.find(".alpha-slider");

      // If starting value is in format RGBa, grab the alpha channel.
      alphaVal = bloglo_get_alpha_value_from_color(startingColor);

      // Set up jQuery UI slider() options.
      sliderOptions = {
        create: function (event, ui) {
          var value = $(this).slider("value");

          // Set up initial values.
          $(this).find(".ui-slider-handle").text(value);
          $(this)
            .siblings(".transparency ")
            .css("background-color", startingColor);
        },
        value: alphaVal,
        range: "max",
        step: 1,
        min: 0,
        max: 100,
        animate: 300,
      };

      // Initialize jQuery UI slider with our options.
      $alphaSlider.slider(sliderOptions);

      // Maybe show the opacity on the handle.
      if ("true" == showOpacity) {
        $alphaSlider.find(".ui-slider-handle").addClass("show-opacity");
      }

      // Bind event handlers for the click zones.
      $container.find(".min-click-zone").on("click", function () {
        bloglo_update_alpha_value_on_color_control(
          0,
          $control,
          $alphaSlider,
          true
        );
      });

      $container.find(".max-click-zone").on("click", function () {
        bloglo_update_alpha_value_on_color_control(
          100,
          $control,
          $alphaSlider,
          true
        );
      });

      // Bind event handler for clicking on a palette color.
      $container.find(".iris-palette").on("click", function (e) {
        e.preventDefault();

        var color, alpha;

        color = $(this).css("background-color");
        alpha = bloglo_get_alpha_value_from_color(color);

        bloglo_update_alpha_value_on_alpha_slider(alpha, $alphaSlider);

        // Sometimes Iris doesn't set a perfect background-color on the palette,
        // for example rgba(20, 80, 100, 0.3) becomes rgba(20, 80, 100, 0.298039).
        // To compensante for this we round the opacity value on RGBa colors here
        // and save it a second time to the color picker object.
        if (alpha != 100) {
          color = color.replace(/[^,]+(?=\))/, (alpha / 100).toFixed(2));
        }

        $control.val(color);
        $control.wpColorPicker("color", color);
      });

      // Bind event handler for clicking on the 'Clear' button.
      $container.find(".button.wp-picker-clear").on("click", function (e) {
        e.preventDefault();

        $control.val("");

        bloglo_update_alpha_value_on_alpha_slider(100, $alphaSlider);

        $control.trigger("color-updated");
      });

      // Bind event handler for clicking on the 'Default' button.
      $container.find(".button.wp-picker-default").on("click", function (e) {
        e.preventDefault();

        var alpha = bloglo_get_alpha_value_from_color(defaultColor);

        bloglo_update_alpha_value_on_alpha_slider(alpha, $alphaSlider);
      });

      // Bind event handler for typing or pasting into the input.
      $control.on("input", function (e) {
        e.preventDefault();

        var value = $(this).val();
        var alpha = bloglo_get_alpha_value_from_color(value);

        bloglo_update_alpha_value_on_alpha_slider(alpha, $alphaSlider);

        $control.trigger("color-updated");
      });

      // Update all the things when the slider is interacted with.
      $alphaSlider.slider().on("slide", function (event, ui) {
        var alpha = parseFloat(ui.value) / 100.0;

        bloglo_update_alpha_value_on_color_control(
          alpha,
          $control,
          $alphaSlider,
          false
        );

        // Change value shown on slider handle.
        $(this).find(".ui-slider-handle").text(ui.value);
      });

      // Fix Safari issue on input click
      $(".iris-picker, .bloglo-color-control").on("click", function (e) {
        e.preventDefault();
      });
    });
  });
})(jQuery);
inc/customizer/controls/color/color.scss000064400000013134152425655550014535 0ustar00/*****************************************/
/* Customizer control color style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

$admin_border_color: #ddd;
$color_picker_width: 247px;

.bloglo-color-wrapper {
  .wp-picker-container {
    margin-top: 6px;
  }

  .bloglo-color-control {
    border-radius: 3px 0 0 0px !important;
    margin-top: 0 !important;
  }
}

.wp-core-ui .button.wp-color-result {
  background: transparent;
}

body.wp-customizer {
  .wp-picker-container {
    max-width: $color_picker_width;

    .wp-picker-open ~ .wp-picker-holder .alpha-color-picker-container {
      display: block;
    }

    .iris-picker {
      margin: 0 0 0 0;
      box-sizing: content-box !important;
      border-color: $admin_border_color;
      border-radius: 0;
      max-width: calc(100% - 2px);

      .iris-square {
        margin-right: 0;
      }

      .iris-strip {
        float: right;

        .ui-slider-handle {
          box-shadow: none;
          border-radius: 2px;
          opacity: 1;

          &:before {
            border-radius: 2px;
          }
        }
      }
    }

    .wp-color-result.button {
      box-shadow: none;
      padding: 0 0 0 45px;
      border: solid 1px #ddd;
      height: 34px;
      border-radius: $border_radius;
      margin: 0;
      max-width: 160px;
      position: relative;

      &:focus,
      &:hover {
        border-color: #bcbcbc !important;
      }

      &:before {
        content: "";
        background-image: url("../../assets/images/transparency.svg");
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 45px;
        z-index: -1;
        background-repeat: repeat;
        background-size: 18px;
      }

      .wp-color-result-text {
        background-color: #eee;
        height: 32px;
        line-height: 32px;
        border: none;
        box-shadow: none;
        border-radius: 0 2px 2px 0;
        border-left: 1px solid #ddd;
        padding: 0 16px;
        position: relative;
        top: 0;
        right: 0;
        font-size: 13px;
        color: #555d66;
      }
    }
  }

  .alpha-color-picker-container {
    display: none;
    width: $color_picker_width;
    border: 1px solid $admin_border_color;
    border-top: none;
    background-color: $color_5;
    padding: 0 11px 10px;
    position: relative;
    border-radius: 0 0 $border_radius $border_radius;
    box-sizing: border-box;
    top: -1px;
    position: relative;
    z-index: 2;

    .ui-widget-content,
    .ui-widget-header {
      background: transparent;
      border: none;
    }

    .ui-slider {
      position: relative;
      z-index: 1;
      height: 24px;
      text-align: center;
      margin: 0 auto;
      width: 88%;
      width: calc(100% - 28px);
    }

    .ui-slider-handle,
    .ui-widget-content .ui-state-default {
      color: #000;
      background-color: $color_5;
      text-shadow: 0 1px 0 #fff;
      text-decoration: none;
      position: absolute;
      z-index: 2;
      border: 1px solid #aaa;
      border-radius: 2px;
      margin-top: -2px;
      top: 0;
      height: 26px;
      width: 26px;
      cursor: ew-resize;
      font-size: 0;
      padding: 0;
      line-height: 27px;
      margin-left: -14px;

      &:focus {
        box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
      }
    }

    .ui-slider-handle.show-opacity {
      font-size: 10px;
      font-weight: 500;
      user-select: none;
    }

    .click-zone {
      display: block;
      position: absolute;
      left: 10px;
      width: 14px;
      height: 24px;
    }

    .max-click-zone {
      right: 10px;
      left: auto;
    }

    .transparency {
      height: 24px;
      width: 100%;
      background-color: $color_5;
      background-image: url("../../assets/images/transparency-grid.png");
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.4) inset;
      border-radius: 3px;
      padding: 0;
      margin-top: -24px;
    }
  }

  .alpha-color-picker-wrap {
    .ui-state-focus {
      background: transparent;
      border: none;
    }

    a.iris-square-value {
      &:focus {
        box-shadow: none;
      }
    }
  }

  .wp-picker-holder {
    max-width: $color_picker_width;
  }

  .wp-picker-input-wrap {
    overflow: hidden;
  }

  .wp-picker-open + .wp-picker-input-wrap {
    width: 100%;
    margin-top: 12px;
    display: flex !important;
    max-width: $color_picker_width;
    border-radius: 0;

    & > label,
    & > span {
      flex: 1;
    }

    label {
      width: auto;
      flex-shrink: 0;
      margin: 0;
      border-radius: 0;

      input {
        padding: 0 12px;
        width: 100% !important;
        height: 100%;
        margin-top: 0;
        border-radius: 0;
        text-align: center;
        border: 1px solid $admin_border_color;
        border-radius: $border_radius 0 0 0;
        border-bottom: none;
        background-color: $color_5;
        color: #000;
        font-family: inherit;
        align-self: flex-end;
      }
    }

    input[type="button"] {
      height: auto !important;
      padding: 8px 12px;
      border-radius: 0 $border_radius 0 0;
      line-height: 1.3;
      color: $color_3;
      border: none;
      border-top: 1px solid $admin_border_color;
      border-right: 1px solid $admin_border_color;
      margin-left: 0;
      font-size: 13px;
    }
  }

  .wp-picker-clear {
    width: 28%;
    box-shadow: none !important;
    outline: none;
  }
}

/* Responsive */
@media only screen and (max-width: 640px) {
  .wp-picker-input-wrap
    input[type="text"].wp-color-picker.bloglo-color-control {
    height: 33px;
  }
}
inc/customizer/controls/color/class-bloglo-customizer-control-color.php000064400000006300152425655550022605 0ustar00<?php
/**
 * Bloglo Customizer custom color control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Color' ) ) :
	/**
	 * Bloglo Customizer custom color control class.
	 */
	class Bloglo_Customizer_Control_Color extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-color';

		/**
		 * Add support for showing the opacity value on the slider handle.
		 *
		 * @var boolean
		 */
		public $opacity;

		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {

			// Script debug.
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			// Control type.
			$bloglo_type = str_replace( 'bloglo-', '', $this->type );

			// Enqueue WordPress color picker styles.
			wp_enqueue_style( 'wp-color-picker' );

			// Enqueue control stylesheet.
			wp_enqueue_style(
				'bloglo-' . $bloglo_type . '-control-style',
				BLOGLO_THEME_URI . '/inc/customizer/controls/' . $bloglo_type . '/' . $bloglo_type . $bloglo_suffix . '.css',
				false,
				BLOGLO_THEME_VERSION,
				'all'
			);

			// Enqueue our control script.
			wp_enqueue_script(
				'bloglo-' . $bloglo_type . '-js',
				BLOGLO_THEME_URI . '/inc/customizer/controls/' . $bloglo_type . '/' . $bloglo_type . $bloglo_suffix . '.js',
				array( 'jquery', 'customize-base', 'wp-color-picker' ),
				BLOGLO_THEME_VERSION,
				true
			);
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['opacity'] = ( false === $this->opacity || 'false' === $this->opacity ) ? 'false' : 'true';
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-color-wrapper bloglo-control-wrapper">

				<# if ( data.label ) { #>
					<div class="customize-control-title">
						<span>{{{ data.label }}}</span>

						<# if ( data.description ) { #>
							<i class="bloglo-info-icon">
								<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
									<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
									<line x1="12" y1="17" x2="12" y2="17"></line>
								</svg>
								<span class="bloglo-tooltip">{{{ data.description }}}</span>
							</i>
						<# } #>

					</div>
				<# } #>

				<div>
					<input class="bloglo-color-control" type="text" value="{{ data.value }}" data-show-opacity="{{ data.opacity }}" data-default-color="{{ data.default }}" />
				</div>

			</div><!-- END .bloglo-toggle-wrapper -->
			<?php
		}

	}
endif;
inc/customizer/controls/color/color.min.css000064400000014032152425655550015132 0ustar00.bloglo-color-wrapper .wp-picker-container {
  margin-top: 6px;
}
.bloglo-color-wrapper .bloglo-color-control {
  border-radius: 3px 0 0 0 !important;
  margin-top: 0 !important;
}
.wp-core-ui .button.wp-color-result {
  background: transparent;
}
body.wp-customizer .wp-picker-container {
  max-width: 247px;
}
body.wp-customizer
  .wp-picker-container
  .wp-picker-open
  ~ .wp-picker-holder
  .alpha-color-picker-container {
  display: block;
}
body.wp-customizer .wp-picker-container .iris-picker {
  margin: 0;
  box-sizing: content-box !important;
  border-color: #ddd;
  border-radius: 0;
  max-width: calc(100% - 2px);
}
body.wp-customizer .wp-picker-container .iris-picker .iris-square {
  margin-right: 0;
}
body.wp-customizer .wp-picker-container .iris-picker .iris-strip {
  float: right;
}
body.wp-customizer
  .wp-picker-container
  .iris-picker
  .iris-strip
  .ui-slider-handle {
  box-shadow: none;
  border-radius: 2px;
  opacity: 1;
}
body.wp-customizer
  .wp-picker-container
  .iris-picker
  .iris-strip
  .ui-slider-handle:before {
  border-radius: 2px;
}
body.wp-customizer .wp-picker-container .wp-color-result.button {
  box-shadow: none;
  padding: 0 0 0 45px;
  border: 1px solid #ddd;
  height: 34px;
  border-radius: 3px;
  margin: 0;
  max-width: 160px;
  position: relative;
}
body.wp-customizer .wp-picker-container .wp-color-result.button:focus,
body.wp-customizer .wp-picker-container .wp-color-result.button:hover {
  border-color: #bcbcbc !important;
}
body.wp-customizer .wp-picker-container .wp-color-result.button:before {
  content: "";
  background-image: url(../../assets/images/transparency.svg);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 45px;
  z-index: -1;
  background-repeat: repeat;
  background-size: 18px;
}
body.wp-customizer
  .wp-picker-container
  .wp-color-result.button
  .wp-color-result-text {
  background-color: #eee;
  height: 32px;
  line-height: 32px;
  border: none;
  box-shadow: none;
  border-radius: 0 2px 2px 0;
  border-left: 1px solid #ddd;
  padding: 0 16px;
  position: relative;
  top: 0;
  right: 0;
  font-size: 13px;
  color: #555d66;
}
body.wp-customizer .alpha-color-picker-container {
  display: none;
  width: 247px;
  border: 1px solid #ddd;
  border-top: none;
  background-color: #fff;
  padding: 0 11px 10px;
  border-radius: 0 0 3px 3px;
  box-sizing: border-box;
  top: -1px;
  position: relative;
  z-index: 2;
}
body.wp-customizer .alpha-color-picker-container .ui-widget-content,
body.wp-customizer .alpha-color-picker-container .ui-widget-header {
  background: transparent;
  border: none;
}
body.wp-customizer .alpha-color-picker-container .ui-slider {
  position: relative;
  z-index: 1;
  height: 24px;
  text-align: center;
  margin: 0 auto;
  width: 88%;
  width: calc(100% - 28px);
}
body.wp-customizer .alpha-color-picker-container .ui-slider-handle,
body.wp-customizer
  .alpha-color-picker-container
  .ui-widget-content
  .ui-state-default {
  color: #000;
  background-color: #fff;
  text-shadow: 0 1px 0 #fff;
  text-decoration: none;
  position: absolute;
  z-index: 2;
  border: 1px solid #aaa;
  border-radius: 2px;
  margin-top: -2px;
  top: 0;
  height: 26px;
  width: 26px;
  cursor: ew-resize;
  font-size: 0;
  padding: 0;
  line-height: 27px;
  margin-left: -14px;
}
body.wp-customizer .alpha-color-picker-container .ui-slider-handle:focus,
body.wp-customizer
  .alpha-color-picker-container
  .ui-widget-content
  .ui-state-default:focus {
  box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
}
body.wp-customizer
  .alpha-color-picker-container
  .ui-slider-handle.show-opacity {
  font-size: 10px;
  font-weight: 500;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
body.wp-customizer .alpha-color-picker-container .click-zone {
  display: block;
  position: absolute;
  left: 10px;
  width: 14px;
  height: 24px;
}
body.wp-customizer .alpha-color-picker-container .max-click-zone {
  right: 10px;
  left: auto;
}
body.wp-customizer .alpha-color-picker-container .transparency {
  height: 24px;
  width: 100%;
  background-color: #fff;
  background-image: url(../../assets/images/transparency-grid.png);
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.4);
  border-radius: 3px;
  padding: 0;
  margin-top: -24px;
}
body.wp-customizer .alpha-color-picker-wrap .ui-state-focus {
  background: transparent;
  border: none;
}
body.wp-customizer .alpha-color-picker-wrap a.iris-square-value:focus {
  box-shadow: none;
}
body.wp-customizer .wp-picker-holder {
  max-width: 247px;
}
body.wp-customizer .wp-picker-input-wrap {
  overflow: hidden;
}
body.wp-customizer .wp-picker-open + .wp-picker-input-wrap {
  width: 100%;
  margin-top: 12px;
  -js-display: flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
  max-width: 247px;
  border-radius: 0;
}
body.wp-customizer .wp-picker-open + .wp-picker-input-wrap > label,
body.wp-customizer .wp-picker-open + .wp-picker-input-wrap > span {
  -ms-flex: 1;
  flex: 1;
}
body.wp-customizer .wp-picker-open + .wp-picker-input-wrap label {
  width: auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin: 0;
  border-radius: 0;
}
body.wp-customizer .wp-picker-open + .wp-picker-input-wrap label input {
  padding: 0 12px;
  width: 100% !important;
  height: 100%;
  margin-top: 0;
  border-radius: 0;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 3px 0 0 0;
  border-bottom: none;
  background-color: #fff;
  color: #000;
  font-family: inherit;
  -ms-flex-item-align: end;
  align-self: flex-end;
}
body.wp-customizer
  .wp-picker-open
  + .wp-picker-input-wrap
  input[type="button"] {
  height: auto !important;
  padding: 8px 12px;
  border-radius: 0 3px 0 0;
  line-height: 1.3;
  color: #232323;
  border: none;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  margin-left: 0;
  font-size: 13px;
}
body.wp-customizer .wp-picker-clear {
  width: 28%;
  box-shadow: none !important;
  outline: none;
}
@media only screen and (max-width: 640px) {
  .wp-picker-input-wrap
    input[type="text"].wp-color-picker.bloglo-color-control {
    height: 33px;
  }
}
inc/customizer/controls/color/color.min.js000064400000015554152425655550014770 0ustar00!(function ($) {
  function bloglo_get_alpha_value_from_color(value) {
    var alphaVal;
    return (
      (value = value.replace(/ /g, "")).match(/rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/)
        ? ((alphaVal =
            100 *
            parseFloat(
              value.match(/rgba\(\d+\,\d+\,\d+\,([^\)]+)\)/)[1]
            ).toFixed(2)),
          (alphaVal = parseInt(alphaVal)))
        : (alphaVal = 100),
      alphaVal
    );
  }
  function bloglo_update_alpha_value_on_color_control(
    alpha,
    $control,
    $alphaSlider,
    update_slider
  ) {
    var iris, colorPicker, color;
    (iris = $control.data("a8cIris")),
      (colorPicker = $control.data("wpWpColorPicker")),
      (iris._color._alpha = alpha),
      (color = iris._color.toString()),
      $control.val(color),
      colorPicker.toggler.css({ "background-color": color }),
      update_slider &&
        blogloupdate_alpha_value_on_alpha_slider(alpha, $alphaSlider),
      $control.trigger("color-updated");
  }
  function bloglo_update_alpha_value_on_alpha_slider(alpha, $alphaSlider) {
    $alphaSlider.slider("value", alpha),
      $alphaSlider.find(".ui-slider-handle").text(alpha.toString());
  }
  (wp.customize.controlConstructor["bloglo-color"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";
        var control = this,
          color = control.setting.get();
        control.container.on(
          "color-updated",
          ".bloglo-color-control",
          function () {
            (value = $(this).val()),
              value !== color && (control.setting.set(value), (color = value));
          }
        );
      },
    })),
    (Color.prototype.toString = function (flag) {
      if ("no-alpha" == flag)
        return this.toCSS("rgba", "1").replace(/\s+/g, "");
      if (1 > this._alpha)
        return this.toCSS("rgba", this._alpha).replace(/\s+/g, "");
      var hex = parseInt(this._color, 10).toString(16);
      if (this.error) return "";
      if (hex.length < 6)
        for (var i = 6 - hex.length - 1; i >= 0; i--) hex = "0" + hex;
      return "#" + hex;
    }),
    $(document).ready(function ($) {
      $(".bloglo-color-control").each(function () {
        var $control,
          startingColor,
          showOpacity,
          defaultColor,
          colorPickerOptions,
          $container,
          $alphaSlider,
          sliderOptions;
        ($control = $(this)),
          (startingColor = $control.val().replace(/\s+/g, "")),
          (showOpacity = $control.attr("data-show-opacity")),
          (defaultColor = $control.attr("data-default-color")),
          (colorPickerOptions = {
            change: function (event, ui) {
              var value, alpha;
              (value = ui.color.toString()),
                $control.val(value),
                defaultColor == value &&
                  ((alpha = bloglo_get_alpha_value_from_color(value)),
                  $alphaSlider.find(".ui-slider-handle").text(alpha)),
                $container
                  .find(".transparency")
                  .css("background-color", ui.color.toString("no-alpha")),
                $control.trigger("color-updated");
            },
            palettes: bloglo_customizer_localized.color_palette,
          }),
          $control.wpColorPicker(colorPickerOptions),
          ($container = $control.parents(".wp-picker-container:first")),
          "true" == showOpacity &&
            $(
              '<div class="alpha-color-picker-container"><div class="min-click-zone click-zone"></div><div class="max-click-zone click-zone"></div><div class="alpha-slider"></div><div class="transparency"></div></div>'
            ).appendTo($container.find(".wp-picker-holder")),
          ($alphaSlider = $container.find(".alpha-slider")),
          (sliderOptions = {
            create: function (event, ui) {
              var value = $(this).slider("value");
              $(this).find(".ui-slider-handle").text(value),
                $(this)
                  .siblings(".transparency ")
                  .css("background-color", startingColor);
            },
            value: bloglo_get_alpha_value_from_color(startingColor),
            range: "max",
            step: 1,
            min: 0,
            max: 100,
            animate: 300,
          }),
          $alphaSlider.slider(sliderOptions),
          "true" == showOpacity &&
            $alphaSlider.find(".ui-slider-handle").addClass("show-opacity"),
          $container.find(".min-click-zone").on("click", function () {
            bloglo_update_alpha_value_on_color_control(
              0,
              $control,
              $alphaSlider,
              !0
            );
          }),
          $container.find(".max-click-zone").on("click", function () {
            bloglo_update_alpha_value_on_color_control(
              100,
              $control,
              $alphaSlider,
              !0
            );
          }),
          $container.find(".iris-palette").on("click", function (e) {
            var color, alpha;
            e.preventDefault(),
              bloglo_update_alpha_value_on_alpha_slider(
                (alpha = bloglo_get_alpha_value_from_color(
                  (color = $(this).css("background-color"))
                )),
                $alphaSlider
              ),
              100 != alpha &&
                (color = color.replace(
                  /[^,]+(?=\))/,
                  (alpha / 100).toFixed(2)
                )),
              $control.val(color),
              $control.wpColorPicker("color", color);
          }),
          $container.find(".button.wp-picker-clear").on("click", function (e) {
            e.preventDefault(),
              $control.val(""),
              bloglo_update_alpha_value_on_alpha_slider(100, $alphaSlider),
              $control.trigger("color-updated");
          }),
          $container
            .find(".button.wp-picker-default")
            .on("click", function (e) {
              e.preventDefault(),
                bloglo_update_alpha_value_on_alpha_slider(
                  bloglo_get_alpha_value_from_color(defaultColor),
                  $alphaSlider
                );
            }),
          $control.on("input", function (e) {
            e.preventDefault(),
              bloglo_update_alpha_value_on_alpha_slider(
                bloglo_get_alpha_value_from_color($(this).val()),
                $alphaSlider
              ),
              $control.trigger("color-updated");
          }),
          $alphaSlider.slider().on("slide", function (event, ui) {
            bloglo_update_alpha_value_on_color_control(
              parseFloat(ui.value) / 100,
              $control,
              $alphaSlider,
              !1
            ),
              $(this).find(".ui-slider-handle").text(ui.value);
          }),
          $(".iris-picker, .bloglo-color-control").on("click", function (e) {
            e.preventDefault();
          });
      });
    });
})(jQuery);
inc/customizer/controls/datetime/class-bloglo-customizer-control-datetime.php000064400000004472152425655550023751 0ustar00<?php
/**
 * Bloglo Customizer custom text control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Datetime' ) ) :
	/**
	 * Bloglo Customizer custom select control class.
	 */
	class Bloglo_Customizer_Control_Datetime extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-datetime';

		/**
		 * Placeholder text.
		 *
		 * @since 1.0.0
		 * @var string|false
		 */

		public $info;
		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();
			$this->json['info'] = $this->info;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-control-wrapper bloglo-text-wrapper">

				<label>
					<# if ( data.label ) { #>
						<div class="customize-control-title">
							<span>{{{ data.label }}}</span>

							<# if ( data.description ) { #>
								<i class="bloglo-info-icon">
									<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
										<circle cx="12" cy="12" r="10"></circle>
										<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
										<line x1="12" y1="17" x2="12" y2="17"></line>
									</svg>
									<span class="bloglo-tooltip">{{{ data.description }}}</span>
								</i>
							<# } #>

						</div>
					<# } #>

					<input type="datetime-local" value="{{ data.value }}" placeholder="{{ data.placeholder }}" {{{ data.link }}} />
					<div class="bloglo-info-text">{{{ data.info }}}</div>
				</label>

			</div><!-- END .bloglo-control-wrapper -->
			<?php
		}
	}
endif;
inc/customizer/controls/pro/pro.min.css000064400000003720152425655550014300 0ustar00#accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title, #accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title button.accordion-trigger {background: #004bed;color: #fff;}#accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title {display: flex;align-items: center;border-left: 0;}#accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title button.accordion-trigger:hover, #accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title button.accordion-trigger:focus, #customize-controls #accordion-section-bloglo_section_bloglo_pro .accordion-section-title:focus, #customize-controls #accordion-section-bloglo_section_bloglo_pro .accordion-section-title:hover, #customize-controls #accordion-section-bloglo_section_bloglo_pro.open .accordion-section-title, #customize-controls #accordion-section-bloglo_section_bloglo_pro:hover>.accordion-section-title {background: #004bed;color: #fff;}#customize-theme-controls #accordion-section-bloglo_section_bloglo_pro .accordion-section-title:after {color: #fff;}.btn-lg, .btn-group-lg>.btn {padding: 10px 16px;font-size: 18px;line-height: 1.33;border-radius: 6px;}.upsell-btn>.btn-success {color: #fff;background-color: #004bed;border-color: #004bed;}.upsell-btn>.btn-success:hover {color: #fff;background-color: #736de0;border-color: #004bed;}.upsell-btn {margin-bottom: 20px;margin-top: 10px;}.upsell-btn-bottom {margin-top: 20px;}.upsell-btn>a {text-decoration: none;}.upsell-btn>a.btn.btn-success.btn {padding: 10px;border-radius: 0;}#accordion-section-bloglo_section_bloglo_pro .accordion-section-title::before {content: "\f487";font-family: dashicons;font-size: 14px;margin-right: 8px;color: red;background-color: #fff;border-radius: 100%;width: 22px;height: 22px;line-height: 23px;text-align: center;flex-shrink: 0;margin-left: 15px;}#accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title button.accordion-trigger {padding-left: 0;color: inherit;background: inherit;}inc/customizer/controls/pro/pro.css000064400000004275152425655550013524 0ustar00#accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title,
#accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title button.accordion-trigger {
    background: #004bed;
    color: #fff;
}

#accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title {
    display: flex;
    align-items: center;
    border-left: 0;
}

#accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title button.accordion-trigger:hover,
#accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title button.accordion-trigger:focus,
#customize-controls #accordion-section-bloglo_section_bloglo_pro .accordion-section-title:focus,
#customize-controls #accordion-section-bloglo_section_bloglo_pro .accordion-section-title:hover,
#customize-controls #accordion-section-bloglo_section_bloglo_pro.open .accordion-section-title,
#customize-controls #accordion-section-bloglo_section_bloglo_pro:hover>.accordion-section-title {
    background: #004bed;
    color: #fff;
}

#customize-theme-controls #accordion-section-bloglo_section_bloglo_pro .accordion-section-title:after {
    color: #fff;
}

.btn-lg,
.btn-group-lg>.btn {
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.33;
    border-radius: 6px;
}

.upsell-btn>.btn-success {
    color: #fff;
    background-color: #004bed;
    border-color: #004bed;
}

.upsell-btn>.btn-success:hover {
    color: #fff;
    background-color: #736de0;
    border-color: #004bed;
}

.upsell-btn {
    margin-bottom: 20px;
    margin-top: 10px;
}

.upsell-btn-bottom {
    margin-top: 20px;
}

.upsell-btn>a {
    text-decoration: none;
}

.upsell-btn>a.btn.btn-success.btn {
    padding: 10px;
    border-radius: 0;
}

#accordion-section-bloglo_section_bloglo_pro .accordion-section-title::before {
    content: "\f487";
    font-family: dashicons;
    font-size: 14px;
    margin-right: 8px;
    color: red;
    background-color: #fff;
    border-radius: 100%;
    width: 22px;
    height: 22px;
    line-height: 23px;
    text-align: center;
    flex-shrink: 0;
    margin-left: 15px;
}

#accordion-section-bloglo_section_bloglo_pro h3.accordion-section-title button.accordion-trigger {
    padding-left: 0;
    color: inherit;
    background: inherit;
}inc/customizer/controls/pro/class-bloglo-customizer-control-pro.php000064400000005530152425655550021755 0ustar00<?php
if ( ! class_exists( 'Bloglo_Customizer_Control_Pro' ) ) :
	class Bloglo_Customizer_Control_Pro extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-pro';

		/**
		 * Pro features
		 *
		 * @since 1.1.1
		 */
		public $features = array();

		/**
		 * Pro theme screenshot
		 *
		 * @since 1.1.1
		 */

		 public $screenshot;

		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {

			// Script debug.
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			// Control type.
			$bloglo_type = str_replace( 'bloglo-', '', $this->type );

			/**
			 * Enqueue control stylesheet
			 */
			wp_enqueue_style(
				'bloglo-' . $bloglo_type . '-control-style',
				BLOGLO_THEME_URI . '/inc/customizer/controls/' . $bloglo_type . '/' . $bloglo_type . $bloglo_suffix . '.css',
				false,
				BLOGLO_THEME_VERSION,
				'all'
			);
		}

		public function to_json() {
			parent::to_json();
			$this->json['features']   = $this->features;
			$this->json['screenshot'] = $this->screenshot;
		}

		/**
		 * Render the content on the theme customizer page
		 */
		public function content_template() {?>

			<div class="upsell-btn" style="text-align: center;">                 
				<a style="margin: 0 auto 5px;display: inline-block;" href="https://www.peregrine-themes.com/bloglo/?utm_medium=customizer&utm_source=button&utm_campaign=profeatures" target="blank" class="btn btn-success btn"><?php esc_html_e( 'Upgrade to Bloglo Pro', 'bloglo' ); ?></a>
			</div>
			<# if ( data.screenshot ) {   #>
			<div class="">
				<img class="bloglo_img_responsive " src="{{{ data.screenshot }}}" alt="<?php esc_attr_e( 'Bloglo Pro', 'bloglo' ); ?>">
			</div>  
			<# }  #>       
			<div class="">
				<h3 style="margin-top:10px;margin-left:20px;text-decoration:underline;color:#111;font-size:16px;"><?php esc_html_e( 'Bloglo Pro Features', 'bloglo' ); ?></h3>
				<ul style="padding-top:10px">
					<# _.each(data.features, function(feature){ #>
						<li class="upsell-bloglo"> <div class="dashicons dashicons-yes"></div> {{{ feature }}} </li>
					<# }); #>
				</ul>
			</div>
			<div class="upsell-btn upsell-btn-bottom" style="text-align: center;">                 
				<a style="margin: 0 auto 5px;display: inline-block;" href="https://www.peregrine-themes.com/bloglo/?utm_medium=customizer&utm_source=button&utm_campaign=profeatures" target="blank" class="btn btn-success btn"><?php esc_html_e( 'Upgrade to Bloglo Pro', 'bloglo' ); ?></a>
			</div>
		   
			<p>
				<?php
					printf( __( 'If you Like our Products , Please Rate us 5 star on %1$sWordPress.org%2$s.  We\'d really appreciate it! </br></br>  Thank You', 'bloglo' ), '<a target="" href="https://wordpress.org/support/view/theme-reviews/bloglo?filter=5">', '</a>' );
				?>
			</p>
			<?php
		}
	}
endif;
inc/customizer/controls/sortable/sortable.min.js000064400000002112152425655550016144 0ustar00!(function ($) {
  "use strict";
  wp.customize.controlConstructor["bloglo-sortable"] =
    wp.customize.Control.extend({
      ready: function () {
        var control = this;
        control.params.sortable &&
          control.container.find("ul").sortable({
            items: "> .bloglo-sortable-item",
            intersect: "pointer",
            axis: "y",
            update: function () {
              control.update();
            },
          }),
          control.container.on("click", ".dashicons-visibility", function () {
            $(this).closest(".bloglo-sortable-item").toggleClass("invisible"),
              control.update();
          });
      },
      update: function () {
        var $item,
          items = this.container.find(".bloglo-sortable-item"),
          new_val = {};
        _.isEmpty(items) ||
          _.each(items, function (item) {
            ($item = $(item)),
              (new_val[$item.data("value")] = !$item.hasClass("invisible"));
          }),
          this.setting.set({}),
          this.setting.set(new_val);
      },
    });
})(jQuery);
inc/customizer/controls/sortable/sortable.css000064400000003101152425655550015535 0ustar00/*****************************************/
/* Customizer control sortable style
/*****************************************/
/**
 * Import configuration file with variables.
 */
.bloglo-sortable-control {
  margin-top: 12px;
  margin-bottom: 24px;
}

.bloglo-sortable-item.invisible {
  background-color: rgba(255, 255, 255, 0);
}

.bloglo-sortable-item.invisible .dashicons-visibility:before {
  content: "\f530";
}

.bloglo-sortable-item {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  position: relative;
  line-height: 1.3;
  font-size: 1em;
  padding: 0;
  margin: 0 0 6px;
  border: 1px solid #dedede;
}

.bloglo-sortable-item .dashicons {
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 38px;
  height: 44px;
  border-right: 1px solid #dedede;
  font-size: 16px;
}

.bloglo-sortable-item .dashicons-menu {
  cursor: -webkit-grab;
  cursor: grab;
}

.bloglo-sortable-item .dashicons-menu:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.bloglo-sortable-item .dashicons-visibility {
  cursor: pointer;
}

.bloglo-sortable-item span {
  margin-left: 12px;
  font-weight: 400;
  white-space: nowrap;
  margin-right: 30px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  line-height: 1;
}
inc/customizer/controls/sortable/sortable.scss000064400000002237152425655550015731 0ustar00/*****************************************/
/* Customizer control sortable style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

.bloglo-sortable-control {
  margin-top: 12px;
  margin-bottom: 24px;
}

.bloglo-sortable-item.invisible {
  background-color: rgba(255, 255, 255, 0);

  .dashicons-visibility:before {
    content: "\f530";
  }
}

.bloglo-sortable-item {
  display: flex;
  align-items: center;
  background-color: #fff;
  position: relative;
  line-height: 1.3;
  font-size: 1em;
  padding: 0;
  margin: 0 0 6px;
  border: 1px solid #dedede;

  .dashicons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 44px;
    border-right: 1px solid #dedede;
    font-size: 16px;
  }

  .dashicons-menu {
    cursor: grab;

    &:active {
      cursor: grabbing;
    }
  }

  .dashicons-visibility {
    cursor: pointer;
  }

  span {
    margin-left: 12px;
    font-weight: 400;
    white-space: nowrap;
    margin-right: 30px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    line-height: 1;
  }
}
inc/customizer/controls/sortable/sortable.min.css000064400000002304152425655550016323 0ustar00.bloglo-sortable-control {
  margin-top: 12px;
  margin-bottom: 24px;
}
.bloglo-sortable-item.invisible {
  background-color: hsla(0, 0%, 100%, 0);
}
.bloglo-sortable-item.invisible .dashicons-visibility:before {
  content: "\f530";
}
.bloglo-sortable-item {
  -js-display: flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  position: relative;
  line-height: 1.3;
  font-size: 1em;
  padding: 0;
  margin: 0 0 6px;
  border: 1px solid #dedede;
}
.bloglo-sortable-item .dashicons {
  -js-display: inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 38px;
  height: 44px;
  border-right: 1px solid #dedede;
  font-size: 16px;
}
.bloglo-sortable-item .dashicons-menu {
  cursor: grab;
}
.bloglo-sortable-item .dashicons-menu:active {
  cursor: grabbing;
}
.bloglo-sortable-item .dashicons-visibility {
  cursor: pointer;
}
.bloglo-sortable-item span {
  margin-left: 12px;
  font-weight: 400;
  white-space: nowrap;
  margin-right: 30px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  line-height: 1;
}
inc/customizer/controls/sortable/sortable.js000064400000002245152425655550015371 0ustar00(function ($) {
  "use strict";

  wp.customize.controlConstructor["bloglo-sortable"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this;

        // Setup sortable.
        if (control.params.sortable) {
          control.container.find("ul").sortable({
            items: "> .bloglo-sortable-item",
            intersect: "pointer",
            axis: "y",
            update: function () {
              control.update();
            },
          });
        }

        // Set visibility.
        control.container.on("click", ".dashicons-visibility", function () {
          $(this).closest(".bloglo-sortable-item").toggleClass("invisible");
          control.update();
        });
      },

      update: function () {
        var items = this.container.find(".bloglo-sortable-item"),
          new_val = {},
          $item;

        if (!_.isEmpty(items)) {
          _.each(items, function (item) {
            $item = $(item);
            new_val[$item.data("value")] = !$item.hasClass("invisible");
          });
        }

        this.setting.set({});
        this.setting.set(new_val);
      },
    });
})(jQuery);
inc/customizer/controls/sortable/class-bloglo-customizer-control-sortable.php000064400000007015152425655550024003 0ustar00<?php
/**
 * Bloglo Customizer custom select control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Sortable' ) ) :
	/**
	 * Bloglo Customizer custom select control class.
	 */
	class Bloglo_Customizer_Control_Sortable extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-sortable';

		/**
		 * Should this element be sortable. Useful to control only visibility of items.
		 *
		 * @var boolean
		 */
		public $sortable = true;

		/**
		 * Set the default typography options.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) {// phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found

			parent::__construct( $manager, $id, $args );
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['choices']  = $this->choices;
			$this->json['sortable'] = $this->sortable;

			foreach ( $this->choices as $key => $value ) {
				if ( ! isset( $this->json['value'][ $key ] ) ) {
					$this->json['value'][ $key ] = $this->json['default'][ $key ];
				}
			}

			foreach ( $this->json['value'] as $key => $value ) {
				if ( ! isset( $this->json['choices'][ $key ] ) ) {
					unset( $this->json['value'][ $key ] );
				}
			}
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
				<div class="bloglo-control-wrapper bloglo-sortable-wrapper">

					<label>
						<# if ( data.label ) { #>
							<div class="customize-control-title">
								<span>{{{ data.label }}}</span>

								<# if ( data.description ) { #>
									<i class="bloglo-info-icon">
										<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
											<circle cx="12" cy="12" r="10"></circle>
											<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
											<line x1="12" y1="17" x2="12" y2="17"></line>
										</svg>
										<span class="bloglo-tooltip">{{{ data.description }}}</span>
									</i>
								<# } #>

							</div>
						<# } #>
					</label>

					<ul class="bloglo-sortable-control">
						<# for ( key in data.value ) { #>
							<li class="bloglo-sortable-item<# if ( _.has( data.value, key) && ! data.value[ key ] || ! _.has( data.value, key ) && _.has( data.default, key ) && ! data.default[ key ] ) { #> invisible<# } #>" data-value="{{ key }}">
								<# if ( data.sortable ) { #>
									<i class="dashicons dashicons-menu"></i>
								<# } #>
								<i class="dashicons dashicons-visibility visibility dashicons-visibility-faint"></i>
								<span>{{{ data.choices[ key ] }}}</span>
							</li>
						<# } #>
					</ul>

				</div><!-- END .bloglo-control-wrapper -->
				<?php
		}
	}
endif;
inc/customizer/controls/button/button.js000064400000002344152425655550014571 0ustar00(function ($) {
  wp.customize.controlConstructor["bloglo-button"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this;

        control.container.on("click", ".button", function (e) {
          var $this = $(this),
            action = $this.data("ajax-action");

          // Check for ajax action.
          if (action) {
            e.preventDefault();

            $this.siblings(".spinner").addClass("activated");

            var data = {
              _ajax_nonce: bloglo_customizer_localized.wpnonce,
              action: action,
            };

            $.post(
              bloglo_customizer_localized.ajaxurl,
              data,
              function (response) {
                // Check response
                if (response.success) {
                  $this.siblings(".spinner").removeClass("activated");

                  // Should we reload the page?
                  if (
                    "undefined" !== typeof response.data.reload &&
                    response.data.reload
                  ) {
                    location.reload();
                  }
                }
              }
            );
          }
        });
      },
    });
})(jQuery);
inc/customizer/controls/button/class-bloglo-customizer-control-button.php000064400000005423152425655550023204 0ustar00<?php
/**
 * Bloglo Customizer custom background control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Button' ) ) :
	/**
	 * Bloglo Customizer custom background control class.
	 */
	class Bloglo_Customizer_Control_Button extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-button';

		/**
		 * Ajax Action.
		 *
		 * @var string
		 */
		public $ajax_action = '';

		/**
		 * Button text.
		 *
		 * @var string
		 */
		public $button_text = '';

		/**
		 * Button url.
		 *
		 * @var string
		 */
		public $button_url = '#';

		/**
		 * Link target.
		 *
		 * @since 1.0.0
		 * @var   string
		 */
		public $target = '_blank';

		/**
		 * Set the default typography options.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) {

			parent::__construct( $manager, $id, $args );

			if ( $this->ajax_action ) {
				$this->button_url = '#';
			}
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['button_text'] = $this->button_text;
			$this->json['button_url']  = $this->button_url;
			$this->json['target']      = $this->target;
			$this->json['ajax_action'] = $this->ajax_action;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-button-wrapper bloglo-control-wrapper">

				<# if ( data.label ) { #>
					<span class="bloglo-control-heading customize-control-title bloglo-field">{{{ data.label }}}</span>
				<# } #>

				<# if ( data.ajax_action ) { #>
					<span class="spinner"></span>
				<# } #>

				<a href="{{ data.button_url }}" class="button button-secondary" rel="noopener noreferrer" target="{{ data.target }}"<# if ( data.ajax_action ) { #> data-ajax-action="{{ data.ajax_action }}"<# } #>>{{{ data.button_text }}}</a>

			</div><!-- END .bloglo-button-wrapper -->

			<# if ( data.description ) { #>
				<div class="description customize-control-description bloglo-field">{{{ data.description }}}</div>
			<# } #>

			<?php
		}

	}
endif;
inc/customizer/controls/button/button.scss000064400000000644152425655550015131 0ustar00/*****************************************/
/* Customizer button control style
/*****************************************/

.bloglo-button-wrapper {
  display: flex;
  align-items: center;
  margin-bottom: 4px;

  .bloglo-control-heading {
    margin-right: auto;
  }

  .button {
    padding-left: 10px;
    box-sizing: border-box;
    align-items: center;
  }

  .customize-control-title {
    margin-bottom: 0;
  }
}
inc/customizer/controls/button/button.css000064400000001247152425655550014746 0ustar00/*****************************************/
/* Customizer button control style
/*****************************************/
.bloglo-button-wrapper {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 4px;
}

.bloglo-button-wrapper .bloglo-control-heading {
  margin-right: auto;
}

.bloglo-button-wrapper .button {
  padding-left: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.bloglo-button-wrapper .customize-control-title {
  margin-bottom: 0;
}
inc/customizer/controls/button/button.min.css000064400000000665152425655550015533 0ustar00.bloglo-button-wrapper {
  -js-display: flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 4px;
}
.bloglo-button-wrapper .bloglo-control-heading {
  margin-right: auto;
}
.bloglo-button-wrapper .button {
  padding-left: 10px;
  box-sizing: border-box;
  -ms-flex-align: center;
  align-items: center;
}
.bloglo-button-wrapper .customize-control-title {
  margin-bottom: 0;
}
inc/customizer/controls/button/button.min.js000064400000001464152425655550015355 0ustar00!(function (t) {
  wp.customize.controlConstructor["bloglo-button"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";
        this.container.on("click", ".button", function (e) {
          var a = t(this),
            o = a.data("ajax-action");
          if (o) {
            e.preventDefault(), a.siblings(".spinner").addClass("activated");
            var n = {
              _ajax_nonce: bloglo_customizer_localized.wpnonce,
              action: o,
            };
            t.post(bloglo_customizer_localized.ajaxurl, n, function (t) {
              t.success &&
                (a.siblings(".spinner").removeClass("activated"),
                void 0 !== t.data.reload && t.data.reload && location.reload());
            });
          }
        });
      },
    });
})(jQuery);
inc/customizer/controls/info/class-bloglo-customizer-control-info.php000064400000004745152425655550022252 0ustar00<?php
/**
 * Bloglo Customizer info control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Info' ) ) :
	/**
	 * Bloglo Customizer info control class.
	 */
	class Bloglo_Customizer_Control_Info extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-info';

		/**
		 * Custom URL.
		 *
		 * @since  1.0.0
		 * @var    string
		 */
		public $url = '';

		/**
		 * Link target.
		 *
		 * @since  1.0.0
		 * @var    string
		 */
		public $target = '_blank';

		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {

			// Script debug.
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			// Control type.
			$bloglo_type = str_replace( 'bloglo-', '', $this->type );

			/**
			 * Enqueue control stylesheet
			 */
			wp_enqueue_style(
				'bloglo-' . $bloglo_type . '-control-style',
				BLOGLO_THEME_URI . '/inc/customizer/controls/' . $bloglo_type . '/' . $bloglo_type . $bloglo_suffix . '.css',
				false,
				BLOGLO_THEME_VERSION,
				'all'
			);
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['url']    = $this->url;
			$this->json['target'] = $this->target;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-info-wrapper bloglo-control-wrapper">

				<# if ( data.label ) { #>
					<span class="bloglo-control-heading customize-control-title bloglo-field">{{{ data.label }}}</span>
				<# } #>

				<# if ( data.description ) { #>
					<div class="description customize-control-description bloglo-field bloglo-info-description">{{{ data.description }}}</div>
				<# } #>

				<a href="{{ data.url }}" class="button button-primary" target="{{ data.target }}" rel="noopener noreferrer"><?php esc_html_e( 'Learn More', 'bloglo' ); ?></a>

			</div><!-- END .bloglo-control-wrapper -->
			<?php
		}

	}
endif;
inc/customizer/controls/info/info.css000064400000001012152425655550013774 0ustar00/*****************************************/
/* Customizer control info style.
/*****************************************/
.customize-control-bloglo-info {
  margin-top: auto;
  margin-bottom: 0 !important;
}

.bloglo-info-wrapper {
  position: relative;
  background-color: #fff;
  border-top: 1px solid #ddd;
  margin-left: -12px;
  margin-right: -12px;
  padding: 16px 12px;
  margin-bottom: -12px;
  margin-top: 30px;
}

.bloglo-info-wrapper .button-primary {
  margin-top: 10px;
  height: 26px;
  line-height: 24px;
}
inc/customizer/controls/info/info.min.css000064400000000521152425655550014562 0ustar00.customize-control-bloglo-info {
  margin-top: auto;
  margin-bottom: 0 !important;
}
.bloglo-info-wrapper {
  position: relative;
  background-color: #fff;
  border-top: 1px solid #ddd;
  margin: 30px -12px -12px;
  padding: 16px 12px;
}
.bloglo-info-wrapper .button-primary {
  margin-top: 10px;
  height: 26px;
  line-height: 24px;
}
inc/customizer/controls/info/info.scss000064400000001000152425655550014154 0ustar00/*****************************************/
/* Customizer control info style.
/*****************************************/

.customize-control-bloglo-info {
  margin-top: auto;
  margin-bottom: 0 !important;
}

.bloglo-info-wrapper {
  position: relative;
  background-color: #fff;
  border-top: 1px solid #ddd;
  margin-left: -12px;
  margin-right: -12px;
  padding: 16px 12px;
  margin-bottom: -12px;
  margin-top: 30px;

  .button-primary {
    margin-top: 10px;
    height: 26px;
    line-height: 24px;
  }
}
inc/customizer/controls/alignment/alignment.min.css000064400000007727152425655550016647 0ustar00.bloglo-alignment-control,
.background-position-control {
  margin-top: 12px;
}
.bloglo-alignment-control input[type="radio"]:checked ~ .button,
.background-position-control input[type="radio"]:checked ~ .button {
  background: #0071a1;
  border-color: #0071a1;
  z-index: 1;
  color: #fff !important;
}
.bloglo-alignment-control
  input[type="radio"]:checked
  ~ .button
  .alignment-position-center-icon:before,
.bloglo-alignment-control
  input[type="radio"]:checked
  ~ .button
  .background-position-center-icon:before,
.background-position-control
  input[type="radio"]:checked
  ~ .button
  .alignment-position-center-icon:before,
.background-position-control
  input[type="radio"]:checked
  ~ .button
  .background-position-center-icon:before {
  background-color: #fff !important;
}
.bloglo-alignment-control input[type="radio"]:focus ~ .button,
.background-position-control input[type="radio"]:focus ~ .button {
  border-color: #5b9dd9;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: #232323;
}
.bloglo-alignment-control .alignment-position-center-icon,
.bloglo-alignment-control .alignment-position-center-icon:before {
  display: inline-block;
  line-height: 1;
  text-align: center;
  -webkit-transition: background-color 0.1s ease-in;
  transition: background-color 0.1s ease-in;
}
.bloglo-alignment-control .alignment-position-center-icon {
  height: 20px;
  margin-top: 13px;
  vertical-align: top;
  width: 20px;
}
.bloglo-alignment-control .alignment-position-center-icon:before {
  background-color: #555;
  border-radius: 50%;
  content: "";
  height: 12px;
  width: 12px;
}
.bloglo-alignment-control .button:hover .alignment-position-center-icon:before,
.bloglo-alignment-control
  input[type="radio"]:focus
  ~ .button
  .alignment-position-center-icon:before {
  background-color: #232323;
}
.bloglo-alignment-control .button-group {
  display: block;
}
.bloglo-alignment-control .button-group.disabled {
  opacity: 0.15;
  pointer-events: none;
}
.bloglo-alignment-control .button-group .button {
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  height: 40px !important;
  line-height: 2.9 !important;
  margin: 0 -1px 0 0 !important;
  padding: 0 10px 1px !important;
  position: relative;
}
.bloglo-alignment-control .button-group .button:active,
.bloglo-alignment-control .button-group .button:hover,
.bloglo-alignment-control .button-group .button:focus {
  z-index: 1;
}
.bloglo-alignment-control .button-group .dashicons {
  margin-top: 9px;
}
.bloglo-alignment-control .button-group > label {
  margin: 0 !important;
}
.bloglo-alignment-control .button-group > label.disabled {
  opacity: 0.15;
  pointer-events: none;
}
.bloglo-alignment-control .button-group.bloglo-top .bloglo-left .dashicons {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.bloglo-alignment-control .button-group.bloglo-top .bloglo-right .dashicons {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.bloglo-alignment-control .button-group.bloglo-bottom .bloglo-left .dashicons {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.bloglo-alignment-control .button-group.bloglo-bottom .bloglo-right .dashicons {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.bloglo-alignment-control
  .button-group:first-child
  > label:first-child
  .button {
  border-top-left-radius: 3px;
}
.bloglo-alignment-control .button-group:first-child > label:last-child .button {
  border-top-right-radius: 3px;
}
.bloglo-alignment-control .button-group:last-child > label:first-child .button {
  border-bottom-left-radius: 3px;
}
.bloglo-alignment-control .button-group:last-child > label:last-child .button {
  border-bottom-right-radius: 3px;
}
.bloglo-alignment-control .button-group + .button-group {
  margin-top: -1px;
}
.bloglo-alignment-control .button-group > label input[type="radio"] {
  opacity: 0;
}
inc/customizer/controls/alignment/class-bloglo-customizer-control-alignment.php000064400000023076152425655550024316 0ustar00<?php
/**
 * Bloglo Customizer custom background control class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Alignment' ) ) :
	/**
	 * Bloglo Customizer custom background control class.
	 */
	class Bloglo_Customizer_Control_Alignment extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-alignment';

		/**
		 * Set the default typography options.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) {
			parent::__construct( $manager, $id, $args );

			$this->strings = wp_parse_args(
				isset( $args['strings'] ) ? $args['strings'] : array(),
				array(
					'top-left'     => __( 'Top Left', 'bloglo' ),
					'top'          => __( 'Top', 'bloglo' ),
					'top-right'    => __( 'Top Right', 'bloglo' ),
					'left'         => __( 'Left', 'bloglo' ),
					'center'       => __( 'Center', 'bloglo' ),
					'right'        => __( 'Right', 'bloglo' ),
					'bottom-left'  => __( 'Bottom Left', 'bloglo' ),
					'bottom'       => __( 'Bottom', 'bloglo' ),
					'bottom-right' => __( 'Bottom Right', 'bloglo' ),
				)
			);

			$this->icons = wp_parse_args(
				isset( $args['icons'] ) ? $args['icons'] : array(),
				array(
					'top-left'     => 'dashicons dashicons-arrow-left-alt',
					'top'          => 'dashicons dashicons-arrow-up-alt',
					'top-right'    => 'dashicons dashicons-arrow-right-alt',
					'left'         => 'dashicons dashicons-arrow-left-alt',
					'center'       => 'alignment-position-center-icon',
					'right'        => 'dashicons dashicons-arrow-right-alt',
					'bottom-left'  => 'dashicons dashicons-arrow-left-alt',
					'bottom'       => 'dashicons dashicons-arrow-down-alt',
					'bottom-right' => 'dashicons dashicons-arrow-right-alt',
				)
			);

			// Alignment choices.
			$default_choices = array(
				'top-left'     => true,
				'top'          => true,
				'top-right'    => true,
				'left'         => true,
				'center'       => true,
				'right'        => true,
				'bottom-left'  => true,
				'bottom'       => true,
				'bottom-right' => true,
			);

			if ( isset( $args['choices'] ) ) {

				if ( 'horizontal' === $args['choices'] ) {

					$this->choices = array(
						'top-left'     => false,
						'top'          => false,
						'top-right'    => false,
						'left'         => true,
						'center'       => true,
						'right'        => true,
						'bottom-left'  => false,
						'bottom'       => false,
						'bottom-right' => false,
					);
				} elseif ( 'vertical' === $args['choices'] ) {

					$this->choices = array(
						'top-left'     => false,
						'top'          => true,
						'top-right'    => false,
						'left'         => false,
						'center'       => true,
						'right'        => false,
						'bottom-left'  => false,
						'bottom'       => true,
						'bottom-right' => false,
					);
				} elseif ( is_array( $args['choices'] ) ) {

					$this->choices = array(
						'top-left'     => false,
						'top'          => false,
						'top-right'    => false,
						'left'         => false,
						'center'       => false,
						'right'        => false,
						'bottom-left'  => false,
						'bottom'       => false,
						'bottom-right' => false,
					);

					foreach ( $args['choices'] as $choice ) {
						$this->choices[ $choice ] = true;
					}
				}
			} else {
				$this->choices = $default_choices;
			}

			foreach ( $this->choices as $key => $value ) {
				$this->choices[ $key ] = true === $value ? '' : 'disabled';
			}
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['choices'] = $this->choices;
			$this->json['l10n']    = $this->strings;
			$this->json['icons']   = $this->icons;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-alignment-wrapper bloglo-control-wrapper">

				<# if ( data.label ) { #>
					<div class="bloglo-control-heading customize-control-title bloglo-field">
						<span>{{{ data.label }}}</span>

						<# if ( data.description ) { #>
							<i class="bloglo-info-icon">
								<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
									<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
									<line x1="12" y1="17" x2="12" y2="17"></line>
								</svg>
								<span class="bloglo-tooltip">{{{ data.description }}}</span>
							</i>
						<# } #>
					</div>
				<# } #>

				<div class="bloglo-alignment-control">

					<# if ( ! data.choices['top-left'] && ! data.choices['top'] && ! data.choices['top-right'] ) { #>
						<div class="button-group bloglo-top">
							<label class="bloglo-left {{{ data.choices['top-left']}}}">
								<input class="screen-reader-text" name="{{ data.id }}-alignment-position" type="radio" value="top-left" {{{ data.link }}}>
								<span class="button display-options position"><span class="{{ data.icons['top-left'] }}" aria-hidden="true"></span></span>
								<span class="screen-reader-text">{{{ data.l10n['top-left'] }}}</span>
							</label>

							<label class="bloglo-center {{{ data.choices['top']}}}">
								<input class="screen-reader-text" name="{{ data.id }}-alignment-position" type="radio" value="top" {{{ data.link }}}>
								<span class="button display-options position"><span class="{{ data.icons['top'] }}" aria-hidden="true"></span></span>
								<span class="screen-reader-text">{{{ data.l10n['top'] }}}</span>
							</label>

							<label class="bloglo-right {{{ data.choices['top-right']}}}">
								<input class="screen-reader-text" name="{{ data.id }}-alignment-position" type="radio" value="top-right" {{{ data.link }}}>
								<span class="button display-options position"><span class="{{ data.icons['top-right'] }}" aria-hidden="true"></span></span>
								<span class="screen-reader-text">{{{ data.l10n['top-right'] }}}</span>
							</label>
						</div>
					<# } #>

					<# if ( ! data.choices['left'] && ! data.choices['center'] && ! data.choices['right'] ) { #>
						<div class="button-group bloglo-middle">
							<label class="bloglo-left {{{ data.choices['left']}}}">
								<input class="screen-reader-text" name="{{ data.id }}-alignment-position" type="radio" value="left" {{{ data.link }}}>
								<span class="button display-options position"><span class="{{ data.icons['left'] }}" aria-hidden="true"></span></span>
								<span class="screen-reader-text">{{{ data.l10n['left'] }}}</span>
							</label>

							<label class="bloglo-center {{{ data.choices['center']}}}">
								<input class="screen-reader-text" name="{{ data.id }}-alignment-position" type="radio" value="center" {{{ data.link }}}>
								<span class="button display-options position"><span class="{{ data.icons['center'] }}" aria-hidden="true"></span></span>
								<span class="screen-reader-text">{{{ data.l10n['center'] }}}</span>
							</label>

							<label class="bloglo-right {{{ data.choices['right']}}}">
								<input class="screen-reader-text" name="{{ data.id }}-alignment-position" type="radio" value="right" {{{ data.link }}}>
								<span class="button display-options position"><span class="{{ data.icons['right'] }}" aria-hidden="true"></span></span>
								<span class="screen-reader-text">{{{ data.l10n['right'] }}}</span>
							</label>
						</div>
					<# } #>

					<# if ( ! data.choices['bottom-left'] && ! data.choices['bottom'] && ! data.choices['bottom-right'] ) { #>							
						<div class="button-group bloglo-bottom">
							<label class="bloglo-left {{{ data.choices['bottom-left']}}}">
								<input class="screen-reader-text" name="{{ data.id }}-alignment-position" type="radio" value="bottom-left" {{{ data.link }}}>
								<span class="button display-options position"><span class="{{ data.icons['bottom-left'] }}" aria-hidden="true"></span></span>
								<span class="screen-reader-text">{{{ data.l10n['bottom-left'] }}}</span>
							</label>

							<label class="bloglo-center {{{ data.choices['bottom']}}}">
								<input class="screen-reader-text" name="{{ data.id }}-alignment-position" type="radio" value="bottom" {{{ data.link }}}>
								<span class="button display-options position"><span class="{{ data.icons['bottom'] }}" aria-hidden="true"></span></span>
								<span class="screen-reader-text">{{{ data.l10n['bottom'] }}}</span>
							</label>

							<label class="bloglo-right {{{ data.choices['bottom-right']}}}">
								<input class="screen-reader-text" name="{{ data.id }}-alignment-position" type="radio" value="bottom-right" {{{ data.link }}}>
								<span class="button display-options position"><span class="{{ data.icons['bottom-right'] }}" aria-hidden="true"></span></span>
								<span class="screen-reader-text">{{{ data.l10n['bottom-right'] }}}</span>
							</label>
						</div>
					<# } #>

				</div>

			</div><!-- END .bloglo-control-wrapper -->
			<?php
		}
	}
endif;
inc/customizer/controls/alignment/alignment.scss000064400000005773152425655550016247 0ustar00/*****************************************/
/* Customizer control color style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

.bloglo-alignment-control,
.background-position-control {
  margin-top: 12px;

  input[type="radio"]:checked ~ .button {
    background: #0071a1;
    border-color: #0071a1;
    z-index: 1;
    color: #fff !important;

    .alignment-position-center-icon:before,
    .background-position-center-icon:before {
      background-color: #fff !important;
    }
  }

  input[type="radio"]:focus ~ .button {
    border-color: #5b9dd9;
    box-shadow: none !important;
    color: #232323;
  }
}

.bloglo-alignment-control {
  .alignment-position-center-icon,
  .alignment-position-center-icon:before {
    display: inline-block;
    line-height: 1;
    text-align: center;
    transition: background-color 0.1s ease-in;
  }

  .alignment-position-center-icon {
    height: 20px;
    margin-top: 13px;
    vertical-align: top;
    width: 20px;

    &:before {
      background-color: #555;
      border-radius: 50%;
      content: "";
      height: 12px;
      width: 12px;
    }
  }

  .button:hover .alignment-position-center-icon:before,
  input[type="radio"]:focus ~ .button .alignment-position-center-icon:before {
    background-color: #232323;
  }

  .button-group {
    display: block;

    &.disabled {
      opacity: 0.15;
      pointer-events: none;
    }

    .button {
      border-radius: 0;
      box-shadow: none;
      /* Following properties are overridden by buttons responsive styles (see: wp-includes/css/buttons.css). */
      height: 40px !important;
      line-height: 2.9 !important;
      margin: 0 -1px 0 0 !important;
      padding: 0 10px 1px !important;
      position: relative;

      &:active,
      &:hover,
      &:focus {
        z-index: 1;
      }
    }

    .dashicons {
      margin-top: 9px;
    }

    & > label {
      margin: 0 !important;

      &.disabled {
        opacity: 0.15;
        pointer-events: none;
      }
    }

    &.bloglo-top {
      .bloglo-left {
        .dashicons {
          transform: rotate(45deg);
        }
      }

      .bloglo-right {
        .dashicons {
          transform: rotate(-45deg);
        }
      }
    }

    &.bloglo-bottom {
      .bloglo-left {
        .dashicons {
          transform: rotate(-45deg);
        }
      }

      .bloglo-right {
        .dashicons {
          transform: rotate(45deg);
        }
      }
    }

    &:first-child {
      & > label:first-child {
        .button {
          border-top-left-radius: 3px;
        }
      }

      & > label:last-child {
        .button {
          border-top-right-radius: 3px;
        }
      }
    }

    &:last-child {
      & > label:first-child {
        .button {
          border-bottom-left-radius: 3px;
        }
      }

      & > label:last-child {
        .button {
          border-bottom-right-radius: 3px;
        }
      }
    }

    & + .button-group {
      margin-top: -1px;
    }
  }
}
inc/customizer/controls/alignment/alignment.js000064400000000346152425655550015677 0ustar00(function ($) {
  "use strict";

  wp.customize.controlConstructor["bloglo-alignment"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this;
      },
    });
})(jQuery);
inc/customizer/controls/alignment/alignment.min.js000064400000000241152425655550016453 0ustar00!(function (t) {
  "use strict";
  wp.customize.controlConstructor["bloglo-alignment"] =
    wp.customize.Control.extend({ ready: function () {} });
})(jQuery);
inc/customizer/controls/alignment/alignment.css000064400000010413152425655550016047 0ustar00/*****************************************/
/* Customizer control color style
/*****************************************/
/**
 * Import configuration file with variables.
 */
.bloglo-alignment-control,
.background-position-control {
  margin-top: 12px;
}

.bloglo-alignment-control input[type="radio"]:checked ~ .button,
.background-position-control input[type="radio"]:checked ~ .button {
  background: #0071a1;
  border-color: #0071a1;
  z-index: 1;
  color: #fff !important;
}

.bloglo-alignment-control
  input[type="radio"]:checked
  ~ .button
  .alignment-position-center-icon:before,
.bloglo-alignment-control
  input[type="radio"]:checked
  ~ .button
  .background-position-center-icon:before,
.background-position-control
  input[type="radio"]:checked
  ~ .button
  .alignment-position-center-icon:before,
.background-position-control
  input[type="radio"]:checked
  ~ .button
  .background-position-center-icon:before {
  background-color: #fff !important;
}

.bloglo-alignment-control input[type="radio"]:focus ~ .button,
.background-position-control input[type="radio"]:focus ~ .button {
  border-color: #5b9dd9;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: #232323;
}

.bloglo-alignment-control .alignment-position-center-icon,
.bloglo-alignment-control .alignment-position-center-icon:before {
  display: inline-block;
  line-height: 1;
  text-align: center;
  -webkit-transition: background-color 0.1s ease-in;
  transition: background-color 0.1s ease-in;
}

.bloglo-alignment-control .alignment-position-center-icon {
  height: 20px;
  margin-top: 13px;
  vertical-align: top;
  width: 20px;
}

.bloglo-alignment-control .alignment-position-center-icon:before {
  background-color: #555;
  border-radius: 50%;
  content: "";
  height: 12px;
  width: 12px;
}

.bloglo-alignment-control .button:hover .alignment-position-center-icon:before,
.bloglo-alignment-control
  input[type="radio"]:focus
  ~ .button
  .alignment-position-center-icon:before {
  background-color: #232323;
}

.bloglo-alignment-control .button-group {
  display: block;
}

.bloglo-alignment-control .button-group.disabled {
  opacity: 0.15;
  pointer-events: none;
}

.bloglo-alignment-control .button-group .button {
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  /* Following properties are overridden by buttons responsive styles (see: wp-includes/css/buttons.css). */
  height: 40px !important;
  line-height: 2.9 !important;
  margin: 0 -1px 0 0 !important;
  padding: 0 10px 1px !important;
  position: relative;
}

.bloglo-alignment-control .button-group .button:active,
.bloglo-alignment-control .button-group .button:hover,
.bloglo-alignment-control .button-group .button:focus {
  z-index: 1;
}

.bloglo-alignment-control .button-group .dashicons {
  margin-top: 9px;
}

.bloglo-alignment-control .button-group > label {
  margin: 0 !important;
}

.bloglo-alignment-control .button-group > label.disabled {
  opacity: 0.15;
  pointer-events: none;
}

.bloglo-alignment-control .button-group.bloglo-top .bloglo-left .dashicons {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.bloglo-alignment-control .button-group.bloglo-top .bloglo-right .dashicons {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.bloglo-alignment-control .button-group.bloglo-bottom .bloglo-left .dashicons {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.bloglo-alignment-control .button-group.bloglo-bottom .bloglo-right .dashicons {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.bloglo-alignment-control
  .button-group:first-child
  > label:first-child
  .button {
  border-top-left-radius: 3px;
}

.bloglo-alignment-control .button-group:first-child > label:last-child .button {
  border-top-right-radius: 3px;
}

.bloglo-alignment-control .button-group:last-child > label:first-child .button {
  border-bottom-left-radius: 3px;
}

.bloglo-alignment-control .button-group:last-child > label:last-child .button {
  border-bottom-right-radius: 3px;
}

.bloglo-alignment-control .button-group + .button-group {
  margin-top: -1px;
}

.bloglo-alignment-control .button-group > label input[type="radio"] {
  opacity: 0;
}
inc/customizer/controls/background/background.min.css000064400000002432152425655550017135 0ustar00.bloglo-background-wrapper .actions {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 12px;
}
.bloglo-background-wrapper .actions .button {
  margin-top: 0;
}
.bloglo-background-wrapper .actions .advanced-settings {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: auto;
  text-decoration: none;
  color: #555d66;
}
.bloglo-background-wrapper .actions .advanced-settings.up span.dashicons {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.bloglo-background-wrapper .actions .advanced-settings:hover {
  color: #0085ba;
}
.bloglo-background-wrapper .actions .advanced-settings.hidden {
  display: none;
}
.bloglo-background-wrapper .actions .background-image-upload-remove-button {
  margin-right: 6px;
}
.bloglo-background-wrapper .background-image {
  margin-top: 12px;
  margin-bottom: 24px;
}
.bloglo-background-wrapper .background-repeat {
  margin-bottom: 6px;
}
.bloglo-background-wrapper .more-settings.up {
  color: #0085ba;
}
.bloglo-background-wrapper h4 {
  margin-bottom: 12px;
}
inc/customizer/controls/background/background.scss000064400000001627152425655550016543 0ustar00/*****************************************/
/* Customizer background control style
/*****************************************/

.bloglo-background-wrapper {
  .actions {
    display: flex;
    align-items: center;
    margin-top: 12px;

    .button {
      margin-top: 0;
    }

    .advanced-settings {
      display: flex;
      align-items: center;
      margin-left: auto;
      text-decoration: none;
      color: #555d66;

      &.up {
        span.dashicons {
          transform: rotate(180deg);
        }
      }

      &:hover {
        color: #0085ba;
      }

      &.hidden {
        display: none;
      }
    }

    .background-image-upload-remove-button {
      margin-right: 6px;
    }
  }

  .background-image {
    margin-top: 12px;
    margin-bottom: 24px;
  }

  .background-repeat {
    margin-bottom: 6px;
  }

  .more-settings.up {
    color: #0085ba;
  }

  h4 {
    margin-bottom: 12px;
  }
}
inc/customizer/controls/background/class-bloglo-customizer-control-background.php000064400000022207152425655550024613 0ustar00<?php
/**
 * Bloglo Customizer custom background control class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Background' ) ) :
	/**
	 * Bloglo Customizer custom background control class.
	 */
	class Bloglo_Customizer_Control_Background extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-background';

		/**
		 * Show advanced settings.
		 *
		 * @since  1.0.0
		 * @var    boolean
		 */
		public $advanced = true;

		/**
		 * Media upload strings.
		 *
		 * @since  1.0.0
		 * @var    boolean
		 */
		public $strings = array();

		/**
		 * Set the default typography options.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) {

			parent::__construct( $manager, $id, $args );

			$default_strings = array(
				'placeholder'  => __( 'No image selected', 'bloglo' ),
				'less'         => __( 'Less Settings', 'bloglo' ),
				'more'         => __( 'Advanced', 'bloglo' ),
				'select_image' => __( 'Select Image', 'bloglo' ),
				'use_image'    => __( 'Use This Image', 'bloglo' ),
			);

			$strings = isset( $args['strings'] ) ? $args['strings'] : array();

			$this->strings = wp_parse_args( $strings, $default_strings );
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['advanced'] = $this->advanced;
			$this->json['l10n']     = $this->strings;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-background-wrapper bloglo-control-wrapper">

				<# if ( data.label ) { #>
					<div class="bloglo-control-heading customize-control-title bloglo-field">
						<span>{{{ data.label }}}</span>

						<# if ( data.description ) { #>
							<i class="bloglo-info-icon">
								<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
									<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
									<line x1="12" y1="17" x2="12" y2="17"></line>
								</svg>
								<span class="bloglo-tooltip">{{{ data.description }}}</span>
							</i>
						<# } #>
					</div>
				<# } #>

				<!-- Background Image -->
				<div class="background-image">

					<div class="attachment-media-view background-image-upload">

						<# if ( data.value['background-image'] ) { #>
							<div class="thumbnail thumbnail-image"><img src="{{ data.value['background-image'] }}" alt="" /></div>
						<# } else { #>
							<div class="placeholder"><?php esc_html_e( 'No image selected', 'bloglo' ); ?></div>
						<# } #>

						<div class="actions">

							<button class="button background-image-upload-remove-button<# if ( ! data.value['background-image'] ) { #> hidden<# } #>"><?php esc_html_e( 'Remove', 'bloglo' ); ?></button>

							<button type="button" class="button background-image-upload-button">{{{ data.l10n.select_image }}}</button>

							<# if ( data.advanced ) { #>
								<a href="#" class="advanced-settings<# if ( ! data.value['background-image'] ) { #> hidden<# } #>">
									<span class="message"><?php esc_html_e( 'Advanced', 'bloglo' ); ?></span>
									<span class="dashicons dashicons-arrow-down"></span>
								</a>
							<# } #>

						</div>
					</div>
				</div>

				<# if ( data.advanced ) { #>
					<!-- Background Advanced -->
					<div class="background-image-advanced">

						<!-- Background Repeat -->
						<div class="background-repeat">
							<select {{{ data.inputAttrs }}}>
								<option value="no-repeat"<# if ( 'no-repeat' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'No Repeat', 'bloglo' ); ?></option>
								<option value="repeat"<# if ( 'repeat' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat All', 'bloglo' ); ?></option>
								<option value="repeat-x"<# if ( 'repeat-x' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat Horizontally', 'bloglo' ); ?></option>
								<option value="repeat-y"<# if ( 'repeat-y' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat Vertically', 'bloglo' ); ?></option>
							</select>
						</div>

						<!-- Background Position -->
						<div class="background-position">

							<h4><?php esc_html_e( 'Background Position', 'bloglo' ); ?></h4>

							<div class="bloglo-range-wrapper">
								<span><?php esc_html_e( 'Horizontal', 'bloglo' ); ?></span>
								<div class="bloglo-control-wrap">
									<input 
										type="range" 
										data-key="background-position-x"
										value="{{ data.value['background-position-x'] }}" 
										min="0" 
										max="100" 
										step="1" />
									<input 
										type="number" 
										class="bloglo-range-input"
										value="{{ data.value['background-position-x'] }}"  />
									<span class="bloglo-range-unit">%</span>
								</div>
							</div>

							<div class="bloglo-range-wrapper">
								<span><?php esc_html_e( 'Vertical', 'bloglo' ); ?></span>
								<div class="bloglo-control-wrap">
									<input 
										type="range"
										data-key="background-position-y"
										value="{{ data.value['background-position-y'] }}" 
										min="0" 
										max="100" 
										step="1" />
									<input 
										type="number"
										class="bloglo-range-input"
										value="{{ data.value['background-position-y'] }}"  />
									<span class="bloglo-range-unit">%</span>
								</div>
							</div>

						</div>

						<!-- Background Size -->
						<div class="background-size">
							<h4><?php esc_html_e( 'Background Size', 'bloglo' ); ?></h4>
							<div class="buttonset">
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="cover" name="_customize-bg-{{{ data.id }}}-size" id="{{ data.id }}cover" <# if ( 'cover' === data.value['background-size'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}cover"><?php esc_html_e( 'Cover', 'bloglo' ); ?></label>
								</input>
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="contain" name="_customize-bg-{{{ data.id }}}-size" id="{{ data.id }}contain" <# if ( 'contain' === data.value['background-size'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}contain"><?php esc_html_e( 'Contain', 'bloglo' ); ?></label>
								</input>
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="auto" name="_customize-bg-{{{ data.id }}}-size" id="{{ data.id }}auto" <# if ( 'auto' === data.value['background-size'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}auto"><?php esc_html_e( 'Auto', 'bloglo' ); ?></label>
								</input>
							</div>
						</div>

						<!-- Background Attachment -->
						<div class="background-attachment">
							<h4><?php esc_html_e( 'Background Attachment', 'bloglo' ); ?></h4>
							<div class="buttonset">
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="inherit" name="_customize-bg-{{{ data.id }}}-attachment" id="{{ data.id }}inherit" <# if ( 'inherit' === data.value['background-attachment'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}inherit"><?php esc_html_e( 'Inherit', 'bloglo' ); ?></label>
								</input>
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="scroll" name="_customize-bg-{{{ data.id }}}-attachment" id="{{ data.id }}scroll" <# if ( 'scroll' === data.value['background-attachment'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}scroll"><?php esc_html_e( 'Scroll', 'bloglo' ); ?></label>
								</input>
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="fixed" name="_customize-bg-{{{ data.id }}}-attachment" id="{{ data.id }}fixed" <# if ( 'fixed' === data.value['background-attachment'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}fixed"><?php esc_html_e( 'Fixed', 'bloglo' ); ?></label>
								</input>
							</div>
						</div>

						<!-- Background Image ID -->
						<input type="hidden" value="{{ data.value['background-image-id'] }}" class="background-image-id" />
					</div>
				<# } #>
			<?php
		}

	}
endif;
inc/customizer/controls/background/background.css000064400000002643152425655550016357 0ustar00/*****************************************/
/* Customizer background control style
/*****************************************/
.bloglo-background-wrapper .actions {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 12px;
}

.bloglo-background-wrapper .actions .button {
  margin-top: 0;
}

.bloglo-background-wrapper .actions .advanced-settings {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: auto;
  text-decoration: none;
  color: #555d66;
}

.bloglo-background-wrapper .actions .advanced-settings.up span.dashicons {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.bloglo-background-wrapper .actions .advanced-settings:hover {
  color: #0085ba;
}

.bloglo-background-wrapper .actions .advanced-settings.hidden {
  display: none;
}

.bloglo-background-wrapper .actions .background-image-upload-remove-button {
  margin-right: 6px;
}

.bloglo-background-wrapper .background-image {
  margin-top: 12px;
  margin-bottom: 24px;
}

.bloglo-background-wrapper .background-repeat {
  margin-bottom: 6px;
}

.bloglo-background-wrapper .more-settings.up {
  color: #0085ba;
}

.bloglo-background-wrapper h4 {
  margin-bottom: 12px;
}
inc/customizer/controls/background/background.min.js000064400000033066152425655550016770 0ustar00!(function ($) {
  wp.customize.controlConstructor["bloglo-background"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";
        var range,
          range_input,
          bloglo_range_input_number_timeout,
          control = this,
          value = control.setting._value;
        control.container.find(".background-image-advanced").hide(),
          control.container.on(
            "change",
            ".background-repeat select",
            function () {
              control.saveValue("background-repeat", $(this).val());
            }
          ),
          control.container.on(
            "change click",
            ".background-size input",
            function () {
              control.saveValue("background-size", $(this).val());
            }
          ),
          control.container.on(
            "change click",
            ".background-attachment input",
            function () {
              control.saveValue("background-attachment", $(this).val());
            }
          ),
          control.container.on(
            "click",
            ".background-image-upload-button",
            function (e) {
              var image = wp
                .media({
                  multiple: !1,
                  title: control.params.l10n.select_image,
                  button: { text: control.params.l10n.use_image },
                })
                .open()
                .on("select", function () {
                  var previewImage,
                    imageUrl,
                    imageID,
                    preview,
                    removeButton,
                    uploadedImageJSON = image
                      .state()
                      .get("selection")
                      .first()
                      .toJSON();
                  (previewImage = _.isUndefined(uploadedImageJSON.sizes)
                    ? uploadedImageJSON.url
                    : _.isUndefined(uploadedImageJSON.sizes.medium)
                    ? _.isUndefined(uploadedImageJSON.sizes.thumbnail)
                      ? _.isUndefined(uploadedImageJSON.sizes.full)
                        ? uploadedImageJSON.url
                        : uploadedImageJSON.sizes.full.url
                      : uploadedImageJSON.sizes.thumbnail.url
                    : uploadedImageJSON.sizes.medium.url),
                    (imageUrl = uploadedImageJSON.url),
                    (imageID = uploadedImageJSON.id),
                    uploadedImageJSON.width,
                    uploadedImageJSON.height,
                    "" !== imageUrl &&
                      (control.container
                        .find(".background-image-advanced")
                        .show(),
                      control.container
                        .find(".advanced-settings")
                        .removeClass("hidden")
                        .addClass("up")),
                    control.saveValue("background-image", imageUrl),
                    control.saveValue("background-image-id", imageID),
                    (preview = control.container.find(
                      ".placeholder, .thumbnail"
                    )),
                    (removeButton = control.container.find(
                      ".background-image-upload-remove-button"
                    )),
                    preview.length &&
                      preview
                        .removeClass()
                        .addClass("thumbnail thumbnail-image")
                        .html('<img src="' + previewImage + '" alt="" />'),
                    removeButton.length && removeButton.show();
                });
              e.preventDefault();
            }
          ),
          control.container.on(
            "click",
            ".background-image-upload-remove-button",
            function (e) {
              var preview, removeButton;
              e.preventDefault(),
                control.saveValue("background-image", ""),
                control.saveValue("background-image-id", ""),
                (preview = control.container.find(".placeholder, .thumbnail")),
                (removeButton = control.container.find(
                  ".background-image-upload-remove-button"
                )),
                control.container.find(".background-image-advanced").hide(),
                control.container
                  .find(".advanced-settings")
                  .addClass("hidden")
                  .removeClass("up"),
                preview.length &&
                  preview
                    .removeClass()
                    .addClass("placeholder")
                    .html(control.params.l10n.placeholder),
                removeButton.length && removeButton.hide();
            }
          ),
          control.container.on("click", ".advanced-settings", function (e) {
            $(this).toggleClass("up"),
              control.container.find(".background-image-advanced").toggle();
          }),
          control.container
            .find("input.bloglo-range-input")
            .on("change keyup", function () {
              control.autocorrect_range_input_number(
                $(this),
                1e3,
                bloglo_range_input_number_timeout
              );
            })
            .on("focusout", function () {
              control.autocorrect_range_input_number(
                $(this),
                0,
                bloglo_range_input_number_timeout
              );
            }),
          control.container
            .find("input[type=range]")
            .on("mousedown", function () {
              (range = $(this)),
                (range_input = range.parent().children(".bloglo-range-input")),
                (value = range.attr("value")),
                range_input.val(value),
                range.mousemove(function () {
                  (value = range.attr("value")),
                    range_input.val(value),
                    clearTimeout(bloglo_range_input_number_timeout),
                    (bloglo_range_input_number_timeout = setTimeout(
                      function () {
                        control.saveValue(range.data("key"), value);
                      },
                      25
                    ));
                });
            });
      },
      saveValue: function (property, value) {
        var val = this.setting.get();
        value !== (val = val || {})[property] &&
          (((val = JSON.parse(JSON.stringify(val)))[property] = value),
          this.setting.set(val));
      },
      autocorrect_range_input_number: function (input_number, timeout) {
        var range_input = input_number,
          range = range_input.parent().find('input[type="range"]'),
          value = parseFloat(range_input.val()),
          reset = parseFloat(
            range.find(".bloglo-reset-range").attr("data-reset_value")
          ),
          step = parseFloat(range_input.attr("step")),
          min = parseFloat(range_input.attr("min")),
          max = parseFloat(range_input.attr("max"));
        clearTimeout(timeout),
          (timeout = setTimeout(function () {
            if (isNaN(value)) {
              return (
                range_input.val(reset), void range.val(reset).trigger("change")
              );
            }
            1 <= step &&
              0 != value % 1 &&
              ((value = Math.round(value)),
              range_input.val(value),
              range.val(value).trigger("change")),
              value > max &&
                (range_input.val(max), range.val(max).trigger("change")),
              value < min &&
                (range_input.val(min), range.val(min).trigger("change"));
          }, timeout)),
          range.val(value).trigger("change"),
          this.saveValue(range.data("key"), value);
      },
    });
})(jQuery);
!(function (e) {
  wp.customize.controlConstructor["bloglo-background"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";
        var a,
          n,
          t,
          i = this,
          r = i.setting._value;
        i.container.find(".background-image-advanced").hide(),
          i.container.on("change", ".background-repeat select", function () {
            i.saveValue("background-repeat", e(this).val());
          }),
          i.container.on("change click", ".background-size input", function () {
            i.saveValue("background-size", e(this).val());
          }),
          i.container.on(
            "change click",
            ".background-attachment input",
            function () {
              i.saveValue("background-attachment", e(this).val());
            }
          ),
          i.container.on(
            "click",
            ".background-image-upload-button",
            function (e) {
              var a = wp
                .media({
                  multiple: !1,
                  title: i.params.l10n.select_image,
                  button: { text: i.params.l10n.use_image },
                })
                .open()
                .on("select", function () {
                  var e,
                    n,
                    t,
                    r,
                    o,
                    u = a.state().get("selection").first().toJSON();
                  (e = _.isUndefined(u.sizes)
                    ? u.url
                    : _.isUndefined(u.sizes.medium)
                    ? _.isUndefined(u.sizes.thumbnail)
                      ? _.isUndefined(u.sizes.full)
                        ? u.url
                        : u.sizes.full.url
                      : u.sizes.thumbnail.url
                    : u.sizes.medium.url),
                    (n = u.url),
                    (t = u.id),
                    u.width,
                    u.height,
                    "" !== n &&
                      (i.container.find(".background-image-advanced").show(),
                      i.container
                        .find(".advanced-settings")
                        .removeClass("hidden")
                        .addClass("up")),
                    i.saveValue("background-image", n),
                    i.saveValue("background-image-id", t),
                    (r = i.container.find(".placeholder, .thumbnail")),
                    (o = i.container.find(
                      ".background-image-upload-remove-button"
                    )),
                    r.length &&
                      r
                        .removeClass()
                        .addClass("thumbnail thumbnail-image")
                        .html('<img src="' + e + '" alt="" />'),
                    o.length && o.show();
                });
              e.preventDefault();
            }
          ),
          i.container.on(
            "click",
            ".background-image-upload-remove-button",
            function (e) {
              var a, n;
              e.preventDefault(),
                i.saveValue("background-image", ""),
                i.saveValue("background-image-id", ""),
                (a = i.container.find(".placeholder, .thumbnail")),
                (n = i.container.find(
                  ".background-image-upload-remove-button"
                )),
                i.container.find(".background-image-advanced").hide(),
                i.container
                  .find(".advanced-settings")
                  .addClass("hidden")
                  .removeClass("up"),
                a.length &&
                  a
                    .removeClass()
                    .addClass("placeholder")
                    .html(i.params.l10n.placeholder),
                n.length && n.hide();
            }
          ),
          i.container.on("click", ".advanced-settings", function (a) {
            e(this).toggleClass("up"),
              i.container.find(".background-image-advanced").toggle();
          }),
          i.container
            .find("input.bloglo-range-input")
            .on("change keyup", function () {
              i.autocorrect_range_input_number(e(this), 1e3, t);
            })
            .on("focusout", function () {
              i.autocorrect_range_input_number(e(this), 0, t);
            }),
          i.container.find("input[type=range]").on("mousedown", function () {
            (a = e(this)),
              (n = a.parent().children(".bloglo-range-input")),
              (r = a.attr("value")),
              n.val(r),
              a.mousemove(function () {
                (r = a.attr("value")),
                  n.val(r),
                  clearTimeout(t),
                  (t = setTimeout(function () {
                    i.saveValue(a.data("key"), r);
                  }, 25));
              });
          });
      },
      saveValue: function (e, a) {
        var n = this.setting.get();
        a !== (n = n || {})[e] &&
          (((n = JSON.parse(JSON.stringify(n)))[e] = a), this.setting.set(n));
      },
      autocorrect_range_input_number: function (e, a) {
        var n = e,
          t = n.parent().find('input[type="range"]'),
          i = parseFloat(n.val()),
          r = parseFloat(
            t.find(".bloglo-reset-range").attr("data-reset_value")
          ),
          o = parseFloat(n.attr("step")),
          u = parseFloat(n.attr("min")),
          s = parseFloat(n.attr("max"));
        clearTimeout(a),
          (a = setTimeout(function () {
            if (isNaN(i)) return n.val(r), void t.val(r).trigger("change");
            1 <= o &&
              0 != i % 1 &&
              ((i = Math.round(i)), n.val(i), t.val(i).trigger("change")),
              i > s && (n.val(s), t.val(s).trigger("change")),
              i < u && (n.val(u), t.val(u).trigger("change"));
          }, a)),
          t.val(i).trigger("change"),
          this.saveValue(t.data("key"), i);
      },
    });
})(jQuery);
inc/customizer/controls/background/background.js000064400000020164152425655550016201 0ustar00(function ($) {
  wp.customize.controlConstructor["bloglo-background"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this,
          range,
          range_input,
          timer,
          bloglo_range_input_number_timeout,
          value = control.setting._value;

        // Hide unnecessary controls.
        control.container.find(".background-image-advanced").hide();

        // Background-Repeat.
        control.container.on(
          "change",
          ".background-repeat select",
          function () {
            control.saveValue("background-repeat", $(this).val());
          }
        );

        // Background-Size.
        control.container.on(
          "change click",
          ".background-size input",
          function () {
            control.saveValue("background-size", $(this).val());
          }
        );

        // Background-Attachment.
        control.container.on(
          "change click",
          ".background-attachment input",
          function () {
            control.saveValue("background-attachment", $(this).val());
          }
        );

        // Background-Image.
        control.container.on(
          "click",
          ".background-image-upload-button",
          function (e) {
            var image = wp
              .media({
                multiple: false,
                title: control.params.l10n.select_image,
                button: {
                  text: control.params.l10n.use_image,
                },
              })
              .open()
              .on("select", function () {
                // This will return the selected image from the Media Uploader, the result is an object.
                var uploadedImage = image.state().get("selection").first(),
                  uploadedImageJSON = uploadedImage.toJSON(),
                  previewImage,
                  imageUrl,
                  imageID,
                  imageWidth,
                  imageHeight,
                  preview,
                  removeButton;

                if (!_.isUndefined(uploadedImageJSON.sizes)) {
                  if (!_.isUndefined(uploadedImageJSON.sizes.medium)) {
                    previewImage = uploadedImageJSON.sizes.medium.url;
                  } else if (
                    !_.isUndefined(uploadedImageJSON.sizes.thumbnail)
                  ) {
                    previewImage = uploadedImageJSON.sizes.thumbnail.url;
                  } else if (!_.isUndefined(uploadedImageJSON.sizes.full)) {
                    previewImage = uploadedImageJSON.sizes.full.url;
                  } else {
                    previewImage = uploadedImageJSON.url;
                  }
                } else {
                  previewImage = uploadedImageJSON.url;
                }

                imageUrl = uploadedImageJSON.url;
                imageID = uploadedImageJSON.id;
                imageWidth = uploadedImageJSON.width;
                imageHeight = uploadedImageJSON.height;

                // Show extra controls if the value has an image.
                if ("" !== imageUrl) {
                  control.container.find(".background-image-advanced").show();
                  control.container
                    .find(".advanced-settings")
                    .removeClass("hidden")
                    .addClass("up");
                }

                control.saveValue("background-image", imageUrl);
                control.saveValue("background-image-id", imageID);
                preview = control.container.find(".placeholder, .thumbnail");
                removeButton = control.container.find(
                  ".background-image-upload-remove-button"
                );

                if (preview.length) {
                  preview
                    .removeClass()
                    .addClass("thumbnail thumbnail-image")
                    .html('<img src="' + previewImage + '" alt="" />');
                }
                if (removeButton.length) {
                  removeButton.show();
                }
              });

            e.preventDefault();
          }
        );

        control.container.on(
          "click",
          ".background-image-upload-remove-button",
          function (e) {
            var preview, removeButton;

            e.preventDefault();

            control.saveValue("background-image", "");
            control.saveValue("background-image-id", "");

            preview = control.container.find(".placeholder, .thumbnail");
            removeButton = control.container.find(
              ".background-image-upload-remove-button"
            );

            // Hide unnecessary controls.
            control.container.find(".background-image-advanced").hide();
            control.container
              .find(".advanced-settings")
              .addClass("hidden")
              .removeClass("up");

            if (preview.length) {
              preview
                .removeClass()
                .addClass("placeholder")
                .html(control.params.l10n.placeholder);
            }

            if (removeButton.length) {
              removeButton.hide();
            }
          }
        );

        control.container.on("click", ".advanced-settings", function (e) {
          $(this).toggleClass("up");
          control.container.find(".background-image-advanced").toggle();
        });

        // Change the text value
        control.container
          .find("input.bloglo-range-input")
          .on("change keyup", function () {
            control.autocorrect_range_input_number(
              $(this),
              1000,
              bloglo_range_input_number_timeout
            );
          })
          .on("focusout", function () {
            control.autocorrect_range_input_number(
              $(this),
              0,
              bloglo_range_input_number_timeout
            );
          });

        // Update the range value
        control.container
          .find("input[type=range]")
          .on("mousedown", function () {
            range = $(this);
            range_input = range.parent().children(".bloglo-range-input");
            value = range.attr("value");

            range_input.val(value);

            range.mousemove(function () {
              value = range.attr("value");
              range_input.val(value);

              clearTimeout(bloglo_range_input_number_timeout);

              bloglo_range_input_number_timeout = setTimeout(function () {
                control.saveValue(range.data("key"), value);
              }, 25);
            });
          });
      },

      /**
       * Saves the value.
       */
      saveValue: function (property, value) {
        var val = this.setting.get();
        val = val || {};

        if (value !== val[property]) {
          val = JSON.parse(JSON.stringify(val));
          val[property] = value;
          this.setting.set(val);
        }
      },

      autocorrect_range_input_number: function (input_number, timeout) {
        var range_input = input_number,
          range = range_input.parent().find('input[type="range"]'),
          value = parseFloat(range_input.val()),
          reset = parseFloat(
            range.find(".bloglo-reset-range").attr("data-reset_value")
          ),
          step = parseFloat(range_input.attr("step")),
          min = parseFloat(range_input.attr("min")),
          max = parseFloat(range_input.attr("max"));

        clearTimeout(timeout);

        timeout = setTimeout(function () {
          if (isNaN(value)) {
            range_input.val(reset);
            range.val(reset).trigger("change");
            return;
          }

          if (1 <= step && 0 !== value % 1) {
            value = Math.round(value);
            range_input.val(value);
            range.val(value).trigger("change");
          }

          if (value > max) {
            range_input.val(max);
            range.val(max).trigger("change");
          }

          if (value < min) {
            range_input.val(min);
            range.val(min).trigger("change");
          }
        }, timeout);

        range.val(value).trigger("change");
        this.saveValue(range.data("key"), value);
      },
    });
})(jQuery);
inc/customizer/controls/widget/widget.js000064400000020620152425655550014506 0ustar00(function ($) {
  "use strict";

  wp.customize.controlConstructor["bloglo-widget"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this;

        control.widget_count = control.container.find(".widget").length;
        control.setupSortable();

        // Expand widget content on header click
        control.container.on(
          "click",
          ".bloglo-widget-container .widget-top",
          function () {
            $(this)
              .closest(".widget")
              .toggleClass("bloglo-expanded")
              .find(".widget-inside")
              .slideToggle(200);
          }
        );

        // Minimize widget content when clicked on Done
        control.container.on(
          "click",
          ".bloglo-widget-container .widget-control-close",
          function () {
            $(this)
              .closest(".widget")
              .toggleClass("bloglo-expanded")
              .find(".widget-inside")
              .slideToggle(200);
          }
        );

        // Show available widgets
        control.container.on("click", ".bloglo-add-widget", function (e) {
          e.preventDefault();
          control.updateList();
        });

        control.container.on(
          "change paste keyup",
          "input, textarea, select",
          function (e) {
            control.update();
          }
        );

        control.container.on("click", ".widget-control-remove", function () {
          $(this).closest(".widget").remove();
          control.update();
          control.updateList();
        });

        control.container.on("click", ".bloglo-widget-edit-nav", function () {
          wp.customize
            .control(
              "nav_menu_locations[" +
                $(this)
                  .closest(".bloglo-widget-nav-container")
                  .data("menu-location") +
                "]"
            )
            .focus();
          control.close();
        });

        // Close the panel if the URL in the preview changes
        wp.customize.previewer.bind("url", this.close);

        $(control.container)
          .find(".bloglo-widget-nav-container")
          .each(function () {
            var $this = $(this);
            control.bindMenuLocation($this);
          });
      },

      bindMenuLocation: function ($container) {
        var menu_location = $container.data("menu-location");

        // Bind menu location setting
        wp.customize(
          "nav_menu_locations[" + menu_location + "]",
          function (value) {
            value.bind(function (newval) {
              if (newval) {
                var menu_name = wp.customize
                  .control("nav_menu_locations[" + menu_location + "]")
                  .container.find("option:selected")
                  .html();

                $container
                  .addClass("bloglo-widget-nav-has-menu")
                  .find(".bloglo-widget-nav-name")
                  .html(menu_name);
              } else {
                $container.removeClass("bloglo-widget-nav-has-menu");
              }
            });
          }
        );
      },

      // Changes visibility of available widgets
      updateList: function () {
        var widget,
          self = this,
          widgets = self.params.widgets;

        // Filter which widgets are available.
        if (widgets) {
          // Hide all widgets.
          $("#bloglo-available-widgets-list .bloglo-widget")
            .hide()
            .removeClass("disabled");

          // Display allowed widgets.
          $.each(widgets, function (index, el) {
            widget = $(
              "#bloglo-available-widgets-list #bloglo-widget-tpl-bloglo_customizer_widget_" +
                index
            );

            widget.show();

            if (
              el.hasOwnProperty("max_uses") &&
              el.max_uses > 0 &&
              el.max_uses <=
                $(self.container).find(
                  '.bloglo-widget-container [data-widget-type="' + index + '"]'
                ).length
            ) {
              widget.addClass("disabled");
            }
          });
        } else {
          // Show all widgets
          $("#bloglo-available-widgets-list .bloglo-widget").show();
        }
      },

      addWidget: function (widget_id_base) {
        var widget_html, widget_uuid;

        widget_uuid = this.setting.id + "-" + this.widget_count;

        // Get widget form
        widget_html = $.trim(
          $(this.container)
            .find(".bloglo-widget-tpl-" + widget_id_base)
            .html()
        );
        widget_html = widget_html.replace(/<[^<>]+>/g, function (m) {
          return m.replace(/__i__|%i%/g, widget_uuid);
        });

        // Append new widget.
        var $widget = $(widget_html).appendTo(
          this.container.find(".bloglo-widget-container")
        );

        // Increase widget count.
        this.widget_count++;

        // Expand the widget and focus first setting.
        $widget.find(".widget-top").trigger("click");

        this.update();

        if ($widget.find(".bloglo-widget-nav-container").length) {
          this.bindMenuLocation($widget.find(".bloglo-widget-nav-container"));
        }
      },

      close: function () {
        $("body").removeClass("bloglo-adding-widget");
      },

      update: function () {
        // Get all widgets in the area
        var widgets = this.container.find(".bloglo-widget-container .widget");
        var inputs,
          widgetobj,
          new_value = [],
          option,
          checked,
          $widget;

        if (widgets.length) {
          // Get from each widfget
          _.each(widgets, function (widget) {
            $widget = $(widget);
            widgetobj = {};
            widgetobj.classname = $widget.data("widget-base");
            widgetobj.type = $widget.data("widget-type");
            widgetobj.values = {};

            inputs = $widget.find("input, textarea, select");

            _.each(inputs, function (input) {
              option = $(input).attr("data-option-name");

              // Save values.
              if (typeof option !== typeof undefined && option !== false) {
                widgetobj.values[$(input).attr("data-option-name")] =
                  $(input).val();
              }
            });

            _.each($widget.find(".buttonset"), function (buttonset) {
              // Save location if exist.
              checked = $(buttonset).find('input[type="radio"]:checked');

              // Save values.
              if (typeof checked !== typeof undefined && checked !== false) {
                widgetobj.values[checked.data("option-name")] = checked.val();
              }
            });

            new_value.push(widgetobj);
          });

          this.setting.set(new_value);
        } else {
          this.setting.set(false);
        }
      },

      setupSortable: function () {
        var self = this;

        $(this.container)
          .find(".bloglo-widget-container")
          .sortable({
            items: "> .widget",
            handle: ".widget-top",
            intersect: "pointer",
            axis: "y",
            update: function () {
              self.update();
            },
          });
      },
    });

  $(document).ready(function () {
    var control;

    $(".wp-full-overlay").on(
      "click",
      ".bloglo-add-widget, .bloglo-close-widgets-panel",
      function (e) {
        e.preventDefault();

        $("body").toggleClass("bloglo-adding-widget");

        if ($(this).data("location-title")) {
          control = wp.customize.control($(this).data("control"));
          $("#bloglo-available-widgets")
            .attr("data-control", control.params.id)
            .find(".bloglo-widget-caption")
            .find("h3")
            .html($(this).data("location-title"));
        }
      }
    );

    $(".wp-full-overlay").on("click", ".customize-section-back", function (e) {
      $("body").removeClass("bloglo-adding-widget");
      $("#bloglo-available-widgets").removeAttr("data-control");
    });

    // Add widget to widget control.
    $("#bloglo-available-widgets").on("click", ".bloglo-widget", function (e) {
      // Get active control.
      control = wp.customize.control(
        $("#bloglo-available-widgets").attr("data-control")
      );

      var widget_id = $(this).data("widget-id");
      var widget_form = control.addWidget(widget_id);

      control.close();
    });
  });
})(jQuery);
inc/customizer/controls/widget/widget.min.js000064400000017513152425655550015277 0ustar00!(function ($) {
  "use strict";
  (wp.customize.controlConstructor["bloglo-widget"] =
    wp.customize.Control.extend({
      ready: function () {
        var control = this;
        (control.widget_count = control.container.find(".widget").length),
          control.setupSortable(),
          control.container.on(
            "click",
            ".bloglo-widget-container .widget-top",
            function () {
              $(this)
                .closest(".widget")
                .toggleClass("bloglo-expanded")
                .find(".widget-inside")
                .slideToggle(200);
            }
          ),
          control.container.on(
            "click",
            ".bloglo-widget-container .widget-control-close",
            function () {
              $(this)
                .closest(".widget")
                .toggleClass("bloglo-expanded")
                .find(".widget-inside")
                .slideToggle(200);
            }
          ),
          control.container.on("click", ".bloglo-add-widget", function (e) {
            e.preventDefault(), control.updateList();
          }),
          control.container.on(
            "change paste keyup",
            "input, textarea, select",
            function (e) {
              control.update();
            }
          ),
          control.container.on("click", ".widget-control-remove", function () {
            $(this).closest(".widget").remove(),
              control.update(),
              control.updateList();
          }),
          control.container.on("click", ".bloglo-widget-edit-nav", function () {
            wp.customize
              .control(
                "nav_menu_locations[" +
                  $(this)
                    .closest(".bloglo-widget-nav-container")
                    .data("menu-location") +
                  "]"
              )
              .focus(),
              control.close();
          }),
          wp.customize.previewer.bind("url", this.close),
          $(control.container)
            .find(".bloglo-widget-nav-container")
            .each(function () {
              var $this = $(this);
              control.bindMenuLocation($this);
            });
      },
      bindMenuLocation: function ($container) {
        var menu_location = $container.data("menu-location");
        wp.customize(
          "nav_menu_locations[" + menu_location + "]",
          function (value) {
            value.bind(function (newval) {
              if (newval) {
                var menu_name = wp.customize
                  .control("nav_menu_locations[" + menu_location + "]")
                  .container.find("option:selected")
                  .html();
                $container
                  .addClass("bloglo-widget-nav-has-menu")
                  .find(".bloglo-widget-nav-name")
                  .html(menu_name);
              } else {
                $container.removeClass("bloglo-widget-nav-has-menu");
              }
            });
          }
        );
      },
      updateList: function () {
        var widget,
          self = this,
          widgets = self.params.widgets;
        widgets
          ? ($("#bloglo-available-widgets-list .bloglo-widget")
              .hide()
              .removeClass("disabled"),
            $.each(widgets, function (index, el) {
              (widget = $(
                "#bloglo-available-widgets-list #bloglo-widget-tpl-bloglo_customizer_widget_" +
                  index
              )).show(),
                el.hasOwnProperty("max_uses") &&
                  0 < el.max_uses &&
                  el.max_uses <=
                    $(self.container).find(
                      '.bloglo-widget-container [data-widget-type="' +
                        index +
                        '"]'
                    ).length &&
                  widget.addClass("disabled");
            }))
          : $("#bloglo-available-widgets-list .bloglo-widget").show();
      },
      addWidget: function (widget_id_base) {
        var widget_html, widget_uuid;
        (widget_uuid = this.setting.id + "-" + this.widget_count),
          (widget_html = (widget_html = $.trim(
            $(this.container)
              .find(".bloglo-widget-tpl-" + widget_id_base)
              .html()
          )).replace(/<[^<>]+>/g, function (m) {
            return m.replace(/__i__|%i%/g, widget_uuid);
          }));
        var $widget = $(widget_html).appendTo(
          this.container.find(".bloglo-widget-container")
        );
        this.widget_count++,
          $widget.find(".widget-top").trigger("click"),
          this.update(),
          $widget.find(".bloglo-widget-nav-container").length &&
            this.bindMenuLocation($widget.find(".bloglo-widget-nav-container"));
      },
      close: function () {
        $("body").removeClass("bloglo-adding-widget");
      },
      update: function () {
        var inputs,
          widgetobj,
          option,
          checked,
          $widget,
          widgets = this.container.find(".bloglo-widget-container .widget"),
          new_value = [];
        widgets.length
          ? (_.each(widgets, function (widget) {
              ($widget = $(widget)),
                ((widgetobj = {}).classname = $widget.data("widget-base")),
                (widgetobj.type = $widget.data("widget-type")),
                (widgetobj.values = {}),
                (inputs = $widget.find("input, textarea, select")),
                _.each(inputs, function (input) {
                  void 0 !== (option = $(input).attr("data-option-name")) &&
                    !1 !== option &&
                    (widgetobj.values[$(input).attr("data-option-name")] =
                      $(input).val());
                }),
                _.each($widget.find(".buttonset"), function (buttonset) {
                  void 0 !==
                    (checked = $(buttonset).find(
                      'input[type="radio"]:checked'
                    )) &&
                    !1 !== checked &&
                    (widgetobj.values[checked.data("option-name")] =
                      checked.val());
                }),
                new_value.push(widgetobj);
            }),
            this.setting.set(new_value))
          : this.setting.set(!1);
      },
      setupSortable: function () {
        var self = this;
        $(this.container)
          .find(".bloglo-widget-container")
          .sortable({
            items: "> .widget",
            handle: ".widget-top",
            intersect: "pointer",
            axis: "y",
            update: function () {
              self.update();
            },
          });
      },
    })),
    $(document).ready(function () {
      var control;
      $(".wp-full-overlay").on(
        "click",
        ".bloglo-add-widget, .bloglo-close-widgets-panel",
        function (e) {
          e.preventDefault(),
            $("body").toggleClass("bloglo-adding-widget"),
            $(this).data("location-title") &&
              ((control = wp.customize.control($(this).data("control"))),
              $("#bloglo-available-widgets")
                .attr("data-control", control.params.id)
                .find(".bloglo-widget-caption")
                .find("h3")
                .html($(this).data("location-title")));
        }
      ),
        $(".wp-full-overlay").on(
          "click",
          ".customize-section-back",
          function (e) {
            $("body").removeClass("bloglo-adding-widget"),
              $("#bloglo-available-widgets").removeAttr("data-control");
          }
        ),
        $("#bloglo-available-widgets").on(
          "click",
          ".bloglo-widget",
          function (e) {
            control = wp.customize.control(
              $("#bloglo-available-widgets").attr("data-control")
            );
            var widget_id = $(this).data("widget-id");
            control.addWidget(widget_id);
            control.close();
          }
        );
    });
})(jQuery);
inc/customizer/controls/widget/class-bloglo-customizer-control-widget.php000064400000010462152425655560023124 0ustar00<?php
/**
 * Bloglo Customizer Widget control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Widget' ) ) :
	/**
	 * Bloglo Customizer custom select control class.
	 */
	class Bloglo_Customizer_Control_Widget extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-widget';

		/**
		 * Array of allowed customizer widgets.
		 *
		 * @var array
		 */
		public $widgets = array();

		/**
		 * Array of locations for widgets.
		 *
		 * @var array
		 */
		public $locations = array();

		/**
		 * Array of visibility options for widgets.
		 *
		 * @var array
		 */
		public $visibility = array();

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['widgets']    = $this->widgets;
			$this->json['locations']  = $this->locations;
			$this->json['visibility'] = $this->visibility;

			// Add widget templates to be used when generating new widgets.
			if ( is_array( $this->widgets ) && ! empty( $this->widgets ) ) {

				// Get all widgets.
				$widgets = bloglo_get_customizer_widgets();

				foreach ( $this->widgets as $widget_id => $args ) {

					// If this widget is not defined, skip.
					if ( ! isset( $widgets[ $widget_id ] ) ) {
						continue;
					}

					// Widget locations.
					$args['locations']  = $this->locations;
					$args['visibility'] = $this->visibility;
					$args['id']         = $this->id;

					// Create a widget instance.
					$classname = $widgets[ $widget_id ];
					$instance  = new $classname( $args );

					// Add info about max uses for the widget.
					$max_uses = isset( $args['max_uses'] ) ? intval( $args['max_uses'] ) : -1;

					ob_start();
					?>
					<div data-widget-id="<?php echo esc_attr( $instance->id_base ); ?>" class="bloglo-widget-tpl-<?php echo esc_attr( $instance->id_base ); ?> bloglo-widget" data-max-uses=<?php echo esc_attr( $max_uses ); ?>>
						<?php $instance->template(); ?>
					</div>
					<?php
					$this->json['widget_tpl'][ $widget_id ] = ob_get_clean();
				}
			}

			$value = $this->value();

			$this->json['value'] = array();

			// Added widgets.
			if ( is_array( $value ) && ! empty( $value ) ) {
				foreach ( $value as $i => $widget ) {

					// Widget type is required.
					if ( ! isset( $widget['type'], $widget['values'] ) ) {
						continue;
					}

					// This widget type is not allowed.
					if ( ! isset( $this->widgets[ $widget['type'] ] ) ) {
						continue;
					}

					// Create widget instance.
					$classname = $widget['classname'];

					$args = $this->widgets[ $widget['type'] ];

					$args['id']         = $this->id . '_' . $i;
					$args['number']     = $i;
					$args['values']     = $widget['values'];
					$args['locations']  = $this->locations;
					$args['visibility'] = $this->visibility;

					if ( class_exists( $classname ) ) {
						$instance = new $classname( $args );

						// Print widget template.
						ob_start();
						$instance->template();
						$this->json['value'][] = ob_get_clean();
					}
				}
			}
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-control-wrapper bloglo-widget-wrapper">

				<div class="bloglo-widget-container">

					<# _.each( data.value, function( template, i ) { #>
						{{{ template }}}
					<# }); #>

				</div><!-- END .bloglo-widget-container -->

				<div class="bloglo-add-widget-wrap">			
					<button type="button" class="button bloglo-add-widget" data-location-title="{{{ data.label }}}" data-control="{{{ data.id }}}"><?php esc_html_e( 'Add Widget', 'bloglo' ); ?></button>
				</div>

				<div class="bloglo-widget-tmpls">

					<# _.each( data.widget_tpl, function( template, i ) { #>
						{{{ template }}}
					<# }); #>

				</div>

			</div><!-- END .bloglo-control-wrapper -->
			<?php
		}
	}
endif;
inc/customizer/controls/widget/widget.scss000064400000012371152425655560015052 0ustar00/*****************************************/
/* Customizer control widget style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

.bloglo-add-widget-wrap {
  display: flex;
  justify-content: flex-end;
}

.bloglo-control-wrapper.bloglo-widget-wrapper {
  .customize-control-description {
    margin-bottom: 12px !important;
  }
}

.bloglo-customizer-widget-form,
.bloglo-widget-tmpls {
  display: none;
}

.bloglo-add-widget {
  &::before {
    content: "\f132";
    display: inline-block;
    position: relative;
    left: -4px;
    font: normal 16px/1 dashicons;
    vertical-align: middle;
    transition: all 0.1s;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

body.bloglo-adding-widget {
  #customize-preview {
    opacity: 0.4;
  }

  #bloglo-available-widgets {
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }

  .bloglo-add-widget {
    background: #eee;
    border-color: #929793;
    color: #32373c;
    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);

    &:before {
      transform: rotate(45deg);
    }
  }
}

.bloglo-widget-caption {
  padding: 0 0 0 25px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex: 1;
  border-bottom: 1px solid #ddd;

  h3 {
    font-size: 14px;
    display: block;
    font-weight: 200;
    margin: 0 auto 0 0;
    padding: 0;
    line-height: 1;
  }

  a {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    padding: 0 2px 0 0;
    background: #eee;
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
    color: #444;
    text-align: left;
    cursor: pointer;
    transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out,
      background 0.15s ease-in-out;
    box-sizing: content-box;
    text-decoration: none;

    &:before {
      font: normal 18px/1 dashicons;
      content: "\f335";
    }

    &:hover,
    &:focus {
      background-color: #f3f3f5;
      box-shadow: none;
      outline: none;
    }
  }
}

#bloglo-available-widgets-list {
  .bloglo-widget {
    position: relative;
    padding: 15px 15px 15px 60px;
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    border-left: 4px solid #fff;
    transition: 0.15s color ease-in-out, 0.15s background-color ease-in-out,
      0.15s border-color ease-in-out;
    cursor: pointer;

    &.disabled {
      opacity: 0.5;
      pointer-events: none;
    }

    .widget {
      margin: 0;
    }

    .widget-top {
      border: none;
      background: inherit;
      box-shadow: none !important;
    }

    .widget-title {
      position: relative;

      h3 {
        padding: 0 0 5px;
        font-size: 14px;
      }

      i {
        position: absolute;
        top: -3px;
        right: 100%;
        margin-right: 20px;
        width: 20px;
        height: 20px;
        color: #32373c;
        font: normal 20px/1 dashicons;
        text-align: center;
        box-sizing: border-box;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }
    }

    .widget-description {
      padding: 0;
      color: #72777c;
      display: block;
      font-size: 12px;
      overflow-wrap: break-word;
      word-wrap: break-word;
      hyphens: auto;
    }

    .widget-title-action {
      button {
        display: none;
      }
    }

    &:hover,
    &.selected,
    &:focus {
      background-color: #f3f3f5;
      border-bottom-color: #ccc;
      color: #0073aa;
      border-left: 4px solid #0073aa;
    }
  }
}

.bloglo-widget-container {
  .widget {
    margin-bottom: 5px;

    &:last-child {
      margin-bottom: 12px;
    }

    .widget-content {
      p {
        margin: 0 0 20px 0;
      }

      label:not(.switch-label) {
        color: #232323;
        font-weight: 500;
        display: block;
      }

      button {
        display: inline-block;
        margin-top: 6px;
      }

      .description {
        font-size: 11px;
      }
    }

    &:first-child {
      .widget-top {
        border-top-left-radius: 3px;
        border-top-right-radius: 3px;
      }
    }

    &:last-child {
      .widget-top {
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px;
      }
    }

    .widget-top {
      border: 1px solid #ddd !important;
      box-shadow: none !important;

      .widget-title {
        i {
          display: none;
        }
      }
    }

    .widget-inside {
      padding: 20px;
      border-radius: 0 0 3px 3px;
    }

    &.bloglo-expanded {
      .widget-top {
        background-color: #fff;
        border-radius: 3px 3px 0 0 !important;
      }

      .toggle-indicator {
        transform: rotate(180deg);
      }
    }

    .widget-control-actions {
      margin-top: 15px;
      display: flex;
      align-items: center;

      .spinner {
        margin-left: auto;
        margin-right: 0;
        visibility: visible;
      }

      .widget-control-separator {
        display: inline-block;
        margin: 0 2px;
      }
    }
  }

  .bloglo-widget-nav-selected {
    display: none;
  }

  .bloglo-widget-nav-has-menu {
    .bloglo-widget-nav-empty {
      display: none;
    }

    .bloglo-widget-nav-selected {
      display: block;
    }
  }
}
inc/customizer/controls/widget/widget.min.css000064400000015527152425655560015457 0ustar00.bloglo-add-widget-wrap {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.bloglo-control-wrapper.bloglo-widget-wrapper .customize-control-description {
  margin-bottom: 12px !important;
}
.bloglo-customizer-widget-form,
.bloglo-widget-tmpls {
  display: none;
}
.bloglo-add-widget::before {
  content: "\f132";
  display: inline-block;
  position: relative;
  left: -4px;
  font: normal 16px/1 dashicons;
  vertical-align: middle;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.bloglo-adding-widget #customize-preview {
  opacity: 0.4;
}
body.bloglo-adding-widget #bloglo-available-widgets {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  visibility: visible;
}
body.bloglo-adding-widget .bloglo-add-widget {
  background: #eee;
  border-color: #929793;
  color: #32373c;
  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}
body.bloglo-adding-widget .bloglo-add-widget:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.bloglo-widget-caption {
  padding: 0 0 0 25px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-bottom: 1px solid #ddd;
}
.bloglo-widget-caption h3 {
  font-size: 14px;
  display: block;
  font-weight: 200;
  margin: 0 auto 0 0;
  padding: 0;
  line-height: 1;
}
.bloglo-widget-caption a {
  margin-left: auto;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  padding: 0 2px 0 0;
  background: #eee;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
  color: #444;
  text-align: left;
  cursor: pointer;
  -webkit-transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out,
    background 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out,
    background 0.15s ease-in-out;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  text-decoration: none;
}
.bloglo-widget-caption a:before {
  font: normal 18px/1 dashicons;
  content: "\f335";
}
.bloglo-widget-caption a:hover,
.bloglo-widget-caption a:focus {
  background-color: #f3f3f5;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}
#bloglo-available-widgets-list .bloglo-widget {
  position: relative;
  padding: 15px 15px 15px 60px;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
  border-left: 4px solid #fff;
  -webkit-transition: 0.15s color ease-in-out,
    0.15s background-color ease-in-out, 0.15s border-color ease-in-out;
  transition: 0.15s color ease-in-out, 0.15s background-color ease-in-out,
    0.15s border-color ease-in-out;
  cursor: pointer;
}
#bloglo-available-widgets-list .bloglo-widget.disabled {
  opacity: 0.5;
  pointer-events: none;
}
#bloglo-available-widgets-list .bloglo-widget .widget {
  margin: 0;
}
#bloglo-available-widgets-list .bloglo-widget .widget-top {
  border: none;
  background: inherit;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
#bloglo-available-widgets-list .bloglo-widget .widget-title {
  position: relative;
}
#bloglo-available-widgets-list .bloglo-widget .widget-title h3 {
  padding: 0 0 5px;
  font-size: 14px;
}
#bloglo-available-widgets-list .bloglo-widget .widget-title i {
  position: absolute;
  top: -3px;
  right: 100%;
  margin-right: 20px;
  width: 20px;
  height: 20px;
  color: #32373c;
  font: normal 20px/1 dashicons;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#bloglo-available-widgets-list .bloglo-widget .widget-description {
  padding: 0;
  color: #72777c;
  display: block;
  font-size: 12px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}
#bloglo-available-widgets-list .bloglo-widget .widget-title-action button {
  display: none;
}
#bloglo-available-widgets-list .bloglo-widget:hover,
#bloglo-available-widgets-list .bloglo-widget.selected,
#bloglo-available-widgets-list .bloglo-widget:focus {
  background-color: #f3f3f5;
  border-bottom-color: #ccc;
  color: #0073aa;
  border-left: 4px solid #0073aa;
}
.bloglo-widget-container .widget {
  margin-bottom: 5px;
}
.bloglo-widget-container .widget:last-child {
  margin-bottom: 12px;
}
.bloglo-widget-container .widget .widget-content p {
  margin: 0 0 20px;
}
.bloglo-widget-container .widget .widget-content label:not(.switch-label) {
  color: #232323;
  font-weight: 500;
  display: block;
}
.bloglo-widget-container .widget .widget-content button {
  display: inline-block;
  margin-top: 6px;
}
.bloglo-widget-container .widget .widget-content .description {
  font-size: 11px;
}
.bloglo-widget-container .widget:first-child .widget-top {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.bloglo-widget-container .widget:last-child .widget-top {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
.bloglo-widget-container .widget .widget-top {
  border: 1px solid #ddd !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.bloglo-widget-container .widget .widget-top .widget-title i {
  display: none;
}
.bloglo-widget-container .widget .widget-inside {
  padding: 20px;
  border-radius: 0 0 3px 3px;
}
.bloglo-widget-container .widget.bloglo-expanded .widget-top {
  background-color: #fff;
  border-radius: 3px 3px 0 0 !important;
}
.bloglo-widget-container .widget.bloglo-expanded .toggle-indicator {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.bloglo-widget-container .widget .widget-control-actions {
  margin-top: 15px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.bloglo-widget-container .widget .widget-control-actions .spinner {
  margin-left: auto;
  margin-right: 0;
  visibility: visible;
}
.bloglo-widget-container
  .widget
  .widget-control-actions
  .widget-control-separator {
  display: inline-block;
  margin: 0 2px;
}
.bloglo-widget-container .bloglo-widget-nav-selected {
  display: none;
}
.bloglo-widget-container .bloglo-widget-nav-has-menu .bloglo-widget-nav-empty {
  display: none;
}
.bloglo-widget-container
  .bloglo-widget-nav-has-menu
  .bloglo-widget-nav-selected {
  display: block;
}
inc/customizer/controls/widget/widget.css000064400000016062152425655560014670 0ustar00/*****************************************/
/* Customizer control widget style
/*****************************************/
/**
 * Import configuration file with variables.
 */
.bloglo-add-widget-wrap {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.bloglo-control-wrapper.bloglo-widget-wrapper .customize-control-description {
  margin-bottom: 12px !important;
}

.bloglo-customizer-widget-form,
.bloglo-widget-tmpls {
  display: none;
}

.bloglo-add-widget::before {
  content: "\f132";
  display: inline-block;
  position: relative;
  left: -4px;
  font: normal 16px/1 dashicons;
  vertical-align: middle;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.bloglo-adding-widget #customize-preview {
  opacity: 0.4;
}

body.bloglo-adding-widget #bloglo-available-widgets {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  visibility: visible;
}

body.bloglo-adding-widget .bloglo-add-widget {
  background: #eee;
  border-color: #929793;
  color: #32373c;
  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}

body.bloglo-adding-widget .bloglo-add-widget:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.bloglo-widget-caption {
  padding: 0 0 0 25px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-bottom: 1px solid #ddd;
}

.bloglo-widget-caption h3 {
  font-size: 14px;
  display: block;
  font-weight: 200;
  margin: 0 auto 0 0;
  padding: 0;
  line-height: 1;
}

.bloglo-widget-caption a {
  margin-left: auto;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  padding: 0 2px 0 0;
  background: #eee;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
  color: #444;
  text-align: left;
  cursor: pointer;
  -webkit-transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out,
    background 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out,
    background 0.15s ease-in-out;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  text-decoration: none;
}

.bloglo-widget-caption a:before {
  font: normal 18px/1 dashicons;
  content: "\f335";
}

.bloglo-widget-caption a:hover,
.bloglo-widget-caption a:focus {
  background-color: #f3f3f5;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}

#bloglo-available-widgets-list .bloglo-widget {
  position: relative;
  padding: 15px 15px 15px 60px;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
  border-left: 4px solid #fff;
  -webkit-transition: 0.15s color ease-in-out,
    0.15s background-color ease-in-out, 0.15s border-color ease-in-out;
  transition: 0.15s color ease-in-out, 0.15s background-color ease-in-out,
    0.15s border-color ease-in-out;
  cursor: pointer;
}

#bloglo-available-widgets-list .bloglo-widget.disabled {
  opacity: 0.5;
  pointer-events: none;
}

#bloglo-available-widgets-list .bloglo-widget .widget {
  margin: 0;
}

#bloglo-available-widgets-list .bloglo-widget .widget-top {
  border: none;
  background: inherit;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

#bloglo-available-widgets-list .bloglo-widget .widget-title {
  position: relative;
}

#bloglo-available-widgets-list .bloglo-widget .widget-title h3 {
  padding: 0 0 5px;
  font-size: 14px;
}

#bloglo-available-widgets-list .bloglo-widget .widget-title i {
  position: absolute;
  top: -3px;
  right: 100%;
  margin-right: 20px;
  width: 20px;
  height: 20px;
  color: #32373c;
  font: normal 20px/1 dashicons;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#bloglo-available-widgets-list .bloglo-widget .widget-description {
  padding: 0;
  color: #72777c;
  display: block;
  font-size: 12px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

#bloglo-available-widgets-list .bloglo-widget .widget-title-action button {
  display: none;
}

#bloglo-available-widgets-list .bloglo-widget:hover,
#bloglo-available-widgets-list .bloglo-widget.selected,
#bloglo-available-widgets-list .bloglo-widget:focus {
  background-color: #f3f3f5;
  border-bottom-color: #ccc;
  color: #0073aa;
  border-left: 4px solid #0073aa;
}

.bloglo-widget-container .widget {
  margin-bottom: 5px;
}

.bloglo-widget-container .widget:last-child {
  margin-bottom: 12px;
}

.bloglo-widget-container .widget .widget-content p {
  margin: 0 0 20px 0;
}

.bloglo-widget-container .widget .widget-content label:not(.switch-label) {
  color: #232323;
  font-weight: 500;
  display: block;
}

.bloglo-widget-container .widget .widget-content button {
  display: inline-block;
  margin-top: 6px;
}

.bloglo-widget-container .widget .widget-content .description {
  font-size: 11px;
}

.bloglo-widget-container .widget:first-child .widget-top {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

.bloglo-widget-container .widget:last-child .widget-top {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}

.bloglo-widget-container .widget .widget-top {
  border: 1px solid #ddd !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.bloglo-widget-container .widget .widget-top .widget-title i {
  display: none;
}

.bloglo-widget-container .widget .widget-inside {
  padding: 20px;
  border-radius: 0 0 3px 3px;
}

.bloglo-widget-container .widget.bloglo-expanded .widget-top {
  background-color: #fff;
  border-radius: 3px 3px 0 0 !important;
}

.bloglo-widget-container .widget.bloglo-expanded .toggle-indicator {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.bloglo-widget-container .widget .widget-control-actions {
  margin-top: 15px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.bloglo-widget-container .widget .widget-control-actions .spinner {
  margin-left: auto;
  margin-right: 0;
  visibility: visible;
}

.bloglo-widget-container
  .widget
  .widget-control-actions
  .widget-control-separator {
  display: inline-block;
  margin: 0 2px;
}

.bloglo-widget-container .bloglo-widget-nav-selected {
  display: none;
}

.bloglo-widget-container .bloglo-widget-nav-has-menu .bloglo-widget-nav-empty {
  display: none;
}

.bloglo-widget-container
  .bloglo-widget-nav-has-menu
  .bloglo-widget-nav-selected {
  display: block;
}
inc/customizer/controls/radio-image/radio-image.min.js000064400000000000152425655560017045 0ustar00inc/customizer/controls/radio-image/radio-image.css000064400000003557152425655560016463 0ustar00/*****************************************/
/* Customizer radio image control style
/*****************************************/
.customize-control-bloglo-radio-image .bloglo-radio-image-choices {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-top: -6px;
  margin-left: -6px;
  margin-right: -6px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.customize-control-bloglo-radio-image input {
  display: none;
}

.customize-control-bloglo-radio-image input:checked + label > img {
  border-color: #0085ba;
}

.customize-control-bloglo-radio-image input:checked + label:after {
  content: "\f147";
  -webkit-font-smoothing: antialiased;
  font: normal 16px/1 "dashicons";
  vertical-align: top;
  position: absolute;
  bottom: 0;
  left: 6px;
  width: 20px;
  height: 20px;
  background-color: #0085ba;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
}

.customize-control-bloglo-radio-image label {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -ms-flex-preferred-size: 33.33%;
  flex-basis: 33.33%;
  max-width: 33.33%;
  padding: 12px 6px 0 6px;
  margin: 0;
}

.customize-control-bloglo-radio-image label img {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: solid 2px #fff;
  display: block;
}

.customize-control-bloglo-radio-image label:hover .small-tooltip {
  display: block;
}
inc/customizer/controls/radio-image/class-bloglo-customizer-control-radio-image.php000064400000005074152425655560024715 0ustar00<?php
/**
 * Bloglo Customizer radio image control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @see         https://github.com/aristath/kirki
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Radio_Image' ) ) :
	/**
	 * Bloglo Customizer custom heading control class.
	 */
	class Bloglo_Customizer_Control_Radio_Image extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-radio-image';

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['choices'] = $this->choices;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-control-wrapper">

				<# if ( data.label ) { #>
					<div class="customize-control-title bloglo-field">
						<span>{{{ data.label }}}</span>

						<# if ( data.description ) { #>
							<i class="bloglo-info-icon">
								<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
									<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
									<line x1="12" y1="17" x2="12" y2="17"></line>
								</svg>
								<span class="bloglo-tooltip">{{{ data.description }}}</span>
							</i>
						<# } #>
					</div>
				<# } #>

				<div class="bloglo-radio-image-choices">
					<# for ( key in data.choices ) { #>
						<input {{{ data.inputAttrs }}} class="bloglo-radio-image" type="radio" value="{{ key }}" name="bloglo_radio_group-{{ data.id }}" id="{{ data.id }}-{{ key }}" {{{ data.link }}}<# if ( data.value === key ) { #> checked="checked"<# } #>>
							<label for="{{ data.id }}-{{ key }}">
								<img src="{{ data.choices[ key ].image }}" />
								<span class="bloglo-image-title bloglo-tooltip small-tooltip">{{ data.choices[ key ].title }}</span>
							</label>
						</input>
					<# } #>
				</div><!-- END .bloglo-radio-image-choices -->

			</div><!-- END .bloglo-control-wrapper -->
			<?php
		}
	}
endif;
inc/customizer/controls/radio-image/radio-image.min.css000064400000003343152425655560017236 0ustar00.customize-control-bloglo-radio-image .bloglo-radio-image-choices {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-top: -6px;
  margin-left: -6px;
  margin-right: -6px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.customize-control-bloglo-radio-image input {
  display: none;
}
.customize-control-bloglo-radio-image input:checked + label > img {
  border-color: #0085ba;
}
.customize-control-bloglo-radio-image input:checked + label:after {
  content: "\f147";
  -webkit-font-smoothing: antialiased;
  font: normal 16px/1 dashicons;
  vertical-align: top;
  position: absolute;
  bottom: 0;
  left: 6px;
  width: 20px;
  height: 20px;
  background-color: #0085ba;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
}
.customize-control-bloglo-radio-image label {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -ms-flex-preferred-size: 33.33%;
  flex-basis: 33.33%;
  max-width: 33.33%;
  padding: 12px 6px 0;
  margin: 0;
}
.customize-control-bloglo-radio-image label img {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: solid 2px #fff;
  display: block;
}
.customize-control-bloglo-radio-image label:hover .small-tooltip {
  display: block;
}
inc/customizer/controls/radio-image/radio-image.js000064400000000000152425655560016263 0ustar00inc/customizer/controls/radio-image/radio-image.scss000064400000002466152425655560016644 0ustar00/*****************************************/
/* Customizer radio image control style
/*****************************************/

.customize-control-bloglo-radio-image {
  .bloglo-radio-image-choices {
    box-sizing: border-box;
    margin-top: -6px;
    margin-left: -6px;
    margin-right: -6px;
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
  }

  input {
    display: none;

    &:checked {
      & + label {
        & > img {
          border-color: #0085ba;
        }

        &:after {
          content: "\f147";
          -webkit-font-smoothing: antialiased;
          font: normal 16px/1 "dashicons";
          vertical-align: top;
          position: absolute;
          bottom: 0;
          left: 6px;
          width: 20px;
          height: 20px;
          background-color: #0085ba;
          display: flex;
          align-items: center;
          justify-content: center;
          color: #fff;
        }
      }
    }
  }

  label {
    position: relative;
    box-sizing: border-box;
    flex: 0 0 auto;
    flex-basis: 33.33%;
    max-width: 33.33%;
    padding: 12px 6px 0 6px;
    margin: 0;

    img {
      box-sizing: border-box;
      border: solid 2px #fff;
      display: block;
    }

    &:hover {
      .small-tooltip {
        display: block;
      }
    }
  }
}
inc/customizer/controls/checkbox-group/checkbox-group.css000064400000006262152425655560017763 0ustar00/*****************************************/
/* Customizer checkbox group control style
/*****************************************/
/**
 * Import configuration file with variables.
 */
.bloglo-checkbox {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 500;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 14px;
  cursor: default;
}

.bloglo-checkbox input[type="checkbox"] {
  position: relative;
  border: 2px solid currentColor;
  border-radius: 2px;
  background: none;
  clear: none;
  cursor: pointer;
  display: inline-block !important;
  line-height: 0;
  margin: 1px 0 0 0;
  outline: 0;
  padding: 0 !important;
  text-align: center;
  vertical-align: text-top;
  height: 20px;
  width: 20px;
  min-width: 20px;
  opacity: 0.5;
  -webkit-transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-box-shadow: none;
  box-shadow: none;
}

.bloglo-checkbox input[type="checkbox"]:before {
  position: absolute;
  margin: 0;
  content: "";
  opacity: 0;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg) scale(0);
  -ms-transform: rotate(45deg) scale(0);
  transform: rotate(45deg) scale(0);
  z-index: 2;
  -webkit-transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.bloglo-checkbox input[type="checkbox"]:disabled:not(:checked) {
  border-color: currentColor !important;
  opacity: 0.65 !important;
  pointer-events: none;
}

.bloglo-checkbox input[type="checkbox"]:disabled:not(:checked) + .bloglo-label {
  opacity: 0.65;
  pointer-events: none;
}

.bloglo-checkbox input[type="checkbox"]:checked {
  border-color: #0085ba;
  background-color: #0085ba;
  opacity: 1;
}

.bloglo-checkbox input[type="checkbox"]:checked:before {
  opacity: 1;
  -webkit-transform: rotate(45deg) scale(1);
  -ms-transform: rotate(45deg) scale(1);
  transform: rotate(45deg) scale(1);
}

.bloglo-checkbox input[type="checkbox"]:checked:disabled {
  opacity: 0.65;
  pointer-events: none;
  border-color: #0085ba;
}

.bloglo-checkbox input[type="checkbox"]:checked:disabled + .bloglo-label {
  pointer-events: none;
}

.bloglo-checkbox .bloglo-label {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  padding-left: 11px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.bloglo-checkbox .bloglo-label .bloglo-info-icon {
  margin-left: auto;
  position: relative !important;
}

.bloglo-checkbox .bloglo-label .bloglo-info-icon .bloglo-tooltip {
  left: auto !important;
  right: -7px !important;
}

.bloglo-checkbox .bloglo-label .bloglo-info-icon .bloglo-tooltip:after {
  left: auto !important;
  right: 12px !important;
}

.bloglo-checkbox:hover input[type="checkbox"] {
  border-color: #0085ba;
  opacity: 1;
}
inc/customizer/controls/checkbox-group/checkbox-group.min.js000064400000001175152425655560020367 0ustar00!(function ($) {
  "use strict";
  wp.customize.controlConstructor["bloglo-checkbox-group"] =
    wp.customize.Control.extend({
      ready: function () {
        var control = this;
        control.setting.get();
        control.container.on("click", 'input[type="checkbox"]', function () {
          control.save();
        });
      },
      save: function () {
        var value = [];
        this.container
          .find('input[type="checkbox"]')
          .each(function (index, el) {
            $(el).is(":checked") && value.push($(el).data("id"));
          }),
          this.setting.set(value);
      },
    });
})(jQuery);
inc/customizer/controls/checkbox-group/checkbox-group.min.css000064400000004764152425655560020552 0ustar00.bloglo-checkbox {
  -js-display: flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 500;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 14px;
  cursor: default;
}
.bloglo-checkbox input[type="checkbox"] {
  position: relative;
  border: 2px solid currentColor;
  border-radius: 2px;
  background: none;
  clear: none;
  cursor: pointer;
  display: inline-block !important;
  line-height: 0;
  margin: 1px 0 0;
  outline: 0;
  padding: 0 !important;
  text-align: center;
  vertical-align: text-top;
  height: 20px;
  width: 20px;
  min-width: 20px;
  opacity: 0.5;
  transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  box-shadow: none;
}
.bloglo-checkbox input[type="checkbox"]:before {
  position: absolute;
  margin: 0;
  content: "";
  opacity: 0;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  z-index: 2;
  transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  box-sizing: border-box;
}
.bloglo-checkbox input[type="checkbox"]:disabled:not(:checked) {
  border-color: currentColor !important;
  opacity: 0.65 !important;
  pointer-events: none;
}
.bloglo-checkbox input[type="checkbox"]:disabled:not(:checked) + .bloglo-label {
  opacity: 0.65;
  pointer-events: none;
}
.bloglo-checkbox input[type="checkbox"]:checked {
  border-color: #0085ba;
  background-color: #0085ba;
  opacity: 1;
}
.bloglo-checkbox input[type="checkbox"]:checked:before {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}
.bloglo-checkbox input[type="checkbox"]:checked:disabled {
  opacity: 0.65;
  pointer-events: none;
  border-color: #0085ba;
}
.bloglo-checkbox input[type="checkbox"]:checked:disabled + .bloglo-label {
  pointer-events: none;
}
.bloglo-checkbox .bloglo-label {
  -js-display: flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  padding-left: 11px;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
.bloglo-checkbox .bloglo-label .bloglo-info-icon {
  margin-left: auto;
  position: relative !important;
}
.bloglo-checkbox .bloglo-label .bloglo-info-icon .bloglo-tooltip {
  left: auto !important;
  right: -7px !important;
}
.bloglo-checkbox .bloglo-label .bloglo-info-icon .bloglo-tooltip:after {
  left: auto !important;
  right: 12px !important;
}
.bloglo-checkbox:hover input[type="checkbox"] {
  border-color: #0085ba;
  opacity: 1;
}
inc/customizer/controls/checkbox-group/checkbox-group.scss000064400000004633152425655560020146 0ustar00/*****************************************/
/* Customizer checkbox group control style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

$color_1: #0085ba;
$body_color: #ddd;
$admin_border_color: #ddd;

.bloglo-checkbox {
  display: flex;
  align-items: center;
  font-weight: 500;
  user-select: none;
  font-size: 14px;
  cursor: default;

  input[type="checkbox"] {
    position: relative;
    border: 2px solid currentColor;
    border-radius: 2px;
    background: none;
    clear: none;
    cursor: pointer;
    display: inline-block !important;
    line-height: 0;
    margin: 1px 0 0 0;
    outline: 0;
    padding: 0 !important;
    text-align: center;
    vertical-align: text-top;
    height: 20px;
    width: 20px;
    min-width: 20px;
    opacity: 0.5;
    transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
    box-shadow: none;

    &:before {
      position: absolute;
      margin: 0;
      content: "";
      opacity: 0;
      left: 6px;
      top: 2px;
      width: 5px;
      height: 10px;
      border: solid #fff;
      border-width: 0 2px 2px 0;
      transform: rotate(45deg) scale(0);
      z-index: 2;
      transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
      box-sizing: border-box;
    }

    &:disabled:not(:checked) {
      border-color: currentColor !important;
      opacity: 0.65 !important;
      pointer-events: none;

      & + .bloglo-label {
        opacity: 0.65;
        pointer-events: none;
      }
    }

    &:checked {
      border-color: $color_1;
      background-color: $color_1;
      opacity: 1;

      &:before {
        opacity: 1;
        transform: rotate(45deg) scale(1);
      }

      &:disabled {
        opacity: 0.65;
        pointer-events: none;
        border-color: $color_1;

        & + .bloglo-label {
          pointer-events: none;
        }
      }
    }
  }

  .bloglo-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding-left: 11px;
    flex-grow: 1;

    .bloglo-info-icon {
      margin-left: auto;
      position: relative !important;

      .bloglo-tooltip {
        left: auto !important;
        right: -7px !important;

        &:after {
          left: auto !important;
          right: 12px !important;
        }
      }
    }
  }

  &:hover {
    input[type="checkbox"] {
      border-color: $color_1;
      opacity: 1;
    }
  }
}
inc/customizer/controls/checkbox-group/checkbox-group.js000064400000001541152425655560017602 0ustar00(function ($) {
  "use strict";

  wp.customize.controlConstructor["bloglo-checkbox-group"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this,
          setting = control.setting.get();

        control.container.on("click", 'input[type="checkbox"]', function () {
          control.save();
        });
      },

      /**
       * Store value for range control.
       *
       * @since 1.0.0
       *
       * @access private
       *
       * @returns {void}
       */
      save: function () {
        var value = [];

        this.container
          .find('input[type="checkbox"]')
          .each(function (index, el) {
            if ($(el).is(":checked")) {
              value.push($(el).data("id"));
            }
          });

        this.setting.set(value);
      },
    });
})(jQuery);
inc/customizer/controls/checkbox-group/class-bloglo-customizer-control-checkbox-group.php000064400000006715152425655560026224 0ustar00<?php
/**
 * Bloglo Customizer checkbox group control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Checkbox_Group' ) ) :
	/**
	 * Bloglo Customizer checkbox group control class.
	 */
	class Bloglo_Customizer_Control_Checkbox_Group extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-checkbox-group';

		/**
		 * Link target.
		 *
		 * @since 1.0.0
		 * @var   string
		 */
		public $choices = array();

		/**
		 * Constructor.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found
			parent::__construct( $manager, $id, $args );
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();
			$this->json['choices'] = $this->choices;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-checkbox-group-wrapper bloglo-control-wrapper">

				<# if ( data.label ) { #>
					<div class="bloglo-control-heading customize-control-title bloglo-field">
						<span>{{{ data.label }}}</span>

						<# if ( data.description ) { #>
							<i class="bloglo-info-icon">
								<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
									<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
									<line x1="12" y1="17" x2="12" y2="17"></line>
								</svg>
								<span class="bloglo-tooltip">{{{ data.description }}}</span>
							</i>
						<# } #>
					</div>
				<# } #>

				<div class="bloglo-checkbox-group-control">

					<# _.each( data.choices, function( params, key ) { #>

						<p>
							<label class="bloglo-checkbox">
								<input type="checkbox" name="{{ data.id }}-{{ key }}" data-id="{{ key }}" <# if ( _.contains( data.value, key ) ) { #>checked="checked" <# } #>>
								<span class="bloglo-label">{{ params.title }}
									<# if ( params.desc ) { #>
									<i class="bloglo-info-icon">
										<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
											<circle cx="12" cy="12" r="10"></circle>
											<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
											<line x1="12" y1="17" x2="12" y2="17"></line>
										</svg>
										<span class="bloglo-tooltip">{{ params.desc }}</span>
									</i>
									<# } #>
								</span>
							</label>
						</p>

					<# } ) #>

				</div>

			</div><!-- END .bloglo-button-wrapper -->
			<?php
		}

	}
endif;
inc/customizer/controls/heading/class-bloglo-customizer-control-heading.php000064400000005474152425655560023363 0ustar00<?php
/**
 * Bloglo Customizer custom heading control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Heading' ) ) :
	/**
	 * Bloglo Customizer custom heading control class.
	 */
	class Bloglo_Customizer_Control_Heading extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-heading';

		/**
		 * Top spacer.
		 *
		 * @since  1.0.0
		 * @var    boolean
		 */
		public $space = true;

		/**
		 * Heading style. Possible options are: regular-heading and sub-heading.
		 *
		 * @since  1.0.0
		 * @var    string
		 */
		public $style = 'regular-heading';

		/**
		 * Toggler.
		 *
		 * @since  1.0.0
		 * @var    boolean
		 */
		public $toggle = true;

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['space']  = ( true === $this->space || 'true' === $this->space ) ? ' top-spacer' : '';
			$this->json['toggle'] = ( true === $this->toggle || 'true' === $this->toggle ) ? ' toggle-heading' : '';
			$this->json['style']  = $this->style;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<# if ( data.space ) { #>
				<div class="bloglo-heading-top-space {{ data.style }}"></div>
			<# } #>
			<div class="bloglo-heading-wrapper bloglo-control-wrapper{{ data.space }}{{ data.toggle }} {{ data.style }}">

				<# if ( data.label ) { #>
					<span class="bloglo-control-heading">{{{ data.label }}}</span>
				<# } #>

				<# if ( data.description ) { #>
					<i class="bloglo-info-icon"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12" y2="17"></line></svg><span class="bloglo-tooltip top-right-tooltip">{{{ data.description }}}</span></i>
				<# } #>

				<# if ( data.toggle ) { #>
				<span class="bloglo-heading-toggle">
					<input type="checkbox" id="{{ data.id }}" name="{{ data.id }}" <# if ( data.value ) { #> checked="checked" <# } #>>

					<label for="{{ data.id }}" aria-hidden="true">
					</label>
				</span>
				<# } #>

			</div><!-- END .bloglo-heading-wrapper -->
			<?php
		}

	}
endif;
inc/customizer/controls/heading/heading.min.css000064400000004311152425655560015674 0ustar00#customize-controls .customize-control.customize-control-bloglo-heading:after {
  margin-top: 1px;
}
#customize-controls
  .customize-control.customize-control-bloglo-heading
  .bloglo-heading-top-space {
  height: 12px;
  margin: -17px -12px 0;
  background-color: #eee;
  border-bottom: 1px solid #ddd;
}
.bloglo-heading-wrapper {
  position: relative;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  color: #555d66;
  margin: -16px -12px -2px;
  padding: 14px 12px;
  border-bottom: 1px solid #ddd;
}
.bloglo-heading-wrapper.sub-heading {
  margin-top: -6px;
  background-color: rgba(0, 0, 0, 0);
  color: #777;
  border-bottom: none;
}
.bloglo-heading-wrapper.sub-heading:after {
  display: none;
}
.bloglo-heading-wrapper.toggle-heading:hover {
  cursor: pointer;
}
.bloglo-heading-wrapper.toggle-heading:hover .bloglo-heading-toggle label {
  background-color: #f0f0f0;
}
.bloglo-heading-wrapper.toggle-heading:hover
  .bloglo-heading-toggle
  label:before {
  color: #000;
}
.bloglo-heading-wrapper.top-spacer {
  margin-top: 0;
}
.bloglo-heading-wrapper .bloglo-control-heading {
  margin-right: auto;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 500;
}
.bloglo-heading-wrapper .bloglo-heading-toggle label {
  pointer-events: none;
  margin-left: 6px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 50%;
}
.bloglo-heading-wrapper .bloglo-heading-toggle label:before {
  content: "\f140";
  display: block;
  padding: 1px 2px 1px 0;
  speak: none;
  border-radius: 50%;
  color: #72777c;
  font: normal 20px/1 dashicons;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none !important;
}
.bloglo-heading-wrapper .bloglo-heading-toggle input[type="checkbox"] {
  display: none;
}
.bloglo-heading-wrapper
  .bloglo-heading-toggle
  input[type="checkbox"]:checked
  + label {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
inc/customizer/controls/heading/heading.scss000064400000003616152425655560015304 0ustar00/*****************************************/
/* Customizer control heading style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

#customize-controls {
  .customize-control.customize-control-bloglo-heading {
    &:after {
      margin-top: 1px;
    }

    .bloglo-heading-top-space {
      height: 12px;
      margin: -17px -12px 0 -12px;
      background-color: #eee;
      border-bottom: 1px solid #ddd;
    }
  }
}

.bloglo-heading-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  background-color: $color_5;
  color: #555d66;
  margin: -16px -12px -2px -12px;
  padding: 14px 12px;
  border-bottom: 1px solid #ddd;

  &.sub-heading {
    margin-top: -6px;
    background-color: rgba(0, 0, 0, 0);
    color: #777;
    border-bottom: none;

    &:after {
      display: none;
    }
  }

  &.toggle-heading:hover {
    cursor: pointer;

    .bloglo-heading-toggle label {
      background-color: #f0f0f0;

      &:before {
        color: #000;
      }
    }
  }

  &.top-spacer {
    margin-top: 0;
  }

  .bloglo-control-heading {
    margin-right: auto;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
  }

  .bloglo-heading-toggle {
    label {
      pointer-events: none;
      margin-left: 6px;
      display: flex;
      align-items: center;
      border-radius: 50%;

      &:before {
        content: "\f140";
        display: block;
        padding: 1px 2px 1px 0px;
        speak: none;
        border-radius: 50%;
        color: #72777c;
        font: normal 20px/1 dashicons;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-decoration: none !important;
      }
    }

    input[type="checkbox"] {
      display: none;

      &:checked + label {
        transform: rotate(180deg);
      }
    }
  }
}
inc/customizer/controls/heading/heading.min.js000064400000000735152425655560015526 0ustar00wp.customize.controlConstructor["bloglo-heading"] = wp.customize.Control.extend(
  {
    ready: function () {
      "use strict";
      var control = this;
      control.params.toggle &&
        control.container.on("click", ".bloglo-heading-wrapper", function () {
          control.setting.set(!control.setting.get());
          var $input = control.container.find("input[type=checkbox]");
          $input.prop("checked", !$input.prop("checked"));
        });
    },
  }
);
inc/customizer/controls/heading/heading.js000064400000001006152425655560014734 0ustar00wp.customize.controlConstructor["bloglo-heading"] = wp.customize.Control.extend(
  {
    ready: function () {
      "use strict";

      var control = this;

      // Change the value
      if (control.params.toggle) {
        control.container.on("click", ".bloglo-heading-wrapper", function () {
          control.setting.set(!control.setting.get());

          var $input = control.container.find("input[type=checkbox]");
          $input.prop("checked", !$input.prop("checked"));
        });
      }
    },
  }
);
inc/customizer/controls/heading/heading.css000064400000004630152425655560015116 0ustar00/*****************************************/
/* Customizer control heading style
/*****************************************/
/**
 * Import configuration file with variables.
 */
#customize-controls .customize-control.customize-control-bloglo-heading:after {
  margin-top: 1px;
}

#customize-controls
  .customize-control.customize-control-bloglo-heading
  .bloglo-heading-top-space {
  height: 12px;
  margin: -17px -12px 0 -12px;
  background-color: #eee;
  border-bottom: 1px solid #ddd;
}

.bloglo-heading-wrapper {
  position: relative;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #ffffff;
  color: #555d66;
  margin: -16px -12px -2px -12px;
  padding: 14px 12px;
  border-bottom: 1px solid #ddd;
}

.bloglo-heading-wrapper.sub-heading {
  margin-top: -6px;
  background-color: rgba(0, 0, 0, 0);
  color: #777;
  border-bottom: none;
}

.bloglo-heading-wrapper.sub-heading:after {
  display: none;
}

.bloglo-heading-wrapper.toggle-heading:hover {
  cursor: pointer;
}

.bloglo-heading-wrapper.toggle-heading:hover .bloglo-heading-toggle label {
  background-color: #f0f0f0;
}

.bloglo-heading-wrapper.toggle-heading:hover
  .bloglo-heading-toggle
  label:before {
  color: #000;
}

.bloglo-heading-wrapper.top-spacer {
  margin-top: 0;
}

.bloglo-heading-wrapper .bloglo-control-heading {
  margin-right: auto;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 500;
}

.bloglo-heading-wrapper .bloglo-heading-toggle label {
  pointer-events: none;
  margin-left: 6px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 50%;
}

.bloglo-heading-wrapper .bloglo-heading-toggle label:before {
  content: "\f140";
  display: block;
  padding: 1px 2px 1px 0px;
  speak: none;
  border-radius: 50%;
  color: #72777c;
  font: normal 20px/1 dashicons;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none !important;
}

.bloglo-heading-wrapper .bloglo-heading-toggle input[type="checkbox"] {
  display: none;
}

.bloglo-heading-wrapper
  .bloglo-heading-toggle
  input[type="checkbox"]:checked
  + label {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
inc/customizer/controls/spacing/spacing.css000064400000005673152425655560015200 0ustar00/*****************************************/
/* Customizer control spacing style
/*****************************************/
/**
 * Import configuration file with variables.
 */
.customize-control-bloglo-spacing .bloglo-control-wrap {
  position: relative;
}

.customize-control-bloglo-spacing .bloglo-control-wrap > ul {
  padding-top: 6px;
  display: none;
  width: 100%;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.customize-control-bloglo-spacing .bloglo-control-wrap > ul.active {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.customize-control-bloglo-spacing .bloglo-control-wrap .reset-defaults {
  position: absolute;
  top: -18px;
  right: 0;
  margin-right: 0;
}

.customize-control-bloglo-spacing .spacing-control-wrap {
  width: 20%;
  margin: 0;
}

.customize-control-bloglo-spacing .spacing-control-wrap input,
.customize-control-bloglo-spacing .spacing-control-wrap button {
  display: block;
  font-size: 12px;
  padding: 4px 0;
  width: 100%;
  height: 32px;
  border: 1px solid;
  border-color: #ddd;
  border-left-width: 0;
  border-radius: 0;
  text-align: center;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.customize-control-bloglo-spacing
  .spacing-control-wrap
  input[type="number"]::-webkit-inner-spin-button,
.customize-control-bloglo-spacing
  .spacing-control-wrap
  input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.customize-control-bloglo-spacing .spacing-control-wrap:first-child input {
  border-left-width: 1px;
  border-radius: 3px 0 0 3px;
}

.customize-control-bloglo-spacing .spacing-control-wrap .bloglo-spacing-label {
  display: block;
  color: #808890;
  font-size: 10px;
  padding-top: 4px;
  font-style: normal;
  text-transform: uppercase;
  font-weight: 400;
  text-align: center;
}

.customize-control-bloglo-spacing
  .spacing-control-wrap
  input:focus
  + .bloglo-spacing-label {
  color: #232323;
}

.customize-control-bloglo-spacing .spacing-control-wrap .spacing-link-values {
  border: 1px solid #ddd;
  border-left-width: 0;
  padding: 0;
  outline: none;
  border-radius: 0 3px 3px 0;
  cursor: pointer;
}

.customize-control-bloglo-spacing
  .spacing-control-wrap
  .spacing-link-values
  span {
  display: block;
  width: 100%;
  height: 30px;
  line-height: 30px;
  font-size: 16px;
  border-radius: 0 2px 2px 0;
  color: #808890;
}

.customize-control-bloglo-spacing
  .spacing-control-wrap
  .spacing-link-values:hover
  span {
  color: #232323;
}

.customize-control-bloglo-spacing
  .spacing-control-wrap
  .spacing-link-values
  .bloglo-spacing-linked {
  display: none;
  color: #0073aa !important;
}

.customize-control-bloglo-spacing
  .spacing-control-wrap
  .spacing-link-values.unlinked
  .bloglo-spacing-unlinked {
  display: none;
}

.customize-control-bloglo-spacing
  .spacing-control-wrap
  .spacing-link-values.unlinked
  .bloglo-spacing-linked {
  display: block;
}
inc/customizer/controls/spacing/spacing.scss000064400000004262152425655560015354 0ustar00/*****************************************/
/* Customizer control spacing style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

.customize-control-bloglo-spacing {
  .bloglo-control-wrap {
    position: relative;

    & > ul {
      padding-top: 6px;
      display: none;
      width: 100%;
      align-items: flex-start;

      &.active {
        display: flex;
      }
    }

    .reset-defaults {
      position: absolute;
      top: -18px;
      right: 0;
      margin-right: 0;
    }
  }

  .spacing-control-wrap {
    width: 20%;
    margin: 0;

    input,
    button {
      display: block;
      font-size: 12px;
      padding: 4px 0;
      width: 100%;
      height: 32px;
      border: 1px solid;
      border-color: #ddd;
      border-left-width: 0;
      border-radius: 0;
      text-align: center;
      box-shadow: none !important;
    }

    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

    &:first-child input {
      border-left-width: 1px;
      border-radius: 3px 0 0 3px;
    }

    .bloglo-spacing-label {
      display: block;
      color: #808890;
      font-size: 10px;
      padding-top: 4px;
      font-style: normal;
      text-transform: uppercase;
      font-weight: 400;
      text-align: center;
    }

    input:focus + .bloglo-spacing-label {
      color: #232323;
    }

    .spacing-link-values {
      border: 1px solid #ddd;
      border-left-width: 0;
      padding: 0;
      outline: none;
      border-radius: 0 3px 3px 0;
      cursor: pointer;

      span {
        display: block;
        width: 100%;
        height: 30px;
        line-height: 30px;
        font-size: 16px;
        border-radius: 0 2px 2px 0;
        color: #808890;
      }

      &:hover span {
        color: #232323;
      }

      .bloglo-spacing-linked {
        display: none;
        color: #0073aa !important;
      }

      &.unlinked {
        .bloglo-spacing-unlinked {
          display: none;
        }

        .bloglo-spacing-linked {
          display: block;
        }
      }
    }
  }
}
inc/customizer/controls/spacing/spacing.min.css000064400000005373152425655560015757 0ustar00.customize-control-bloglo-spacing .bloglo-control-wrap {
  position: relative;
}
.customize-control-bloglo-spacing .bloglo-control-wrap > ul {
  padding-top: 6px;
  display: none;
  width: 100%;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.customize-control-bloglo-spacing .bloglo-control-wrap > ul.active {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.customize-control-bloglo-spacing .bloglo-control-wrap .reset-defaults {
  position: absolute;
  top: -18px;
  right: 0;
  margin-right: 0;
}
.customize-control-bloglo-spacing .spacing-control-wrap {
  width: 20%;
  margin: 0;
}
.customize-control-bloglo-spacing .spacing-control-wrap input,
.customize-control-bloglo-spacing .spacing-control-wrap button {
  display: block;
  font-size: 12px;
  padding: 4px 0;
  width: 100%;
  height: 32px;
  border: 1px solid;
  border-color: #ddd;
  border-left-width: 0;
  border-radius: 0;
  text-align: center;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.customize-control-bloglo-spacing
  .spacing-control-wrap
  input[type="number"]::-webkit-inner-spin-button,
.customize-control-bloglo-spacing
  .spacing-control-wrap
  input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.customize-control-bloglo-spacing .spacing-control-wrap:first-child input {
  border-left-width: 1px;
  border-radius: 3px 0 0 3px;
}
.customize-control-bloglo-spacing .spacing-control-wrap .bloglo-spacing-label {
  display: block;
  color: #808890;
  font-size: 10px;
  padding-top: 4px;
  font-style: normal;
  text-transform: uppercase;
  font-weight: 400;
  text-align: center;
}
.customize-control-bloglo-spacing
  .spacing-control-wrap
  input:focus
  + .bloglo-spacing-label {
  color: #232323;
}
.customize-control-bloglo-spacing .spacing-control-wrap .spacing-link-values {
  border: 1px solid #ddd;
  border-left-width: 0;
  padding: 0;
  outline: none;
  border-radius: 0 3px 3px 0;
  cursor: pointer;
}
.customize-control-bloglo-spacing
  .spacing-control-wrap
  .spacing-link-values
  span {
  display: block;
  width: 100%;
  height: 30px;
  line-height: 30px;
  font-size: 16px;
  border-radius: 0 2px 2px 0;
  color: #808890;
}
.customize-control-bloglo-spacing
  .spacing-control-wrap
  .spacing-link-values:hover
  span {
  color: #232323;
}
.customize-control-bloglo-spacing
  .spacing-control-wrap
  .spacing-link-values
  .bloglo-spacing-linked {
  display: none;
  color: #0073aa !important;
}
.customize-control-bloglo-spacing
  .spacing-control-wrap
  .spacing-link-values.unlinked
  .bloglo-spacing-unlinked {
  display: none;
}
.customize-control-bloglo-spacing
  .spacing-control-wrap
  .spacing-link-values.unlinked
  .bloglo-spacing-linked {
  display: block;
}
inc/customizer/controls/spacing/class-bloglo-customizer-control-spacing.php000064400000011771152425655560023432 0ustar00<?php
/**
 * Bloglo Customizer custom spacing control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Spacing' ) ) :
	/**
	 * Bloglo Customizer custom select control class.
	 */
	class Bloglo_Customizer_Control_Spacing extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-spacing';

		/**
		 * The unit.
		 *
		 * @var string
		 */
		public $unit = array();

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['title']   = esc_html__( 'Link values', 'bloglo' );
			$this->json['choices'] = $this->choices;
			$this->json['unit']    = $this->unit;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-control-wrapper bloglo-spacing-wrapper<# if ( data.responsive ) { #> bloglo-control-responsive <# } #>">

				<# if ( data.label ) { #>
					<div class="customize-control-title">

						<span>{{{ data.label }}}</span>

						<# if ( data.description ) { #>
							<i class="bloglo-info-icon">
								<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
									<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
									<line x1="12" y1="17" x2="12" y2="17"></line>
								</svg>
								<span class="bloglo-tooltip">{{{ data.description }}}</span>
							</i>
						<# } #>

						<# if ( ! _.isEmpty( data.responsive ) ) { #>
							<?php $this->responsive_devices(); ?>
						<# } #>
					</div>
				<# } #>

				<# if ( ! _.isEmpty( data.unit ) ) { #>
					<div class="bloglo-control-unit">
						<# _.each( data.unit, function( unit ){ #>
							<input 
								type="radio" 
								id="spacing-unit-{{ data.id }}-{{ unit }}" 
								name="spacing-unit-{{ data.id }}" 
								value="{{ unit }}" 
								<# if ( unit === data.value['unit'] ) { #> checked="checked"<# } #> />
							<label for="spacing-unit-{{ data.id }}-{{ unit }}">{{{ unit }}}</label>
						<# }); #>
					</div>
				<# } #>

				<div class="bloglo-control-wrap">

					<a href="#" class="reset-defaults">
						<span class="dashicons dashicons-image-rotate"></span>
					</a>

					<# if ( ! _.isEmpty( data.responsive ) ) { #>

						<# _.each( data.responsive, function( settings, device ){ #>
							<ul class="{{ device }} control-responsive" data-device="{{ device }}">

								<# _.each( data.choices, function( title, id ){ #>

									<# if ( _.isEmpty( data.value[ device ] ) ) { 
										data.value[ device ] = [];
									} #>

									<li class="spacing-control-wrap spacing-input">
										<input {{{ data.inputAttrs }}} name="spacing-control-{{ device }}-{{ id }}" type="number" data-spacing-choice="{{ id }}" value="{{{ data.value[ device ][ id ] }}}" data-default="{{ data.default[ device ][ id ] }}"/>
										<span class="bloglo-spacing-label">{{{ title }}}</span>
									</li>

								<# }); #>

								<# if ( _.size( data.choices ) > 1 ) { #>
									<li class="spacing-control-wrap">
										<div class="spacing-link-values">
											<span class="dashicons dashicons-admin-links bloglo-spacing-linked" data-element="{{ data.id }}" title="{{ data.title }}"></span>
											<span class="dashicons dashicons-editor-unlink bloglo-spacing-unlinked" data-element="{{ data.id }}" title="{{ data.title }}"></span>
										</div>
									</li>
								<# } #>

							</ul>
						<# }); #>
					<# } else { #>

						<ul class="active">

							<# _.each( data.choices, function( title, id ){ #>

								<li class="spacing-control-wrap spacing-input">
									<input {{{ data.inputAttrs }}} name="spacing-control-{{ id }}" type="number" data-spacing-choice="{{ id }}" value="{{{ data.value[ id ] }}}" data-default="{{ data.default[ id ] }}"/>
									<span class="bloglo-spacing-label">{{{ title }}}</span>
								</li>

							<# }); #>

							<li class="spacing-control-wrap">
								<div class="spacing-link-values">
									<span class="dashicons dashicons-admin-links bloglo-spacing-linked" data-element="{{ data.id }}" title="{{ data.title }}"></span>
									<span class="dashicons dashicons-editor-unlink bloglo-spacing-unlinked" data-element="{{ data.id }}" title="{{ data.title }}"></span>
								</div>
							</li>
						</ul>

					<# } #>

				</div><!-- END .bloglo-control-wrap -->

			</div><!-- END .bloglo-control-wrapper -->
			<?php
		}
	}
endif;
inc/customizer/controls/spacing/spacing.min.js000064400000004531152425655560015576 0ustar00!(function (n) {
  "use strict";
  wp.customize.controlConstructor["bloglo-spacing"] =
    wp.customize.Control.extend({
      ready: function () {
        var i = this;
        i.container.on("click", ".bloglo-spacing-linked", function () {
          var i = n(this);
          i.closest("ul").find(".spacing-input").removeClass("linked"),
            i.parent(".spacing-link-values").removeClass("unlinked");
        }),
          i.container.on("click", ".bloglo-spacing-unlinked", function () {
            var i = n(this);
            i.closest("ul").find(".spacing-input").addClass("linked"),
              i.parent(".spacing-link-values").addClass("unlinked");
          }),
          i.container.on("input", ".linked input", function () {
            var i = n(this).val();
            n(this)
              .closest(".spacing-input")
              .siblings(".linked")
              .find("input")
              .val(i)
              .change();
          }),
          i.container
            .find('.bloglo-control-unit input[type="radio"]')
            .on("change", function () {
              i.save_value();
            }),
          i.container.on("change input", ".spacing-input input", function () {
            i.save_value();
          }),
          i.container.find(".reset-defaults").on("click", function () {
            i.container.find('input[type="number"]').each(function () {
              n(this).val(n(this).data("default"));
            }),
              i.save_value();
          });
      },
      save_value: function () {
        var n,
          i,
          t = {},
          e = this.params.responsive,
          a = this.params.choices,
          s = this.container.find(".bloglo-control-unit");
        if (void 0 === e || 0 == e.length)
          for (n in a)
            t[n] = this.container
              .find('[data-spacing-choice="' + n + '"]')
              .val();
        else
          for (i in e)
            for (n in ((t[i] = {}), a))
              t[i][n] = this.container
                .find(
                  ".control-responsive." +
                    i +
                    ' [data-spacing-choice="' +
                    n +
                    '"]'
                )
                .val();
        s.length && (t.unit = s.find('input[type="radio"]:checked').val()),
          this.setting.set(t);
      },
    });
})(jQuery);
inc/customizer/controls/spacing/spacing.js000064400000006043152425655560015014 0ustar00(function ($) {
  "use strict";

  wp.customize.controlConstructor["bloglo-spacing"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this;

        // Linked button.
        control.container.on("click", ".bloglo-spacing-linked", function () {
          // Set up variables.
          var $this = $(this);

          // Remove linked class.
          $this.closest("ul").find(".spacing-input").removeClass("linked");

          // Remove class.
          $this.parent(".spacing-link-values").removeClass("unlinked");
        });

        // Unlinked button.
        control.container.on("click", ".bloglo-spacing-unlinked", function () {
          // Set up variables.
          var $this = $(this);

          // Remove linked class.
          $this.closest("ul").find(".spacing-input").addClass("linked");

          // Remove class.
          $this.parent(".spacing-link-values").addClass("unlinked");
        });

        // Values linked inputs.
        control.container.on("input", ".linked input", function () {
          var $val = $(this).val();
          $(this)
            .closest(".spacing-input")
            .siblings(".linked")
            .find("input")
            .val($val)
            .change();
        });

        // Change unit.
        control.container
          .find('.bloglo-control-unit input[type="radio"]')
          .on("change", function () {
            control.save_value();
          });

        // Store new inputs.
        control.container.on(
          "change input",
          ".spacing-input input",
          function () {
            control.save_value();
          }
        );

        // Reset default values.
        control.container.find(".reset-defaults").on("click", function () {
          control.container.find('input[type="number"]').each(function () {
            $(this).val($(this).data("default"));
          });

          control.save_value();
        });
      },

      save_value: function () {
        var new_val = {},
          devices = this.params.responsive,
          choices = this.params.choices,
          choice,
          device,
          units = this.container.find(".bloglo-control-unit");

        if (devices === undefined || devices.length == 0) {
          for (choice in choices) {
            new_val[choice] = this.container
              .find('[data-spacing-choice="' + choice + '"]')
              .val();
          }
        } else {
          for (device in devices) {
            new_val[device] = {};
            for (choice in choices) {
              new_val[device][choice] = this.container
                .find(
                  ".control-responsive." +
                    device +
                    ' [data-spacing-choice="' +
                    choice +
                    '"]'
                )
                .val();
            }
          }
        }

        if (units.length) {
          new_val.unit = units.find('input[type="radio"]:checked').val();
        }

        this.setting.set(new_val);
      },
    });
})(jQuery);
inc/customizer/controls/design-options/class-bloglo-customizer-control-design-options.php000064400000053021152425655560026260 0ustar00<?php
/**
 * Bloglo Customizer design options control class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Design_Options' ) ) :
	/**
	 * Bloglo Customizer design options control class.
	 */
	class Bloglo_Customizer_Control_Design_Options extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-design-options';

		/**
		 * The displayed fields.
		 *
		 * @var string
		 */
		public $display = array();

		/**
		 * The control icon.
		 *
		 * @var string
		 */
		public $icon = 'edit';

		/**
		 * Set the default options.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) {

			$this->display = array(
				'background' => array(),
				'color'      => array(),
				'border'     => array(),
			);

			parent::__construct( $manager, $id, $args );
		}

		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {

			parent::enqueue();

			// Script debug.
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			// Enqueue WordPress color picker styles.
			wp_enqueue_style( 'wp-color-picker' );

			// Enqueue background image stylesheet.
			if ( isset( $this->display['background'] ) ) {
				wp_enqueue_style(
					'bloglo-background-control-style',
					BLOGLO_THEME_URI . '/inc/customizer/controls/background/background' . $bloglo_suffix . '.css',
					false,
					BLOGLO_THEME_VERSION,
					'all'
				);
			}
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['display'] = $this->display;
			$this->json['icon']    = $this->icon;

			$this->json['l10n'] = array(
				'background-type' => esc_html__( 'Type', 'bloglo' ),
				'gradient'        => array(
					'color-1'         => esc_html__( 'Color 1', 'bloglo' ),
					'color-2'         => esc_html__( 'Color 2', 'bloglo' ),
					'color-location'  => esc_html__( 'Location', 'bloglo' ),
					'type'            => esc_html__( 'Type', 'bloglo' ),
					'linear'          => esc_html__( 'Linear', 'bloglo' ),
					'radial'          => esc_html__( 'Radial', 'bloglo' ),
					'angle'           => esc_html__( 'Angle', 'bloglo' ),
					'position'        => esc_html__( 'Position', 'bloglo' ),
					'radial-position' => array(
						'center center' => esc_html__( 'Center Center', 'bloglo' ),
						'center left'   => esc_html__( 'Center Left', 'bloglo' ),
						'center right'  => esc_html__( 'Center Right', 'bloglo' ),
						'top center'    => esc_html__( 'Top Center', 'bloglo' ),
						'top left'      => esc_html__( 'Top Left', 'bloglo' ),
						'top right'     => esc_html__( 'Top Right', 'bloglo' ),
						'bottom center' => esc_html__( 'Bottom Center', 'bloglo' ),
						'bottom left'   => esc_html__( 'Bottom Left', 'bloglo' ),
						'bottom right'  => esc_html__( 'Bottom Right', 'bloglo' ),
					),
				),
				'image'           => array(
					'placeholder'  => __( 'No image selected', 'bloglo' ),
					'less'         => __( 'Less Settings', 'bloglo' ),
					'more'         => __( 'Advanced', 'bloglo' ),
					'select_image' => __( 'Select Image', 'bloglo' ),
					'use_image'    => __( 'Use This Image', 'bloglo' ),
				),
				'border-styles'   => array(
					'solid'  => esc_html__( 'Solid', 'bloglo' ),
					'dotted' => esc_html__( 'Dotted', 'bloglo' ),
					'dashed' => esc_html__( 'Dashed', 'bloglo' ),
				),
			);
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-design-options-wrapper bloglo-popup-options bloglo-control-wrapper">

				<div class="bloglo-design-options-heading">
					<# if ( data.label ) { #>
						<span class="customize-control-title">{{{ data.label }}}</span>
					<# } #>

					<# if ( data.description ) { #>
						<span class="description customize-control-description">{{{ data.description }}}</span>
					<# } #>
				</div>

				<a href="#" class="reset-defaults">
					<span class="dashicons dashicons-image-rotate"></span>
				</a>

				<a href="#" class="popup-link">
					<span class="dashicons dashicons-{{data.icon}}"></span>
				</a>

				<div class="popup-content hidden">

					<# if ( 'background' in data.display ) { #>

						<!-- Background Type -->
						<div class="bloglo-select-wrapper popup-element style-1">
							<label for="background-type-{{ data.id }}">{{{ data.l10n['background-type'] }}}</label>
							<div class="popup-input-wrapper">
								<select data-option="background-type" id="background-type-{{ data.id }}">
									<# _.each( data.display['background'], function( value, key ){ #>
										<option value="{{ key }}"<# if ( key === data.value['background-type'] ) { #> selected="selected"<# } #>>{{{ value }}}</option>
									<# }); #>
								</select>
							</div>
						</div>

						<# if ( 'color' in data.display['background'] ) { #>

							<div data-dep-field="background-type" data-dep-value="color">
								<!-- Background Color -->
								<div class="popup-element color-element style-1">
									<label for="background-color-{{ data.id }}">{{{ data.display['background']['color'] }}}</label>

									<input class="bloglo-color-control" data-option="background-color" type="text" value="{{data.value['background-color']}}" data-show-opacity="true" data-default-color="{{data.default['background-color']}}" />
								</div>
							</div>
						<# } #>

						<# if ( 'gradient' in data.display['background'] ) { #>

							<div data-dep-field="background-type" data-dep-value="gradient">

								<!-- Color 1 -->
								<div class="popup-element color-element style-1">
									<label for="gradient-color-1-{{ data.id }}">{{{ data.l10n['gradient']['color-1'] }}}</label>

									<input class="bloglo-color-control" data-option="gradient-color-1" type="text" value="{{data.value['gradient-color-1']}}" data-show-opacity="true" data-default-color="{{data.default['gradient-color-1']}}" />
								</div>

								<!-- Color 1 Location -->
								<div class="bloglo-range-wrapper popup-element color-element style-2" data-option-id="gradient-color-1-location">
									<label for="gradient-color-1-location-{{ data.id }}">{{{ 
									data.l10n['gradient']['color-location'] }}}</label>

									<div class="bloglo-control-wrap">
										<input 
											type="range" 
											value="{{data.value['gradient-color-1-location']}}" 
											min="0" 
											max="100" 
											step="1" />

										<input 
											type="number" 
											class="bloglo-range-input" 
											value="{{data.value['gradient-color-1-location']}}"
											data-option="gradient-color-1-location" />
									</div>
								</div>

								<!-- Color 2 -->
								<div class="popup-element color-element style-1">
									<label for="gradient-color-2-{{ data.id }}">{{{ data.l10n['gradient']['color-2'] }}}</label>

									<input class="bloglo-color-control" data-option="gradient-color-2" type="text" value="{{data.value['gradient-color-2']}}" data-show-opacity="true" data-default-color="{{data.default['gradient-color-2']}}" />
								</div>

								<!-- Color 2 Location -->
								<div class="bloglo-range-wrapper popup-element color-element style-2" data-option-id="gradient-color-2-location">
									<label for="gradient-color-2-location-{{ data.id }}">{{{ data.l10n['gradient']['color-location'] }}}</label>

									<div class="bloglo-control-wrap">
										<input 
											type="range" 
											value="{{data.value['gradient-color-2-location']}}" 
											min="0" 
											max="100" 
											step="1" />

										<input 
											type="number" 
											class="bloglo-range-input" 
											value="{{data.value['gradient-color-2-location']}}"
											data-option="gradient-color-2-location" />
									</div>
								</div>

								<!-- Type -->
								<div class="bloglo-select-wrapper popup-element style-1">
									<label for="gradient-type-{{ data.id }}">{{{ data.l10n['gradient']['type'] }}}</label>
									<div class="popup-input-wrapper">
										<select data-option="gradient-type" id="gradient-type-{{ data.id }}">
											<option value="linear"<# if ( 'linear' === data.value['gradient-type'] ) { #> selected="selected"<# } #>>{{{ data.l10n['gradient']['linear'] }}}</option>
											<option value="radial"<# if ( 'radial' === data.value['gradient-type'] ) { #> selected="selected"<# } #>>{{{ data.l10n['gradient']['radial'] }}}</option>
										</select>
									</div>
								</div>

								<!-- Linear Angle -->
								<div data-dep-field="gradient-type" data-dep-value="linear" class="bloglo-range-wrapper popup-element color-element style-2" data-option-id="gradient-linear-angle">
									<label for="gradient-angle-{{ data.id }}">{{{ 
									data.l10n['gradient']['angle'] }}}</label>

									<div class="bloglo-control-wrap">
										<input 
											type="range" 
											value="{{data.value['gradient-linear-angle']}}" 
											min="0" 
											max="360" 
											step="1" />

										<input 
											type="number" 
											class="bloglo-range-input" 
											value="{{data.value['gradient-linear-angle']}}"
											data-option="gradient-linear-angle" />
									</div>
								</div>

								<!-- Radial Position -->
								<div data-dep-field="gradient-type" data-dep-value="radial" class="bloglo-select-wrapper popup-element style-1">
									<label for="gradient-position-{{ data.id }}">{{{ data.l10n['gradient']['position'] }}}</label>
									<div class="popup-input-wrapper">
										<select data-option="gradient-position" id="gradient-position-{{ data.id }}">
											<# _.each( data.l10n['gradient']['radial-position'], function( value, key ){ #>
												<option value="{{ key }}"<# if ( key === data.value['gradient-position'] ) { #> selected="selected"<# } #>>{{{ value }}}</option>
											<# }); #>
										</select>
									</div>
								</div>
							</div>
						<# } #>

						<# if ( 'image' in data.display['background'] ) { #>

							<div class="bloglo-background-wrapper" data-dep-field="background-type" data-dep-value="image">

								<!-- Background Image -->
								<div class="background-image">

									<div class="attachment-media-view background-image-upload">

										<# if ( data.value['background-image'] ) { #>
											<div class="thumbnail thumbnail-image"><img src="{{ data.value['background-image'] }}" alt="" /></div>
										<# } else { #>
											<div class="placeholder"><?php esc_html_e( 'No image selected', 'bloglo' ); ?></div>
										<# } #>

										<input type="hidden" data-option="background-image" value="{{ data.value['background-image'] }}" name="background-image-{{ data.id }}" />

										<div class="actions">

											<button class="button background-image-upload-remove-button<# if ( ! data.value['background-image'] ) { #> hidden<# } #>"><?php esc_html_e( 'Remove', 'bloglo' ); ?></button>

											<button type="button" class="button background-image-upload-button">{{{ data.l10n['image']['select_image'] }}}</button>

											<a href="#" class="advanced-settings<# if ( ! data.value['background-image'] ) { #> hidden<# } #>">
												<span class="message"><?php esc_html_e( 'Advanced', 'bloglo' ); ?></span>
												<span class="dashicons dashicons-arrow-down"></span>
											</a>

										</div>
									</div>
								</div>

								<!-- Background Advanced -->
								<div class="background-image-advanced">

									<!-- Background Repeat -->
									<div class="background-repeat">
										<select {{{ data.inputAttrs }}} data-option="background-repeat">
											<option value="no-repeat"<# if ( 'no-repeat' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'No Repeat', 'bloglo' ); ?></option>
											<option value="repeat"<# if ( 'repeat' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat All', 'bloglo' ); ?></option>
											<option value="repeat-x"<# if ( 'repeat-x' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat Horizontally', 'bloglo' ); ?></option>
											<option value="repeat-y"<# if ( 'repeat-y' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat Vertically', 'bloglo' ); ?></option>
										</select>
									</div>

									<!-- Background Position -->
									<div class="background-position">

										<h4><?php esc_html_e( 'Background Position', 'bloglo' ); ?></h4>

										<div class="bloglo-range-wrapper" data-option-id="background-position-x">
											<span><?php esc_html_e( 'Horizontal', 'bloglo' ); ?></span>
											<div class="bloglo-control-wrap">
												<input 
													type="range" 
													data-key="background-position-x"
													value="{{ data.value['background-position-x'] }}" 
													min="0" 
													max="100" 
													step="1" />
												<input 
													type="number" 
													class="bloglo-range-input"
													data-option="background-position-x"
													value="{{ data.value['background-position-x'] }}"  />
												<span class="bloglo-range-suffix">%</span>
											</div>
										</div>

										<div class="bloglo-range-wrapper" data-option-id="background-position-y">
											<span><?php esc_html_e( 'Vertical', 'bloglo' ); ?></span>
											<div class="bloglo-control-wrap">
												<input 
													type="range"
													data-key="background-position-y"
													value="{{ data.value['background-position-y'] }}" 
													min="0" 
													max="100" 
													step="1" />
												<input 
													type="number"
													class="bloglo-range-input"
													data-option="background-position-y"
													value="{{ data.value['background-position-y'] }}"  />
												<span class="bloglo-range-suffix">%</span>
											</div>
										</div>

									</div>

									<!-- Background Size -->
									<div class="background-size">
										<h4><?php esc_html_e( 'Background Size', 'bloglo' ); ?></h4>
										<div class="buttonset">
											<input {{{ data.inputAttrs }}} data-option="background-size" class="switch-input screen-reader-text" type="radio" value="cover" name="_customize-bg-{{{ data.id }}}-size" id="{{ data.id }}cover" <# if ( 'cover' === data.value['background-size'] ) { #> checked="checked" <# } #>>
												<label class="switch-label" for="{{ data.id }}cover"><?php esc_html_e( 'Cover', 'bloglo' ); ?></label>
											</input>
											<input {{{ data.inputAttrs }}} data-option="background-size" class="switch-input screen-reader-text" type="radio" value="contain" name="_customize-bg-{{{ data.id }}}-size" id="{{ data.id }}contain" <# if ( 'contain' === data.value['background-size'] ) { #> checked="checked" <# } #>>
												<label class="switch-label" for="{{ data.id }}contain"><?php esc_html_e( 'Contain', 'bloglo' ); ?></label>
											</input>
											<input {{{ data.inputAttrs }}} data-option="background-size" class="switch-input screen-reader-text" type="radio" value="auto" name="_customize-bg-{{{ data.id }}}-size" id="{{ data.id }}auto" <# if ( 'auto' === data.value['background-size'] ) { #> checked="checked" <# } #>>
												<label class="switch-label" for="{{ data.id }}auto"><?php esc_html_e( 'Auto', 'bloglo' ); ?></label>
											</input>
										</div>
									</div>

									<!-- Background Attachment -->
									<div class="background-attachment">
										<h4><?php esc_html_e( 'Background Attachment', 'bloglo' ); ?></h4>
										<div class="buttonset">
											<input {{{ data.inputAttrs }}} data-option="background-attachment" lass="switch-input screen-reader-text" type="radio" value="inherit" name="_customize-bg-{{{ data.id }}}-attachment" id="{{ data.id }}inherit" <# if ( 'inherit' === data.value['background-attachment'] ) { #> checked="checked" <# } #>>
												<label class="switch-label" for="{{ data.id }}inherit"><?php esc_html_e( 'Inherit', 'bloglo' ); ?></label>
											</input>
											<input {{{ data.inputAttrs }}} data-option="background-attachment" class="switch-input screen-reader-text" type="radio" value="scroll" name="_customize-bg-{{{ data.id }}}-attachment" id="{{ data.id }}scroll" <# if ( 'scroll' === data.value['background-attachment'] ) { #> checked="checked" <# } #>>
												<label class="switch-label" for="{{ data.id }}scroll"><?php esc_html_e( 'Scroll', 'bloglo' ); ?></label>
											</input>
											<input {{{ data.inputAttrs }}} data-option="background-attachment" class="switch-input screen-reader-text" type="radio" value="fixed" name="_customize-bg-{{{ data.id }}}-attachment" id="{{ data.id }}fixed" <# if ( 'fixed' === data.value['background-attachment'] ) { #> checked="checked" <# } #>>
												<label class="switch-label" for="{{ data.id }}fixed"><?php esc_html_e( 'Fixed', 'bloglo' ); ?></label>
											</input>
										</div>
									</div>

									<!-- Background Color Overlay -->
									<div class="background-color-overlay popup-element color-element style-1">

										<label for="background-color-overlay-{{ data.id }}"><h4><?php esc_html_e( 'Overlay Color', 'bloglo' ); ?></h4></label>

										<input class="bloglo-color-control" data-option="background-color-overlay" type="text" value="{{data.value['background-color-overlay']}}" data-show-opacity="true" data-default-color="{{data.default['background-color-overlay']}}" />
									</div>

									<!-- Background Image ID -->
									<input type="hidden" data-option="background-image-id" value="{{ data.value['background-image-id'] }}" class="background-image-id" />
								</div>

							</div>
						<# } #>
					<# } #>

					<# if ( 'color' in data.display ) { #>

						<# _.each( data.display['color'], function( title, id ){ #>

							<div class="popup-element color-element style-1">
								<label for="{{ id }}-{{ data.id }}">{{{ title }}}</label>

								<input class="bloglo-color-control" data-option="{{ id }}" type="text" value="{{data.value[ id ]}}" data-show-opacity="true" data-default-color="{{data.default[ id ]}}" />
							</div>
						<# }); #>

					<# } #>

					<# if ( 'border' in data.display ) { #>

						<# if ( 'width' in data.display['border'] && 'positions' in data.display['border'] ) { #>

							<div class="customize-control-bloglo-spacing popup-element style-2">

								<label>{{{ data.display['border']['width'] }}}</label>

								<div class="bloglo-control-wrap">

									<ul class="active">

										<# _.each( data.display['border']['positions'], function( title, id ){ #>
											<li class="spacing-control-wrap spacing-input">
												<input {{{ data.inputAttrs }}} name="spacing-control-{{ id }}" type="number" data-option="border-{{ id }}-width" value="{{{ data.value[ 'border-' + id + '-width' ] }}}" />
												<span class="bloglo-spacing-label">{{{ title }}}</span>
											</li>
										<# }); #>

										<li class="spacing-control-wrap">
											<div class="spacing-link-values">
												<span class="dashicons dashicons-admin-links bloglo-spacing-linked" data-element="{{ data.id }}" title="{{ data.title }}"></span>
												<span class="dashicons dashicons-editor-unlink bloglo-spacing-unlinked" data-element="{{ data.id }}" title="{{ data.title }}"></span>
											</div>
										</li>

									</ul>
								</div>
							</div>

						<# } #>

						<# if ( 'style' in data.display['border'] ) { #>
							<!-- Border Style -->
							<div class="bloglo-select-wrapper popup-element style-1">
								<label for="border-style-{{ data.id }}">{{{ data.display['border']['style'] }}}</label>
								<div class="popup-input-wrapper">
									<select data-option="border-style" id="border-style-{{ data.id }}">
										<# _.each( data.l10n['border-styles'], function( value, key ){ #>
											<option value="{{ key }}"<# if ( key === data.value['border-style'] ) { #> selected="selected"<# } #>>{{{ value }}}</option>
										<# }); #>
									</select>
								</div>
							</div>
						<# } #>

						<# if ( 'color' in data.display['border'] ) { #>
							<!-- Border Color -->
							<div class="popup-element color-element style-1">
								<label for="border-color-{{ data.id }}">{{{ data.display['border']['color'] }}}</label>

								<input class="bloglo-color-control" data-option="border-color" type="text" value="{{data.value['border-color']}}" data-show-opacity="true" data-default-color="{{data.default['border-color']}}" />
							</div>
						<# } #>

						<# if ( 'separator' in data.display['border'] ) { #>
							<!-- Separator Color -->
							<div class="popup-element color-element style-1">
								<label for="separator-color-{{ data.id }}">{{{ data.display['border']['separator'] }}}</label>

								<input class="bloglo-color-control" data-option="separator-color" type="text" value="{{data.value['separator-color']}}" data-show-opacity="true" data-default-color="{{data.default['separator-color']}}" />
							</div>
						<# } #>

					<# } #>

				</div><!-- .popup-content -->

			</div><!-- .bloglo-control-wrapper -->
			<?php
		}
	}
endif;
inc/customizer/controls/design-options/design-options.scss000064400000000721152425655560020204 0ustar00/*****************************************/
/* Customizer control design options style
/*****************************************/

.bloglo-design-options-wrapper {
  .background-color-overlay {
    .wp-color-result.button {
      top: 1.33em !important;
    }
  }

  .bloglo-design-options-heading {
    flex-grow: 1;
  }

  .bloglo-range-suffix {
    margin-left: 6px;
  }

  .reset-defaults {
    display: none;

    &.active {
      display: block;
    }
  }
}
inc/customizer/controls/design-options/design-options.min.js000064400000027527152425655560020444 0ustar00!(function ($) {
  "use strict";
  wp.customize.controlConstructor["bloglo-design-options"] =
    wp.customize.Control.extend({
      ready: function () {
        var control = this,
          setting = control.setting.get(),
          popup_content = control.container.find(".popup-content");
        control.container.find(".bloglo-range-wrapper").each(function () {
          var $this = $(this);
          $this.rangeControl({
            id: control.params.id + "-" + $this.data("option-id"),
            option: $this.data("option-id"),
            value: setting[$this.data("options-id")],
            responsive: control.params.responsive,
            change: function () {
              control.update_value();
            },
          });
        }),
          control.container
            .find("input.bloglo-range-input")
            .on("change keyup", function () {
              control.autocorrect_range_input_number($(this), 1e3, undefined);
            })
            .on("focusout", function () {
              control.autocorrect_range_input_number($(this), 0, undefined);
            }),
          control.container.on(
            "change",
            '[data-option="background-type"], [data-option="gradient-type"]',
            function () {
              var field = $(this).attr("data-option");
              control.container.find('[data-dep-field="' + field + '"]').hide(),
                control.container
                  .find(
                    '[data-dep-field="' +
                      field +
                      '"][data-dep-value="' +
                      $(this).val() +
                      '"]'
                  )
                  .show();
            }
          ),
          control.container
            .find(
              '[data-option="background-type"], [data-option="gradient-type"]'
            )
            .trigger("change"),
          control.container.on(
            "color-updated",
            ".bloglo-color-control",
            function () {
              control.update_value();
            }
          ),
          control.container.on("change", ".bloglo-select-wrapper", function () {
            control.update_value();
          }),
          control.container.find(".popup-link").on("click", function () {
            popup_content.toggleClass("hidden"),
              $(this).toggleClass("active"),
              $(this).siblings(".reset-defaults").toggleClass("active"),
              $("body").on("click", outside_click_close);
          });
        var outside_click_close = function (e) {
          $(e.target).closest(".customize-save-button-wrapper").length ||
            control.container.has($(e.target).closest(".popup-link")).length ||
            control.container.has($(e.target).closest(".popup-content"))
              .length ||
            popup_content.hasClass("hidden") ||
            $(e.target).closest(".reset-defaults").length ||
            (popup_content.addClass("hidden"),
            control.container.find(".popup-link").removeClass("active"),
            control.container.find(".reset-defaults").removeClass("active"),
            $("body").off("click", outside_click_close));
        };
        control.container.find(".background-image-advanced").hide(),
          control.container.on(
            "change",
            ".background-repeat select",
            function () {
              control.update_value();
            }
          ),
          control.container.on(
            "change click",
            ".background-size input",
            function () {
              control.update_value();
            }
          ),
          control.container.on(
            "change click",
            ".background-attachment input",
            function () {
              control.update_value();
            }
          ),
          control.container.on(
            "click",
            ".background-image-upload-button",
            function (e) {
              $("body").off("click", outside_click_close);
              var image = wp
                .media({
                  multiple: !1,
                  title: control.params.l10n.image.select_image,
                  button: { text: control.params.l10n.image.use_image },
                })
                .open()
                .on("select", function () {
                  var previewImage,
                    imageUrl,
                    imageID,
                    preview,
                    removeButton,
                    uploadedImageJSON = image
                      .state()
                      .get("selection")
                      .first()
                      .toJSON();
                  (previewImage = _.isUndefined(uploadedImageJSON.sizes)
                    ? uploadedImageJSON.url
                    : _.isUndefined(uploadedImageJSON.sizes.medium)
                    ? _.isUndefined(uploadedImageJSON.sizes.thumbnail)
                      ? _.isUndefined(uploadedImageJSON.sizes.full)
                        ? uploadedImageJSON.url
                        : uploadedImageJSON.sizes.full.url
                      : uploadedImageJSON.sizes.thumbnail.url
                    : uploadedImageJSON.sizes.medium.url),
                    (imageUrl = uploadedImageJSON.url),
                    (imageID = uploadedImageJSON.id),
                    uploadedImageJSON.width,
                    uploadedImageJSON.height,
                    "" !== imageUrl &&
                      (control.container
                        .find(".background-image-advanced")
                        .show(),
                      control.container
                        .find(".advanced-settings")
                        .removeClass("hidden")
                        .addClass("up")),
                    control.container
                      .find('[data-option="background-image"]')
                      .val(imageUrl),
                    control.container
                      .find('[data-option="background-image-id"]')
                      .val(imageID),
                    control.update_value(),
                    (preview = control.container.find(
                      ".placeholder, .thumbnail"
                    )),
                    (removeButton = control.container.find(
                      ".background-image-upload-remove-button"
                    )),
                    preview.length &&
                      preview
                        .removeClass()
                        .addClass("thumbnail thumbnail-image")
                        .html('<img src="' + previewImage + '" alt="" />'),
                    removeButton.length && removeButton.show(),
                    setTimeout(function () {
                      $("body").on("click", outside_click_close);
                    }, 100);
                });
              e.preventDefault();
            }
          ),
          control.container.on(
            "click",
            ".background-image-upload-remove-button",
            function (e) {
              var preview, removeButton;
              e.preventDefault(),
                control.container
                  .find('[data-option="background-image"]')
                  .val(""),
                control.container
                  .find('[data-option="background-image-id"]')
                  .val(""),
                control.update_value(),
                (preview = control.container.find(".placeholder, .thumbnail")),
                (removeButton = control.container.find(
                  ".background-image-upload-remove-button"
                )),
                control.container.find(".background-image-advanced").hide(),
                control.container
                  .find(".advanced-settings")
                  .addClass("hidden")
                  .removeClass("up"),
                preview.length &&
                  preview
                    .removeClass()
                    .addClass("placeholder")
                    .html(control.params.l10n.image.placeholder),
                removeButton.length && removeButton.hide();
            }
          ),
          control.container.on("click", ".advanced-settings", function (e) {
            $(this).toggleClass("up"),
              control.container.find(".background-image-advanced").toggle();
          }),
          control.container.on("click", ".bloglo-spacing-linked", function () {
            var $this = $(this);
            $this.closest("ul").find(".spacing-input").removeClass("linked"),
              $this.parent(".spacing-link-values").removeClass("unlinked");
          }),
          control.container.on(
            "click",
            ".bloglo-spacing-unlinked",
            function () {
              var $this = $(this);
              $this.closest("ul").find(".spacing-input").addClass("linked"),
                $this.parent(".spacing-link-values").addClass("unlinked");
            }
          ),
          control.container.on("input", ".linked input", function () {
            var $val = $(this).val();
            $(this)
              .closest(".spacing-input")
              .siblings(".linked")
              .find("input")
              .val($val)
              .change();
          }),
          control.container.on(
            "change input",
            ".spacing-input input",
            function () {
              control.update_value();
            }
          ),
          control.container.find(".reset-defaults").on("click", function () {
            var item, option_id;
            control.container.find("[data-option]").each(function () {
              (item = $(this)),
                "background-size" === (option_id = item.data("option")) ||
                "background-attachment" === option_id
                  ? (item.prop("checked", !1),
                    option_id in control.params.default &&
                      control.params.default[option_id] === item.val() &&
                      item.prop("checked", !0))
                  : item
                      .val(control.params.default[item.data("option")])
                      .trigger("change");
            }),
              control.container
                .find(".background-image-upload-remove-button")
                .click(),
              control.update_value();
          });
      },
      update_value: function () {
        var option,
          value = {};
        this.container.find("[data-option]").each(function () {
          (option = $(this).data("option")),
            (value[option] =
              "background-size" === option || "background-attachment" === option
                ? $(this).is(":checked")
                  ? $(this).val()
                  : value[option]
                : $(this).val());
        }),
          this.setting.set(value);
      },
      autocorrect_range_input_number: function (input_number, timeout) {
        var range_input = input_number,
          range = range_input.parent().find('input[type="range"]'),
          value = parseFloat(range_input.val()),
          reset = parseFloat(
            range.find(".bloglo-reset-range").attr("data-reset_value")
          ),
          step = parseFloat(range_input.attr("step")),
          min = parseFloat(range_input.attr("min")),
          max = parseFloat(range_input.attr("max"));
        clearTimeout(timeout),
          (timeout = setTimeout(function () {
            if (isNaN(value))
              return (
                range_input.val(reset), void range.val(reset).trigger("change")
              );
            step >= 1 &&
              value % 1 != 0 &&
              ((value = Math.round(value)),
              range_input.val(value),
              range.val(value).trigger("change")),
              value > max &&
                (range_input.val(max), range.val(max).trigger("change")),
              value < min &&
                (range_input.val(min), range.val(min).trigger("change"));
          }, timeout)),
          range.val(value).trigger("change"),
          this.update_value();
      },
    });
})(jQuery);
inc/customizer/controls/design-options/design-options.css000064400000001127152425655560020022 0ustar00/*****************************************/
/* Customizer control design options style
/*****************************************/
.bloglo-design-options-wrapper
  .background-color-overlay
  .wp-color-result.button {
  top: 1.33em !important;
}

.bloglo-design-options-wrapper .bloglo-design-options-heading {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.bloglo-design-options-wrapper .bloglo-range-suffix {
  margin-left: 6px;
}

.bloglo-design-options-wrapper .reset-defaults {
  display: none;
}

.bloglo-design-options-wrapper .reset-defaults.active {
  display: block;
}
inc/customizer/controls/design-options/design-options.min.css000064400000000671152425655560020607 0ustar00.bloglo-design-options-wrapper
  .background-color-overlay
  .wp-color-result.button {
  top: 1.33em !important;
}
.bloglo-design-options-wrapper .bloglo-design-options-heading {
  -ms-flex-positive: 1;
  flex-grow: 1;
}
.bloglo-design-options-wrapper .bloglo-range-suffix {
  margin-left: 6px;
}
.bloglo-design-options-wrapper .reset-defaults {
  display: none;
}
.bloglo-design-options-wrapper .reset-defaults.active {
  display: block;
}
inc/customizer/controls/design-options/design-options.js000064400000031776152425655560017663 0ustar00(function ($) {
  "use strict";

  wp.customize.controlConstructor["bloglo-design-options"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this,
          setting = control.setting.get(),
          range,
          range_input,
          value,
          bloglo_range_input_number_timeout,
          popup_content = control.container.find(".popup-content");

        // Range controls.
        control.container.find(".bloglo-range-wrapper").each(function () {
          var $this = $(this);

          $this.rangeControl({
            id: control.params.id + "-" + $this.data("option-id"),
            option: $this.data("option-id"),
            value: setting[$this.data("options-id")],
            responsive: control.params.responsive,
            change: function () {
              control.update_value();
            },
          });
        });

        // Change the text value
        control.container
          .find("input.bloglo-range-input")
          .on("change keyup", function () {
            control.autocorrect_range_input_number(
              $(this),
              1000,
              bloglo_range_input_number_timeout
            );
          })
          .on("focusout", function () {
            control.autocorrect_range_input_number(
              $(this),
              0,
              bloglo_range_input_number_timeout
            );
          });

        // Visibility deps.
        control.container.on(
          "change",
          '[data-option="background-type"], [data-option="gradient-type"]',
          function () {
            var field = $(this).attr("data-option");
            control.container.find('[data-dep-field="' + field + '"]').hide();
            control.container
              .find(
                '[data-dep-field="' +
                  field +
                  '"][data-dep-value="' +
                  $(this).val() +
                  '"]'
              )
              .show();
          }
        );

        control.container
          .find(
            '[data-option="background-type"], [data-option="gradient-type"]'
          )
          .trigger("change");

        // Changes.
        control.container.on(
          "color-updated",
          ".bloglo-color-control",
          function () {
            control.update_value();
          }
        );

        control.container.on("change", ".bloglo-select-wrapper", function () {
          control.update_value();
        });

        // Advanced panel.
        control.container.find(".popup-link").on("click", function () {
          popup_content.toggleClass("hidden");
          $(this).toggleClass("active");
          $(this).siblings(".reset-defaults").toggleClass("active");

          // Close the panel on outside click.
          $("body").on("click", outside_click_close);
        });

        var outside_click_close = function (e) {
          if (
            !$(e.target).closest(".customize-save-button-wrapper").length &&
            !control.container.has($(e.target).closest(".popup-link")).length &&
            !control.container.has($(e.target).closest(".popup-content"))
              .length &&
            !popup_content.hasClass("hidden") &&
            !$(e.target).closest(".reset-defaults").length
          ) {
            popup_content.addClass("hidden");
            control.container.find(".popup-link").removeClass("active");
            control.container.find(".reset-defaults").removeClass("active");
            $("body").off("click", outside_click_close);
          }
        };

        // Hide unnecessary controls.
        control.container.find(".background-image-advanced").hide();

        // Background-Repeat.
        control.container.on(
          "change",
          ".background-repeat select",
          function () {
            control.update_value();
          }
        );

        // Background-Size.
        control.container.on(
          "change click",
          ".background-size input",
          function () {
            control.update_value();
          }
        );

        // Background-Attachment.
        control.container.on(
          "change click",
          ".background-attachment input",
          function () {
            control.update_value();
          }
        );

        // Background-Image.
        control.container.on(
          "click",
          ".background-image-upload-button",
          function (e) {
            $("body").off("click", outside_click_close);

            var image = wp
              .media({
                multiple: false,
                title: control.params.l10n.image.select_image,
                button: {
                  text: control.params.l10n.image.use_image,
                },
              })
              .open()
              .on("select", function () {
                // This will return the selected image from the Media Uploader, the result is an object.
                var uploadedImage = image.state().get("selection").first(),
                  uploadedImageJSON = uploadedImage.toJSON(),
                  previewImage,
                  imageUrl,
                  imageID,
                  imageWidth,
                  imageHeight,
                  preview,
                  removeButton;

                if (!_.isUndefined(uploadedImageJSON.sizes)) {
                  if (!_.isUndefined(uploadedImageJSON.sizes.medium)) {
                    previewImage = uploadedImageJSON.sizes.medium.url;
                  } else if (
                    !_.isUndefined(uploadedImageJSON.sizes.thumbnail)
                  ) {
                    previewImage = uploadedImageJSON.sizes.thumbnail.url;
                  } else if (!_.isUndefined(uploadedImageJSON.sizes.full)) {
                    previewImage = uploadedImageJSON.sizes.full.url;
                  } else {
                    previewImage = uploadedImageJSON.url;
                  }
                } else {
                  previewImage = uploadedImageJSON.url;
                }

                imageUrl = uploadedImageJSON.url;
                imageID = uploadedImageJSON.id;
                imageWidth = uploadedImageJSON.width;
                imageHeight = uploadedImageJSON.height;

                // Show extra controls if the value has an image.
                if ("" !== imageUrl) {
                  control.container.find(".background-image-advanced").show();
                  control.container
                    .find(".advanced-settings")
                    .removeClass("hidden")
                    .addClass("up");
                }

                control.container
                  .find('[data-option="background-image"]')
                  .val(imageUrl);
                control.container
                  .find('[data-option="background-image-id"]')
                  .val(imageID);

                control.update_value();

                preview = control.container.find(".placeholder, .thumbnail");
                removeButton = control.container.find(
                  ".background-image-upload-remove-button"
                );

                if (preview.length) {
                  preview
                    .removeClass()
                    .addClass("thumbnail thumbnail-image")
                    .html('<img src="' + previewImage + '" alt="" />');
                }
                if (removeButton.length) {
                  removeButton.show();
                }

                setTimeout(function () {
                  $("body").on("click", outside_click_close);
                }, 100);
              });

            e.preventDefault();
          }
        );

        control.container.on(
          "click",
          ".background-image-upload-remove-button",
          function (e) {
            var preview, removeButton;

            e.preventDefault();

            control.container.find('[data-option="background-image"]').val("");
            control.container
              .find('[data-option="background-image-id"]')
              .val("");

            control.update_value();

            preview = control.container.find(".placeholder, .thumbnail");
            removeButton = control.container.find(
              ".background-image-upload-remove-button"
            );

            // Hide unnecessary controls.
            control.container.find(".background-image-advanced").hide();
            control.container
              .find(".advanced-settings")
              .addClass("hidden")
              .removeClass("up");

            if (preview.length) {
              preview
                .removeClass()
                .addClass("placeholder")
                .html(control.params.l10n.image.placeholder);
            }

            if (removeButton.length) {
              removeButton.hide();
            }
          }
        );

        control.container.on("click", ".advanced-settings", function (e) {
          $(this).toggleClass("up");
          control.container.find(".background-image-advanced").toggle();
        });

        // Spacing field.

        // Linked button
        control.container.on("click", ".bloglo-spacing-linked", function () {
          // Set up variables
          var $this = $(this);

          // Remove linked class
          $this.closest("ul").find(".spacing-input").removeClass("linked");

          // Remove class
          $this.parent(".spacing-link-values").removeClass("unlinked");
        });

        // Unlinked button
        control.container.on("click", ".bloglo-spacing-unlinked", function () {
          // Set up variables
          var $this = $(this);

          // Remove linked class
          $this.closest("ul").find(".spacing-input").addClass("linked");

          // Remove class
          $this.parent(".spacing-link-values").addClass("unlinked");
        });

        // Values linked inputs
        control.container.on("input", ".linked input", function () {
          var $val = $(this).val();
          $(this)
            .closest(".spacing-input")
            .siblings(".linked")
            .find("input")
            .val($val)
            .change();
        });

        // Store new inputs
        control.container.on(
          "change input",
          ".spacing-input input",
          function () {
            control.update_value();
          }
        );

        // Reset default.
        control.container.find(".reset-defaults").on("click", function () {
          var item, option_id;

          control.container.find("[data-option]").each(function () {
            item = $(this);
            option_id = item.data("option");

            if (
              "background-size" === option_id ||
              "background-attachment" === option_id
            ) {
              item.prop("checked", false);

              if (
                option_id in control.params.default &&
                control.params.default[option_id] === item.val()
              ) {
                item.prop("checked", true);
              }
            } else {
              item
                .val(control.params.default[item.data("option")])
                .trigger("change");
            }
          });

          control.container
            .find(".background-image-upload-remove-button")
            .click();

          control.update_value();
        });
      },

      // Update value.
      update_value: function () {
        var self = this,
          value = {},
          option;

        self.container.find("[data-option]").each(function () {
          option = $(this).data("option");

          if (
            "background-size" === option ||
            "background-attachment" === option
          ) {
            value[option] = $(this).is(":checked")
              ? $(this).val()
              : value[option];
          } else {
            value[option] = $(this).val();
          }
        });

        self.setting.set(value);
      },

      autocorrect_range_input_number: function (input_number, timeout) {
        var range_input = input_number,
          range = range_input.parent().find('input[type="range"]'),
          value = parseFloat(range_input.val()),
          reset = parseFloat(
            range.find(".bloglo-reset-range").attr("data-reset_value")
          ),
          step = parseFloat(range_input.attr("step")),
          min = parseFloat(range_input.attr("min")),
          max = parseFloat(range_input.attr("max"));

        clearTimeout(timeout);

        timeout = setTimeout(function () {
          if (isNaN(value)) {
            range_input.val(reset);
            range.val(reset).trigger("change");
            return;
          }

          if (step >= 1 && value % 1 !== 0) {
            value = Math.round(value);
            range_input.val(value);
            range.val(value).trigger("change");
          }

          if (value > max) {
            range_input.val(max);
            range.val(max).trigger("change");
          }

          if (value < min) {
            range_input.val(min);
            range.val(min).trigger("change");
          }
        }, timeout);

        range.val(value).trigger("change");
        this.update_value();
      },
    });
})(jQuery);
inc/customizer/controls/select/select.min.js000064400000003477152425655560015274 0ustar00!(function ($) {
  "use strict";
  wp.customize.controlConstructor["bloglo-select"] =
    wp.customize.Control.extend({
      ready: function () {
        var control = this;
        control.params.is_select2 &&
          (control.container.find(".bloglo-select-control").select2({
            placeholder: bloglo_customizer_localized.strings.selectCategory,
            allowClear: !0,
          }),
          control.container.on(
            "select2:opening",
            ".bloglo-select-control",
            function () {
              control.populate_select2(),
                control.container.off(
                  "select2:opening",
                  ".bloglo-select-control"
                );
            }
          ),
          control.container.on(
            "select2:select select2:unselect select2:clear",
            ".bloglo-select-control",
            function () {
              $(this).val() || control.setting.set([]);
            }
          ));
      },
      populate_select2: function (e) {
        var self = this,
          options = "",
          selected = "",
          setting = self.setting.get();
        "" === setting["font-family"] && (selected = ' selected="selected"'),
          $.each(self.params.choices, function (id, name) {
            (selected = ""),
              ((setting &&
                self.params.multiple &&
                -1 !== setting.indexOf(id)) ||
                (!self.params.multiple && id === setting)) &&
                (selected = ' selected="selected"'),
              (options +=
                '<option value="' +
                id +
                '"' +
                selected +
                ">" +
                name +
                "</option>");
          }),
          self.container.find(".bloglo-select-control").html(options);
      },
    });
})(jQuery);
inc/customizer/controls/select/select.css000064400000003071152425655560014654 0ustar00/*****************************************/
/* Customizer control select style
/*****************************************/
/**
 * Import configuration file with variables.
 */
.bloglo-select-wrapper select {
  margin: 6px 0 0 0;
}

.bloglo-select-wrapper
  .select2-container--default
  .select2-selection--multiple {
  border-radius: 3px;
  border-color: #7e8993;
}

.bloglo-select-wrapper
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered {
  display: block;
}

.bloglo-select-wrapper
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__choice {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #eee;
  border-color: #ddd;
  border-radius: 20px;
  padding: 2px 10px;
  margin-bottom: 0;
}

.bloglo-select-wrapper
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__choice__remove {
  position: relative;
  top: -1.5px;
  color: #aaa;
  margin-right: 5px;
  font-weight: 400;
}

.bloglo-select-wrapper
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__clear {
  margin-right: 2px;
  font-weight: 400;
  font-size: 17px;
}

.bloglo-select-wrapper
  .select2-container--default
  .select2-search--inline
  .select2-search__field {
  position: absolute;
  padding: 0px 5px;
  margin: 0;
}

.bloglo-select-wrapper .select2-container .select2-selection--multiple {
  min-height: 35px;
}

.select2-results {
  padding: 6px;
}
inc/customizer/controls/select/select.js000064400000003671152425655560014506 0ustar00(function ($) {
  "use strict";

  wp.customize.controlConstructor["bloglo-select"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this;

        if (control.params.is_select2) {
          // Init select2.
          control.container.find(".bloglo-select-control").select2({
            placeholder:
              control.params.placeholder ??
              bloglo_customizer_localized.strings.selectCategory,
            allowClear: true,
          });

          // Populate select2 field.
          control.container.on(
            "select2:opening",
            ".bloglo-select-control",
            function () {
              control.populate_select2();
              control.container.off(
                "select2:opening",
                ".bloglo-select-control"
              );
            }
          );

          control.container.on(
            "select2:select select2:unselect select2:clear",
            ".bloglo-select-control",
            function () {
              if (!$(this).val()) {
                control.setting.set([]);
              }
            }
          );
        }
      },

      // Populate select2.
      populate_select2: function (e) {
        var self = this,
          options = "",
          selected = "",
          setting = self.setting.get();

        if ("" === setting["font-family"]) {
          selected = ' selected="selected"';
        }

        $.each(self.params.choices, function (id, name) {
          selected = "";

          if (
            (setting && self.params.multiple && -1 !== setting.indexOf(id)) ||
            (!self.params.multiple && id === setting)
          ) {
            selected = ' selected="selected"';
          }

          options +=
            '<option value="' + id + '"' + selected + ">" + name + "</option>";
        });

        self.container.find(".bloglo-select-control").html(options);
      },
    });
})(jQuery);
inc/customizer/controls/select/class-bloglo-customizer-control-select.php000064400000012544152425655560023117 0ustar00<?php
/**
 * Bloglo Customizer custom select control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Select' ) ) :
	/**
	 * Bloglo Customizer custom select control class.
	 */
	class Bloglo_Customizer_Control_Select extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-select';

		/**
		 * Placeholder text.
		 *
		 * @since 1.0.0
		 * @var string|false
		 */
		public $placeholder = false;

		/**
		 * Select2 flag.
		 *
		 * @since 1.0.0
		 * @var boolean
		 */
		public $is_select2 = false;

		/**
		 * Data source.
		 *
		 * @since 1.0.0
		 * @var string|false
		 */
		public $data_source = false;

		/**
		 * Source from where we will show data like custom taxonomy.
		 *
		 * @var boolean
		 */
		public $data_source_name = null;

		/**
		 * Multiple items.
		 *
		 * @since 1.0.0
		 * @var boolean
		 */
		public $multiple = false;

		/**
		 * Set the default typography options.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) {

			parent::__construct( $manager, $id, $args );

			if ( $this->is_select2 ) {

				switch ( $this->data_source ) {

					case 'category':
						$args       = array(
							'hide_empty' => true,
							'taxonomy'   => $this->data_source_name ?? 'category',
						);
						$categories = get_terms( $args );

						$choices = array();

						if ( ! empty( $categories ) ) {

							foreach ( $categories as $category ) {
								if ( ! is_object( $category ) ) {
									continue;
								}
								$choices[ $category->slug ] = $category->name;
							}
						}

						$this->choices = $choices;

						break;
					case 'page':
						$pages = get_pages();

						$choices = array();
						if ( ! empty( $pages ) ) {

							foreach ( $pages as $page ) {
								$choices[ $page->post_name ] = $page->post_title;
							}
						}

						$this->choices = $choices;

						break;

					default:
						// code...
						break;
				}
			}
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['choices']     = $this->choices;
			$this->json['placeholder'] = $this->placeholder;
			$this->json['is_select2']  = $this->is_select2;
			$this->json['multiple']    = $this->multiple ? ' multiple="multiple"' : '';

			if ( $this->multiple ) {
				$this->json['value'] = implode( ',', (array) $this->json['value'] );
			}
		}

		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {

			parent::enqueue();

			if ( $this->is_select2 ) {

				// Script debug.
				$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

				/**
				 * Enqueue select2 stylesheet.
				 */
				wp_enqueue_style(
					'bloglo-select2-style',
					BLOGLO_THEME_URI . '/inc/admin/assets/css/select2' . $bloglo_suffix . '.css',
					false,
					BLOGLO_THEME_VERSION,
					'all'
				);

				/**
				 * Enqueue select2 script.
				 */
				wp_enqueue_script(
					'bloglo-select2-js',
					BLOGLO_THEME_URI . '/inc/admin/assets/js/libs/select2' . $bloglo_suffix . '.js',
					array( 'jquery' ),
					BLOGLO_THEME_VERSION,
					true
				);
			}
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-control-wrapper bloglo-select-wrapper">

			<label>
				<# if ( data.label ) { #>
					<div class="customize-control-title">
						<span>{{{ data.label }}}</span>

						<# if ( data.description ) { #>
							<i class="bloglo-info-icon">
								<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
									<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
									<line x1="12" y1="17" x2="12" y2="17"></line>
								</svg>
								<span class="bloglo-tooltip">{{{ data.description }}}</span>
							</i>
						<# } #>
					</div>
				<# } #>

				<select class="bloglo-select-control" {{{ data.link }}}{{{ data.multiple }}}>

					<# if ( data.is_select2 ) { #>

						<# _.each( data.choices, function( label, choice ) {
							if(data.value) { #>

							<option value="{{ choice }}" <# if ( -1 !== data.value.indexOf( choice ) ) { #> selected="selected" <# } #>>{{ label }}</option>

						<# } } ) #>

					<#  } else { #>
						<# for ( key in data.choices ) { #>
							<option value="{{ key }}" <# if ( key === data.value ) { #> checked="checked" <# } #>>{{ data.choices[ key ] }}</option>
						<# } #>
					<# } #>
				</select>

			</label>

			</div><!-- END .bloglo-control-wrapper -->
																							<?php
		}
	}
endif;
inc/customizer/controls/select/select.scss000064400000002304152425655560015035 0ustar00/*****************************************/
/* Customizer control select style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

.bloglo-select-wrapper {
  select {
    margin: 6px 0 0 0;
  }

  .select2-container--default .select2-selection--multiple {
    border-radius: 3px;
    border-color: #7e8993;

    .select2-selection__rendered {
      display: block;
    }

    .select2-selection__choice {
      display: flex;
      align-items: center;
      background-color: #eee;
      border-color: #ddd;
      border-radius: 20px;
      padding: 2px 10px;
      margin-bottom: 0;
    }

    .select2-selection__choice__remove {
      position: relative;
      top: -1.5px;
      color: #aaa;
      margin-right: 5px;
      font-weight: 400;
    }

    .select2-selection__clear {
      margin-right: 2px;
      font-weight: 400;
      font-size: 17px;
    }
  }

  .select2-container--default .select2-search--inline .select2-search__field {
    position: absolute;
    padding: 0px 5px;
    margin: 0;
  }

  .select2-container .select2-selection--multiple {
    min-height: 35px;
  }
}

.select2-results {
  padding: 6px;
}
inc/customizer/controls/select/select.min.css000064400000002510152425655560015433 0ustar00.bloglo-select-wrapper select {
  margin: 6px 0 0;
}
.bloglo-select-wrapper
  .select2-container--default
  .select2-selection--multiple {
  border-radius: 3px;
  border-color: #7e8993;
}
.bloglo-select-wrapper
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered {
  display: block;
}
.bloglo-select-wrapper
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__choice {
  -js-display: flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  background-color: #eee;
  border-color: #ddd;
  border-radius: 20px;
  padding: 2px 10px;
  margin-bottom: 0;
}
.bloglo-select-wrapper
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__choice__remove {
  position: relative;
  top: -1.5px;
  color: #aaa;
  margin-right: 5px;
  font-weight: 400;
}
.bloglo-select-wrapper
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__clear {
  margin-right: 2px;
  font-weight: 400;
  font-size: 17px;
}
.bloglo-select-wrapper
  .select2-container--default
  .select2-search--inline
  .select2-search__field {
  position: absolute;
  padding: 0 5px;
  margin: 0;
}
.bloglo-select-wrapper .select2-container .select2-selection--multiple {
  min-height: 35px;
}
.select2-results {
  padding: 6px;
}
inc/customizer/controls/editor/class-bloglo-customizer-control-editor.php000064400000006207152425655560023134 0ustar00<?php
/**
 * Customizer editor control class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}
/**
 * Bloglo Customizer editor control class.
 */
class Bloglo_Customizer_Control_Editor extends Bloglo_Customizer_Control {
	/**
	 * The type of customize control being rendered.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    string
	 */
	public $type = 'bloglo-editor';

	/**
	 * Add support for palettes to be passed in.
	 * Supported palette values are true, false, or an array of RGBa and Hex colors.
	 *
	 * @var string
	 */
	public $mod = '';
	/**
	 * Enqueue scripts/styles.
	 *
	 * @since  1.0.0
	 * @access public
	 * @return void
	 */
	public function enqueue() {
		parent::enqueue();
		if ( ! class_exists( '_WP_Editors' ) ) {
			require ABSPATH . WPINC . '/class-wp-editor.php';
		}
		add_action( 'customize_controls_print_footer_scripts', array( __CLASS__, 'enqueue_editor' ), 2 );
		add_action( 'customize_controls_print_footer_scripts', array( '_WP_Editors', 'editor_js' ), 50 );
		add_action( 'customize_controls_print_footer_scripts', array( '_WP_Editors', 'enqueue_scripts' ), 1 );
	}
	/**
	 * Enqueue/initialize edior scripts.
	 *
	 * @return void
	 */
	public static function enqueue_editor() {
		if ( ! isset( $GLOBALS['__wp_mce_editor__'] ) || ! $GLOBALS['__wp_mce_editor__'] ) {
			$GLOBALS['__wp_mce_editor__'] = true;?>
			<script id="_wp-mce-editor-tpl" type="text/html">
				<?php wp_editor( '', '__wp_mce_editor__' ); ?>
			</script>
			<?php
		}
	}
	/**
	 * Refresh the parameters passed to the JavaScript via JSON.
	 *
	 * @see WP_Customize_Control::to_json()
	 */
	public function to_json() {
		parent::to_json();
		$this->json['mod'] = strtolower( $this->mod );
	}
	/**
	 * An Underscore (JS) template for this control's content (but not its container).
	 *
	 * Class variables for this control class are available in the `data` JS object;
	 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
	 *
	 * @see WP_Customize_Control::print_template()
	 */
	protected function content_template() {
		?>
		<div class="bloglo-control-wrapper wp-js-editor bloglo-textarea-wrapper">
			<label>
				<# if ( data.label ) { #>
				<div class="customize-control-title">
					<span>{{{ data.label }}}</span>
					<# if ( data.description ) { #>
						<i class="bloglo-info-icon">
							<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
								<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
							<line x1="12" y1="17" x2="12" y2="17"></line>
							</svg>
							<span class="bloglo-tooltip">{{{ data.description }}}</span>
						</i>
					<# } #>
				</div>
				<# } #>
				<#
				var mod = data.mod;
				if(mod != 'html'){
					mod = 'tmce';
				} #>
				<textarea class="wp-js-editor-textarea large-text" data-editor-mod="{{ mod }}" {{{ data.link }}}>{{ data.value }}</textarea>
			</label>
		</div><!-- END .bloglo-control-wrapper -->
		<?php
	}
}
inc/customizer/controls/editor/editor.js000064400000033667152425655560014534 0ustar00/**
 * WP EDITOR plugin
 */
(function ($) {
  window._wpEditor = {
    init: function (id, content, settings) {
      var _id = "__wp_mce_editor__";
      var _tpl = $("#_wp-mce-editor-tpl").html();
      if (typeof content === "undefined") {
        content = "";
      }
      if (typeof window.tinyMCEPreInit.mceInit[_id] !== "undefined") {
        var tmceInit = _.clone(window.tinyMCEPreInit.mceInit[_id]);
        var qtInit = _.clone(window.tinyMCEPreInit.qtInit[_id]);
        tmceInit = $.extend(tmceInit, settings.tinymce);
        qtInit = $.extend(qtInit, settings.qtag);
        var tpl = _tpl.replace(new RegExp(_id, "g"), id);
        var template = $(tpl);
        template.find("textarea").removeAttr("rows").removeAttr("cols");
        $("#" + id).replaceWith(template);
        // set content
        $("#" + id).val(content);
        $wrap = tinymce.$("#wp-" + id + "-wrap");
        tmceInit.body_class = tmceInit.body_class.replace(
          new RegExp(_id, "g"),
          id
        );
        tmceInit.selector = tmceInit.selector.replace(new RegExp(_id, "g"), id);
        tmceInit.cache_suffix = "";
        $wrap.removeClass("html-active").addClass("tmce-active");
        tmceInit.init_instance_callback = function (editor) {
          if (typeof settings === "object") {
            if (typeof settings.mod === "string" && settings.mod === "html") {
              //console.log( settings.mod  );
              switchEditors.go(id, settings.mod);
            }
            // editor.theme.resizeTo('100%', 500);
            if (typeof settings.init_instance_callback === "function") {
              settings.init_instance_callback(editor);
            }
            if (settings.sync_id !== "") {
              if (typeof settings.sync_id === "string") {
                editor.on("keyup change", function (e) {
                  var html = editor.getContent({ format: "raw" });
                  html = _wpEditor.removep(html);
                  $("#" + settings.sync_id)
                    .val(html)
                    .trigger("change");
                });
              } else {
                editor.on("keyup change", function (e) {
                  var html = editor.getContent({ format: "raw" });
                  html = _wpEditor.removep(html);
                  settings.sync_id.val(html).trigger("change");
                });
              }
              $("textarea#" + id).on("keyup change", function () {
                var v = $(this).val();
                if (typeof settings.sync_id === "string") {
                  $("#" + settings.sync_id)
                    .val(v)
                    .trigger("change");
                } else {
                  settings.sync_id.val(v).trigger("change");
                }
              });
            }
          }
        };
        tmceInit.plugins = tmceInit.plugins.replace("fullscreen,", "");
        tinyMCEPreInit.mceInit[id] = tmceInit;
        qtInit.id = id;
        tinyMCEPreInit.qtInit[id] = qtInit;
        if (
          $wrap.hasClass("tmce-active") ||
          !tinyMCEPreInit.qtInit.hasOwnProperty(id)
        ) {
          tinymce.init(tmceInit);
          if (!window.wpActiveEditor) {
            window.wpActiveEditor = id;
          }
        }
        if (typeof quicktags !== "undefined") {
          /**
           * Reset quicktags
           * This is crazy condition
           * Maybe this is a bug ?
           * see wp-includes/js/quicktags.js line 252
           */
          if (QTags.instances["0"]) {
            QTags.instances["0"] = false;
          }
          quicktags(qtInit);
          if (!window.wpActiveEditor) {
            window.wpActiveEditor = id;
          }
        }
      }
    },
    /**
     * Replace paragraphs with double line breaks
     * @see wp-admin/js/editor.js
     */
    removep: function (html) {
      return window.switchEditors._wp_Nop(html);
    },
    sync: function () {
      //
    },
    remove: function (id) {
      var content = "";
      var editor = false;
      if ((editor = tinymce.get(id))) {
        content = editor.getContent({ format: "raw" });
        content = _wpEditor.removep(content);
        editor.remove();
      } else {
        content = $("#" + id).val();
      }
      if ($("#wp-" + id + "-wrap").length > 0) {
        window._wpEditorBackUp = window._wpEditorBackUp || {};
        if (typeof window._wpEditorBackUp[id] !== "undefined") {
          $("#wp-" + id + "-wrap").replaceWith(window._wpEditorBackUp[id]);
        }
      }
      $("#" + id).val(content);
    },
  };
  $.fn.wp_js_editor = function (options) {
    // This is the easiest way to have default options.
    if (options !== "remove") {
      options = $.extend(
        {
          sync_id: "", // sync to another text area
          tinymce: {}, // tinymce setting
          qtag: {}, // quick tag settings
          mod: "", // quick tag settings
          init_instance_callback: function () {}, // quick tag settings
        },
        options
      );
    } else {
      options = "remove";
    }
    return this.each(function () {
      var edit_area = $(this);
      edit_area.uniqueId();
      // Make sure edit area have a id attribute
      var id = edit_area.attr("id") || "";
      if (id === "") {
        return;
      }
      if ("remove" !== options) {
        if (!options.mod) {
          options.mod = edit_area.attr("data-editor-mod") || "";
        }
        window._wpEditorBackUp = window._wpEditorBackUp || {};
        window._wpEditorBackUp[id] = edit_area;
        window._wpEditor.init(id, edit_area.val(), options);
      } else {
        window._wpEditor.remove(id);
      }
    });
  };
})(jQuery);
(function (api, $) {
  function _the_editor(container) {
    var _editor = {
      editor_added: false,
      ready: function (container) {
        var control = this;
        control.container = container;
        control.container.addClass("bloglo-editor-added");
        control.editing_area = $("textarea", control.container);
        if (control.editing_area.hasClass("wp-editor-added")) {
          return false;
        }
        control.editing_area.uniqueId();
        control.editing_area.addClass("wp-editor-added");
        control.editing_id = control.editing_area.attr("id") || false;
        if (!control.editing_id) {
          return false;
        }
        control.editor_id = "wpe-for-" + control.editing_id;
        control.preview = $(
          '<div id="preview-' +
            control.editing_id +
            '" class="wp-js-editor-preview"></div>'
        );
        control.editing_editor = $(
          '<div id="wrap-' +
            control.editing_id +
            '" class="modal-wp-js-editor"><textarea id="' +
            control.editor_id +
            '"></textarea></div>'
        );
        var content = control.editing_area.val();
        // Load default value
        $("textarea", control.editing_editor).val(content);
        try {
          control.preview.html(window.switchEditors._wp_Autop(content));
        } catch (e) {}
        $("body").on(
          "click",
          "#customize-controls, .customize-section-back",
          function (e) {
            if (!$(e.target).is(control.preview)) {
              /// e.preventDefault(); // Keep this AFTER the key filter above
              control.editing_editor.removeClass("wpe-active");
              $(".wp-js-editor-preview").removeClass("wpe-focus");
            }
          }
        );
        control.container.find(".wp-js-editor").addClass("wp-js-editor-active");
        control.preview.insertBefore(control.editing_area);
        control._init();
        $(window).on("resize", function () {
          control._resize();
        });
      },
      _add_editor: function () {
        var control = this;
        if (!this.editor_added) {
          this.editor_added = true;
          $("body .wp-full-overlay").append(control.editing_editor);
          $("textarea", control.editing_editor)
            .attr(
              "data-editor-mod",
              control.editing_area.attr("data-editor-mod") || ""
            )
            .wp_js_editor({
              sync_id: control.editing_area,
              init_instance_callback: function (editor) {
                var w = $("#wp-" + control.editor_id + "-wrap");
                $(".wp-editor-tabs", w).append(
                  '<button class="wp-switch-editor fullscreen-wp-editor"  type="button"><span class="dashicons"></span></button>'
                );
                $(".wp-editor-tabs", w).append(
                  '<button class="wp-switch-editor preview-wp-editor"  type="button"><span class="dashicons dashicons-visibility"></span></button>'
                );
                $(".wp-editor-tabs", w).append(
                  '<button class="wp-switch-editor close-wp-editor"  type="button"><span class="dashicons dashicons-no-alt"></span></button>'
                );
                w.on("click", ".close-wp-editor", function (e) {
                  e.preventDefault();
                  control.editing_editor.removeClass("wpe-active");
                  $(".wp-js-editor-preview").removeClass("wpe-focus");
                });
                $(".preview-wp-editor", w).hover(
                  function () {
                    w.closest(".modal-wp-js-editor").css({ opacity: 0 });
                  },
                  function () {
                    w.closest(".modal-wp-js-editor").css({ opacity: 1 });
                  }
                );
                w.on("click", ".fullscreen-wp-editor", function (e) {
                  e.preventDefault();
                  w.closest(".modal-wp-js-editor").toggleClass("fullscreen");
                  setTimeout(function () {
                    $(window).resize();
                  }, 600);
                });
              },
            });
        }
      },
      _init: function () {
        var control = this;
        control.editing_area.on("change", function () {
          control.preview.html(window.switchEditors._wp_Autop($(this).val()));
        });
        control.preview.on("click", function (e) {
          control._add_editor();
          // $( '.modal-wp-js-editor').removeClass( 'wpe-active' );
          control.editing_editor.toggleClass("wpe-active");
          tinyMCE.get(control.editor_id).focus();
          control.preview.addClass("wpe-focus");
          control._resize();
          return false;
        });
        control.container.on("click", ".wp-js-editor-preview", function (e) {
          e.preventDefault();
        });
      },
      _resize: function () {
        var control = this;
        var w = $("#wp-" + control.editor_id + "-wrap");
        var height = w.innerHeight();
        var tb_h = w.find(".mce-toolbar-grp").eq(0).height();
        tb_h += w.find(".wp-editor-tools").eq(0).height();
        tb_h += 50;
        //var width = $( window ).width();
        var editor = tinymce.get(control.editor_id);
        if (editor) {
          control.editing_editor.width("");
          editor.theme.resizeTo("100%", height - tb_h);
          w.find("textarea.wp-editor-area").height(height - tb_h);
        }
      },
    };
    _editor.ready(container);
  }
  function _remove_editor($context) {
    $("textarea", $context).each(function () {
      var id = $(this).attr("id") || "";
      var editor_id = "wpe-for-" + id;
      try {
        var editor = tinymce.get(editor_id);
        if (editor) {
          editor.remove();
        }
        $("#wrap-" + editor_id).remove();
        $("#wrap-" + id).remove();
        if (typeof tinyMCEPreInit.mceInit[editor_id] !== "undefined") {
          delete tinyMCEPreInit.mceInit[editor_id];
        }
        if (typeof tinyMCEPreInit.qtInit[editor_id] !== "undefined") {
          delete tinyMCEPreInit.qtInit[editor_id];
        }
      } catch (e) {}
    });
  }
  var _is_init_editors = {};
  // jQuery( document ).ready( function( $ ){
  api.bind("ready", function (e, b) {
    $("#customize-theme-controls .accordion-section").each(function () {
      var section = $(this);
      var id = section.attr("id") || "";
      if (id) {
        if (typeof _is_init_editors[id] === "undefined") {
          _is_init_editors[id] = true;
          setTimeout(function () {
            if ($(".wp-js-editor", section).length > 0) {
              $(".wp-js-editor", section).each(function () {
                _the_editor($(this));
              });
            }
            if (
              $(
                ".repeatable-customize-control:not(.no-changeable) .item-editor",
                section
              ).length > 0
            ) {
              $(
                ".repeatable-customize-control:not(.no-changeable) .item-editor",
                section
              ).each(function () {
                _the_editor($(this));
              });
            }
          }, 10);
        }
      }
    });
    // Check section when focus
    if (_wpCustomizeSettings.autofocus) {
      if (_wpCustomizeSettings.autofocus.section) {
        var id =
          "sub-accordion-section-" + _wpCustomizeSettings.autofocus.section;
        _is_init_editors[id] = true;
        var section = $("#" + id);
        setTimeout(function () {
          if ($(".wp-js-editor", section).length > 0) {
            $(".wp-js-editor", section).each(function () {
              _the_editor($(this));
            });
          }
          if (
            $(
              ".repeatable-customize-control:not(.no-changeable) .item-editor",
              section
            ).length > 0
          ) {
            $(
              ".repeatable-customize-control:not(.no-changeable) .item-editor",
              section
            ).each(function () {
              _the_editor($(this));
            });
          }
        }, 1000);
      } else if (_wpCustomizeSettings.autofocus.panel) {
      }
    }
    $("body").on("repeater-control-init-item", function (e, container) {
      $(".item-editor", container).each(function () {
        _the_editor($(this));
      });
    });
    $("body").on("repeat-control-remove-item", function (e, container) {
      _remove_editor(container);
    });
  });
})(wp.customize, jQuery);
inc/customizer/controls/editor/editor.min.js000064400000027756152425655560015320 0ustar00!(function (e) {
  (window._wpEditor = {
    init: function (t, i, n) {
      var o = "__wp_mce_editor__",
        r = e("#_wp-mce-editor-tpl").html();
      if (
        (void 0 === i && (i = ""), void 0 !== window.tinyMCEPreInit.mceInit[o])
      ) {
        var a = _.clone(window.tinyMCEPreInit.mceInit[o]),
          d = _.clone(window.tinyMCEPreInit.qtInit[o]);
        (a = e.extend(a, n.tinymce)), (d = e.extend(d, n.qtag));
        var c = r.replace(new RegExp(o, "g"), t),
          s = e(c);
        s.find("textarea").removeAttr("rows").removeAttr("cols"),
          e("#" + t).replaceWith(s),
          e("#" + t).val(i),
          ($wrap = tinymce.$("#wp-" + t + "-wrap")),
          (a.body_class = a.body_class.replace(new RegExp(o, "g"), t)),
          (a.selector = a.selector.replace(new RegExp(o, "g"), t)),
          (a.cache_suffix = ""),
          $wrap.removeClass("html-active").addClass("tmce-active"),
          (a.init_instance_callback = function (i) {
            "object" == typeof n &&
              ("string" == typeof n.mod &&
                "html" === n.mod &&
                switchEditors.go(t, n.mod),
              "function" == typeof n.init_instance_callback &&
                n.init_instance_callback(i),
              "" !== n.sync_id &&
                ("string" == typeof n.sync_id
                  ? i.on("keyup change", function (t) {
                      var o = i.getContent({ format: "raw" });
                      (o = _wpEditor.removep(o)),
                        e("#" + n.sync_id)
                          .val(o)
                          .trigger("change");
                    })
                  : i.on("keyup change", function (e) {
                      var t = i.getContent({ format: "raw" });
                      (t = _wpEditor.removep(t)),
                        n.sync_id.val(t).trigger("change");
                    }),
                e("textarea#" + t).on("keyup change", function () {
                  var t = e(this).val();
                  "string" == typeof n.sync_id
                    ? e("#" + n.sync_id)
                        .val(t)
                        .trigger("change")
                    : n.sync_id.val(t).trigger("change");
                })));
          }),
          (a.plugins = a.plugins.replace("fullscreen,", "")),
          (tinyMCEPreInit.mceInit[t] = a),
          (d.id = t),
          (tinyMCEPreInit.qtInit[t] = d),
          (!$wrap.hasClass("tmce-active") &&
            tinyMCEPreInit.qtInit.hasOwnProperty(t)) ||
            (tinymce.init(a),
            window.wpActiveEditor || (window.wpActiveEditor = t)),
          "undefined" != typeof quicktags &&
            (QTags.instances[0] && (QTags.instances[0] = !1),
            quicktags(d),
            window.wpActiveEditor || (window.wpActiveEditor = t));
      }
    },
    removep: function (e) {
      return window.switchEditors._wp_Nop(e);
    },
    sync: function () {},
    remove: function (t) {
      var i = "",
        n = !1;
      (n = tinymce.get(t))
        ? ((i = n.getContent({ format: "raw" })),
          (i = _wpEditor.removep(i)),
          n.remove())
        : (i = e("#" + t).val()),
        e("#wp-" + t + "-wrap").length > 0 &&
          ((window._wpEditorBackUp = window._wpEditorBackUp || {}),
          void 0 !== window._wpEditorBackUp[t] &&
            e("#wp-" + t + "-wrap").replaceWith(window._wpEditorBackUp[t])),
        e("#" + t).val(i);
    },
  }),
    (e.fn.wp_js_editor = function (t) {
      return (
        (t =
          "remove" !== t
            ? e.extend(
                {
                  sync_id: "",
                  tinymce: {},
                  qtag: {},
                  mod: "",
                  init_instance_callback: function () {},
                },
                t
              )
            : "remove"),
        this.each(function () {
          var i = e(this);
          i.uniqueId();
          var n = i.attr("id") || "";
          "" !== n &&
            ("remove" !== t
              ? (t.mod || (t.mod = i.attr("data-editor-mod") || ""),
                (window._wpEditorBackUp = window._wpEditorBackUp || {}),
                (window._wpEditorBackUp[n] = i),
                window._wpEditor.init(n, i.val(), t))
              : window._wpEditor.remove(n));
        })
      );
    });
})(jQuery),
  (function (e, t) {
    function i(e) {
      ({
        editor_added: !1,
        ready: function (e) {
          var i = this;
          if (
            ((i.container = e),
            i.container.addClass("bloglo-editor-added"),
            (i.editing_area = t("textarea", i.container)),
            i.editing_area.hasClass("wp-editor-added"))
          )
            return !1;
          if (
            (i.editing_area.uniqueId(),
            i.editing_area.addClass("wp-editor-added"),
            (i.editing_id = i.editing_area.attr("id") || !1),
            !i.editing_id)
          )
            return !1;
          (i.editor_id = "wpe-for-" + i.editing_id),
            (i.preview = t(
              '<div id="preview-' +
                i.editing_id +
                '" class="wp-js-editor-preview"></div>'
            )),
            (i.editing_editor = t(
              '<div id="wrap-' +
                i.editing_id +
                '" class="modal-wp-js-editor"><textarea id="' +
                i.editor_id +
                '"></textarea></div>'
            ));
          var n = i.editing_area.val();
          t("textarea", i.editing_editor).val(n);
          try {
            i.preview.html(window.switchEditors._wp_Autop(n));
          } catch (e) {}
          t("body").on(
            "click",
            "#customize-controls, .customize-section-back",
            function (e) {
              t(e.target).is(i.preview) ||
                (i.editing_editor.removeClass("wpe-active"),
                t(".wp-js-editor-preview").removeClass("wpe-focus"));
            }
          ),
            i.container.find(".wp-js-editor").addClass("wp-js-editor-active"),
            i.preview.insertBefore(i.editing_area),
            i._init(),
            t(window).on("resize", function () {
              i._resize();
            });
        },
        _add_editor: function () {
          var e = this;
          this.editor_added ||
            ((this.editor_added = !0),
            t("body .wp-full-overlay").append(e.editing_editor),
            t("textarea", e.editing_editor)
              .attr(
                "data-editor-mod",
                e.editing_area.attr("data-editor-mod") || ""
              )
              .wp_js_editor({
                sync_id: e.editing_area,
                init_instance_callback: function (i) {
                  var n = t("#wp-" + e.editor_id + "-wrap");
                  t(".wp-editor-tabs", n).append(
                    '<button class="wp-switch-editor fullscreen-wp-editor"  type="button"><span class="dashicons"></span></button>'
                  ),
                    t(".wp-editor-tabs", n).append(
                      '<button class="wp-switch-editor preview-wp-editor"  type="button"><span class="dashicons dashicons-visibility"></span></button>'
                    ),
                    t(".wp-editor-tabs", n).append(
                      '<button class="wp-switch-editor close-wp-editor"  type="button"><span class="dashicons dashicons-no-alt"></span></button>'
                    ),
                    n.on("click", ".close-wp-editor", function (i) {
                      i.preventDefault(),
                        e.editing_editor.removeClass("wpe-active"),
                        t(".wp-js-editor-preview").removeClass("wpe-focus");
                    }),
                    t(".preview-wp-editor", n).hover(
                      function () {
                        n.closest(".modal-wp-js-editor").css({ opacity: 0 });
                      },
                      function () {
                        n.closest(".modal-wp-js-editor").css({ opacity: 1 });
                      }
                    ),
                    n.on("click", ".fullscreen-wp-editor", function (e) {
                      e.preventDefault(),
                        n
                          .closest(".modal-wp-js-editor")
                          .toggleClass("fullscreen"),
                        setTimeout(function () {
                          t(window).resize();
                        }, 600);
                    });
                },
              }));
        },
        _init: function () {
          var e = this;
          e.editing_area.on("change", function () {
            e.preview.html(window.switchEditors._wp_Autop(t(this).val()));
          }),
            e.preview.on("click", function (t) {
              return (
                e._add_editor(),
                e.editing_editor.toggleClass("wpe-active"),
                tinyMCE.get(e.editor_id).focus(),
                e.preview.addClass("wpe-focus"),
                e._resize(),
                !1
              );
            }),
            e.container.on("click", ".wp-js-editor-preview", function (e) {
              e.preventDefault();
            });
        },
        _resize: function () {
          var e = t("#wp-" + this.editor_id + "-wrap"),
            i = e.innerHeight(),
            n = e.find(".mce-toolbar-grp").eq(0).height();
          (n += e.find(".wp-editor-tools").eq(0).height()), (n += 50);
          var o = tinymce.get(this.editor_id);
          o &&
            (this.editing_editor.width(""),
            o.theme.resizeTo("100%", i - n),
            e.find("textarea.wp-editor-area").height(i - n));
        },
      }).ready(e);
    }
    var n = {};
    e.bind("ready", function (e, o) {
      if (
        (t("#customize-theme-controls .accordion-section").each(function () {
          var e = t(this),
            o = e.attr("id") || "";
          o &&
            void 0 === n[o] &&
            ((n[o] = !0),
            setTimeout(function () {
              t(".wp-js-editor", e).length > 0 &&
                t(".wp-js-editor", e).each(function () {
                  i(t(this));
                }),
                t(
                  ".repeatable-customize-control:not(.no-changeable) .item-editor",
                  e
                ).length > 0 &&
                  t(
                    ".repeatable-customize-control:not(.no-changeable) .item-editor",
                    e
                  ).each(function () {
                    i(t(this));
                  });
            }, 10));
        }),
        _wpCustomizeSettings.autofocus)
      )
        if (_wpCustomizeSettings.autofocus.section) {
          var r =
            "sub-accordion-section-" + _wpCustomizeSettings.autofocus.section;
          n[r] = !0;
          var a = t("#" + r);
          setTimeout(function () {
            t(".wp-js-editor", a).length > 0 &&
              t(".wp-js-editor", a).each(function () {
                i(t(this));
              }),
              t(
                ".repeatable-customize-control:not(.no-changeable) .item-editor",
                a
              ).length > 0 &&
                t(
                  ".repeatable-customize-control:not(.no-changeable) .item-editor",
                  a
                ).each(function () {
                  i(t(this));
                });
          }, 1e3);
        } else _wpCustomizeSettings.autofocus.panel;
      t("body").on("repeater-control-init-item", function (e, n) {
        t(".item-editor", n).each(function () {
          i(t(this));
        });
      }),
        t("body").on("repeat-control-remove-item", function (e, i) {
          t("textarea", i).each(function () {
            var e = t(this).attr("id") || "",
              i = "wpe-for-" + e;
            try {
              var n = tinymce.get(i);
              n && n.remove(),
                t("#wrap-" + i).remove(),
                t("#wrap-" + e).remove(),
                void 0 !== tinyMCEPreInit.mceInit[i] &&
                  delete tinyMCEPreInit.mceInit[i],
                void 0 !== tinyMCEPreInit.qtInit[i] &&
                  delete tinyMCEPreInit.qtInit[i];
            } catch (e) {}
          });
        });
    });
  })(wp.customize, jQuery);
inc/customizer/controls/editor/editor.css000064400000004450152425655560014674 0ustar00/* Editor customize */
body .wp-full-overlay {
  z-index: 9999;
}
.wp-js-editor-active textarea,
.bloglo-editor-added textarea {
  display: none;
}
.wp-js-editor-preview {
  background-color: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;
  color: #32373c;
  outline: 0 none;
  transition: border-color 50ms ease-in-out 0s;
  min-height: 150px;
  display: block;
  padding: 2px 6px;
}
.wp-js-editor-preview.wpe-focus {
  border-color: #5b9dd9;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;
}
.wp-js-editor-preview {
  cursor: pointer;
}
.wp-js-editor-preview img {
  max-width: 100%;
  height: auto;
}
.modal-wp-js-editor * {
  box-sizing: border-box;
}
.modal-wp-js-editor {
  display: block;
  position: absolute;
  left: 0px;
  width: 100%;
  top: auto;
  bottom: 0px;
  height: 350px;
  max-height: 100%;
  background: #eeeeee;
  padding: 15px;
  border-top: 1px solid #ddd;
  box-sizing: border-box;
  -webkit-transition: all 0.5s; /* Safari */
  transition: all 0.5s;
  -ms-transform: translateY(100%); /* IE 9 */
  -webkit-transform: translateY(100%); /* Safari */
  transform: translateY(100%);
}
.modal-wp-js-editor .fullscreen-wp-editor span:before {
  content: "\f211";
  font-family: "dashicons";
}
.modal-wp-js-editor.fullscreen .fullscreen-wp-editor span:before {
  content: "\f506";
  font-family: "dashicons";
}
.modal-wp-js-editor.fullscreen {
  height: 100%;
}
.modal-wp-js-editor .wp-editor-wrap {
  height: 100%;
  display: block;
}
.modal-wp-js-editor.wpe-active {
  -ms-transform: translateY(0); /* IE 9 */
  -webkit-transform: translateY(0); /* Safari */
  transform: translateY(0);
}
.modal-wp-js-editor textarea {
  width: 100%;
  display: block;
}
.wp-switch-editor.close-wp-editor {
  color: #e34113;
}
@media (max-width: 700px) {
  .modal-wp-js-editor {
    z-index: 99999;
    border-top: 1px solid #ddd;
    border-right: 0 none !important;
    -ms-transform: translateX(0); /* IE 9 */
    -webkit-transform: translateX(0); /* Safari */
    transform: translateX(0);
    -ms-transform: translateY(100%); /* IE 9 */
    -webkit-transform: translateY(100%); /* Safari */
    transform: translateY(100%);
  }
  .modal-wp-js-editor.wpe-active {
    -ms-transform: translateY(0); /* IE 9 */
    -webkit-transform: translateY(0); /* Safari */
    transform: translateY(0);
  }
}
inc/customizer/controls/editor/editor.min.css000064400000004204152425655560015453 0ustar00body .wp-full-overlay {
  z-index: 9999;
}
.wp-js-editor-active textarea,
.bloglo-editor-added textarea {
  display: none;
}
.wp-js-editor-preview {
  background-color: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;
  color: #32373c;
  outline: 0 none;
  transition: border-color 50ms ease-in-out 0;
  min-height: 150px;
  display: block;
  padding: 2px 6px;
}
.wp-js-editor-preview.wpe-focus {
  border-color: #5b9dd9;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;
}
.wp-js-editor-preview {
  cursor: pointer;
}
.wp-js-editor-preview img {
  max-width: 100%;
  height: auto;
}
.modal-wp-js-editor * {
  box-sizing: border-box;
}
.modal-wp-js-editor {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  top: auto;
  bottom: 0;
  height: 350px;
  max-height: 100%;
  background: #eee;
  padding: 15px;
  border-top: 1px solid #ddd;
  box-sizing: border-box;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -ms-transform: translateY(100%);
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}
.modal-wp-js-editor .fullscreen-wp-editor span:before {
  content: "\f211";
  font-family: "dashicons";
}
.modal-wp-js-editor.fullscreen .fullscreen-wp-editor span:before {
  content: "\f506";
  font-family: "dashicons";
}
.modal-wp-js-editor.fullscreen {
  height: 100%;
}
.modal-wp-js-editor .wp-editor-wrap {
  height: 100%;
  display: block;
}
.modal-wp-js-editor.wpe-active {
  -ms-transform: translateY(0);
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.modal-wp-js-editor textarea {
  width: 100%;
  display: block;
}
.wp-switch-editor.close-wp-editor {
  color: #e34113;
}
@media (max-width: 700px) {
  .modal-wp-js-editor {
    z-index: 99999;
    border-top: 1px solid #ddd;
    border-right: 0 none !important;
    -ms-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -ms-transform: translateY(100%);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
  .modal-wp-js-editor.wpe-active {
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
inc/customizer/controls/text/class-bloglo-customizer-control-text.php000064400000004573152425655560022334 0ustar00<?php
/**
 * Bloglo Customizer custom text control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Text' ) ) :
	/**
	 * Bloglo Customizer custom select control class.
	 */
	class Bloglo_Customizer_Control_Text extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-text';

		/**
		 * Placeholder text.
		 *
		 * @since 1.0.0
		 * @var string|false
		 */
		public $placeholder = '';

		public $info;
		/**
		 * Enqueue control related scripts/styles.
		 *
		 * @access public
		 */
		public function enqueue() {
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();
			$this->json['placeholder'] = $this->placeholder;
			$this->json['info']        = $this->info;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-control-wrapper bloglo-text-wrapper">

				<label>
					<# if ( data.label ) { #>
						<div class="customize-control-title">
							<span>{{{ data.label }}}</span>

							<# if ( data.description ) { #>
								<i class="bloglo-info-icon">
									<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
										<circle cx="12" cy="12" r="10"></circle>
										<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
										<line x1="12" y1="17" x2="12" y2="17"></line>
									</svg>
									<span class="bloglo-tooltip">{{{ data.description }}}</span>
								</i>
							<# } #>

						</div>
					<# } #>

					<input type="text" value="{{ data.value }}" placeholder="{{ data.placeholder }}" {{{ data.link }}} />
					<div class="bloglo-info-text">{{{ data.info }}}</div>
				</label>

			</div><!-- END .bloglo-control-wrapper -->
			<?php
		}
	}
endif;
inc/customizer/controls/gallery/gallery.css000064400000000466152425655560015221 0ustar00.image-gallery-attachments {
    background: #fff;
    float: left;
    clear: both;
}

.image-gallery-thumbnail-wrapper {
    float: left;
    width: 19%;
    height: 45px;
    padding: 0.5%;
    overflow: hidden;
}

.image-gallery-thumbnail-wrapper img {
    height: auto;
    width: 100%;
    float: left;
}inc/customizer/controls/gallery/class-bloglo-customizer-control-gallery.php000064400000005765152425655560023466 0ustar00<?php
/**
 * Control.
 *
 * @package CustomizeImageGalleryControl
 */


/**
 * Class Control
 *
 * @package CustomizeObjectSelector
 */
class Bloglo_Customizer_Control_Gallery extends Bloglo_Customizer_Control {

	/**
	 * Control type.
	 *
	 * @access public
	 * @var string
	 */
	public $type = 'bloglo-gallery';

	/**
	 * Gallery file type.
	 *
	 * @var string
	 */
	public $file_type = 'image';

	/**
	 * Button labels.
	 *
	 * @var array
	 */
	public $button_labels = array();

	/**
	 * Constructor for Image Gallery control.
	 *
	 * @param \WP_Customize_Manager $manager Customizer instance.
	 * @param string                $id      Control ID.
	 * @param array                 $args    Optional. Arguments to override class property defaults.
	 */
	public function __construct( $manager, $id, $args = array() ) {
		parent::__construct( $manager, $id, $args );

		$this->button_labels = wp_parse_args(
			$this->button_labels,
			array(
				'select'       => __( 'Select Images', 'bloglo' ),
				'change'       => __( 'Modify Gallery', 'bloglo' ),
				'default'      => __( 'Default', 'bloglo' ),
				'remove'       => __( 'Remove', 'bloglo' ),
				'placeholder'  => __( 'No images selected', 'bloglo' ),
				'frame_title'  => __( 'Select Gallery Images', 'bloglo' ),
				'frame_button' => __( 'Choose Images', 'bloglo' ),
			)
		);
	}

	/**
	 * An Underscore (JS) template for this control's content (but not its container).
	 *
	 * Class variables for this control class are available in the `data` JS object;
	 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
	 *
	 * @see WP_Customize_Control::print_template()
	 */
	protected function content_template() {
		$data = $this->json();
		?>
		<#

		_.defaults( data, <?php echo wp_json_encode( $data ); ?> );
		data.input_id = 'input-' + String( Math.random() );
		#>
			<span class="customize-control-title"><label for="{{ data.input_id }}">{{ data.label }}</label></span>
		<# if ( data.attachments ) { #>
			<div class="image-gallery-attachments">
				<# _.each( data.attachments, function( attachment ) { #>
					<div class="image-gallery-thumbnail-wrapper" data-post-id="{{ attachment.id }}">
						<img class="attachment-thumb" src="{{ attachment.url }}" draggable="false" alt="" />
					</div>
				<#	} ) #>
			</div>
			<# } #>
			<div>
				<button type="button" class="button upload-button" id="image-gallery-modify-gallery">{{ data.button_labels.change }}</button>
			</div>
			<div class="customize-control-notifications"></div>

		<?php

	}

	/**
	 * Don't render any content for this control from PHP.
	 * JS template is doing the work.
	 */
	protected function render_content() {}

	/**
	 * Send the parameters to the JavaScript via JSON.
	 *
	 * @see \WP_Customize_Control::to_json()
	 */
	public function to_json() {
		parent::to_json();
		$this->json['label']         = html_entity_decode( $this->label, ENT_QUOTES, get_bloginfo( 'charset' ) );
		$this->json['file_type']     = $this->file_type;
		$this->json['button_labels'] = $this->button_labels;
	}

}
inc/customizer/controls/gallery/gallery.js000064400000014256152425655560015047 0ustar00/* global wp, JSON */
/* eslint consistent-this: [ "error", "control" ] */
/* eslint complexity: ["error", 8] */

(function (api, $) {
  "use strict";

  /**
   * An image gallery control.
   *
   * @class
   * @augments wp.customize.Control
   * @augments wp.customize.Class
   */
  api.ImageGalleryControl = api.Control.extend({
    initialize: function (id, options) {
      var control = this,
        args;

      args = options || {};

      if (!args.params.file_type) {
        args.params.file_type = "image";
      }

      if (!args.params.type) {
        args.params.type = "bloglo-gallery";
      }
      if (!args.params.content) {
        args.params.content = $("<li></li>");
        args.params.content.attr(
          "id",
          "customize-control-" + id.replace(/]/g, "").replace(/\[/g, "-")
        );
        args.params.content.attr(
          "class",
          "customize-control customize-control-" + args.params.type
        );
      }

      if (!args.params.attachments) {
        args.params.attachments = [];
      }

      api.Control.prototype.initialize.call(control, id, args);
    },

    /**
     * When the control's DOM structure is ready,
     * set up internal event bindings.
     */
    ready: function () {
      var control = this;

      // Shortcut so that we don't have to use _.bind every time we add a callback.
      _.bindAll(control, "openFrame", "select");

      /**
       * Set gallery data and render content.
       */
      function setGalleryDataAndRenderContent() {
        var value = control.setting.get();
        control.setAttachmentsData(value).done(function () {
          control.renderContent();
          control.setupSortable();
        });
      }

      // Ensure attachment data is initially set.
      setGalleryDataAndRenderContent();

      // Update the attachment data and re-render the control when the setting changes.
      control.setting.bind(setGalleryDataAndRenderContent);

      // Bind events.
      control.container.on(
        "click keydown",
        ".upload-button",
        control.openFrame
      );
    },

    /**
     * Fetch attachment data for rendering in control content.
     *
     * @param {Array} value Setting value, array of attachment ids.
     * @returns {*}
     */
    setAttachmentsData: function (value) {
      var control = this,
        promises = [];

      control.params.attachments = [];

      _.each(value, function (id, index) {
        var hasAttachmentData = new $.Deferred();
        wp.media
          .attachment(id)
          .fetch()
          .done(function () {
            control.params.attachments[index] = this.attributes;
            hasAttachmentData.resolve();
          });
        promises.push(hasAttachmentData);
      });

      return $.when.apply(undefined, promises).promise();
    },

    /**
     * Open the media modal.
     */
    openFrame: function (event) {
      event.preventDefault();

      if (!this.frame) {
        this.initFrame();
      }

      this.frame.open();
    },

    /**
     * Initiate the media modal select frame.
     * Save it for using later in case needed.
     */
    initFrame: function () {
      var control = this,
        preSelectImages;
      this.frame = wp.media({
        button: {
          text: control.params.button_labels.frame_button,
        },
        states: [
          new wp.media.controller.Library({
            title: control.params.button_labels.frame_title,
            library: wp.media.query({ type: control.params.file_type }),
            multiple: true,
          }),
        ],
      });

      /**
       * Pre-select images according to saved settings.
       */
      preSelectImages = function () {
        var selection, ids, attachment, library;

        library = control.frame.state().get("library");
        selection = control.frame.state().get("selection");

        ids = control.setting.get();

        // Sort the selected images to top when opening media modal.
        library.comparator = function (a, b) {
          var hasA = true === this.mirroring.get(a.cid),
            hasB = true === this.mirroring.get(b.cid);

          if (!hasA && hasB) {
            return -1;
          } else if (hasA && !hasB) {
            return 1;
          } else {
            return 0;
          }
        };

        _.each(ids, function (id) {
          attachment = wp.media.attachment(id);
          selection.add(attachment ? [attachment] : []);
          library.add(attachment ? [attachment] : []);
        });
      };
      control.frame.on("open", preSelectImages);
      control.frame.on("select", control.select);
    },

    /**
     * Callback for selecting attachments.
     */
    select: function () {
      var control = this,
        attachments,
        attachmentIds;

      attachments = control.frame.state().get("selection").toJSON();
      control.params.attachments = attachments;

      attachmentIds = control.getAttachmentIds(attachments);
      control.setSettingValues(attachmentIds);
    },

    /**
     * Get array of attachment id-s from attachment objects.
     *
     * @param {Array} attachments Attachments.
     * @returns {Array}
     */
    getAttachmentIds: function (attachments) {
      var ids = [],
        i;
      for (i in attachments) {
        ids.push(attachments[i].id);
      }
      return ids;
    },

    /**
     * Set setting values.
     *
     * @param {Array} values Array of ids.
     */
    setSettingValues: function (values) {
      var control = this;
      control.setting.set(values);
    },

    /**
     * Setup sortable.
     *
     * @returns {void}
     */
    setupSortable: function () {
      var control = this,
        list = $(".image-gallery-attachments");
      list.sortable({
        items: ".image-gallery-thumbnail-wrapper",
        tolerance: "pointer",
        stop: function () {
          var selectedValues = [];
          list.find(".image-gallery-thumbnail-wrapper").each(function () {
            var id;
            id = parseInt($(this).data("postId"), 10);
            selectedValues.push(id);
          });
          control.setSettingValues(selectedValues);
        },
      });
    },
  });

  api.controlConstructor["bloglo-gallery"] = api.ImageGalleryControl;
})(wp.customize, jQuery);
inc/customizer/controls/gallery/gallery.min.js000064400000007312152425655560015624 0ustar00!(function (t, e) {
  "use strict";
  (t.ImageGalleryControl = t.Control.extend({
    initialize: function (a, n) {
      var r;
      (r = n || {}).params.file_type || (r.params.file_type = "image"),
        r.params.type || (r.params.type = "bloglo-gallery"),
        r.params.content ||
          ((r.params.content = e("<li></li>")),
          r.params.content.attr(
            "id",
            "customize-control-" + a.replace(/]/g, "").replace(/\[/g, "-")
          ),
          r.params.content.attr(
            "class",
            "customize-control customize-control-" + r.params.type
          )),
        r.params.attachments || (r.params.attachments = []),
        t.Control.prototype.initialize.call(this, a, r);
    },
    ready: function () {
      var t = this;
      function e() {
        var e = t.setting.get();
        t.setAttachmentsData(e).done(function () {
          t.renderContent(), t.setupSortable();
        });
      }
      _.bindAll(t, "openFrame", "select"),
        e(),
        t.setting.bind(e),
        t.container.on("click keydown", ".upload-button", t.openFrame);
    },
    setAttachmentsData: function (t) {
      var a = this,
        n = [];
      return (
        (a.params.attachments = []),
        _.each(t, function (t, r) {
          var i = new e.Deferred();
          wp.media
            .attachment(t)
            .fetch()
            .done(function () {
              (a.params.attachments[r] = this.attributes), i.resolve();
            }),
            n.push(i);
        }),
        e.when.apply(void 0, n).promise()
      );
    },
    openFrame: function (t) {
      t.preventDefault(), this.frame || this.initFrame(), this.frame.open();
    },
    initFrame: function () {
      var t,
        e = this;
      (this.frame = wp.media({
        button: { text: e.params.button_labels.frame_button },
        states: [
          new wp.media.controller.Library({
            title: e.params.button_labels.frame_title,
            library: wp.media.query({ type: e.params.file_type }),
            multiple: !0,
          }),
        ],
      })),
        (t = function () {
          var t, a, n, r;
          (r = e.frame.state().get("library")),
            (t = e.frame.state().get("selection")),
            (a = e.setting.get()),
            (r.comparator = function (t, e) {
              var a = !0 === this.mirroring.get(t.cid),
                n = !0 === this.mirroring.get(e.cid);
              return !a && n ? -1 : a && !n ? 1 : 0;
            }),
            _.each(a, function (e) {
              (n = wp.media.attachment(e)),
                t.add(n ? [n] : []),
                r.add(n ? [n] : []);
            });
        }),
        e.frame.on("open", t),
        e.frame.on("select", e.select);
    },
    select: function () {
      var t, e;
      (t = this.frame.state().get("selection").toJSON()),
        (this.params.attachments = t),
        (e = this.getAttachmentIds(t)),
        this.setSettingValues(e);
    },
    getAttachmentIds: function (t) {
      var e,
        a = [];
      for (e in t) a.push(t[e].id);
      return a;
    },
    setSettingValues: function (t) {
      this.setting.set(t);
    },
    setupSortable: function () {
      var t = this,
        a = e(".image-gallery-attachments");
      a.sortable({
        items: ".image-gallery-thumbnail-wrapper",
        tolerance: "pointer",
        stop: function () {
          var n = [];
          a.find(".image-gallery-thumbnail-wrapper").each(function () {
            var t;
            (t = parseInt(e(this).data("postId"), 10)), n.push(t);
          }),
            t.setSettingValues(n);
        },
      });
    },
  })),
    (t.controlConstructor["bloglo-gallery"] = t.ImageGalleryControl);
})(wp.customize, jQuery);
inc/customizer/controls/gallery/gallery.min.css000064400000000346152425655560016000 0ustar00.image-gallery-attachments{background:#fff;float:left;clear:both}.image-gallery-thumbnail-wrapper{float:left;width:19%;height:45px;padding:.5%;overflow:hidden}.image-gallery-thumbnail-wrapper img{height:auto;width:100%;float:left}inc/customizer/controls/toggle/toggle.min.css000064400000004033152425655560015441 0ustar00.bloglo-toggle-wrapper {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.bloglo-toggle-wrapper .bloglo-toggle {
  margin-left: auto;
  padding-left: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.bloglo-toggle-wrapper .customize-control-title {
  margin-bottom: 0;
}
.bloglo-toggle {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: auto;
}
.bloglo-toggle input[type="checkbox"] {
  display: none;
}
.bloglo-toggle input[type="checkbox"]:checked + label .bloglo-toggle-switch {
  background-color: #0085ba !important;
}
.bloglo-toggle
  input[type="checkbox"]:checked
  + label
  .bloglo-toggle-switch:after {
  -webkit-transform: translateX(14px);
  -ms-transform: translateX(14px);
  transform: translateX(14px);
}
.bloglo-toggle .bloglo-toggle-switch {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #96b0c3;
  border-radius: 9px;
  padding: 2px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  outline: 0;
  display: block;
  width: 32px;
  height: 18px;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin: 0;
}
.bloglo-toggle .bloglo-toggle-switch:after {
  position: relative;
  display: block;
  content: "";
  width: 14px;
  height: 14px;
  left: 0;
  border-radius: 50%;
  background: #fff;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  transform: translateX(0px);
}
.bloglo-toggle label {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #232323;
}
.bloglo-toggle label:hover .bloglo-toggle-switch {
  background-color: #7698b1;
}
inc/customizer/controls/toggle/toggle.css000064400000004330152425655560014657 0ustar00/*****************************************/
/* Customizer control toggle style
/*****************************************/
/**
 * Import configuration file with variables.
 */
.bloglo-toggle-wrapper {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.bloglo-toggle-wrapper .bloglo-toggle {
  margin-left: auto;
  padding-left: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.bloglo-toggle-wrapper .customize-control-title {
  margin-bottom: 0;
}

.bloglo-toggle {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: auto;
}

.bloglo-toggle input[type="checkbox"] {
  display: none;
}

.bloglo-toggle input[type="checkbox"]:checked + label .bloglo-toggle-switch {
  background-color: #0085ba !important;
}

.bloglo-toggle
  input[type="checkbox"]:checked
  + label
  .bloglo-toggle-switch:after {
  -webkit-transform: translateX(14px);
  -ms-transform: translateX(14px);
  transform: translateX(14px);
}

.bloglo-toggle .bloglo-toggle-switch {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #96b0c3;
  border-radius: 9px;
  padding: 2px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  outline: 0;
  display: block;
  width: 32px;
  height: 18px;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin: 0;
}

.bloglo-toggle .bloglo-toggle-switch:after {
  position: relative;
  display: block;
  content: "";
  width: 14px;
  height: 14px;
  left: 0;
  border-radius: 50%;
  background: #ffffff;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  transform: translateX(0px);
}

.bloglo-toggle label {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #232323;
}

.bloglo-toggle label:hover .bloglo-toggle-switch {
  background-color: #7698b1;
}
inc/customizer/controls/toggle/class-bloglo-customizer-control-toggle.php000064400000003753152425655560023125 0ustar00<?php
/**
 * Bloglo Customizer custom toggle control class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Toggle' ) ) :
	/**
	 * Bloglo Customizer custom toggle control class.
	 */
	class Bloglo_Customizer_Control_Toggle extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-toggle';

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-toggle-wrapper bloglo-control-wrapper">

				<# if ( data.label ) { #>
					<div class="customize-control-title">
						<span>{{{ data.label }}}</span>

						<# if ( data.description ) { #>
							<i class="bloglo-info-icon">
								<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
									<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
									<line x1="12" y1="17" x2="12" y2="17"></line>
								</svg>
								<span class="bloglo-tooltip">{{{ data.description }}}</span>
							</i>
						<# } #>

					</div>
				<# } #>

				<div id="input_{{ data.id }}" class="bloglo-toggle">

					<input  type="checkbox" id="{{ data.id }}" name="{{ data.id }}" <# if ( data.value ) { #> checked="checked" <# } #>>

					<label for="{{ data.id }}">
						<span class="bloglo-toggle-switch"></span>
					</label>
				</div><!-- END .bloglo-toggle -->

			</div><!-- END .bloglo-toggle-wrapper -->
			<?php
		}

	}
endif;
inc/customizer/controls/toggle/toggle.scss000064400000003050152425655560015040 0ustar00/*****************************************/
/* Customizer control toggle style
/*****************************************/

/**
 * Import configuration file with variables.
 */
@import "../../../../assets/sass/config";

$color_1: #0085ba;
$body_color: #ddd;
$admin_border_color: #ddd;

.bloglo-toggle-wrapper {
  display: flex;

  .bloglo-toggle {
    margin-left: auto;
    padding-left: 10px;
    box-sizing: border-box;
    align-items: center;
  }

  .customize-control-title {
    margin-bottom: 0;
  }
}

.bloglo-toggle {
  display: flex;
  align-items: center;
  margin-left: auto;

  input[type="checkbox"] {
    display: none;

    &:checked + label .bloglo-toggle-switch {
      background-color: $color_1 !important;

      &:after {
        transform: translateX(14px);
      }
    }
  }

  .bloglo-toggle-switch {
    box-sizing: border-box;
    background-color: darken(#c7d5df, 15);
    border-radius: 9px;
    padding: 2px;
    transition: all 0.2s;
    outline: 0;
    display: block;
    width: 32px;
    height: 18px;
    position: relative;
    cursor: pointer;
    user-select: none;
    margin: 0;

    &:after {
      position: relative;
      display: block;
      content: "";
      width: 14px;
      height: 14px;
      left: 0;
      border-radius: 50%;
      background: $color_5;
      transition: all 0.15s ease;
      transform: translateX(0px);
    }
  }

  label {
    display: flex;
    align-items: center;
    color: $color_3;

    &:hover {
      .bloglo-toggle-switch {
        background-color: darken(#c7d5df, 25);
      }
    }
  }
}
inc/customizer/controls/toggle/toggle.min.js000064400000000437152425655560015271 0ustar00wp.customize.controlConstructor["bloglo-toggle"] = wp.customize.Control.extend({
  ready: function () {
    "use strict";
    var control = this;
    control.container.on("click", ".bloglo-toggle-switch", function () {
      control.setting.set(!control.setting.get());
    });
  },
});
inc/customizer/controls/toggle/toggle.js000064400000000513152425655560014502 0ustar00// Toggle control
wp.customize.controlConstructor["bloglo-toggle"] = wp.customize.Control.extend({
  ready: function () {
    "use strict";

    var control = this;

    // Change the value
    control.container.on("click", ".bloglo-toggle-switch", function () {
      control.setting.set(!control.setting.get());
    });
  },
});
inc/customizer/assets/css/bloglo-customizer-preview.min.css000064400000004073152425655560020271 0ustar00.bloglo-hide-shortcuts .customize-partial-edit-shortcut,.customize-partial-edit-shortcut-bloglo_footer_widgets_align_center,.customize-partial-edit-shortcut-bloglo_hero_hover_slider_post_number,.customize-partial-edit-shortcut-blogname{display:none!important}.customize-partial-edit-shortcut{z-index:999}.customize-partial-edit-shortcut-bloglo_copyright_widgets,.customize-partial-edit-shortcut-bloglo_enable_pre_footer_cta,.customize-partial-edit-shortcut-bloglo_header_widgets,.customize-partial-edit-shortcut-bloglo_hero_hover_slider_elements,.customize-partial-edit-shortcut-bloglo_featured_links,.customize-partial-edit-shortcut-bloglo_pyml_elements,.customize-partial-edit-shortcut-bloglo_ticker_elements,.customize-partial-edit-shortcut-bloglo_top_bar_widgets{left:50%;top:50%}.customize-partial-edit-shortcut-bloglo_copyright_widgets button,.customize-partial-edit-shortcut-bloglo_enable_pre_footer_cta button,.customize-partial-edit-shortcut-bloglo_header_widgets button,.customize-partial-edit-shortcut-bloglo_hero_hover_slider_elements button,.customize-partial-edit-shortcut-bloglo_featured_links button,.customize-partial-edit-shortcut-bloglo_pyml_elements button,.customize-partial-edit-shortcut-bloglo_ticker_elements button,.customize-partial-edit-shortcut-bloglo_top_bar_widgets button{left:-15px;top:-15px}.bloglo-social-nav .customize-partial-edit-shortcut{top:0}.bloglo-social-nav .customize-partial-edit-shortcut button{left:-20px}.bloglo-primary-nav .customize-partial-edit-shortcut{top:12px}.bloglo-primary-nav .customize-partial-edit-shortcut button{left:-25px}.bloglo-header-layout-3 .customize-partial-edit-shortcut-bloglo_header_layout{left:30px}.customize-partial-edit-shortcut-bloglo_footer_layout{top:50%;left:35px}.bloglo_home_section{position:relative}.bloglo_home_section::before{transition:.3s;z-index:8;position:absolute;content:" ";border:2px dashed rgba(195,195,195,.5);top:20px;bottom:20px;left:20px;right:20px;pointer-events:none}.bloglo_home_section:hover::before{border-color:#00a0d0}.bloglo_home_section>.customize-partial-edit-shortcut{left:40px;top:8px;z-index:8}inc/customizer/assets/css/bloglo-customizer-preview.css000064400000004756152425655560017517 0ustar00/* ==========================================================================
*  Bloglo Customizer Preview styles.
*  ========================================================================== */
.customize-partial-edit-shortcut-blogname,
.customize-partial-edit-shortcut-bloglo_footer_widgets_align_center,
.customize-partial-edit-shortcut-bloglo_hero_hover_slider_post_number {
  display: none !important;
}

.bloglo-hide-shortcuts .customize-partial-edit-shortcut {
  display: none !important;
}

.customize-partial-edit-shortcut {
  z-index: 999;
}

.customize-partial-edit-shortcut-bloglo_top_bar_widgets,
.customize-partial-edit-shortcut-bloglo_enable_pre_footer_cta,
.customize-partial-edit-shortcut-bloglo_header_widgets,
.customize-partial-edit-shortcut-bloglo_copyright_widgets,
.customize-partial-edit-shortcut-bloglo_hero_hover_slider_elements,
.customize-partial-edit-shortcut-bloglo_featured_links,
.customize-partial-edit-shortcut-bloglo_pyml_elements,
.customize-partial-edit-shortcut-bloglo_ticker_elements {
  left: 50%;
  top: 50%;
}

.customize-partial-edit-shortcut-bloglo_top_bar_widgets button,
.customize-partial-edit-shortcut-bloglo_enable_pre_footer_cta button,
.customize-partial-edit-shortcut-bloglo_header_widgets button,
.customize-partial-edit-shortcut-bloglo_copyright_widgets button,
.customize-partial-edit-shortcut-bloglo_featured_links button,
.customize-partial-edit-shortcut-bloglo_hero_hover_slider_elements button,
.customize-partial-edit-shortcut-bloglo_pyml_elements button,
.customize-partial-edit-shortcut-bloglo_ticker_elements button {
  left: -15px;
  top: -15px;
}

.bloglo-social-nav .customize-partial-edit-shortcut {
  top: 0;
}

.bloglo-social-nav .customize-partial-edit-shortcut button {
  left: -20px;
}

.bloglo-primary-nav .customize-partial-edit-shortcut {
  top: 12px;
}

.bloglo-primary-nav .customize-partial-edit-shortcut button {
  left: -25px;
}

.bloglo-header-layout-3 .customize-partial-edit-shortcut-bloglo_header_layout {
  left: 30px;
}

.customize-partial-edit-shortcut-bloglo_footer_layout {
  top: 50%;
  left: 35px;
}
.bloglo_home_section {
  position: relative;
}
.bloglo_home_section::before {
  transition: 0.3s ease;
  z-index: 8;
  position: absolute;
  content: " ";
  border: 2px dashed rgba(195, 195, 195, 0.5);
  top: 20px;
  bottom: 20px;
  left: 20px;
  right: 20px;
  pointer-events: none;
}
.bloglo_home_section:hover::before {
  border-color: #00a0d0;
}
.bloglo_home_section > .customize-partial-edit-shortcut {
  left: 40px;
  top: 8px;
  z-index: 8;
}
inc/customizer/assets/css/bloglo-customizer.min.css000064400000122376152425655560016621 0ustar00 .control-section-section-pro .button-primary {margin-top: -4px;}#customize-theme-controls .accordion-section-title {display: flex;align-items: center;justify-content: space-between;}#accordion-section-bloglo_section_upsell_button h3.accordion-section-title::after, #accordion-section-bloglo_section_docs_button h3.accordion-section-title::after {display: none;}input[type="checkbox"], input[type="radio"] {height: 1.6rem;width: 1.6rem;min-width: 1.6rem;margin-top: -0.4rem;margin-right: 0.4rem;}input[type="checkbox"]:checked::before {height: 2.1rem;width: 2.1rem;margin: -0.3rem 0 0 -0.4rem;}input[type="radio"]:checked::before {width: 0.8rem;height: 0.8rem;margin: 0.3rem;}.bloglo-checkbox input[type="checkbox"]:checked:before {width: 5px;height: 10px;margin: 0;}textarea {width: 100%;}.bloglo-btn.btn-uppercase {text-transform: uppercase;letter-spacing: 0.1em;}.bloglo-btn:disabled, .bloglo-btn.disabled, body:not(.wp-customizer) input[type="submit"]:disabled, body:not(.wp-customizer) input.disabled[type="submit"], .site-main .woocommerce #respond input#submit:disabled, .site-main .woocommerce #respond input#submit.disabled, .site-main .woocommerce a.button:disabled, .site-main .woocommerce a.button.disabled, .site-main .woocommerce button.button:disabled, .site-main .woocommerce button.button.disabled, .site-main .woocommerce input.button:disabled, .site-main .woocommerce input.button.disabled, .woocommerce ul.products li.product .added_to_cart:disabled, .woocommerce ul.products li.product .added_to_cart.disabled, .woocommerce ul.products li.product .button:disabled, .woocommerce ul.products li.product .button.disabled, .woocommerce div.product form.cart .button:disabled, .woocommerce div.product form.cart .button.disabled, .woocommerce #review_form #respond .form-submit input:disabled, .woocommerce #review_form #respond .form-submit input.disabled, #infinite-handle span:disabled, #infinite-handle span.disabled {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}.bloglo-btn, body:not(.wp-customizer) input[type="submit"], .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, .woocommerce div.product form.cart .button, .woocommerce #review_form #respond .form-submit input, #infinite-handle span {text-decoration: none;}.bloglo-btn, body:not(.wp-customizer) input[type="submit"], .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, .woocommerce div.product form.cart .button, .woocommerce #review_form #respond .form-submit input, #infinite-handle span {-webkit-transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);}.bloglo-btn, body:not(.wp-customizer) input[type="submit"], .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, .woocommerce div.product form.cart .button, .woocommerce #review_form #respond .form-submit input, #infinite-handle span {outline: none;border: none;margin: 0;padding: 0;text-shadow: none;-webkit-box-shadow: none;box-shadow: none;}.bloglo-info-icon, .bloglo-warning-icon {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;margin-left: 5px;position: relative;}.bloglo-info-icon svg, .bloglo-warning-icon svg {fill: #b5c9d6;}.bloglo-info-icon:hover svg, .bloglo-info-icon:focus svg, .bloglo-warning-icon:hover svg, .bloglo-warning-icon:focus svg {fill: #648da8;}.bloglo-info-icon:hover .bloglo-tooltip, .bloglo-info-icon:focus .bloglo-tooltip, .bloglo-warning-icon:hover .bloglo-tooltip, .bloglo-warning-icon:focus .bloglo-tooltip {display: block;}.bloglo-tooltip {display: none;position: absolute;background-color: #232323;color: #d6e1e8;font-size: 13px;font-style: normal;width: 300px;padding: 16px 18px;z-index: 991;border-radius: 3px;line-height: 1.6;bottom: 100%;-webkit-transform: translate(0, -13px);-ms-transform: translate(0, -13px);transform: translate(0, -13px);}.bloglo-tooltip:after {content: "";width: 10px;height: 10px;background-color: #232323;-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);position: absolute;top: calc(100% - 5px);left: var(--tooltip-left);margin-left: 14px;}.bloglo-tooltip.right-tooltip {left: 100%;top: 50%;-webkit-transform: translate(13px, -50%);-ms-transform: translate(13px, -50%);transform: translate(13px, -50%);}.bloglo-tooltip.top-right-tooltip {right: 0;bottom: 100%;-webkit-transform: translate(0, 13px);-ms-transform: translate(0, 13px);transform: translate(0, 13px);}.bloglo-tooltip.top-right-tooltip:after {top: calc(100% - 6px);left: calc(100% - 25px);margin-left: 0;}.bloglo-tooltip.small-tooltip {top: 5px;bottom: auto;left: 50%;width: auto;-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);transform: translateX(-50%);padding: 6px 10px;font-size: 11px;line-height: 1.5;white-space: nowrap;font-weight: 400;}.bloglo-tooltip.small-tooltip:after {display: none;}#accordion-section-bloglo_info {margin-bottom: 15px;}#accordion-panel-nav_menus, #accordion-section-bloglo_section_help .accordion-section-title, #accordion-panel-bloglo_panel_blog, #accordion-panel-bloglo_panel_header, #accordion-section-bloglo_section_transparent_header, #accordion-section-bloglo_section_page_header {margin-top: 12px;}#customize-control-bloglo_h1_font:after, #customize-control-bloglo_h2_font:after, #customize-control-bloglo_h3_font:after, #customize-control-bloglo_h4_font:after, #customize-control-bloglo_h5_font:after, #customize-control-bloglo_top_bar_background:after, #customize-control-bloglo_top_bar_text_color:after, #customize-control-bloglo_header_background:after, #customize-control-bloglo_header_text_color:after, #customize-control-bloglo_page_header_background:after, #customize-control-bloglo_page_header_text_color:after, #customize-control-bloglo_pre_footer_cta_background:after, #customize-control-bloglo_pre_footer_cta_text_color:after, #customize-control-bloglo_footer_background:after, #customize-control-bloglo_footer_text_color:after, #customize-control-bloglo_copyright_background:after, #customize-control-bloglo_single_post_thumb:after, #customize-control-bloglo_single_post_categories:after, #customize-control-bloglo_single_post_tags:after, #customize-control-bloglo_single_last_updated:after, #customize-control-bloglo_single_about_author:after, #customize-control-bloglo_single_post_next_prev:after, #customize-control-bloglo_primary_button_design_options:after, #customize-control-bloglo_single_toggle_comments:after {display: none;}.control-section {min-height: 100%;}.control-section-bloglo-section-hiding.open, .control-section-default.open {-js-display: flex !important;display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}.control-section-bloglo-section-hiding.open .customize-control, .control-section-default.open .customize-control {margin-bottom: 16px;}.control-section-bloglo-section-hiding.open .customize-control:after, .control-section-default.open .customize-control:after {content: "";display: block;margin-top: 16px;border-bottom: 1px solid #ddd;margin-left: -12px;margin-right: -12px;}.control-section-bloglo-section-hiding.open .customize-control:last-child:after, .control-section-default.open .customize-control:last-child:after {display: none;}.control-section-bloglo-section-hiding.open .customize-control input[type="text"]:not(.wp-color-picker), .control-section-bloglo-section-hiding.open .customize-control textarea, .control-section-bloglo-section-hiding.open .customize-control select, .control-section-default.open .customize-control input[type="text"]:not(.wp-color-picker), .control-section-default.open .customize-control textarea, .control-section-default.open .customize-control select {margin-top: 6px;border-radius: 3px;-webkit-box-shadow: none !important;box-shadow: none !important;padding: 2px 8px;font-size: 13px;}.control-section-bloglo-section-hiding.open .customize-control input[type="text"]:not(.wp-color-picker):focus::-webkit-input-placeholder, .control-section-bloglo-section-hiding.open .customize-control textarea:focus::-webkit-input-placeholder, .control-section-bloglo-section-hiding.open .customize-control select:focus::-webkit-input-placeholder, .control-section-default.open .customize-control input[type="text"]:not(.wp-color-picker):focus::-webkit-input-placeholder, .control-section-default.open .customize-control textarea:focus::-webkit-input-placeholder, .control-section-default.open .customize-control select:focus::-webkit-input-placeholder {opacity: 0.6;}.control-section-bloglo-section-hiding.open .customize-control input[type="text"]:not(.wp-color-picker):focus::-moz-placeholder, .control-section-bloglo-section-hiding.open .customize-control textarea:focus::-moz-placeholder, .control-section-bloglo-section-hiding.open .customize-control select:focus::-moz-placeholder, .control-section-default.open .customize-control input[type="text"]:not(.wp-color-picker):focus::-moz-placeholder, .control-section-default.open .customize-control textarea:focus::-moz-placeholder, .control-section-default.open .customize-control select:focus::-moz-placeholder {opacity: 0.6;}.control-section-bloglo-section-hiding.open .customize-control input[type="text"]:not(.wp-color-picker):focus:-ms-input-placeholder, .control-section-bloglo-section-hiding.open .customize-control textarea:focus:-ms-input-placeholder, .control-section-bloglo-section-hiding.open .customize-control select:focus:-ms-input-placeholder, .control-section-default.open .customize-control input[type="text"]:not(.wp-color-picker):focus:-ms-input-placeholder, .control-section-default.open .customize-control textarea:focus:-ms-input-placeholder, .control-section-default.open .customize-control select:focus:-ms-input-placeholder {opacity: 0.6;}.control-section-bloglo-section-hiding.open .customize-control input[type="text"]:not(.wp-color-picker):focus::-ms-input-placeholder, .control-section-bloglo-section-hiding.open .customize-control textarea:focus::-ms-input-placeholder, .control-section-bloglo-section-hiding.open .customize-control select:focus::-ms-input-placeholder, .control-section-default.open .customize-control input[type="text"]:not(.wp-color-picker):focus::-ms-input-placeholder, .control-section-default.open .customize-control textarea:focus::-ms-input-placeholder, .control-section-default.open .customize-control select:focus::-ms-input-placeholder {opacity: 0.6;}.control-section-bloglo-section-hiding.open .customize-control input[type="text"]:not(.wp-color-picker):focus::placeholder, .control-section-bloglo-section-hiding.open .customize-control textarea:focus::placeholder, .control-section-bloglo-section-hiding.open .customize-control select:focus::placeholder, .control-section-default.open .customize-control input[type="text"]:not(.wp-color-picker):focus::placeholder, .control-section-default.open .customize-control textarea:focus::placeholder, .control-section-default.open .customize-control select:focus::placeholder {opacity: 0.6;}.control-section-bloglo-section-hiding.open .customize-control select, .control-section-default.open .customize-control select {cursor: pointer;}.control-section-bloglo-section-hiding.open .customize-control textarea, .control-section-default.open .customize-control textarea {padding: 10px 8px;width: 100%;}.control-section-bloglo-section-hiding.open .widget-top .widget-action:focus .toggle-indicator:before, .control-section-default.open .widget-top .widget-action:focus .toggle-indicator:before {-webkit-box-shadow: none !important;box-shadow: none !important;}.control-section-bloglo-section-hiding.open .widget-top .toggle-indicator, .control-section-default.open .widget-top .toggle-indicator {border-radius: 50%;}.control-section-bloglo-section-hiding.open .widget-top .toggle-indicator:hover, .control-section-default.open .widget-top .toggle-indicator:hover {background-color: #f0f0f0;color: #000;}#customize-control-background_repeat:after, #customize-control-background_attachment:after, #customize-control-background_size:after, #customize-control-background_position:after, #customize-control-background_preset:after {display: none;}#customize-control-background_repeat {margin-bottom: 0;}#customize-control-bloglo_header_layout.customize-control-bloglo-radio-image label, #customize-control-bloglo_footer_layout.customize-control-bloglo-radio-image label, #customize-control-bloglo_copyright_layout.customize-control-bloglo-radio-image label {-ms-flex-preferred-size: 50%;flex-basis: 50%;max-width: 50%;}#customize-control-bloglo_header_layout.customize-control-bloglo-radio-image label img, #customize-control-bloglo_footer_layout.customize-control-bloglo-radio-image label img, #customize-control-bloglo_copyright_layout.customize-control-bloglo-radio-image label img {width: 100%;height: auto;}.bloglo-hosting-button {margin: auto 0;}.bloglo-hosting-button > h3 {margin: 30px 0;background: none !important;-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;border: none !important;}.bloglo-hosting-button > h3 .button-primary {padding-left: 20px !important;padding-right: 20px !important;font-weight: 400;}#customize-theme-controls #accordion-section-bloglo_info > h3 {padding: 0;border-left-color: #0073aa;}#customize-theme-controls #accordion-section-bloglo_info > h3 a {position: relative;z-index: 2;text-decoration: none;-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-ms-flex-wrap: wrap;flex-wrap: wrap;color: #0073aa;padding: 10px 10px 11px 14px;overflow: hidden;}#customize-theme-controls #accordion-section-bloglo_info > h3 a:focus {-webkit-box-shadow: none;box-shadow: none;}#customize-theme-controls #accordion-section-bloglo_info > h3 a .dashicons {font-size: 85px;width: auto;height: auto;color: rgba(5, 10, 15, 0.03) !important;position: absolute;z-index: 1;right: -15px;bottom: -15px;}#customize-theme-controls #accordion-section-bloglo_info > h3:hover, #customize-theme-controls #accordion-section-bloglo_info > h3:focus {border-left-color: #0073aa;}#customize-theme-controls #accordion-section-bloglo_info > h3:hover a, #customize-theme-controls #accordion-section-bloglo_info > h3:focus a {color: #0073aa;background: #f3f3f5;}#customize-theme-controls #accordion-section-bloglo_info > h3:hover a .dashicons, #customize-theme-controls #accordion-section-bloglo_info > h3:focus a .dashicons {color: inherit;}#customize-theme-controls #accordion-section-bloglo_info > h3:hover:after, #customize-theme-controls #accordion-section-bloglo_info > h3:focus:after {color: #0073aa;}#customize-theme-controls #accordion-section-bloglo_info > h3:after {z-index: 2;display: block !important;}#customize-theme-controls #accordion-section-bloglo_info .bloglo-info-tagline {position: relative;z-index: 2;display: block;-ms-flex-preferred-size: 100%;flex-basis: 100%;overflow: hidden;font-weight: 400;font-size: 12px;line-height: 1.6;margin-top: 0;color: #656a6f;}#customize-controls .customize-control-description {font-style: normal;}#customize-controls .customize-control-description > p:first-child {margin-top: 0;}#customize-controls .customize-control-cropped_image .customize-control-description {margin-bottom: 12px;}#customize-controls .customize-control-title {position: relative;color: #232323;}#customize-controls .bloglo-select-wrapper select {margin: 6px 0 0 0;}.bloglo-control-wrapper .customize-control-title {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;-webkit-box-flex: 1;-ms-flex: 1;flex: 1;}.bloglo-control-wrapper .customize-control-description {margin-top: -2px;margin-bottom: 6px;}.bloglo-control-wrapper .buttonset {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;border-left: 1px solid #d2d2d2;}.bloglo-control-wrapper .buttonset label {display: block;-webkit-box-flex: 1;-ms-flex: 1;flex: 1;-ms-flex-preferred-size: 33.33%;flex-basis: 33.33%;max-width: 33.33%;padding: 7px 12px;background-color: #fff;border-top: solid 1px #d2d2d2;border-bottom: solid 1px #d2d2d2;border-right: solid 1px #d2d2d2;text-align: center;}.bloglo-control-wrapper .buttonset label:hover {color: #000;}.bloglo-control-wrapper .buttonset input {display: none;}.bloglo-control-wrapper .buttonset input:checked + label {background-color: #0085ba;color: #fff;}.bloglo-control-wrapper .widget-inside .buttonset {margin-top: 6px;}.bloglo-control-wrapper .widget-inside .buttonset label {-ms-flex-preferred-size: initial;flex-basis: initial;max-width: initial;}.bloglo-control-wrapper .reset-defaults {text-decoration: none;color: rgba(0, 0, 0, 0.2);margin-right: 10px;}.bloglo-control-wrapper .reset-defaults:hover {color: #f00;}.bloglo-control-wrapper .reset-defaults > .dashicons {font-size: 14px;line-height: 20px;width: 14px;}#bloglo-available-widgets {position: absolute;top: 0;bottom: 0;left: 0;-webkit-transform: translate3d(-100%, 0, 0);transform: translate3d(-100%, 0, 0);visibility: hidden;overflow-x: hidden;overflow-y: auto;width: 300px;margin: 0;z-index: 4;background: #eee;-webkit-transition: all 0.18s;transition: all 0.18s;border-right: 1px solid #ddd;}.bloglo-info-icon {margin-left: 10px;margin-top: 2px;}.bloglo-info-icon svg {fill: none;stroke: #c7c7c7;}.bloglo-info-icon:hover svg, .bloglo-info-icon:focus svg {fill: none;stroke: #555d66;}.bloglo-info-icon:hover .bloglo-tooltip, .bloglo-info-icon:focus .bloglo-tooltip {display: block;}.bloglo-tooltip {max-width: 180px;font-weight: 300;font-size: 12px;line-height: 1.5;padding: 8px 14px;text-transform: none;letter-spacing: 0;}.bloglo-tooltip.top-right-tooltip {-webkit-transform: translate(8px, -12px);-ms-transform: translate(8px, -12px);transform: translate(8px, -12px);}.bloglo-control-unit {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;margin-left: auto;}.bloglo-control-unit input {display: none;}.bloglo-control-unit input:checked + label {color: #000;text-decoration: underline;}.bloglo-control-unit label {margin: 0px 3px;color: #999;text-transform: uppercase;font-size: 9px;}.bloglo-control-unit label:hover {color: #000;}.select2-dropdown {z-index: 500000 !important;border-color: #7e8993;}.select2-container--default .select2-selection--single {border-color: #7e8993 !important;}.select2-container--default .select2-selection--single:focus {outline: none !important;}.select2-container--default.select2-container--focus .select2-selection--single {border-color: #0085ba !important;}.select2-container--default .select2-results__group {color: #aaa;font-weight: 400;}.select2-container--default .select2-results__option {padding: 5px 6px;margin: 0;}.select2-container--default .select2-results__option .select2-results__option {padding-left: 1.5em;}.select2-container--default .select2-selection--single .select2-selection__rendered {color: #32373c;line-height: 32px;}.select2-container--default .select2-results__option[aria-selected="true"] {background-color: #eee;}.select2-container--default .select2-results__option--highlighted[aria-selected] {background-color: #0085ba !important;}.select2-container .select2-selection--single {min-height: 32px;border-radius: 2px;}.select2-container--default .select2-selection--single .select2-selection__arrow {height: 32px;}.select2-search--dropdown {padding: 0;}.select2-search--dropdown .select2-search__field {border-left: none !important;border-right: none !important;border-top: none !important;border-radius: 0;margin-left: 0 !important;padding: 2px 8px;border-bottom-color: #7e8993;}.select2-search--dropdown .select2-search__field:focus {-webkit-box-shadow: none;box-shadow: none;}.wp-pointer.bloglo-pointer {z-index: 500000 !important;}#wp-pointer-4.bloglo-pointer.wp-pointer-top .wp-pointer-arrow {right: 62px;left: auto;}.spinner {display: none;}.spinner.activated, .spinner.visible {display: inline-block;visibility: visible;}.bloglo-responsive-switchers {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;margin: 2px 0 0 auto;}.bloglo-responsive-switchers.expanded li {display: initial;}.bloglo-responsive-switchers .bloglo-tooltip.small-tooltip {bottom: 100%;top: auto;margin-bottom: 5px;}.bloglo-responsive-switchers li {position: relative;margin: 0;cursor: pointer;display: none;}.bloglo-responsive-switchers li:first-child {display: initial;}.bloglo-responsive-switchers li:hover .small-tooltip {display: block;text-transform: capitalize;}.bloglo-responsive-switchers li .active .dashicons {background-color: #0073aa !important;color: #fff !important;}.bloglo-responsive-switchers li:hover .dashicons {color: #232323;}.bloglo-responsive-switchers li .dashicons {width: 20px;height: 20px;font-size: 12px;border-radius: 50%;background-color: #fff;color: #808890;margin: 0 3px;-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;border: 1px solid #e0e0e0;}.bloglo-responsive-switchers .dashicons-mobile:before {content: "\f470";}.bloglo-control-wrapper .bloglo-control-wrap > div {display: none;-webkit-box-align: center;-ms-flex-align: center;align-items: center;width: 100%;}.bloglo-control-wrapper .bloglo-control-wrap > div.active {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;}.bloglo-btn.btn-uppercase {text-transform: uppercase;letter-spacing: 0.1em;}.bloglo-btn:disabled, .bloglo-btn.disabled, body:not(.wp-customizer) input[type="submit"]:disabled, body:not(.wp-customizer) input.disabled[type="submit"], .site-main .woocommerce #respond input#submit:disabled, .site-main .woocommerce #respond input#submit.disabled, .site-main .woocommerce a.button:disabled, .site-main .woocommerce a.button.disabled, .site-main .woocommerce button.button:disabled, .site-main .woocommerce button.button.disabled, .site-main .woocommerce input.button:disabled, .site-main .woocommerce input.button.disabled, .woocommerce ul.products li.product .added_to_cart:disabled, .woocommerce ul.products li.product .added_to_cart.disabled, .woocommerce ul.products li.product .button:disabled, .woocommerce ul.products li.product .button.disabled, .woocommerce div.product form.cart .button:disabled, .woocommerce div.product form.cart .button.disabled, .woocommerce #review_form #respond .form-submit input:disabled, .woocommerce #review_form #respond .form-submit input.disabled, #infinite-handle span:disabled, #infinite-handle span.disabled {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}.bloglo-btn, body:not(.wp-customizer) input[type="submit"], .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, .woocommerce div.product form.cart .button, .woocommerce #review_form #respond .form-submit input, #infinite-handle span {text-decoration: none;}.bloglo-btn, body:not(.wp-customizer) input[type="submit"], .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, .woocommerce div.product form.cart .button, .woocommerce #review_form #respond .form-submit input, #infinite-handle span {-webkit-transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);}.bloglo-btn, body:not(.wp-customizer) input[type="submit"], .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, .woocommerce div.product form.cart .button, .woocommerce #review_form #respond .form-submit input, #infinite-handle span {outline: none;border: none;margin: 0;padding: 0;text-shadow: none;-webkit-box-shadow: none;box-shadow: none;}.bloglo-popup-options, .bloglo-popup-options .popup-link {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.bloglo-popup-options {-ms-flex-wrap: wrap;flex-wrap: wrap;position: relative;}.bloglo-popup-options .popup-link {margin-left: auto;background-color: #fff;border-radius: 3px;margin-left: auto;font-size: 12px;width: 40px;height: 33px;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;border: 1px solid #e0e0e0;-webkit-transition: all 0.15s ease;transition: all 0.15s ease;text-decoration: none;color: #555d66;}.bloglo-popup-options .popup-link .dashicons {-webkit-transition: none;transition: none;color: inherit;}.bloglo-popup-options .popup-link.active, .bloglo-popup-options .popup-link:focus, .bloglo-popup-options .popup-link:hover {background-color: #0284ba;color: #fff;}.bloglo-popup-options .popup-link.active > .dashicons-edit:before {content: "\f335";}.bloglo-popup-options .popup-link.hidden {display: none;}.bloglo-popup-options .popup-content {background-color: #fff;padding: 14px 20px;position: absolute;width: 100%;top: 100%;left: 0;margin: 10px 0 30px 0;-webkit-box-sizing: border-box;box-sizing: border-box;border: 1px solid #ddd;border-radius: 3px;-webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.22);box-shadow: 0 0 50px rgba(0, 0, 0, 0.22);z-index: 2;}.bloglo-popup-options .popup-content:after {content: "";position: absolute;top: -6px;right: 15px;background-color: #fff;width: 10px;height: 10px;-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);border-top: 1px solid #ddd;border-left: 1px solid #ddd;}.bloglo-popup-options .popup-element {margin: 12px 0;position: relative;}.bloglo-popup-options .popup-element.style-1 > label, .bloglo-popup-options .popup-element.style-2 > label {-ms-flex-negative: 0;flex-shrink: 0;font-size: 12px;line-height: 1;margin-right: 5px;}.bloglo-popup-options .popup-element.style-1 {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.bloglo-popup-options .popup-element.style-1 > .popup-input-wrapper {margin-left: auto;width: 55%;-ms-flex-negative: 1;flex-shrink: 1;}.bloglo-popup-options .popup-element.style-1 select, .bloglo-popup-options .popup-element.style-1 input {margin: 0 !important;}.bloglo-popup-options .popup-element.color-element {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;}.bloglo-popup-options .popup-element.color-element > label {min-height: 22px;line-height: 22px;}.bloglo-popup-options .popup-element.color-element .wp-color-result.button {position: absolute;top: 0;right: 0;height: 23px;min-height: 23px;width: 50px;padding: 0;}.bloglo-popup-options .popup-element.color-element .wp-color-result.button:before {width: 48px;}.bloglo-popup-options .popup-element.color-element .wp-color-result.button .wp-color-result-text {display: none;}.bloglo-popup-options .popup-element.color-element .wp-picker-container.wp-picker-active {-ms-flex-item-align: end;align-self: flex-end;}.bloglo-popup-options .popup-element.color-element .wp-picker-open + .wp-picker-input-wrap label input {padding: 8px 12px !important;border-radius: 3px 0 0 0 !important;}.widget .customize-partial-edit-shortcut button, .customize-partial-edit-shortcut button {background: #0085ba !important;}.bloglo-pointer-buttons {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;width: 100%;}.bloglo-pointer-buttons .button-primary {margin-left: auto;}.bloglo-pointer-buttons a.close {margin-left: 15px;}.bloglo-pointer.arrow-top .wp-pointer-arrow {top: 0;margin-top: 12px;border-right-color: #0173a1;}.bloglo-pointer.arrow-top .wp-pointer-arrow .wp-pointer-arrow-inner {border-right-color: #0185ba;}.bloglo-pointer .wp-pointer-content {padding: 0 0 16px;border-radius: 4px;-webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);border: 1px solid #ddd;}.bloglo-pointer .wp-pointer-content h3 {background: #0085ba;font-size: 16px;padding: 13px 16px;line-height: 24px;font-weight: 400;color: #fafbfc;margin: 0;border-radius: 3px 3px 0 0;border: 1px solid #0073a1;border-bottom: none;margin: -1px;-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.bloglo-pointer .wp-pointer-content h3:before {display: none;}.bloglo-pointer .wp-pointer-content h3 img {margin: 0 auto;height: 23px;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}.bloglo-pointer .wp-pointer-content p {padding: 0;margin: 16px 16px 32px 16px;font-size: 14px;line-height: 22px;color: #5c5c5c;}.bloglo-pointer .wp-pointer-content a {text-decoration: none;color: #0085ba;}.bloglo-pointer .wp-pointer-content a:hover {color: #00b1f7;}.bloglo-pointer .wp-pointer-content .button {font-weight: 300;-webkit-box-shadow: none;box-shadow: none;text-shadow: none;border: none;height: 32px;line-height: 32px;padding: 0 25px;border-radius: 3px;line-height: 32px;font-size: 13px;}.bloglo-pointer .wp-pointer-content .button-primary {-webkit-box-shadow: none;box-shadow: none;text-shadow: none;border: none;background-color: #0085ba;color: #fff !important;}.bloglo-pointer .wp-pointer-content .button-primary:hover {background-color: #0097d4;}.bloglo-pointer .wp-pointer-content a.close {margin-left: 0;padding-left: 0;}.bloglo-pointer .wp-pointer-content a.close:before {display: none !important;}.bloglo-pointer .wp-pointer-content .wp-pointer-buttons {padding: 0 16px;}.bloglo-pointer .wp-pointer-content .wp-pointer-buttons a {color: #0085ba;}.bloglo-pointer .wp-pointer-content .wp-pointer-buttons a:hover {color: #00b1f7;}.bloglo-pointer .wp-pointer-content .wp-pointer-buttons a.close {margin-right: auto;}.bloglo-pointer .wp-pointer-content .wp-pointer-buttons a.button-primary {margin-left: 8px;}.bloglo-pointer .wp-pointer-content .wp-pointer-buttons a.button-secondary {border: 1px solid #0085ba;border-radius: 3px;background: none;}.bloglo-pointer.wp-pointer-top .wp-pointer-arrow {border-bottom-color: #00a9ed !important;}.bloglo-pointer.wp-pointer-top .wp-pointer-arrow .wp-pointer-arrow-inner {border-bottom-color: #0085ba !important;}.bloglo-btn, body:not(.wp-customizer) input[type="submit"], .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, .woocommerce div.product form.cart .button, .woocommerce #review_form #respond .form-submit input, #infinite-handle span {-js-display: inline-flex;display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;text-align: center;max-width: 100%;cursor: pointer;-moz-appearance: none;-webkit-appearance: none;-webkit-box-shadow: none;box-shadow: none;border-style: solid;-ms-flex-negative: 0;flex-shrink: 0;font-size: inherit;min-height: 45px;padding: 0.5em 2em;}.bloglo-btn span, body:not(.wp-customizer) input[type="submit"] span, .site-main .woocommerce #respond input#submit span, .site-main .woocommerce a.button span, .site-main .woocommerce button.button span, .site-main .woocommerce input.button span, .woocommerce ul.products li.product .added_to_cart span, .woocommerce ul.products li.product .button span, .woocommerce div.product form.cart .button span, .woocommerce #review_form #respond .form-submit input span, #infinite-handle span span {z-index: 2;position: relative;}.bloglo-btn:disabled, .bloglo-btn.disabled, body:not(.wp-customizer) input[type="submit"]:disabled, body:not(.wp-customizer) input[type="submit"].disabled, .site-main .woocommerce #respond input#submit:disabled, .site-main .woocommerce #respond input#submit.disabled, .site-main .woocommerce a.button:disabled, .site-main .woocommerce a.button.disabled, .site-main .woocommerce button.button:disabled, .site-main .woocommerce button.button.disabled, .site-main .woocommerce input.button:disabled, .site-main .woocommerce input.button.disabled, .woocommerce ul.products li.product .added_to_cart:disabled, .woocommerce ul.products li.product .added_to_cart.disabled, .woocommerce ul.products li.product .button:disabled, .woocommerce ul.products li.product .button.disabled, .woocommerce div.product form.cart .button:disabled, .woocommerce div.product form.cart .button.disabled, .woocommerce #review_form #respond .form-submit input:disabled, .woocommerce #review_form #respond .form-submit input.disabled, #infinite-handle span:disabled, #infinite-handle span.disabled {cursor: not-allowed !important;}.bloglo-btn:disabled > span, .bloglo-btn:disabled > svg, .bloglo-btn.disabled > span, .bloglo-btn.disabled > svg, body:not(.wp-customizer) input[type="submit"]:disabled > span, body:not(.wp-customizer) input[type="submit"]:disabled > svg, body:not(.wp-customizer) input[type="submit"].disabled > span, body:not(.wp-customizer) input[type="submit"].disabled > svg, .site-main .woocommerce #respond input#submit:disabled > span, .site-main .woocommerce #respond input#submit:disabled > svg, .site-main .woocommerce #respond input#submit.disabled > span, .site-main .woocommerce #respond input#submit.disabled > svg, .site-main .woocommerce a.button:disabled > span, .site-main .woocommerce a.button:disabled > svg, .site-main .woocommerce a.button.disabled > span, .site-main .woocommerce a.button.disabled > svg, .site-main .woocommerce button.button:disabled > span, .site-main .woocommerce button.button:disabled > svg, .site-main .woocommerce button.button.disabled > span, .site-main .woocommerce button.button.disabled > svg, .site-main .woocommerce input.button:disabled > span, .site-main .woocommerce input.button:disabled > svg, .site-main .woocommerce input.button.disabled > span, .site-main .woocommerce input.button.disabled > svg, .woocommerce ul.products li.product .added_to_cart:disabled > span, .woocommerce ul.products li.product .added_to_cart:disabled > svg, .woocommerce ul.products li.product .added_to_cart.disabled > span, .woocommerce ul.products li.product .added_to_cart.disabled > svg, .woocommerce ul.products li.product .button:disabled > span, .woocommerce ul.products li.product .button:disabled > svg, .woocommerce ul.products li.product .button.disabled > span, .woocommerce ul.products li.product .button.disabled > svg, .woocommerce div.product form.cart .button:disabled > span, .woocommerce div.product form.cart .button:disabled > svg, .woocommerce div.product form.cart .button.disabled > span, .woocommerce div.product form.cart .button.disabled > svg, .woocommerce #review_form #respond .form-submit input:disabled > span, .woocommerce #review_form #respond .form-submit input:disabled > svg, .woocommerce #review_form #respond .form-submit input.disabled > span, .woocommerce #review_form #respond .form-submit input.disabled > svg, #infinite-handle span:disabled > span, #infinite-handle span:disabled > svg, #infinite-handle span.disabled > span, #infinite-handle span.disabled > svg {opacity: 0.5;}button.bloglo-btn:disabled {opacity: 0.5;}.btn-small, .site-main .woocommerce #respond input#submit, #secondary .woocommerce a.button, #secondary .woocommerce button.button, #secondary .woocommerce input.button, .site-main .woocommerce .woocommerce-table a.button, .site-main .woocommerce .woocommerce-orders-table a.button, .site-main .woocommerce .woocommerce-Pagination a.button, .site-main .woocommerce .shipping-calculator-form .button, .woocommerce #secondary .widget_price_filter .price_slider_amount .button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button {font-size: 90% !important;min-height: 40px;padding: 0.5em 1.5em;}.btn-large, #place_order {min-height: 57px;font-size: 108% !important;}.btn-xlarge {font-size: 130% !important;min-height: 69px;font-weight: 600;}.btn-fw {width: 100%;text-align: center;}.btn-large-radius {border-radius: 50px;}.btn-left-icon, .btn-right-icon {position: relative;}.btn-left-icon > svg, .btn-right-icon > svg {height: 1.1em;}.btn-left-icon.btn-reveal > svg, .btn-right-icon.btn-reveal > svg {-webkit-transition: opacity 0.1s ease, -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: opacity 0.1s ease, -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.1s ease;transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.1s ease, -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);opacity: 0;position: absolute;top: 50%;-webkit-transform: translate3d(0, -50%, 0);transform: translate3d(0, -50%, 0);}.btn-left-icon.btn-reveal > span, .btn-right-icon.btn-reveal > span {-webkit-transition: padding 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), margin 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: padding 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), margin 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);-webkit-backface-visibility: hidden;backface-visibility: hidden;will-change: padding, margin;}.btn-left-icon.btn-svg > svg, .btn-right-icon.btn-svg > svg {height: 1em !important;width: auto !important;vertical-align: middle;fill: currentColor;}.btn-left-icon > svg {-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;margin-right: 0.65em;margin-left: -0.65em;}.btn-left-icon > span {-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;}.btn-left-icon.btn-reveal > svg {left: 0.8em;-webkit-transform: translate3d(10px, -50%, 0);transform: translate3d(10px, -50%, 0);margin-left: 0;margin-right: 0;}.btn-left-icon.btn-reveal:hover > span {padding-left: 1em;margin-right: -1em;}.btn-left-icon.btn-reveal:hover > svg {opacity: 1;-webkit-transform: translate3d(0px, -50%, 0);transform: translate3d(0px, -50%, 0);}.btn-right-icon > svg {-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;margin-left: 0.65em;margin-right: -0.65em;}.btn-right-icon.btn-reveal > svg {right: 0.8em;-webkit-transform: translate3d(-10px, -50%, 0);transform: translate3d(-10px, -50%, 0);margin-left: 0;margin-right: 0;}.btn-right-icon.btn-reveal:hover > span {padding-right: 1em;margin-left: -1em;}.btn-right-icon.btn-reveal:hover > svg {opacity: 1;-webkit-transform: translate3d(0px, -50%, 0);transform: translate3d(0px, -50%, 0);}.bloglo-btn.btn-outline {background-color: rgba(0, 0, 0, 0);}.bloglo-btn.btn-secondary.btn-outline {background-color: rgba(0, 0, 0, 0);}.bloglo-btn.btn-with-shadow {-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);box-shadow: 0 0 0 rgba(0, 0, 0, 0);}.bloglo-btn.btn-with-shadow:hover {-webkit-box-shadow: 0 5px 25px rgba(0, 0, 0, 0.175);box-shadow: 0 5px 25px rgba(0, 0, 0, 0.175);-webkit-transform: translateY(-2px);-ms-transform: translateY(-2px);transform: translateY(-2px);}.bloglo-btn.btn-text-1 {padding: 0 !important;min-height: 0;height: auto;background: none !important;-webkit-box-shadow: none !important;box-shadow: none !important;border: none !important;font-weight: 500;}.bloglo-btn.btn-text-1 span {padding: 3px 0;}.bloglo-btn.btn-text-1 span:before {content: "";position: absolute;bottom: -1px;left: 0;width: 100%;height: 1px;border-radius: 0;}.bloglo-btn.btn-text-1 span:before {background: currentColor;-webkit-transform-origin: right center;-ms-transform-origin: right center;transform-origin: right center;-webkit-transform: scale(0, 1);-ms-transform: scale(0, 1);transform: scale(0, 1);-webkit-transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);-webkit-backface-visibility: hidden;backface-visibility: hidden;will-change: scale;z-index: 1;}.bloglo-btn.btn-text-1:hover > span:before, .bloglo-btn.btn-text-1:focus-within > span:before {-webkit-transform-origin: left center;-ms-transform-origin: left center;transform-origin: left center;-webkit-transform: scale(1, 1);-ms-transform: scale(1, 1);transform: scale(1, 1);}.bloglo-btn.btn-text-1.btn-left-icon > span, .bloglo-btn.btn-text-1.btn-right-icon > span {padding-left: 0 !important;padding-right: 0 !important;}.repeatable-customize-control .item-alignment .bloglo-tooltip {left: -86px;}inc/customizer/assets/css/bloglo-customizer.css000064400000133021152425655560016024 0ustar00/* ==========================================================================
*  Bloglo Customizer related styles.
*  ========================================================================== */
/**
 * Import configuration file with variables.
*/
.control-section-section-pro .button-primary {
  margin-top: -4px;
}

#customize-theme-controls .accordion-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#accordion-section-bloglo_section_upsell_button h3.accordion-section-title::after,
#accordion-section-bloglo_section_docs_button h3.accordion-section-title::after {
    display: none;
}

input[type="checkbox"],
input[type="radio"] {
  height: 1.6rem;
  width: 1.6rem;
  min-width: 1.6rem;
  margin-top: -0.4rem;
  margin-right: 0.4rem;
}

input[type="checkbox"]:checked::before {
  height: 2.1rem;
  width: 2.1rem;
  margin: -0.3rem 0 0 -0.4rem;
}

input[type="radio"]:checked::before {
  width: 0.8rem;
  height: 0.8rem;
  margin: 0.3rem;
}

.bloglo-checkbox input[type="checkbox"]:checked:before {
  width: 5px;
  height: 10px;
  margin: 0;
}

textarea {
  width: 100%;
}

.bloglo-btn.btn-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.bloglo-btn:disabled,
.bloglo-btn.disabled,
body:not(.wp-customizer) input[type="submit"]:disabled,
body:not(.wp-customizer) input.disabled[type="submit"],
.site-main .woocommerce #respond input#submit:disabled,
.site-main .woocommerce #respond input#submit.disabled,
.site-main .woocommerce a.button:disabled,
.site-main .woocommerce a.button.disabled,
.site-main .woocommerce button.button:disabled,
.site-main .woocommerce button.button.disabled,
.site-main .woocommerce input.button:disabled,
.site-main .woocommerce input.button.disabled,
.woocommerce ul.products li.product .added_to_cart:disabled,
.woocommerce ul.products li.product .added_to_cart.disabled,
.woocommerce ul.products li.product .button:disabled,
.woocommerce ul.products li.product .button.disabled,
.woocommerce div.product form.cart .button:disabled,
.woocommerce div.product form.cart .button.disabled,
.woocommerce #review_form #respond .form-submit input:disabled,
.woocommerce #review_form #respond .form-submit input.disabled,
#infinite-handle span:disabled,
#infinite-handle span.disabled {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.bloglo-btn,
body:not(.wp-customizer) input[type="submit"],
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce #review_form #respond .form-submit input,
#infinite-handle span {
  text-decoration: none;
}

.bloglo-btn,
body:not(.wp-customizer) input[type="submit"],
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce #review_form #respond .form-submit input,
#infinite-handle span {
  -webkit-transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.bloglo-btn,
body:not(.wp-customizer) input[type="submit"],
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce #review_form #respond .form-submit input,
#infinite-handle span {
  outline: none;
  border: none;
  margin: 0;
  padding: 0;
  text-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/**
 * Import tooltips and info icon.
 */
/*****************************************/
/* Bloglo tooltip and info icon.
/*****************************************/
.bloglo-info-icon,
.bloglo-warning-icon {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 5px;
  position: relative;
}

.bloglo-info-icon svg,
.bloglo-warning-icon svg {
  fill: #b5c9d6;
}

.bloglo-info-icon:hover svg,
.bloglo-info-icon:focus svg,
.bloglo-warning-icon:hover svg,
.bloglo-warning-icon:focus svg {
  fill: #648da8;
}

.bloglo-info-icon:hover .bloglo-tooltip,
.bloglo-info-icon:focus .bloglo-tooltip,
.bloglo-warning-icon:hover .bloglo-tooltip,
.bloglo-warning-icon:focus .bloglo-tooltip {
  display: block;
}

.bloglo-tooltip {
  display: none;
  position: absolute;
  background-color: #232323;
  color: #d6e1e8;
  font-size: 13px;
  font-style: normal;
  width: 300px;
  padding: 16px 18px;
  z-index: 991;
  border-radius: 3px;
  line-height: 1.6;
  bottom: 100%;
  -webkit-transform: translate(0, -13px);
  -ms-transform: translate(0, -13px);
  transform: translate(0, -13px);
}

.bloglo-tooltip:after {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #232323;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: calc(100% - 5px);
  left: var(--tooltip-left);
  margin-left: 14px;
}

.bloglo-tooltip.right-tooltip {
  left: 100%;
  top: 50%;
  -webkit-transform: translate(13px, -50%);
  -ms-transform: translate(13px, -50%);
  transform: translate(13px, -50%);
}

.bloglo-tooltip.top-right-tooltip {
  right: 0;
  bottom: 100%;
  -webkit-transform: translate(0, 13px);
  -ms-transform: translate(0, 13px);
  transform: translate(0, 13px);
}

.bloglo-tooltip.top-right-tooltip:after {
  top: calc(100% - 6px);
  left: calc(100% - 25px);
  margin-left: 0;
}

.bloglo-tooltip.small-tooltip {
  top: 5px;
  bottom: auto;
  left: 50%;
  width: auto;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1.5;
  white-space: nowrap;
  font-weight: 400;
}

.bloglo-tooltip.small-tooltip:after {
  display: none;
}

/**
 * Import configuration file with variables.
 */
/*****************************************/
/* Customizer base styles
/*****************************************/
#accordion-section-bloglo_info {
  margin-bottom: 15px;
}

#accordion-panel-nav_menus,
#accordion-section-bloglo_section_help .accordion-section-title,
#accordion-panel-bloglo_panel_blog,
#accordion-panel-bloglo_panel_header,
#accordion-section-bloglo_section_transparent_header,
#accordion-section-bloglo_section_page_header {
  margin-top: 12px;
}

#customize-control-bloglo_h1_font:after,
#customize-control-bloglo_h2_font:after,
#customize-control-bloglo_h3_font:after,
#customize-control-bloglo_h4_font:after,
#customize-control-bloglo_h5_font:after,
#customize-control-bloglo_top_bar_background:after,
#customize-control-bloglo_top_bar_text_color:after,
#customize-control-bloglo_header_background:after,
#customize-control-bloglo_header_text_color:after,
#customize-control-bloglo_page_header_background:after,
#customize-control-bloglo_page_header_text_color:after,
#customize-control-bloglo_pre_footer_cta_background:after,
#customize-control-bloglo_pre_footer_cta_text_color:after,
#customize-control-bloglo_footer_background:after,
#customize-control-bloglo_footer_text_color:after,
#customize-control-bloglo_copyright_background:after,
#customize-control-bloglo_single_post_thumb:after,
#customize-control-bloglo_single_post_categories:after,
#customize-control-bloglo_single_post_tags:after,
#customize-control-bloglo_single_last_updated:after,
#customize-control-bloglo_single_about_author:after,
#customize-control-bloglo_single_post_next_prev:after,
#customize-control-bloglo_primary_button_design_options:after,
#customize-control-bloglo_single_toggle_comments:after {
  display: none;
}

.control-section {
  min-height: 100%;
}

.control-section-bloglo-section-hiding.open,
.control-section-default.open {
  -js-display: flex !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.control-section-bloglo-section-hiding.open .customize-control,
.control-section-default.open .customize-control {
  margin-bottom: 16px;
}

.control-section-bloglo-section-hiding.open .customize-control:after,
.control-section-default.open .customize-control:after {
  content: "";
  display: block;
  margin-top: 16px;
  border-bottom: 1px solid #ddd;
  margin-left: -12px;
  margin-right: -12px;
}

.control-section-bloglo-section-hiding.open .customize-control:last-child:after,
.control-section-default.open .customize-control:last-child:after {
  display: none;
}

.control-section-bloglo-section-hiding.open
  .customize-control
  input[type="text"]:not(.wp-color-picker),
.control-section-bloglo-section-hiding.open .customize-control textarea,
.control-section-bloglo-section-hiding.open .customize-control select,
.control-section-default.open
  .customize-control
  input[type="text"]:not(.wp-color-picker),
.control-section-default.open .customize-control textarea,
.control-section-default.open .customize-control select {
  margin-top: 6px;
  border-radius: 3px;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  padding: 2px 8px;
  font-size: 13px;
}

.control-section-bloglo-section-hiding.open
  .customize-control
  input[type="text"]:not(.wp-color-picker):focus::-webkit-input-placeholder,
.control-section-bloglo-section-hiding.open
  .customize-control
  textarea:focus::-webkit-input-placeholder,
.control-section-bloglo-section-hiding.open
  .customize-control
  select:focus::-webkit-input-placeholder,
.control-section-default.open
  .customize-control
  input[type="text"]:not(.wp-color-picker):focus::-webkit-input-placeholder,
.control-section-default.open
  .customize-control
  textarea:focus::-webkit-input-placeholder,
.control-section-default.open
  .customize-control
  select:focus::-webkit-input-placeholder {
  opacity: 0.6;
}

.control-section-bloglo-section-hiding.open
  .customize-control
  input[type="text"]:not(.wp-color-picker):focus::-moz-placeholder,
.control-section-bloglo-section-hiding.open
  .customize-control
  textarea:focus::-moz-placeholder,
.control-section-bloglo-section-hiding.open
  .customize-control
  select:focus::-moz-placeholder,
.control-section-default.open
  .customize-control
  input[type="text"]:not(.wp-color-picker):focus::-moz-placeholder,
.control-section-default.open
  .customize-control
  textarea:focus::-moz-placeholder,
.control-section-default.open
  .customize-control
  select:focus::-moz-placeholder {
  opacity: 0.6;
}

.control-section-bloglo-section-hiding.open
  .customize-control
  input[type="text"]:not(.wp-color-picker):focus:-ms-input-placeholder,
.control-section-bloglo-section-hiding.open
  .customize-control
  textarea:focus:-ms-input-placeholder,
.control-section-bloglo-section-hiding.open
  .customize-control
  select:focus:-ms-input-placeholder,
.control-section-default.open
  .customize-control
  input[type="text"]:not(.wp-color-picker):focus:-ms-input-placeholder,
.control-section-default.open
  .customize-control
  textarea:focus:-ms-input-placeholder,
.control-section-default.open
  .customize-control
  select:focus:-ms-input-placeholder {
  opacity: 0.6;
}

.control-section-bloglo-section-hiding.open
  .customize-control
  input[type="text"]:not(.wp-color-picker):focus::-ms-input-placeholder,
.control-section-bloglo-section-hiding.open
  .customize-control
  textarea:focus::-ms-input-placeholder,
.control-section-bloglo-section-hiding.open
  .customize-control
  select:focus::-ms-input-placeholder,
.control-section-default.open
  .customize-control
  input[type="text"]:not(.wp-color-picker):focus::-ms-input-placeholder,
.control-section-default.open
  .customize-control
  textarea:focus::-ms-input-placeholder,
.control-section-default.open
  .customize-control
  select:focus::-ms-input-placeholder {
  opacity: 0.6;
}

.control-section-bloglo-section-hiding.open
  .customize-control
  input[type="text"]:not(.wp-color-picker):focus::placeholder,
.control-section-bloglo-section-hiding.open
  .customize-control
  textarea:focus::placeholder,
.control-section-bloglo-section-hiding.open
  .customize-control
  select:focus::placeholder,
.control-section-default.open
  .customize-control
  input[type="text"]:not(.wp-color-picker):focus::placeholder,
.control-section-default.open .customize-control textarea:focus::placeholder,
.control-section-default.open .customize-control select:focus::placeholder {
  opacity: 0.6;
}

.control-section-bloglo-section-hiding.open .customize-control select,
.control-section-default.open .customize-control select {
  cursor: pointer;
}

.control-section-bloglo-section-hiding.open .customize-control textarea,
.control-section-default.open .customize-control textarea {
  padding: 10px 8px;
  width: 100%;
}

.control-section-bloglo-section-hiding.open
  .widget-top
  .widget-action:focus
  .toggle-indicator:before,
.control-section-default.open
  .widget-top
  .widget-action:focus
  .toggle-indicator:before {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.control-section-bloglo-section-hiding.open .widget-top .toggle-indicator,
.control-section-default.open .widget-top .toggle-indicator {
  border-radius: 50%;
}

.control-section-bloglo-section-hiding.open .widget-top .toggle-indicator:hover,
.control-section-default.open .widget-top .toggle-indicator:hover {
  background-color: #f0f0f0;
  color: #000;
}

#customize-control-background_repeat:after,
#customize-control-background_attachment:after,
#customize-control-background_size:after,
#customize-control-background_position:after,
#customize-control-background_preset:after {
  display: none;
}

#customize-control-background_repeat {
  margin-bottom: 0;
}

#customize-control-bloglo_header_layout.customize-control-bloglo-radio-image
  label,
#customize-control-bloglo_footer_layout.customize-control-bloglo-radio-image
  label,
#customize-control-bloglo_copyright_layout.customize-control-bloglo-radio-image
  label {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%;
}

#customize-control-bloglo_header_layout.customize-control-bloglo-radio-image
  label
  img,
#customize-control-bloglo_footer_layout.customize-control-bloglo-radio-image
  label
  img,
#customize-control-bloglo_copyright_layout.customize-control-bloglo-radio-image
  label
  img {
  width: 100%;
  height: auto;
}

.bloglo-hosting-button {
  margin: auto 0;
}

.bloglo-hosting-button > h3 {
  margin: 30px 0;
  background: none !important;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: none !important;
}

.bloglo-hosting-button > h3 .button-primary {
  padding-left: 20px !important;
  padding-right: 20px !important;
  font-weight: 400;
}

#customize-theme-controls #accordion-section-bloglo_info > h3 {
  padding: 0;
  border-left-color: #0073aa;
}

#customize-theme-controls #accordion-section-bloglo_info > h3 a {
  position: relative;
  z-index: 2;
  text-decoration: none;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  color: #0073aa;
  padding: 10px 10px 11px 14px;
  overflow: hidden;
}

#customize-theme-controls #accordion-section-bloglo_info > h3 a:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

#customize-theme-controls #accordion-section-bloglo_info > h3 a .dashicons {
  font-size: 85px;
  width: auto;
  height: auto;
  color: rgba(5, 10, 15, 0.03) !important;
  position: absolute;
  z-index: 1;
  right: -15px;
  bottom: -15px;
}

#customize-theme-controls #accordion-section-bloglo_info > h3:hover,
#customize-theme-controls #accordion-section-bloglo_info > h3:focus {
  border-left-color: #0073aa;
}

#customize-theme-controls #accordion-section-bloglo_info > h3:hover a,
#customize-theme-controls #accordion-section-bloglo_info > h3:focus a {
  color: #0073aa;
  background: #f3f3f5;
}

#customize-theme-controls
  #accordion-section-bloglo_info
  > h3:hover
  a
  .dashicons,
#customize-theme-controls
  #accordion-section-bloglo_info
  > h3:focus
  a
  .dashicons {
  color: inherit;
}

#customize-theme-controls #accordion-section-bloglo_info > h3:hover:after,
#customize-theme-controls #accordion-section-bloglo_info > h3:focus:after {
  color: #0073aa;
}

#customize-theme-controls #accordion-section-bloglo_info > h3:after {
  z-index: 2;
  display: block !important;
}

#customize-theme-controls #accordion-section-bloglo_info .bloglo-info-tagline {
  position: relative;
  z-index: 2;
  display: block;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  overflow: hidden;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.6;
  margin-top: 0;
  color: #656a6f;
}

#customize-controls .customize-control-description {
  font-style: normal;
}

#customize-controls .customize-control-description > p:first-child {
  margin-top: 0;
}

#customize-controls
  .customize-control-cropped_image
  .customize-control-description {
  margin-bottom: 12px;
}

#customize-controls .customize-control-title {
  position: relative;
  color: #232323;
}

#customize-controls .bloglo-select-wrapper select {
  margin: 6px 0 0 0;
}

.bloglo-control-wrapper .customize-control-title {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.bloglo-control-wrapper .customize-control-description {
  margin-top: -2px;
  margin-bottom: 6px;
}

.bloglo-control-wrapper .buttonset {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-left: 1px solid #d2d2d2;
}

.bloglo-control-wrapper .buttonset label {
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -ms-flex-preferred-size: 33.33%;
  flex-basis: 33.33%;
  max-width: 33.33%;
  padding: 7px 12px;
  background-color: #fff;
  border-top: solid 1px #d2d2d2;
  border-bottom: solid 1px #d2d2d2;
  border-right: solid 1px #d2d2d2;
  text-align: center;
}

.bloglo-control-wrapper .buttonset label:hover {
  color: #000;
}

.bloglo-control-wrapper .buttonset input {
  display: none;
}

.bloglo-control-wrapper .buttonset input:checked + label {
  background-color: #0085ba;
  color: #fff;
}

.bloglo-control-wrapper .widget-inside .buttonset {
  margin-top: 6px;
}

.bloglo-control-wrapper .widget-inside .buttonset label {
  -ms-flex-preferred-size: initial;
  flex-basis: initial;
  max-width: initial;
}

.bloglo-control-wrapper .reset-defaults {
  text-decoration: none;
  color: rgba(0, 0, 0, 0.2);
  margin-right: 10px;
}

.bloglo-control-wrapper .reset-defaults:hover {
  color: #f00;
}

.bloglo-control-wrapper .reset-defaults > .dashicons {
  font-size: 14px;
  line-height: 20px;
  width: 14px;
}

#bloglo-available-widgets {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  visibility: hidden;
  overflow-x: hidden;
  overflow-y: auto;
  width: 300px;
  margin: 0;
  z-index: 4;
  background: #eee;
  -webkit-transition: all 0.18s;
  transition: all 0.18s;
  border-right: 1px solid #ddd;
}

.bloglo-info-icon {
  margin-left: 10px;
  margin-top: 2px;
}

.bloglo-info-icon svg {
  fill: none;
  stroke: #c7c7c7;
}

.bloglo-info-icon:hover svg,
.bloglo-info-icon:focus svg {
  fill: none;
  stroke: #555d66;
}

.bloglo-info-icon:hover .bloglo-tooltip,
.bloglo-info-icon:focus .bloglo-tooltip {
  display: block;
}

.bloglo-tooltip {
  max-width: 180px;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.5;
  padding: 8px 14px;
  text-transform: none;
  letter-spacing: 0;
}

.bloglo-tooltip.top-right-tooltip {
  -webkit-transform: translate(8px, -12px);
  -ms-transform: translate(8px, -12px);
  transform: translate(8px, -12px);
}

.bloglo-control-unit {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-left: auto;
}

.bloglo-control-unit input {
  display: none;
}

.bloglo-control-unit input:checked + label {
  color: #000;
  text-decoration: underline;
}

.bloglo-control-unit label {
  margin: 0px 3px;
  color: #999;
  text-transform: uppercase;
  font-size: 9px;
}

.bloglo-control-unit label:hover {
  color: #000;
}

.select2-dropdown {
  z-index: 500000 !important;
  border-color: #7e8993;
}

.select2-container--default .select2-selection--single {
  border-color: #7e8993 !important;
}

.select2-container--default .select2-selection--single:focus {
  outline: none !important;
}

.select2-container--default.select2-container--focus
  .select2-selection--single {
  border-color: #0085ba !important;
}

.select2-container--default .select2-results__group {
  color: #aaa;
  font-weight: 400;
}

.select2-container--default .select2-results__option {
  padding: 5px 6px;
  margin: 0;
}

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1.5em;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  color: #32373c;
  line-height: 32px;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: #eee;
}

.select2-container--default
  .select2-results__option--highlighted[aria-selected] {
  background-color: #0085ba !important;
}

.select2-container .select2-selection--single {
  min-height: 32px;
  border-radius: 2px;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 32px;
}

.select2-search--dropdown {
  padding: 0;
}

.select2-search--dropdown .select2-search__field {
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-radius: 0;
  margin-left: 0 !important;
  padding: 2px 8px;
  border-bottom-color: #7e8993;
}

.select2-search--dropdown .select2-search__field:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.wp-pointer.bloglo-pointer {
  z-index: 500000 !important;
}

#wp-pointer-4.bloglo-pointer.wp-pointer-top .wp-pointer-arrow {
  right: 62px;
  left: auto;
}

.spinner {
  display: none;
}

.spinner.activated,
.spinner.visible {
  display: inline-block;
  visibility: visible;
}

/**
 * Import customizer responsive buttons.
 */
/*****************************************/
/* Customizer responsive buttons styles
/*****************************************/
.bloglo-responsive-switchers {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 2px 0 0 auto;
}

.bloglo-responsive-switchers.expanded li {
  display: initial;
}

.bloglo-responsive-switchers .bloglo-tooltip.small-tooltip {
  bottom: 100%;
  top: auto;
  margin-bottom: 5px;
}

.bloglo-responsive-switchers li {
  position: relative;
  margin: 0;
  cursor: pointer;
  display: none;
}

.bloglo-responsive-switchers li:first-child {
  display: initial;
}

.bloglo-responsive-switchers li:hover .small-tooltip {
  display: block;
  text-transform: capitalize;
}

.bloglo-responsive-switchers li .active .dashicons {
  background-color: #0073aa !important;
  color: #fff !important;
}

.bloglo-responsive-switchers li:hover .dashicons {
  color: #232323;
}

.bloglo-responsive-switchers li .dashicons {
  width: 20px;
  height: 20px;
  font-size: 12px;
  border-radius: 50%;
  background-color: #fff;
  color: #808890;
  margin: 0 3px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid #e0e0e0;
}

.bloglo-responsive-switchers .dashicons-mobile:before {
  content: "\f470";
}

.bloglo-control-wrapper .bloglo-control-wrap > div {
  display: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

.bloglo-control-wrapper .bloglo-control-wrap > div.active {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/**
 * Import customizer popup options.
 */
/*****************************************/
/* Customizer popup options styles
/*****************************************/
.bloglo-btn.btn-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.bloglo-btn:disabled,
.bloglo-btn.disabled,
body:not(.wp-customizer) input[type="submit"]:disabled,
body:not(.wp-customizer) input.disabled[type="submit"],
.site-main .woocommerce #respond input#submit:disabled,
.site-main .woocommerce #respond input#submit.disabled,
.site-main .woocommerce a.button:disabled,
.site-main .woocommerce a.button.disabled,
.site-main .woocommerce button.button:disabled,
.site-main .woocommerce button.button.disabled,
.site-main .woocommerce input.button:disabled,
.site-main .woocommerce input.button.disabled,
.woocommerce ul.products li.product .added_to_cart:disabled,
.woocommerce ul.products li.product .added_to_cart.disabled,
.woocommerce ul.products li.product .button:disabled,
.woocommerce ul.products li.product .button.disabled,
.woocommerce div.product form.cart .button:disabled,
.woocommerce div.product form.cart .button.disabled,
.woocommerce #review_form #respond .form-submit input:disabled,
.woocommerce #review_form #respond .form-submit input.disabled,
#infinite-handle span:disabled,
#infinite-handle span.disabled {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.bloglo-btn,
body:not(.wp-customizer) input[type="submit"],
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce #review_form #respond .form-submit input,
#infinite-handle span {
  text-decoration: none;
}

.bloglo-btn,
body:not(.wp-customizer) input[type="submit"],
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce #review_form #respond .form-submit input,
#infinite-handle span {
  -webkit-transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.bloglo-btn,
body:not(.wp-customizer) input[type="submit"],
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce #review_form #respond .form-submit input,
#infinite-handle span {
  outline: none;
  border: none;
  margin: 0;
  padding: 0;
  text-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.bloglo-popup-options,
.bloglo-popup-options .popup-link {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.bloglo-popup-options {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
}

.bloglo-popup-options .popup-link {
  margin-left: auto;
  background-color: #fff;
  border-radius: 3px;
  margin-left: auto;
  font-size: 12px;
  width: 40px;
  height: 33px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #e0e0e0;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  text-decoration: none;
  color: #555d66;
}

.bloglo-popup-options .popup-link .dashicons {
  -webkit-transition: none;
  transition: none;
  color: inherit;
}

.bloglo-popup-options .popup-link.active,
.bloglo-popup-options .popup-link:focus,
.bloglo-popup-options .popup-link:hover {
  background-color: #0284ba;
  color: #fff;
}

.bloglo-popup-options .popup-link.active > .dashicons-edit:before {
  content: "\f335";
}

.bloglo-popup-options .popup-link.hidden {
  display: none;
}

.bloglo-popup-options .popup-content {
  background-color: #fff;
  padding: 14px 20px;
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0;
  margin: 10px 0 30px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.22);
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.22);
  z-index: 2;
}

.bloglo-popup-options .popup-content:after {
  content: "";
  position: absolute;
  top: -6px;
  right: 15px;
  background-color: #fff;
  width: 10px;
  height: 10px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
}

.bloglo-popup-options .popup-element {
  margin: 12px 0;
  position: relative;
}

.bloglo-popup-options .popup-element.style-1 > label,
.bloglo-popup-options .popup-element.style-2 > label {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 12px;
  line-height: 1;
  margin-right: 5px;
}

.bloglo-popup-options .popup-element.style-1 {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.bloglo-popup-options .popup-element.style-1 > .popup-input-wrapper {
  margin-left: auto;
  width: 55%;
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

.bloglo-popup-options .popup-element.style-1 select,
.bloglo-popup-options .popup-element.style-1 input {
  margin: 0 !important;
}

.bloglo-popup-options .popup-element.color-element {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.bloglo-popup-options .popup-element.color-element > label {
  min-height: 22px;
  line-height: 22px;
}

.bloglo-popup-options .popup-element.color-element .wp-color-result.button {
  position: absolute;
  top: 0;
  right: 0;
  height: 23px;
  min-height: 23px;
  width: 50px;
  padding: 0;
}

.bloglo-popup-options
  .popup-element.color-element
  .wp-color-result.button:before {
  width: 48px;
}

.bloglo-popup-options
  .popup-element.color-element
  .wp-color-result.button
  .wp-color-result-text {
  display: none;
}

.bloglo-popup-options
  .popup-element.color-element
  .wp-picker-container.wp-picker-active {
  -ms-flex-item-align: end;
  align-self: flex-end;
}

.bloglo-popup-options
  .popup-element.color-element
  .wp-picker-open
  + .wp-picker-input-wrap
  label
  input {
  padding: 8px 12px !important;
  border-radius: 3px 0 0 0 !important;
}

/**
 * Import customizer pointers api.
 */
/* ==========================================================================
*  WordPress Pointers API styles.
*  ========================================================================== */
.widget .customize-partial-edit-shortcut button,
.customize-partial-edit-shortcut button {
  background: #0085ba !important;
}

.bloglo-pointer-buttons {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

.bloglo-pointer-buttons .button-primary {
  margin-left: auto;
}

.bloglo-pointer-buttons a.close {
  margin-left: 15px;
}

.bloglo-pointer.arrow-top .wp-pointer-arrow {
  top: 0;
  margin-top: 12px;
  border-right-color: #0173a1;
}

.bloglo-pointer.arrow-top .wp-pointer-arrow .wp-pointer-arrow-inner {
  border-right-color: #0185ba;
}

.bloglo-pointer .wp-pointer-content {
  padding: 0 0 16px;
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #ddd;
}

.bloglo-pointer .wp-pointer-content h3 {
  background: #0085ba;
  font-size: 16px;
  padding: 13px 16px;
  line-height: 24px;
  font-weight: 400;
  color: #fafbfc;
  margin: 0;
  border-radius: 3px 3px 0 0;
  border: 1px solid #0073a1;
  border-bottom: none;
  margin: -1px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.bloglo-pointer .wp-pointer-content h3:before {
  display: none;
}

.bloglo-pointer .wp-pointer-content h3 img {
  margin: 0 auto;
  height: 23px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.bloglo-pointer .wp-pointer-content p {
  padding: 0;
  margin: 16px 16px 32px 16px;
  font-size: 14px;
  line-height: 22px;
  color: #5c5c5c;
}

.bloglo-pointer .wp-pointer-content a {
  text-decoration: none;
  color: #0085ba;
}

.bloglo-pointer .wp-pointer-content a:hover {
  color: #00b1f7;
}

.bloglo-pointer .wp-pointer-content .button {
  font-weight: 300;
  -webkit-box-shadow: none;
  box-shadow: none;
  text-shadow: none;
  border: none;
  height: 32px;
  line-height: 32px;
  padding: 0 25px;
  border-radius: 3px;
  line-height: 32px;
  font-size: 13px;
}

.bloglo-pointer .wp-pointer-content .button-primary {
  -webkit-box-shadow: none;
  box-shadow: none;
  text-shadow: none;
  border: none;
  background-color: #0085ba;
  color: #fff !important;
}

.bloglo-pointer .wp-pointer-content .button-primary:hover {
  background-color: #0097d4;
}

.bloglo-pointer .wp-pointer-content a.close {
  margin-left: 0;
  padding-left: 0;
}

.bloglo-pointer .wp-pointer-content a.close:before {
  display: none !important;
}

.bloglo-pointer .wp-pointer-content .wp-pointer-buttons {
  padding: 0 16px;
}

.bloglo-pointer .wp-pointer-content .wp-pointer-buttons a {
  color: #0085ba;
}

.bloglo-pointer .wp-pointer-content .wp-pointer-buttons a:hover {
  color: #00b1f7;
}

.bloglo-pointer .wp-pointer-content .wp-pointer-buttons a.close {
  margin-right: auto;
}

.bloglo-pointer .wp-pointer-content .wp-pointer-buttons a.button-primary {
  margin-left: 8px;
}

.bloglo-pointer .wp-pointer-content .wp-pointer-buttons a.button-secondary {
  border: 1px solid #0085ba;
  border-radius: 3px;
  background: none;
}

.bloglo-pointer.wp-pointer-top .wp-pointer-arrow {
  border-bottom-color: #00a9ed !important;
}

.bloglo-pointer.wp-pointer-top .wp-pointer-arrow .wp-pointer-arrow-inner {
  border-bottom-color: #0085ba !important;
}

/**
 * Import buttons.
 */
/*****************************************/
/* Button styles.
/*****************************************/
.bloglo-btn,
body:not(.wp-customizer) input[type="submit"],
.site-main .woocommerce #respond input#submit,
.site-main .woocommerce a.button,
.site-main .woocommerce button.button,
.site-main .woocommerce input.button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce #review_form #respond .form-submit input,
#infinite-handle span {
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  max-width: 100%;
  cursor: pointer;
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-style: solid;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: inherit;
  min-height: 45px;
  padding: 0.5em 2em;
}

.bloglo-btn span,
body:not(.wp-customizer) input[type="submit"] span,
.site-main .woocommerce #respond input#submit span,
.site-main .woocommerce a.button span,
.site-main .woocommerce button.button span,
.site-main .woocommerce input.button span,
.woocommerce ul.products li.product .added_to_cart span,
.woocommerce ul.products li.product .button span,
.woocommerce div.product form.cart .button span,
.woocommerce #review_form #respond .form-submit input span,
#infinite-handle span span {
  z-index: 2;
  position: relative;
}

.bloglo-btn:disabled,
.bloglo-btn.disabled,
body:not(.wp-customizer) input[type="submit"]:disabled,
body:not(.wp-customizer) input[type="submit"].disabled,
.site-main .woocommerce #respond input#submit:disabled,
.site-main .woocommerce #respond input#submit.disabled,
.site-main .woocommerce a.button:disabled,
.site-main .woocommerce a.button.disabled,
.site-main .woocommerce button.button:disabled,
.site-main .woocommerce button.button.disabled,
.site-main .woocommerce input.button:disabled,
.site-main .woocommerce input.button.disabled,
.woocommerce ul.products li.product .added_to_cart:disabled,
.woocommerce ul.products li.product .added_to_cart.disabled,
.woocommerce ul.products li.product .button:disabled,
.woocommerce ul.products li.product .button.disabled,
.woocommerce div.product form.cart .button:disabled,
.woocommerce div.product form.cart .button.disabled,
.woocommerce #review_form #respond .form-submit input:disabled,
.woocommerce #review_form #respond .form-submit input.disabled,
#infinite-handle span:disabled,
#infinite-handle span.disabled {
  cursor: not-allowed !important;
}

.bloglo-btn:disabled > span,
.bloglo-btn:disabled > svg,
.bloglo-btn.disabled > span,
.bloglo-btn.disabled > svg,
body:not(.wp-customizer) input[type="submit"]:disabled > span,
body:not(.wp-customizer) input[type="submit"]:disabled > svg,
body:not(.wp-customizer) input[type="submit"].disabled > span,
body:not(.wp-customizer) input[type="submit"].disabled > svg,
.site-main .woocommerce #respond input#submit:disabled > span,
.site-main .woocommerce #respond input#submit:disabled > svg,
.site-main .woocommerce #respond input#submit.disabled > span,
.site-main .woocommerce #respond input#submit.disabled > svg,
.site-main .woocommerce a.button:disabled > span,
.site-main .woocommerce a.button:disabled > svg,
.site-main .woocommerce a.button.disabled > span,
.site-main .woocommerce a.button.disabled > svg,
.site-main .woocommerce button.button:disabled > span,
.site-main .woocommerce button.button:disabled > svg,
.site-main .woocommerce button.button.disabled > span,
.site-main .woocommerce button.button.disabled > svg,
.site-main .woocommerce input.button:disabled > span,
.site-main .woocommerce input.button:disabled > svg,
.site-main .woocommerce input.button.disabled > span,
.site-main .woocommerce input.button.disabled > svg,
.woocommerce ul.products li.product .added_to_cart:disabled > span,
.woocommerce ul.products li.product .added_to_cart:disabled > svg,
.woocommerce ul.products li.product .added_to_cart.disabled > span,
.woocommerce ul.products li.product .added_to_cart.disabled > svg,
.woocommerce ul.products li.product .button:disabled > span,
.woocommerce ul.products li.product .button:disabled > svg,
.woocommerce ul.products li.product .button.disabled > span,
.woocommerce ul.products li.product .button.disabled > svg,
.woocommerce div.product form.cart .button:disabled > span,
.woocommerce div.product form.cart .button:disabled > svg,
.woocommerce div.product form.cart .button.disabled > span,
.woocommerce div.product form.cart .button.disabled > svg,
.woocommerce #review_form #respond .form-submit input:disabled > span,
.woocommerce #review_form #respond .form-submit input:disabled > svg,
.woocommerce #review_form #respond .form-submit input.disabled > span,
.woocommerce #review_form #respond .form-submit input.disabled > svg,
#infinite-handle span:disabled > span,
#infinite-handle span:disabled > svg,
#infinite-handle span.disabled > span,
#infinite-handle span.disabled > svg {
  opacity: 0.5;
}

button.bloglo-btn:disabled {
  opacity: 0.5;
}

.btn-small,
.site-main .woocommerce #respond input#submit,
#secondary .woocommerce a.button,
#secondary .woocommerce button.button,
#secondary .woocommerce input.button,
.site-main .woocommerce .woocommerce-table a.button,
.site-main .woocommerce .woocommerce-orders-table a.button,
.site-main .woocommerce .woocommerce-Pagination a.button,
.site-main .woocommerce .shipping-calculator-form .button,
.woocommerce #secondary .widget_price_filter .price_slider_amount .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .button {
  font-size: 90% !important;
  min-height: 40px;
  padding: 0.5em 1.5em;
}

.btn-large,
#place_order {
  min-height: 57px;
  font-size: 108% !important;
}

.btn-xlarge {
  font-size: 130% !important;
  min-height: 69px;
  font-weight: 600;
}

.btn-fw {
  width: 100%;
  text-align: center;
}

.btn-large-radius {
  border-radius: 50px;
}

.btn-left-icon,
.btn-right-icon {
  position: relative;
}

.btn-left-icon > svg,
.btn-right-icon > svg {
  height: 1.1em;
}

.btn-left-icon.btn-reveal > svg,
.btn-right-icon.btn-reveal > svg {
  -webkit-transition: opacity 0.1s ease,
    -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.1s ease,
    -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1),
    opacity 0.1s ease;
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1),
    opacity 0.1s ease,
    -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

.btn-left-icon.btn-reveal > span,
.btn-right-icon.btn-reveal > span {
  -webkit-transition: padding 0.35s cubic-bezier(0.645, 0.045, 0.355, 1),
    margin 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: padding 0.35s cubic-bezier(0.645, 0.045, 0.355, 1),
    margin 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: padding, margin;
}

.btn-left-icon.btn-svg > svg,
.btn-right-icon.btn-svg > svg {
  height: 1em !important;
  width: auto !important;
  vertical-align: middle;
  fill: currentColor;
}

.btn-left-icon > svg {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  margin-right: 0.65em;
  margin-left: -0.65em;
}

.btn-left-icon > span {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.btn-left-icon.btn-reveal > svg {
  left: 0.8em;
  -webkit-transform: translate3d(10px, -50%, 0);
  transform: translate3d(10px, -50%, 0);
  margin-left: 0;
  margin-right: 0;
}

.btn-left-icon.btn-reveal:hover > span {
  padding-left: 1em;
  margin-right: -1em;
}

.btn-left-icon.btn-reveal:hover > svg {
  opacity: 1;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0);
}

.btn-right-icon > svg {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  margin-left: 0.65em;
  margin-right: -0.65em;
}

.btn-right-icon.btn-reveal > svg {
  right: 0.8em;
  -webkit-transform: translate3d(-10px, -50%, 0);
  transform: translate3d(-10px, -50%, 0);
  margin-left: 0;
  margin-right: 0;
}

.btn-right-icon.btn-reveal:hover > span {
  padding-right: 1em;
  margin-left: -1em;
}

.btn-right-icon.btn-reveal:hover > svg {
  opacity: 1;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0);
}

.bloglo-btn.btn-outline {
  background-color: rgba(0, 0, 0, 0);
}

.bloglo-btn.btn-secondary.btn-outline {
  background-color: rgba(0, 0, 0, 0);
}

.bloglo-btn.btn-with-shadow {
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.bloglo-btn.btn-with-shadow:hover {
  -webkit-box-shadow: 0 5px 25px rgba(0, 0, 0, 0.175);
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.175);
  -webkit-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  transform: translateY(-2px);
}

.bloglo-btn.btn-text-1 {
  padding: 0 !important;
  min-height: 0;
  height: auto;
  background: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  font-weight: 500;
}

.bloglo-btn.btn-text-1 span {
  padding: 3px 0;
}

.bloglo-btn.btn-text-1 span:before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  border-radius: 0;
}

.bloglo-btn.btn-text-1 span:before {
  background: currentColor;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.35s
    cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1),
    -webkit-transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: scale;
  z-index: 1;
}

.bloglo-btn.btn-text-1:hover > span:before,
.bloglo-btn.btn-text-1:focus-within > span:before {
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}

.bloglo-btn.btn-text-1.btn-left-icon > span,
.bloglo-btn.btn-text-1.btn-right-icon > span {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.repeatable-customize-control .item-alignment .bloglo-tooltip {
  left: -86px;
}
inc/customizer/assets/images/wpbh.svg000064400000011431152425655560013770 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 232.12 21" fill="#fff"><path d="M119 14.25V11.5h-2.72v-1.15H119V7.63h1.17v2.72h2.72v1.15h-2.72v2.75zM10.5.63a9.87 9.87 0 013.84 19A9.87 9.87 0 012.32 5a9.81 9.81 0 014.35-3.59A9.72 9.72 0 0110.5.63m0-.63A10.5 10.5 0 1021 10.5 10.5 10.5 0 0010.5 0"/><path d="M1.75 10.5a8.74 8.74 0 004.94 7.88L2.51 6.94a8.72 8.72 0 00-.76 3.56m14.66-.44a4.69 4.69 0 00-.72-2.42 4.56 4.56 0 01-.86-2A1.58 1.58 0 0116.3 4h.11a8.75 8.75 0 00-12.36.55 9.05 9.05 0 00-.86 1.1h.57l2.33-.11a.36.36 0 010 .72s-.47 0-1 .08l3.18 9.49 1.91-5.75-1.31-3.7L8 6.3a.36.36 0 010-.72l2.3.11 2.33-.11a.36.36 0 010 .72s-.47 0-1 .08l3.16 9.41.9-2.85a10.18 10.18 0 00.64-2.89m-5.75 1.21L8 18.89a8.83 8.83 0 005.38-.14l-.06-.11zm7.53-5a6.69 6.69 0 01.06.9 8.33 8.33 0 01-.66 3.13l-2.61 7.77A8.76 8.76 0 0018.18 6.3m40.36 1.49h-4.17v.44c1.3 0 1.51.29 1.51 1.93v3c0 1.65-.21 2-1.51 2a4.25 4.25 0 01-2.62-1.7l-1.07-1.17a2.33 2.33 0 002.22-2.19c0-1.28-1.09-2.27-3.15-2.27h-4.11v.44c1.31 0 1.52.28 1.52 1.93v3c0 1.65-.21 2-1.52 2v.44h4.64v-.42c-1.3 0-1.51-.3-1.51-2v-.84h.4l2.59 3.24h6.8c3.34 0 4.79-1.77 4.79-3.89s-1.45-3.94-4.79-3.94m-9.78 3.8v-3.1h1a1.43 1.43 0 011.51 1.57 1.41 1.41 0 01-1.51 1.54zm9.85 3.25h-.17c-.84 0-1-.21-1-1.28V8.49h1.12c2.43 0 2.87 1.78 2.87 3.15s-.44 3.2-2.87 3.2m-25.94-2.38l1.61-4.75c.46-1.38.25-1.78-1.24-1.78v-.47h4.39v.46c-1.47 0-1.82.35-2.4 2.06l-2.66 8H32l-2.35-7.33L27.23 16h-.31l-2.59-8c-.56-1.7-.94-2.06-2.29-2.06v-.48h5.18v.46c-1.38 0-1.76.33-1.26 1.78l1.56 4.75 2.37-7h.44zm7.93 3.41a4.46 4.46 0 01-4.66-4.2 4.45 4.45 0 014.66-4.18 4.46 4.46 0 014.66 4.18 4.48 4.48 0 01-4.66 4.2m0-7.66c-2.14 0-2.9 1.93-2.9 3.46s.76 3.45 2.9 3.45 2.92-1.91 2.92-3.45-.74-3.46-2.92-3.46m28.52 6.89v.46h-5.34v-.46c1.56 0 1.84-.4 1.84-2.73V8.63c0-2.33-.28-2.71-1.84-2.71v-.46h4.83c2.4 0 3.73 1.24 3.73 2.9s-1.31 2.86-3.73 2.86h-1.34v1.15c0 2.33.29 2.73 1.85 2.73m-.51-8.8h-1.34v4.06h1.34a1.82 1.82 0 001.91-2 1.87 1.87 0 00-1.91-2.06m19.76 7.07l-.12.42c-.21.76-.46 1.05-2.12 1.05h-.33c-1.21 0-1.42-.29-1.42-1.94v-1.07c1.81 0 2 .17 2 1.38h.44V9.73h-.44c0 1.22-.14 1.38-2 1.38V8.49h1.28c1.66 0 1.91.29 2.12 1l.11.45h.38l-.17-2.2h-6.85v.44c1.3 0 1.51.29 1.51 1.93v3c0 1.51-.18 1.9-1.21 1.95A4.32 4.32 0 0179 13.41l-1.07-1.17a2.32 2.32 0 002.21-2.19c0-1.28-1.09-2.27-3.15-2.27h-4.14v.44c1.3 0 1.51.29 1.51 1.93v3c0 1.65-.21 2-1.51 2v.44h4.64v-.42c-1.3 0-1.51-.3-1.51-2v-.84h.4L79 15.56h9.59l.13-2.19zM76 11.59v-3.1h1a1.44 1.44 0 011.52 1.57A1.42 1.42 0 0177 11.6zm17.07 4.28a3.48 3.48 0 01-2.1-.8 1.7 1.7 0 00-.38.8h-.44v-3.23h.47a2.58 2.58 0 002.63 2.45c.75 0 1.36-.42 1.36-1.12s-.54-1.08-1.5-1.52l-1.33-.63a2.54 2.54 0 01-1.64-2.23 2.36 2.36 0 012.5-2.08 2.92 2.92 0 011.82.61 1.42 1.42 0 00.3-.63h.44v2.75h-.49c-.17-1.09-.77-2-2-2-.65 0-1.26.38-1.26 1s.5.93 1.61 1.45l1.28.63a2.41 2.41 0 011.57 2.1 2.64 2.64 0 01-2.85 2.5m7.07-.05a3.43 3.43 0 01-2.1-.8 1.61 1.61 0 00-.38.8h-.44v-3.23h.46a2.58 2.58 0 002.64 2.45 1.2 1.2 0 001.35-1.09c0-.71-.53-1.08-1.49-1.52l-1.33-.63a2.53 2.53 0 01-1.64-2.26 2.36 2.36 0 012.5-2.08 2.87 2.87 0 011.81.61 1.41 1.41 0 00.31-.63h.44v2.75h-.49c-.17-1.09-.77-2-2-2-.65 0-1.26.38-1.26 1s.49.93 1.61 1.45l1.28.63a2.41 2.41 0 011.56 2.1 2.63 2.63 0 01-2.84 2.5M135.84 2.5h4.36v4.39h-4.36zm5.63 0h4.37v4.39h-4.37zm5.63 0h4.37v4.39h-4.37zm-11.26 5.68h4.36v4.39h-4.36zm5.63 0h4.37v4.39h-4.37zm5.63 0h4.37v4.39h-4.37zm-11.26 5.68h4.36v4.39h-4.36zm5.63 0h4.37v4.39h-4.37z"/><path fill-opacity=".5" d="M147.1 13.86h4.37v4.39h-4.37z"/><path d="M160.4 16.82a5.84 5.84 0 002.64.66c2.05 0 4-1.21 4-4.23 0-2.67-1.48-4.2-3.37-4.2a4.49 4.49 0 00-3.23 1.58zm0-7.52a5.05 5.05 0 013.33-1.3c2.23 0 4.39 1.53 4.39 5.21s-2.42 5.25-5 5.25a7.75 7.75 0 01-3.82-1V2.51h1.11zm9.67-6.8h1.07v15.8h-1.07zm4.8 11.86c0 2.4 1.17 3.06 2.34 3.06a4.34 4.34 0 003.46-2.22v-7h1.12v10.1h-1.12v-1.95a4.74 4.74 0 01-3.82 2.11c-1.58 0-3.1-.91-3.1-4V8.19h1.12zM192 12.57a3.33 3.33 0 00-3.25-3.51 3.61 3.61 0 00-3.75 3.51zm.46 5.06a7.1 7.1 0 01-3.59.87c-3.37-.12-5.1-2.78-5-5.63a4.73 4.73 0 015-4.82c2.7.07 4.55 2.25 4.19 5.44H185a3.9 3.9 0 004 4 6.19 6.19 0 003.14-.77zm4.23-7.46A4.46 4.46 0 01200.37 8c2 0 3.2 1.53 3.2 3.79v6.51h-1.11v-6.25c0-2.19-1.11-3-2.32-3a4.32 4.32 0 00-3.45 2.28v6.97h-1.12V2.51h1.12zm9.83 3.06c0 2.24 1.29 4.19 3.71 4.19s3.71-2 3.71-4.19-1.37-4.15-3.71-4.15-3.71 1.92-3.71 4.15zm8.54 0c0 3.35-2.25 5.23-4.83 5.23-2.9 0-4.84-2.34-4.84-5.23A4.9 4.9 0 01210.23 8a4.83 4.83 0 014.83 5.23zm2.55 3.33a4.86 4.86 0 002.68.86c1.05 0 2.35-.44 2.34-1.51 0-.91-1-1.62-2.5-2.23-1.71-.68-3.2-1.31-3.2-2.93s1.5-2.7 3.48-2.7a6 6 0 012.79.73l-.42.89a5 5 0 00-2.34-.59c-1.66 0-2.41.82-2.41 1.67 0 1.09 1.23 1.5 2.78 2.14 2.43.95 2.94 2 2.94 3 0 1.58-1.47 2.58-3.43 2.58a6.29 6.29 0 01-3.19-.92zm13.47-8.37v1h-3.33v5.53c0 1.63.69 2.69 2.15 2.75a4.18 4.18 0 001.89-.4l.33 1a6.09 6.09 0 01-2.24.45c-1.81 0-3.25-1.11-3.25-3.71V9.14h-1.8v-1h1.8V4.79h1.12v3.4z"/></svg>inc/customizer/assets/images/footer-layout-6.svg000064400000004037152425655560016010 0ustar00<svg width="150" height="88" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M150 0H0v88h150V0Z" fill="#EEE"/><path d="M38 0h-2v88h2V0ZM76 0h-2v88h2V0Z" fill="#B8C5CC"/><path d="M16.47 41.408c.287 0 .567-.024.84-.072.254-.042.5-.123.731-.24.224-.112.412-.256.564-.432.16-.176.264-.392.312-.648h1.116v8.4h-1.5v-5.928H16.47v-1.08ZM59.037 48.5h-5.736c.008-.696.176-1.304.504-1.824a4.611 4.611 0 0 1 1.344-1.356c.272-.2.556-.392.852-.576.296-.192.568-.396.816-.612.248-.216.452-.448.612-.696.16-.256.244-.548.252-.876 0-.152-.02-.312-.06-.48-.03-.173-.1-.337-.204-.48a1.161 1.161 0 0 0-.432-.372c-.184-.104-.424-.156-.72-.156-.272 0-.5.056-.684.168-.176.104-.32.252-.432.444-.112.207-.193.43-.24.66-.05.273-.078.55-.084.828h-1.368c0-.464.06-.892.18-1.284.128-.4.316-.744.564-1.032.248-.288.548-.512.9-.672.36-.168.776-.252 1.248-.252.512 0 .94.084 1.284.252.344.168.62.38.828.636.216.256.368.536.456.84.088.296.132.58.132.852 0 .336-.052.64-.156.912-.103.27-.245.525-.42.756a4.41 4.41 0 0 1-.6.624 8.967 8.967 0 0 1-.696.54c-.24.168-.48.328-.72.48-.24.152-.464.304-.672.456-.2.152-.376.312-.528.48-.152.16-.256.332-.312.516h4.092V48.5ZM113.032 43.6c-.222.04-.447.056-.672.048l.008 1.016c.267-.008.534 0 .8.024.243.02.48.083.7.186.203.098.376.25.5.438.139.236.206.507.192.78a1.377 1.377 0 0 1-.462 1.11 1.716 1.716 0 0 1-1.146.39 1.44 1.44 0 0 1-1.206-.51 1.903 1.903 0 0 1-.378-1.278H110c.001.409.069.814.2 1.2.118.345.309.66.558.924.256.264.567.467.912.594.782.27 1.63.28 2.418.03.344-.111.665-.284.948-.51.27-.217.491-.49.648-.8a2.555 2.555 0 0 0-.162-2.46 1.732 1.732 0 0 0-1.122-.714v-.024c.372-.116.691-.36.9-.69a2.1 2.1 0 0 0 .288-1.11 2.025 2.025 0 0 0-.834-1.68 2.818 2.818 0 0 0-.852-.42 3.306 3.306 0 0 0-.966-.144 2.867 2.867 0 0 0-1.14.216 2.483 2.483 0 0 0-.858.6c-.241.265-.43.572-.558.906a3.467 3.467 0 0 0-.228 1.134h1.368a2.092 2.092 0 0 1 .072-.63 1.74 1.74 0 0 1 .258-.552 1.235 1.235 0 0 1 1.062-.534c.344-.014.68.102.942.324a1.108 1.108 0 0 1 .366.864c.007.227-.049.452-.162.648a1.173 1.173 0 0 1-.426.414 1.872 1.872 0 0 1-.6.21Z" fill="#90A5AF"/></svg>inc/customizer/assets/images/footer-layout-1.svg000064400000004100152425655560015772 0ustar00<svg xmlns="http://www.w3.org/2000/svg" width="150" height="88.07"><path fill="#b8c5cc" d="M38 0v88.07h-2V0zm38 0v88.07h-2V0zm38 0v88.07h-2V0z"/><path fill="#eee" d="M0 0h36v88.07H0zm38 0h36v88.07H38zm38 0h36v88.07H76zm38 0h36v88.07h-36z"/><path d="M15.3 40.447a4.825 4.825 0 00.84-.072 2.621 2.621 0 00.738-.24 1.892 1.892 0 00.564-.432 1.322 1.322 0 00.306-.648h1.116v8.4h-1.5v-5.928H15.3zm43.568 7.008h-5.736a3.422 3.422 0 01.5-1.824 4.611 4.611 0 011.344-1.356q.408-.3.852-.582a6.747 6.747 0 00.816-.606 3.228 3.228 0 00.612-.7 1.666 1.666 0 00.252-.87 2.377 2.377 0 00-.054-.486 1.286 1.286 0 00-.21-.48 1.238 1.238 0 00-.432-.372 1.5 1.5 0 00-.72-.15 1.3 1.3 0 00-.678.162 1.211 1.211 0 00-.432.444 2.215 2.215 0 00-.24.666 4.815 4.815 0 00-.09.828h-1.364a4.3 4.3 0 01.186-1.29 2.861 2.861 0 01.558-1.026 2.633 2.633 0 01.906-.678 3.327 3.327 0 012.526.006 2.469 2.469 0 01.834.636 2.326 2.326 0 01.45.834 3.048 3.048 0 01.132.858 2.536 2.536 0 01-.156.912 2.937 2.937 0 01-.42.75 4.245 4.245 0 01-.6.63q-.336.288-.7.54t-.72.48q-.36.228-.666.456a3.911 3.911 0 00-.534.474 1.346 1.346 0 00-.312.522h4.092zm34.532-4.92a3.169 3.169 0 00.672-.048 1.87 1.87 0 00.6-.21 1.173 1.173 0 00.426-.414 1.217 1.217 0 00.162-.648 1.1 1.1 0 00-.366-.864 1.368 1.368 0 00-.942-.324 1.238 1.238 0 00-1.062.534 1.749 1.749 0 00-.258.552 2.076 2.076 0 00-.072.63h-1.368a3.467 3.467 0 01.228-1.134 2.853 2.853 0 01.558-.906 2.478 2.478 0 01.858-.6 2.868 2.868 0 011.14-.216 3.306 3.306 0 01.966.144 2.824 2.824 0 01.852.42 2.019 2.019 0 01.834 1.68 2.1 2.1 0 01-.288 1.11 1.647 1.647 0 01-.9.69v.024a1.734 1.734 0 011.122.714 2.561 2.561 0 01.162 2.46 2.438 2.438 0 01-.648.8 3 3 0 01-.948.51 3.85 3.85 0 01-2.418-.03 2.456 2.456 0 01-.912-.594 2.565 2.565 0 01-.558-.924 3.77 3.77 0 01-.2-1.2h1.36a1.9 1.9 0 00.378 1.278 1.442 1.442 0 001.206.51 1.716 1.716 0 001.146-.39 1.372 1.372 0 00.462-1.11 1.389 1.389 0 00-.192-.78 1.242 1.242 0 00-.5-.438 2.04 2.04 0 00-.7-.186 6.574 6.574 0 00-.8-.024zm41.528 2.928h-1.08v1.992h-1.3v-1.992h-3.6v-1.356l3.6-5.052h1.3v5.328h1.08zm-4.92-1.08h2.544v-3.7h-.024z" fill="#90a5af"/></svg>inc/customizer/assets/images/footer-layout-8.svg000064400000000451152425655560016006 0ustar00<svg width="150" height="88" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M150 0H0v88h150V0Z" fill="#EEE"/><path d="M73 41.392c.287 0 .567-.024.84-.072.254-.042.501-.123.731-.24.224-.112.412-.256.564-.432.16-.176.264-.392.312-.648h1.116v8.4h-1.5v-5.928H73v-1.08Z" fill="#90A5AF"/></svg>inc/customizer/assets/images/copyright-layout-2.svg000064400000000375152425655560016517 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 50"><path fill="#eee" d="M0 0h150v50H0z"/><g fill="#b8c5cc"><rect x="9" y="23.75" width="51.95" height="2.49" rx="1.13"/><rect x="89.05" y="23.75" width="51.95" height="2.49" rx="1.13"/></g></svg>inc/customizer/assets/images/header-layout-1.svg000064400000000527152425655560015735 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 50"><path fill="#eee" d="M0 0h150v50H0z"/><g fill="#c1ccd3"><path d="M9 14h22v22H9z"/><rect x="50.49" y="23.5" width="62.76" height="3" rx="1.5"/><rect x="119.25" y="20.31" width="9.38" height="9.38" rx="4.69"/><rect x="131.62" y="20.31" width="9.38" height="9.38" rx="4.69"/></g></svg>inc/customizer/assets/images/footer-layout-7.svg000064400000002164152425655560016010 0ustar00<svg width="150" height="88" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M150 0H0v88h150V0Z" fill="#EEE"/><path d="M76 0h-2v88h2V0Z" fill="#B8C5CC"/><path d="M34 41.408c.287 0 .567-.024.84-.072.254-.042.5-.123.731-.24.224-.112.412-.256.564-.432.16-.176.264-.392.312-.648h1.116v8.4h-1.5v-5.928H34v-1.08Zm81.567 7.092h-5.736c.008-.696.176-1.304.504-1.824a4.602 4.602 0 0 1 1.344-1.356c.272-.2.556-.392.852-.576.296-.192.568-.396.816-.612.248-.216.452-.448.612-.696.16-.256.244-.548.252-.876 0-.152-.02-.312-.06-.48a1.173 1.173 0 0 0-.204-.48 1.16 1.16 0 0 0-.432-.372c-.184-.104-.424-.156-.72-.156-.272 0-.5.056-.684.168-.176.104-.32.252-.432.444-.112.207-.193.43-.24.66a5.23 5.23 0 0 0-.084.828h-1.368c0-.464.06-.892.18-1.284.128-.4.316-.744.564-1.032.248-.288.548-.512.9-.672.36-.168.776-.252 1.248-.252.512 0 .94.084 1.284.252.344.168.62.38.828.636.216.256.368.536.456.84.088.296.132.58.132.852 0 .336-.052.64-.156.912-.103.27-.245.525-.42.756-.179.227-.38.436-.6.624a8.91 8.91 0 0 1-.696.54c-.24.168-.48.328-.72.48-.24.152-.464.304-.672.456-.2.152-.376.312-.528.48-.152.16-.256.332-.312.516h4.092V48.5Z" fill="#90A5AF"/></svg>inc/customizer/assets/images/header-layout-2.svg000064400000000540152425655560015731 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 50"><path fill="#eee" d="M0 0h150v50H0z"/><g fill="#b8c5cc"><path d="M9 16.72h28.01v16.56H9z"/><rect x="43.01" y="23.5" width="48.77" height="3" rx="1.5"/><rect x="119.25" y="20.31" width="9.38" height="9.38" rx="4.69"/><rect x="131.62" y="20.31" width="9.38" height="9.38" rx="4.69"/></g></svg>inc/customizer/assets/images/header-layout-5.svg000064400000001014152425655560015731 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 50"><path fill="#EEE" d="M0 0h150v50H0V0Z"/><path fill="#DCE0E2" stroke="#B8C5CC" stroke-width=".5" d="M27 11.25h96c7.594 0 13.75 6.156 13.75 13.75S130.594 38.75 123 38.75H27c-7.594 0-13.75-6.156-13.75-13.75S19.406 11.25 27 11.25Z"/><path fill="#B8C5CC" d="M20 25a7 7 0 0 1 7-7h14a7 7 0 1 1 0 14H27a7 7 0 0 1-7-7ZM103.5 24h-43a1.5 1.5 0 1 0 0 3h43a1.5 1.5 0 0 0 0-3ZM130 25.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0ZM118 25.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z"/></svg>inc/customizer/assets/images/transparency.svg000064400000000334152425655560015541 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 39.64 39.64"><path d="M19.82 19.82h19.82v19.82H19.82zM0 0h19.82v19.82H0z" fill="#fff"/><path d="M0 19.82h19.82v19.82H0zM19.82 0h19.82v19.82H19.82z" fill="#eee"/></svg>inc/customizer/assets/images/footer-layout-4.svg000064400000002151152425655560016001 0ustar00<svg width="150" height="88" xmlns="http://www.w3.org/2000/svg"><path fill="#EEE" d="M0 0h150v88H0z"/><path fill="#B8C5CC" d="M49.333 0h2v88h-2z"/><path d="M22.885 41.192c.288 0 .568-.024.84-.072a2.54 2.54 0 00.732-.24c.224-.112.412-.256.564-.432.16-.176.264-.392.312-.648h1.116v8.4h-1.5v-5.928h-2.064v-1.08zM103.529 48.284h-5.736c.008-.696.176-1.304.504-1.824a4.61 4.61 0 011.344-1.356c.272-.2.556-.392.852-.576.296-.192.568-.396.816-.612.248-.216.452-.448.612-.696.16-.256.244-.548.252-.876 0-.152-.02-.312-.06-.48a1.166 1.166 0 00-.204-.48 1.161 1.161 0 00-.432-.372c-.184-.104-.424-.156-.72-.156-.272 0-.5.056-.684.168a1.21 1.21 0 00-.432.444 2.364 2.364 0 00-.24.66 5.27 5.27 0 00-.084.828h-1.368c0-.464.06-.892.18-1.284.128-.4.316-.744.564-1.032.248-.288.548-.512.9-.672.36-.168.776-.252 1.248-.252.512 0 .94.084 1.284.252.344.168.62.38.828.636.216.256.368.536.456.84.088.296.132.58.132.852 0 .336-.052.64-.156.912a3.042 3.042 0 01-.42.756 4.41 4.41 0 01-.6.624 8.996 8.996 0 01-.696.54c-.24.168-.48.328-.72.48-.24.152-.464.304-.672.456-.2.152-.376.312-.528.48-.152.16-.256.332-.312.516h4.092v1.224z" fill="#90A5AF"/></svg>inc/customizer/assets/images/footer-layout-3.svg000064400000002162152425655560016002 0ustar00<svg width="150" height="88" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#EEE" d="M0 0h150v88H0z"/><path fill="#B8C5CC" d="M98.667 0h2v88h-2z"/><path d="M46.47 41.408c.287 0 .567-.024.84-.072a2.54 2.54 0 00.731-.24c.224-.112.412-.256.564-.432.16-.176.264-.392.312-.648h1.116v8.4h-1.5v-5.928H46.47v-1.08zM128.037 48.5h-5.736c.008-.696.176-1.304.504-1.824a4.61 4.61 0 011.344-1.356c.272-.2.556-.392.852-.576.296-.192.568-.396.816-.612.248-.216.452-.448.612-.696.16-.256.244-.548.252-.876 0-.152-.02-.312-.06-.48a1.166 1.166 0 00-.204-.48 1.161 1.161 0 00-.432-.372c-.184-.104-.424-.156-.72-.156-.272 0-.5.056-.684.168-.176.104-.32.252-.432.444a2.364 2.364 0 00-.24.66 5.27 5.27 0 00-.084.828h-1.368c0-.464.06-.892.18-1.284.128-.4.316-.744.564-1.032.248-.288.548-.512.9-.672.36-.168.776-.252 1.248-.252.512 0 .94.084 1.284.252.344.168.62.38.828.636.216.256.368.536.456.84.088.296.132.58.132.852 0 .336-.052.64-.156.912a3.042 3.042 0 01-.42.756 4.41 4.41 0 01-.6.624 8.996 8.996 0 01-.696.54c-.24.168-.48.328-.72.48-.24.152-.464.304-.672.456-.2.152-.376.312-.528.48-.152.16-.256.332-.312.516h4.092V48.5z" fill="#90A5AF"/></svg>inc/customizer/assets/images/transparency-grid.png000064400000005126152425655560016455 0ustar00�PNG


IHDR���_tEXtSoftwareAdobe ImageReadyq�e<"iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe Photoshop CS5 Macintosh" xmpMM:InstanceID="xmp.iid:36972C51070711E4A1DDD863AABD8CDC" xmpMM:DocumentID="xmp.did:36972C52070711E4A1DDD863AABD8CDC"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:36972C4F070711E4A1DDD863AABD8CDC" stRef:documentID="xmp.did:36972C50070711E4A1DDD863AABD8CDC"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>wP�H�IDATxڬ\�Q�HT�.� ��dC$�>���y�Hݒ�U���ѧգ1�������///<�}m��?����3������s?����~�~j?�}~�_����x���^�����d��깯��m�����Ƴ�䳯䐍k!�lL�3��O�?{�S��~N�W�}n��7�����Pt��s�.N�U}�?4�[]��Wv��H��ys�B�Y�(�g�7�q`1�j��8h�Q5/k���X�}��\a��������Wn�A�pX��a�0�(\cT���
����ɢ"�;
%�1�d	�d}�ț��A�͓
�`C��}��5;\M��'��qaz׎ 1��P�Jٔad��,�n������ס�~�0���Wm�tN,���]g&��f
�Y�0J�e�9��X ��́�w��C�����\u�y�����:�S�����p�H�X�Q���qrG5�n�]�d�����T.�qY^L#Cs�:|�9*���U����_�j�������2o�(�JNr�3��pA\�8A���Y�+Q��CsS�zr�C�3��;�H��g�f��d�đ��(a�w�n�sIdCAv zc�a������ʝ>��a:�B��u�g���K���{��.�`
����DS8��R��V
� 3����lLH�9�d��&�KW�q�1^Ezn�$%dI�N�2NGq�0�*4t�w�\�C�Ӎ�0��Nn�䟎�UD���S�΋<Aw��6K?R]�Ƞ&ѥ��>�j/��ӽLeh�>#�r��dN!�K�� +*�a�0PMX��
�Pk�MK�ԟ+A,�5M�#4���4���!ac��D��*��%�`�����>����%���z�هa#j\?�w�y�
�{`񨕍"�|z�P�xܾݩ})������1��g��j����>O�Q��G-�J���U!I���q�h<j}+'��Z�oU9�]+�!�J?��c!�J�x�������t�Z�o}]FRg�&x~��U�IA�)�\�F�T_)"G�E�ӨJ>5�����ݶSf�Ļ�#�̡���6� ��Qm��
��.X4�-��@!�bt�2��(�6���V嘎AK�D�ݕ����8e_�O[�@��lv�AM
F>�ɦ��9ͤ�q�X�����N�Ds�+W��4ڤ �:��t�Օߟ?��>-��E�l�T�j�I�W�5�V�x؎RTP��a Y��c(e�nT�����I������b4l�����ӜT_QL��F��aݱd%�.<V%n4��{�7��Xw]��XV4 (�ԥR�WѶd����~�Hz�9�!�(Q�sL�E�!i����R�E`�T�{�r
�+��k�1ԙ)I����u݄"L`��q?9��D�.�vOc��:�y�na@�X��
������e�5H^�)�R9�������]<Q��72����SBdJ.(6�-}s�*:�9d?Qf��S��%d�\��5�zu�{�E�t�w�WzL�O�-�xC����"4��,B4���Gf��}z\y�nTWE�W�ʷ;�x��-��:�e$u�^y��.ρ�Nć9�}<�%��W��
Y@ܴij�ǻE�Q ��ӄn�niɭ)���(�����9j.M	��s�[E���
�V��z󅊌
}(���#�Caܻ'��y)��
0ylrϷ�>,IEND�B`�inc/customizer/assets/images/copyright-layout-1.svg000064400000000365152425655560016515 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 50"><path fill="#eee" d="M0 0h150v50H0z"/><g fill="#b8c5cc"><rect x="37" y="20.3" width="75.99" height="3" rx="1.5"/><rect x="43.74" y="26.7" width="62.52" height="3" rx="1.36"/></g></svg>inc/customizer/assets/images/footer-layout-2.svg000064400000003732152425655560016005 0ustar00<svg xmlns="http://www.w3.org/2000/svg" width="150" height="88.07"><path fill="#b8c5cc" d="M50.667 0v88.07h-2V0zm50.666 0v88.07h-2V0z"/><path fill="#eee" d="M0 0h48.667v88.07H0zm50.667 0h48.667v88.07H50.667zm50.666 0H150v88.07h-48.667z"/><path d="M21.634 40.447a4.834 4.834 0 00.84-.072 2.615 2.615 0 00.737-.24 1.867 1.867 0 00.564-.432 1.315 1.315 0 00.307-.648H25.2v8.4h-1.5v-5.928h-2.066zm56.234 7.008h-5.736a3.422 3.422 0 01.5-1.824 4.611 4.611 0 011.344-1.356q.408-.3.852-.582a6.747 6.747 0 00.816-.606 3.228 3.228 0 00.612-.7 1.666 1.666 0 00.252-.87 2.377 2.377 0 00-.054-.486 1.286 1.286 0 00-.21-.48 1.238 1.238 0 00-.432-.372 1.5 1.5 0 00-.72-.15 1.3 1.3 0 00-.678.162 1.211 1.211 0 00-.432.444 2.215 2.215 0 00-.24.666 4.815 4.815 0 00-.09.828h-1.364a4.3 4.3 0 01.186-1.29 2.861 2.861 0 01.558-1.026 2.633 2.633 0 01.906-.678 3.327 3.327 0 012.526.006 2.469 2.469 0 01.834.636 2.326 2.326 0 01.45.834 3.048 3.048 0 01.132.858 2.536 2.536 0 01-.156.912 2.937 2.937 0 01-.42.75 4.245 4.245 0 01-.6.63q-.336.288-.7.54t-.72.48q-.36.228-.666.456a3.911 3.911 0 00-.534.474 1.346 1.346 0 00-.312.522h4.092zm47.199-4.92a3.169 3.169 0 00.672-.048 1.87 1.87 0 00.6-.21 1.173 1.173 0 00.426-.414 1.217 1.217 0 00.162-.648 1.1 1.1 0 00-.366-.864 1.368 1.368 0 00-.942-.324 1.238 1.238 0 00-1.062.534 1.749 1.749 0 00-.258.552 2.076 2.076 0 00-.072.63h-1.368a3.467 3.467 0 01.228-1.134 2.853 2.853 0 01.558-.906 2.478 2.478 0 01.858-.6 2.868 2.868 0 011.14-.216 3.306 3.306 0 01.966.144 2.824 2.824 0 01.852.42 2.019 2.019 0 01.834 1.68 2.1 2.1 0 01-.288 1.11 1.647 1.647 0 01-.9.69v.024a1.734 1.734 0 011.122.714 2.561 2.561 0 01.162 2.46 2.438 2.438 0 01-.648.8 3 3 0 01-.948.51 3.85 3.85 0 01-2.418-.03 2.456 2.456 0 01-.912-.594 2.565 2.565 0 01-.558-.924 3.77 3.77 0 01-.2-1.2h1.368a1.9 1.9 0 00.378 1.278 1.442 1.442 0 001.206.51 1.716 1.716 0 001.146-.39 1.372 1.372 0 00.462-1.11 1.389 1.389 0 00-.192-.78 1.242 1.242 0 00-.5-.438 2.04 2.04 0 00-.7-.186 6.574 6.574 0 00-.8-.024z" fill="#90a5af"/></svg>inc/customizer/assets/images/footer-layout-5.svg000064400000004032152425655560016002 0ustar00<svg width="150" height="88" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h150v88H0V0Z" fill="#EEE"/><path d="M112 0h2v88h-2V0ZM74 0h2v88h-2V0Z" fill="#B8C5CC"/><path d="M35.47 41.408c.287 0 .567-.024.84-.072.254-.042.5-.123.731-.24.224-.112.412-.256.564-.432.16-.176.264-.392.312-.648h1.116v8.4h-1.5v-5.928H35.47v-1.08ZM97.037 48.5h-5.736c.008-.696.176-1.304.504-1.824a4.61 4.61 0 0 1 1.344-1.356c.272-.2.556-.392.852-.576.296-.192.568-.396.816-.612.248-.216.452-.448.612-.696.16-.256.244-.548.252-.876 0-.152-.02-.312-.06-.48-.03-.173-.1-.337-.204-.48a1.163 1.163 0 0 0-.432-.372c-.184-.104-.424-.156-.72-.156-.272 0-.5.056-.684.168-.176.104-.32.252-.432.444-.112.207-.193.43-.24.66-.05.273-.078.55-.084.828h-1.368c0-.464.06-.892.18-1.284.128-.4.316-.744.564-1.032.248-.288.548-.512.9-.672.36-.168.776-.252 1.248-.252.512 0 .94.084 1.284.252.344.168.62.38.828.636.216.256.368.536.456.84.088.296.132.58.132.852 0 .336-.052.64-.156.912-.103.27-.245.525-.42.756a4.41 4.41 0 0 1-.6.624 8.986 8.986 0 0 1-.696.54c-.24.168-.48.328-.72.48-.24.152-.464.304-.672.456-.2.152-.376.312-.528.48-.152.16-.256.332-.312.516h4.092V48.5ZM132.032 43.6c-.222.04-.447.056-.672.048l.008 1.016c.267-.008.534 0 .8.024.243.02.48.083.7.186.203.098.376.25.5.438.139.236.206.507.192.78a1.377 1.377 0 0 1-.462 1.11 1.716 1.716 0 0 1-1.146.39 1.44 1.44 0 0 1-1.206-.51 1.903 1.903 0 0 1-.378-1.278H129c.001.409.069.814.2 1.2.118.345.309.66.558.924.256.264.567.467.912.594.782.27 1.63.28 2.418.03.344-.111.665-.284.948-.51.27-.217.491-.49.648-.8a2.555 2.555 0 0 0-.162-2.46 1.732 1.732 0 0 0-1.122-.714v-.024c.372-.116.691-.36.9-.69a2.1 2.1 0 0 0 .288-1.11 2.025 2.025 0 0 0-.834-1.68 2.818 2.818 0 0 0-.852-.42 3.306 3.306 0 0 0-.966-.144 2.867 2.867 0 0 0-1.14.216 2.473 2.473 0 0 0-.858.6c-.241.265-.43.572-.558.906a3.467 3.467 0 0 0-.228 1.134h1.368a2.092 2.092 0 0 1 .072-.63 1.74 1.74 0 0 1 .258-.552 1.235 1.235 0 0 1 1.062-.534c.344-.014.68.102.942.324a1.108 1.108 0 0 1 .366.864c.007.227-.049.452-.162.648a1.173 1.173 0 0 1-.426.414 1.88 1.88 0 0 1-.6.21Z" fill="#90A5AF"/></svg>inc/customizer/assets/images/header-layout-4.svg000064400000000575152425655560015743 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 50"><path fill="#EEE" d="M0 0h150v50H0V0Z"/><path fill="#B8C5CC" d="M13 11h28v16H13V11ZM69 13h68v13H69V13ZM109.973 36H40.027C39.46 36 39 36.672 39 37.5s.46 1.5 1.027 1.5h69.946c.567 0 1.027-.672 1.027-1.5s-.46-1.5-1.027-1.5ZM137 37.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0ZM22 37.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z"/></svg>inc/customizer/assets/images/header-layout-3.svg000064400000000543152425655560015735 0ustar00<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 50"><path fill="#eee" d="M0 0h150v50H0z"/><g fill="#b8c5cc"><path d="M61 10.97h28.01v16.56H61z"/><rect x="22.41" y="36.03" width="105.18" height="3" rx="1.5"/><rect x="127.31" y="14.56" width="9.38" height="9.38" rx="4.69"/><rect x="13.31" y="14.56" width="9.38" height="9.38" rx="4.69"/></g></svg>inc/customizer/assets/js/customize-controls.min.js000064400000010267152425655560016467 0ustar00!function(e,o){e.sectionConstructor["bloglo-info"]=e.Section.extend({attachEvents:function(){},isContextuallyActive:function(){return!0}}),e.blogloCustomizerPreviewer={init:function(){var o;this.preview.bind("set-footer-widget",function(t){(o=e.control("sidebars_widgets["+t+"]")).focus(),e.Widgets.availableWidgetsPanel.open(o)}),this.preview.bind("set-navigation-widget",function(t){(o=e.control("nav_menu_locations["+t+"]")).focus()})}};var t=e.Previewer;e.Previewer=t.extend({initialize:function(o,i){e.blogloCustomizerPreviewer.preview=this,t.prototype.initialize.call(this,o,i)}}),e("bloglo_info_style",function(t){t.bind(function(t){if(12==t){var i={desktop:{top:0,bottom:0},tablet:{top:0,bottom:0},mobile:{top:6,bottom:6},unit:"rem"};e.control("bloglo_info_section_spacing").setting(i)}else i={desktop:{top:10,bottom:10},tablet:{top:6,bottom:6},mobile:{top:6,bottom:6},unit:"rem"},e.control("bloglo_info_section_spacing").setting(i);!function(e,t){for(const[s,n]of Object.entries(t))if(["desktop","tablet","mobile"].includes(s))for(const[t,l]of Object.entries(n)){var i=o(e+' input[name="spacing-control-'+s+"-"+t+'"]');i.length&&i.val(l)}}(e.control("bloglo_info_section_spacing").selector,i)})}),_.each(bloglo_customizer_localized.preview_url_for_section,function(e,o){e&&wp.customize.section(o,function(o){o.expanded.bind(function(o){o&&wp.customize.previewer.previewUrl.set(e)})})}),o(document).ready(function(o){e.blogloCustomizerPreviewer.init(),o(".bloglo-control-responsive").each(function(){o(this).find(".control-responsive").first().addClass("active")}),o(".customize-control").on("click",".bloglo-responsive-switchers span",function(e){var t=o(this),i=t.closest(".bloglo-responsive-switchers"),s=i.find("li span"),n=o(e.currentTarget).data("device"),l=o(".bloglo-control-responsive"),r=o(".wp-full-overlay"),c=o(".wp-full-overlay-footer .devices");i.hasClass("expanded")?t.parent().is(":first-child")&&t.hasClass("active")?(i.removeClass("expanded"),t.removeClass("active")):(s.removeClass("active"),t.addClass("active")):(i.addClass("expanded"),t.addClass("active")),l.find(".control-responsive").removeClass("active"),l.find(".control-responsive."+n).addClass("active"),l.removeClass("control-device-desktop control-device-tablet control-device-mobile").addClass("control-device-"+n),r.removeClass("preview-desktop preview-tablet preview-mobile").addClass("preview-"+n),c.find("button").removeClass("active").attr("aria-pressed",!1),c.find("button.preview-"+n).addClass("active").attr("aria-pressed",!0)}),o(".wp-full-overlay-footer .devices button").on("click",function(e){o(this);var t=o(".customize-control .bloglo-responsive-switchers"),i=o(e.currentTarget).data("device"),s=o(".bloglo-control-responsive");t.find("span").removeClass("active"),t.find("span.preview-"+i).addClass("active"),"desktop"===i?t.removeClass("expanded"):t.addClass("expanded"),s.find(".control-responsive").removeClass("active"),s.find(".control-responsive."+i).addClass("active"),s.removeClass("control-device-desktop control-device-tablet control-device-mobile").addClass("control-device-"+i)}),setTimeout(()=>{var e,t,i;o(".bloglo-tooltip").length&&o(".bloglo-tooltip").each(function(){(e=o(this)).hasClass("top-right-tooltip")||e.hasClass("small-tooltip")||(i=e.closest(".bloglo-control-wrapper").outerWidth(),(t=e.closest(".bloglo-info-icon").css("position","static").position().left)<i-t?(e[0].style.setProperty("--tooltip-left",Math.min(104,t)+"px"),e.css("left",Math.max(0,t-104))):(e.css("left",Math.min(t-90,i-208)),t<i-104?e[0].style.setProperty("--tooltip-left","90px"):e[0].style.setProperty("--tooltip-left",t-178+"px")))})},2e3),e.hasOwnProperty("previewer")&&(e.previewer.bind("bloglo-customize-disable-section",function(t){o("input[id="+t+"]").trigger("click").trigger("change");const i=!e.control(t).setting.get();e.control(t).setting.set(i)}),e.previewer.bind("bloglo-customize-focus-control",function(o){e.control(o).focus()})),o("body").on("click","#sub-accordion-panel-bloglo_panel_homepage > .accordion-section.control-subsection",function(e){var t,i;t=o(this).attr("id").substr(18),0<(i=jQuery("#customize-preview iframe").contents()).find("."+t).length&&i.find("html, body").animate({scrollTop:i.find("."+t).offset().top},1e3)})})}(wp.customize,jQuery);inc/customizer/assets/js/customize-dependency.min.js000064400000003662152425655560016743 0ustar00!function(n){"use strict";var t={listenTo:{},init:function(){var n=this;wp.customize.control.each(function(t){n.showBlogloControl(t)}),_.each(n.listenTo,function(t,i){_.each(t,function(t){wp.customize(i,function(i){wp.customize.control(t,function(r){var e,o;o=function(){return n.showBlogloControl(wp.customize.control(t))},(e=function(){r.active.set(o())})(),i.bind(e),r.active.validate=o})})})})},showBlogloControl:function(n){var t,i=!0;if(_.isString(n)&&(n=wp.customize.control(n)),void 0===n||n.params&&_.isEmpty(n.params.required))return!0;for(t=0;t<n.params.required.length;t++)this.checkCondition(n.params.required[t],n,"AND")||(i=!1);return i},checkCondition:function(n,t,i){var r,e,o="AND"===i?"OR":"AND";if(void 0!==n[0]&&void 0===n.control){for(r=[],e=0;e<n.length;e++)r.push(this.checkCondition(n[e],t,o));return"OR"===o?-1!==r.indexOf(!0):-1===r.indexOf(!1)}return void 0===wp.customize.control(n.control)||(this.listenTo[n.control]=this.listenTo[n.control]||[],-1===this.listenTo[n.control].indexOf(t.id)&&this.listenTo[n.control].push(t.id),this.evaluate(n.value,wp.customize.control(n.control).setting._value,n.operator))},evaluate:function(n,t,i){var r=!1;if("==="===i)return n===t;if("=="===i||"="===i||"equals"===i||"equal"===i)return n==t;if("!=="===i)return n!==t;if("!="===i||"not equal"===i)return n!=t;if(">="===i||"greater or equal"===i||"equal or greater"===i)return t>=n;if("<="===i||"smaller or equal"===i||"equal or smaller"===i)return t<=n;if(">"===i||"greater"===i)return t>n;if("<"===i||"smaller"===i)return t<n;if("contains"===i||"in"===i){if(_.isArray(n)&&_.isArray(t))return _.each(t,function(t){if(n.includes(t))return r=!0,!1}),r;if(_.isArray(t))return _.each(t,function(t){t==n&&(r=!0)}),r;if(_.isObject(t))return _.isUndefined(t[n])||(r=!0),_.each(t,function(t){n===t&&(r=!0)}),r;if(_.isString(t))return _.isString(n)?-1<n.indexOf(t)&&-1<t.indexOf(n):-1<n.indexOf(t)}return n==t}};n(document).ready(function(){t.init()})}(jQuery);inc/customizer/assets/js/dev/customize-controls.js000064400000021705152425655560016462 0ustar00(function (api, $) {
  // Extends our custom "bloglo-info" section. Make it visible.
  api.sectionConstructor["bloglo-info"] = api.Section.extend({
    // No events for this type of section.
    attachEvents: function () {},

    // Always make the section active.
    isContextuallyActive: function () {
      return true;
    },
  });

  // Custom Customizer Previewer class.
  api.blogloCustomizerPreviewer = {
    init: function () {
      var self = this,
        control;

      // Listen to the "set-footer-widget" event.
      this.preview.bind("set-footer-widget", function (data) {
        // Focus control.
        control = api.control("sidebars_widgets[" + data + "]");
        control.focus();

        // Open widgets panel.
        api.Widgets.availableWidgetsPanel.open(control);
      });

      // Listen to the "set-footer-widget" event.
      this.preview.bind("set-navigation-widget", function (data) {
        // Focus control.
        control = api.control("nav_menu_locations[" + data + "]");
        control.focus();
      });
    },
  };

  // Store old previewer.
  var blogloOldPreviewer = api.Previewer;
  api.Previewer = blogloOldPreviewer.extend({
    initialize: function (params, options) {
      // Store a reference to the Previewer
      api.blogloCustomizerPreviewer.preview = this;

      // Call the old Previewer's initialize function
      blogloOldPreviewer.prototype.initialize.call(this, params, options);
    },
  });

  api("bloglo_info_style", function (setting) {
    setting.bind(function (value) {
      if (12 == value) {
        var data = {
          desktop: { top: 0, bottom: 0 },
          tablet: { top: 0, bottom: 0 },
          mobile: { top: 6, bottom: 6 },
          unit: "rem",
        };

        api.control("bloglo_info_section_spacing").setting(data);

        // console.log( 'New value', api.control( 'bloglo_info_section_spacing' ).setting() );
      } else {
        var data = {
          desktop: { top: 10, bottom: 10 },
          tablet: { top: 6, bottom: 6 },
          mobile: { top: 6, bottom: 6 },
          unit: "rem",
        };

        api.control("bloglo_info_section_spacing").setting(data);

        // console.log( 'New value', api.control( 'bloglo_info_section_spacing' ).setting() );
      }
      var selector = api.control("bloglo_info_section_spacing").selector;
      setSpacingFieldValue(selector, data);
    });
  });

  function setSpacingFieldValue(selector, data) {
    for (const [device, values] of Object.entries(data)) {
      if (!["desktop", "tablet", "mobile"].includes(device)) {
        continue;
      }
      for (const [position, value] of Object.entries(values)) {
        var s =
          selector +
          ' input[name="spacing-control-' +
          device +
          "-" +
          position +
          '"]';
        var input = $(s);
        if (input.length) {
          input.val(value);
        }
      }
    }
  }

  // Change preview url for certain sections.
  _.each(
    bloglo_customizer_localized.preview_url_for_section,
    function (url, id) {
      // eslint-disable-line camelcase
      if (url) {
        wp.customize.section(id, function (section) {
          section.expanded.bind(function (isExpanded) {
            if (isExpanded) {
              wp.customize.previewer.previewUrl.set(url);
            }
          });
        });
      }
    }
  );

  $(document).ready(function ($) {
    // Initialize our Previewer
    api.blogloCustomizerPreviewer.init();

    // Display the first responsive control
    $(".bloglo-control-responsive").each(function () {
      $(this).find(".control-responsive").first().addClass("active");
    });

    // Responsive switchers
    $(".customize-control").on(
      "click",
      ".bloglo-responsive-switchers span",
      function (event) {
        var $this = $(this),
          $switcherContainer = $this.closest(".bloglo-responsive-switchers"),
          $switcherButtons = $switcherContainer.find("li span"),
          $device = $(event.currentTarget).data("device"),
          $control = $(".bloglo-control-responsive"),
          $body = $(".wp-full-overlay"),
          $footerDevices = $(".wp-full-overlay-footer .devices");

        if (!$switcherContainer.hasClass("expanded")) {
          $switcherContainer.addClass("expanded");
          $this.addClass("active");
        } else {
          if ($this.parent().is(":first-child")) {
            if ($this.hasClass("active")) {
              $switcherContainer.removeClass("expanded");
              $this.removeClass("active");
            } else {
              $switcherButtons.removeClass("active");
              $this.addClass("active");
            }
          } else {
            $switcherButtons.removeClass("active");
            $this.addClass("active");
          }
        }

        // Control class
        $control.find(".control-responsive").removeClass("active");
        $control.find(".control-responsive." + $device).addClass("active");
        $control
          .removeClass(
            "control-device-desktop control-device-tablet control-device-mobile"
          )
          .addClass("control-device-" + $device);

        // Wrapper class
        $body
          .removeClass("preview-desktop preview-tablet preview-mobile")
          .addClass("preview-" + $device);

        // Panel footer buttons
        $footerDevices
          .find("button")
          .removeClass("active")
          .attr("aria-pressed", false);
        $footerDevices
          .find("button.preview-" + $device)
          .addClass("active")
          .attr("aria-pressed", true);
      }
    );

    // If panel footer buttons clicked
    $(".wp-full-overlay-footer .devices button").on("click", function (event) {
      // Set up variables
      var $this = $(this),
        $devices = $(".customize-control .bloglo-responsive-switchers"),
        $device = $(event.currentTarget).data("device"),
        $control = $(".bloglo-control-responsive");

      // Button class
      $devices.find("span").removeClass("active");
      $devices.find("span.preview-" + $device).addClass("active");

      // Add expanded class
      if ("desktop" === $device) {
        $devices.removeClass("expanded");
      } else {
        $devices.addClass("expanded");
      }

      // Control class
      $control.find(".control-responsive").removeClass("active");
      $control.find(".control-responsive." + $device).addClass("active");
      $control
        .removeClass(
          "control-device-desktop control-device-tablet control-device-mobile"
        )
        .addClass("control-device-" + $device);
    });

    setTimeout(() => {
      // Tooltip positioning
      if ($(".bloglo-tooltip").length) {
        var $tooltip, $iconPosLeft, $iconPosRight, $titleWidth;

        $(".bloglo-tooltip").each(function () {
          $tooltip = $(this);

          if (
            $tooltip.hasClass("top-right-tooltip") ||
            $tooltip.hasClass("small-tooltip")
          ) {
            return;
          }

          $titleWidth = $tooltip
            .closest(".bloglo-control-wrapper")
            .outerWidth();

          $iconPosLeft = $tooltip
            .closest(".bloglo-info-icon")
            .css("position", "static")
            .position().left;
          $iconPosRight = $titleWidth - $iconPosLeft;

          if ($iconPosLeft < $iconPosRight) {
            $tooltip[0].style.setProperty(
              "--tooltip-left",
              Math.min(104, $iconPosLeft) + "px"
            );
            $tooltip.css("left", Math.max(0, $iconPosLeft - 104));
          } else {
            $tooltip.css(
              "left",
              Math.min($iconPosLeft - 90, $titleWidth - 208)
            );

            if ($iconPosLeft < $titleWidth - 104) {
              $tooltip[0].style.setProperty("--tooltip-left", "90px");
            } else {
              $tooltip[0].style.setProperty(
                "--tooltip-left",
                $iconPosLeft - 178 + "px"
              );
            }
          }
        });
      }
    }, 2000);

    api.hasOwnProperty("previewer") &&
      (api.previewer.bind("bloglo-customize-disable-section", function (e) {
        $("input[id=" + e + "]")
          .trigger("click")
          .trigger("change");
        const val = !api.control(e).setting.get();
        api.control(e).setting.set(val);
      }),
      api.previewer.bind("bloglo-customize-focus-control", function (e) {
        api.control(e).focus();
      }));

    //Scroll to section
    $("body").on(
      "click",
      "#sub-accordion-panel-bloglo_panel_homepage > .accordion-section.control-subsection",
      function (event) {
        scrollToSection($(this).attr("id").substr(18));
      }
    );

    function scrollToSection(section) {
      var $contents = jQuery("#customize-preview iframe").contents();

      if (0 < $contents.find("." + section).length) {
        $contents.find("html, body").animate(
          {
            scrollTop: $contents.find("." + section).offset().top,
          },
          1000
        );
      }
    }
  });
})(wp.customize, jQuery);
inc/customizer/assets/js/dev/customize-preview.js000064400000304572152425655560016306 0ustar00/**
 * Update Customizer settings live.
 *
 * @since 1.0.0
 */
(function ($) {
  "use strict";

  // Declare variables
  var api = wp.customize,
    $body = $("body"),
    $head = $("head"),
    $style_tag,
    $link_tag,
    bloglo_visibility_classes =
      "bloglo-hide-mobile bloglo-hide-tablet bloglo-hide-mobile-tablet",
    bloglo_style_tag_collection = [],
    bloglo_link_tag_collection = [];

  /**
   * Helper function to get style tag with id.
   */
  function bloglo_get_style_tag(id) {
    if (bloglo_style_tag_collection[id]) {
      return bloglo_style_tag_collection[id];
    }

    $style_tag = $("head").find("#bloglo-dynamic-" + id);

    if (!$style_tag.length) {
      $("head").append(
        '<style id="bloglo-dynamic-' +
          id +
          '" type="text/css" href="#"></style>'
      );
      $style_tag = $("head").find("#bloglo-dynamic-" + id);
    }

    bloglo_style_tag_collection[id] = $style_tag;

    return $style_tag;
  }

  /**
   * Helper function to get link tag with id.
   */
  function bloglo_get_link_tag(id, url) {
    if (bloglo_link_tag_collection[id]) {
      return bloglo_link_tag_collection[id];
    }

    $link_tag = $("head").find("#bloglo-dynamic-link-" + id);

    if (!$link_tag.length) {
      $("head").append(
        '<link id="bloglo-dynamic-' +
          id +
          '" type="text/css" rel="stylesheet" href="' +
          url +
          '"/>'
      );
      $link_tag = $("head").find("#bloglo-dynamic-link-" + id);
    } else {
      $link_tag.attr("href", url);
    }

    bloglo_link_tag_collection[id] = $link_tag;

    return $link_tag;
  }

  /*
   * Helper function to print visibility classes.
   */
  function bloglo_print_visibility_classes($element, newval) {
    if (!$element.length) {
      return;
    }

    $element.removeClass(bloglo_visibility_classes);

    if ("all" !== newval) {
      $element.addClass("bloglo-" + newval);
    }
  }

  /*
   * Helper function to convert hex to rgba.
   */
  function bloglo_hex2rgba(hex, opacity) {
    if ("rgba" === hex.substring(0, 4)) {
      return hex;
    }

    // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF").
    var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;

    hex = hex.replace(shorthandRegex, function (m, r, g, b) {
      return r + r + g + g + b + b;
    });

    var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);

    if (opacity) {
      if (1 < opacity) {
        opacity = 1;
      }

      opacity = "," + opacity;
    }

    if (result) {
      return (
        "rgba(" +
        parseInt(result[1], 16) +
        "," +
        parseInt(result[2], 16) +
        "," +
        parseInt(result[3], 16) +
        opacity +
        ")"
      );
    }

    return false;
  }

  /**
   * Helper function to lighten or darken the provided hex color.
   */
  function bloglo_luminance(hex, percent) {
    // Convert RGB color to HEX.
    if (hex.includes("rgb")) {
      hex = bloglo_rgba2hex(hex);
    }

    // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF").
    var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;

    hex = hex.replace(shorthandRegex, function (m, r, g, b) {
      return r + r + g + g + b + b;
    });

    var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);

    var isColor = /^#[0-9A-F]{6}$/i.test(hex);

    if (!isColor) {
      return hex;
    }

    var from, to;

    for (var i = 1; 3 >= i; i++) {
      result[i] = parseInt(result[i], 16);
      from = 0 > percent ? 0 : result[i];
      to = 0 > percent ? result[i] : 255;
      result[i] = result[i] + Math.ceil((to - from) * percent);
    }

    result =
      "#" +
      bloglo_dec2hex(result[1]) +
      bloglo_dec2hex(result[2]) +
      bloglo_dec2hex(result[3]);

    return result;
  }

  /**
   * Convert dec to hex.
   */
  function bloglo_dec2hex(c) {
    var hex = c.toString(16);
    return 1 == hex.length ? "0" + hex : hex;
  }

  /**
   * Convert rgb to hex.
   */
  function bloglo_rgba2hex(c) {
    var a, x;

    a = c.split("(")[1].split(")")[0].trim();
    a = a.split(",");

    var result = "";

    for (var i = 0; 3 > i; i++) {
      x = parseInt(a[i]).toString(16);
      result += 1 === x.length ? "0" + x : x;
    }

    if (result) {
      return "#" + result;
    }

    return false;
  }

  /**
   * Check if is light color.
   */
  function bloglo_is_light_color(color = "") {
    var r, g, b, brightness;

    if (color.match(/^rgb/)) {
      color = color.match(
        /^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/
      );
      r = color[1];
      g = color[2];
      b = color[3];
    } else {
      color = +(
        "0x" + color.slice(1).replace(5 > color.length && /./g, "$&$&")
      );
      r = color >> 16;
      g = (color >> 8) & 255;
      b = color & 255;
    }

    brightness = (r * 299 + g * 587 + b * 114) / 1000;

    return 137 < brightness;
  }

  /**
   * Detect if we should use a light or dark color on a background color.
   */
  function bloglo_light_or_dark(color, dark = "#000000", light = "#FFFFFF") {
    return bloglo_is_light_color(color) ? dark : light;
  }

  /**
   * Spacing field CSS.
   */
  function bloglo_spacing_field_css(selector, property, setting, responsive) {
    if (!Array.isArray(setting) && "object" !== typeof setting) {
      return;
    }

    // Set up unit.
    var unit = "px",
      css = "";

    if ("unit" in setting) {
      unit = setting.unit;
    }

    var before = "",
      after = "";

    Object.keys(setting).forEach(function (index, el) {
      if ("unit" === index) {
        return;
      }

      if (responsive) {
        if ("tablet" === index) {
          before = "@media only screen and (max-width: 768px) {";
          after = "}";
        } else if ("mobile" === index) {
          before = "@media only screen and (max-width: 480px) {";
          after = "}";
        } else {
          before = "";
          after = "";
        }

        css += before + selector + "{";

        Object.keys(setting[index]).forEach(function (position) {
          if ("border" === property) {
            position += "-width";
          }

          if (setting[index][position]) {
            css +=
              property +
              "-" +
              position +
              ": " +
              setting[index][position] +
              unit +
              ";";
          }
        });

        css += "}" + after;
      } else {
        if ("border" === property) {
          index += "-width";
        }

        css += property + "-" + index + ": " + setting[index] + unit + ";";
      }
    });

    if (!responsive) {
      css = selector + "{" + css + "}";
    }

    return css;
  }

  /**
   * Range field CSS.
   */
  function bloglo_range_field_css(
    selector,
    property,
    setting,
    responsive,
    unit
  ) {
    var css = "",
      before = "",
      after = "";

    if (responsive && (Array.isArray(setting) || "object" === typeof setting)) {
      Object.keys(setting).forEach(function (index, el) {
        if (setting[index]) {
          if ("tablet" === index) {
            before = "@media only screen and (max-width: 768px) {";
            after = "}";
          } else if ("mobile" === index) {
            before = "@media only screen and (max-width: 480px) {";
            after = "}";
          } else if ("desktop" === index) {
            before = "";
            after = "";
          } else {
            return;
          }

          css +=
            before +
            selector +
            "{" +
            property +
            ": " +
            setting[index] +
            unit +
            "; }" +
            after;
        }
      });
    }

    if (!responsive) {
      if (setting.value) {
        setting = setting.value;
      } else {
        setting = 0;
      }

      css = selector + "{" + property + ": " + setting + unit + "; }";
    }

    return css;
  }

  /**
   * Typography field CSS.
   */
  function bloglo_typography_field_css(selector, setting) {
    var css = "";

    css += selector + "{";

    if ("default" === setting["font-family"]) {
      css +=
        "font-family: " + bloglo_customizer_preview.default_system_font + ";";
    } else if (
      setting["font-family"] in
      bloglo_customizer_preview.fonts.standard_fonts.fonts
    ) {
      css +=
        "font-family: " +
        bloglo_customizer_preview.fonts.standard_fonts.fonts[
          setting["font-family"]
        ].fallback +
        ";";
    } else if ("inherit" !== setting["font-family"]) {
      css += 'font-family: "' + setting["font-family"] + '";';
    }

    css += "font-weight:" + setting["font-weight"] + ";";
    css += "font-style:" + setting["font-style"] + ";";
    css += "text-transform:" + setting["text-transform"] + ";";

    if ("text-decoration" in setting) {
      css += "text-decoration:" + setting["text-decoration"] + ";";
    }

    if ("letter-spacing" in setting) {
      css +=
        "letter-spacing:" +
        setting["letter-spacing"] +
        setting["letter-spacing-unit"] +
        ";";
    }

    if ("line-height-desktop" in setting) {
      css += "line-height:" + setting["line-height-desktop"] + ";";
    }

    if ("font-size-desktop" in setting && "font-size-unit" in setting) {
      css +=
        "font-size:" +
        setting["font-size-desktop"] +
        setting["font-size-unit"] +
        ";";
    }

    css += "}";

    if ("font-size-tablet" in setting && setting["font-size-tablet"]) {
      css +=
        "@media only screen and (max-width: 768px) {" +
        selector +
        "{" +
        "font-size: " +
        setting["font-size-tablet"] +
        setting["font-size-unit"] +
        ";" +
        "}" +
        "}";
    }

    if ("line-height-tablet" in setting && setting["line-height-tablet"]) {
      css +=
        "@media only screen and (max-width: 768px) {" +
        selector +
        "{" +
        "line-height:" +
        setting["line-height-tablet"] +
        ";" +
        "}" +
        "}";
    }

    if ("font-size-mobile" in setting && setting["font-size-mobile"]) {
      css +=
        "@media only screen and (max-width: 480px) {" +
        selector +
        "{" +
        "font-size: " +
        setting["font-size-mobile"] +
        setting["font-size-unit"] +
        ";" +
        "}" +
        "}";
    }

    if ("line-height-mobile" in setting && setting["line-height-mobile"]) {
      css +=
        "@media only screen and (max-width: 480px) {" +
        selector +
        "{" +
        "line-height:" +
        setting["line-height-mobile"] +
        ";" +
        "}" +
        "}";
    }

    return css;
  }

  /**
   * Load google font.
   */
  function bloglo_enqueue_google_font(font) {
    if (bloglo_customizer_preview.fonts.google_fonts.fonts[font]) {
      var id = "google-font-" + font.trim().toLowerCase().replace(" ", "-");
      var url =
        bloglo_customizer_preview.google_fonts_url +
        "/css?family=" +
        font +
        ":" +
        bloglo_customizer_preview.google_font_weights;

      var tag = bloglo_get_link_tag(id, url);
    }
  }

  /**
   * Design Options field CSS.
   */
  function bloglo_design_options_css(selector, setting, type) {
    var css = "",
      before = "",
      after = "";

    if ("background" === type) {
      var bg_type = setting["background-type"];

      css += selector + "{";

      if ("color" === bg_type) {
        setting["background-color"] = setting["background-color"]
          ? setting["background-color"]
          : "inherit";
        css += "background: " + setting["background-color"] + ";";
      } else if ("gradient" === bg_type) {
        css += "background: " + setting["gradient-color-1"] + ";";

        if ("linear" === setting["gradient-type"]) {
          css +=
            "background: -webkit-linear-gradient(" +
            setting["gradient-linear-angle"] +
            "deg, " +
            setting["gradient-color-1"] +
            " " +
            setting["gradient-color-1-location"] +
            "%, " +
            setting["gradient-color-2"] +
            " " +
            setting["gradient-color-2-location"] +
            "%);" +
            "background: -o-linear-gradient(" +
            setting["gradient-linear-angle"] +
            "deg, " +
            setting["gradient-color-1"] +
            " " +
            setting["gradient-color-1-location"] +
            "%, " +
            setting["gradient-color-2"] +
            " " +
            setting["gradient-color-2-location"] +
            "%);" +
            "background: linear-gradient(" +
            setting["gradient-linear-angle"] +
            "deg, " +
            setting["gradient-color-1"] +
            " " +
            setting["gradient-color-1-location"] +
            "%, " +
            setting["gradient-color-2"] +
            " " +
            setting["gradient-color-2-location"] +
            "%);";
        } else if ("radial" === setting["gradient-type"]) {
          css +=
            "background: -webkit-radial-gradient(" +
            setting["gradient-position"] +
            ", circle, " +
            setting["gradient-color-1"] +
            " " +
            setting["gradient-color-1-location"] +
            "%, " +
            setting["gradient-color-2"] +
            " " +
            setting["gradient-color-2-location"] +
            "%);" +
            "background: -o-radial-gradient(" +
            setting["gradient-position"] +
            ", circle, " +
            setting["gradient-color-1"] +
            " " +
            setting["gradient-color-1-location"] +
            "%, " +
            setting["gradient-color-2"] +
            " " +
            setting["gradient-color-2-location"] +
            "%);" +
            "background: radial-gradient(circle at " +
            setting["gradient-position"] +
            ", " +
            setting["gradient-color-1"] +
            " " +
            setting["gradient-color-1-location"] +
            "%, " +
            setting["gradient-color-2"] +
            " " +
            setting["gradient-color-2-location"] +
            "%);";
        }
      } else if ("image" === bg_type) {
        css +=
          "" +
          "background-image: url(" +
          setting["background-image"] +
          ");" +
          "background-size: " +
          setting["background-size"] +
          ";" +
          "background-attachment: " +
          setting["background-attachment"] +
          ";" +
          "background-position: " +
          setting["background-position-x"] +
          "% " +
          setting["background-position-y"] +
          "%;" +
          "background-repeat: " +
          setting["background-repeat"] +
          ";";
      }

      css += "}";

      // Background image color overlay.
      if (
        "image" === bg_type &&
        setting["background-color-overlay"] &&
        setting["background-image"]
      ) {
        css +=
          selector +
          "::after { background-color: " +
          setting["background-color-overlay"] +
          "; }";
      } else {
        css += selector + "::after { background-color: initial; }";
      }
    } else if ("color" === type) {
      setting["text-color"] = setting["text-color"]
        ? setting["text-color"]
        : "inherit";
      setting["link-color"] = setting["link-color"]
        ? setting["link-color"]
        : "inherit";
      setting["link-hover-color"] = setting["link-hover-color"]
        ? setting["link-hover-color"]
        : "inherit";

      css += selector + " { color: " + setting["text-color"] + "; }";
      css += selector + " a { color: " + setting["link-color"] + "; }";
      css +=
        selector +
        " a:hover { color: " +
        setting["link-hover-color"] +
        " !important; }";
    } else if ("border" === type) {
      setting["border-color"] = setting["border-color"]
        ? setting["border-color"]
        : "inherit";
      setting["border-style"] = setting["border-style"]
        ? setting["border-style"]
        : "solid";
      setting["border-left-width"] = setting["border-left-width"]
        ? setting["border-left-width"]
        : 0;
      setting["border-top-width"] = setting["border-top-width"]
        ? setting["border-top-width"]
        : 0;
      setting["border-right-width"] = setting["border-right-width"]
        ? setting["border-right-width"]
        : 0;
      setting["border-bottom-width"] = setting["border-bottom-width"]
        ? setting["border-bottom-width"]
        : 0;

      css += selector + "{";
      css += "border-color: " + setting["border-color"] + ";";
      css += "border-style: " + setting["border-style"] + ";";
      css += "border-left-width: " + setting["border-left-width"] + "px;";
      css += "border-top-width: " + setting["border-top-width"] + "px;";
      css += "border-right-width: " + setting["border-right-width"] + "px;";
      css += "border-bottom-width: " + setting["border-bottom-width"] + "px;";
      css += "}";
    } else if ("separator_color" === type) {
      css +=
        selector +
        ":after{ background-color: " +
        setting["separator-color"] +
        "; }";
    }

    return css;
  }

  /**
   * Logo max height.
   */
  api("bloglo_logo_max_height", function (value) {
    value.bind(function (newval) {
      var $logo = $(".bloglo-logo");

      if (!$logo.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_logo_max_height");
      var style_css = "";

      style_css += bloglo_range_field_css(
        ".bloglo-logo img",
        "max-height",
        newval,
        true,
        "px"
      );
      style_css += bloglo_range_field_css(
        ".bloglo-logo img.bloglo-svg-logo",
        "height",
        newval,
        true,
        "px"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Logo text font size.
   */
  api("bloglo_logo_text_font_size", function (value) {
    value.bind(function (newval) {
      var $logo = $("#bloglo-header .bloglo-logo .site-title");

      if (!$logo.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_logo_text_font_size");
      var style_css = "";

      style_css += bloglo_range_field_css(
        "#bloglo-header .bloglo-logo .site-title",
        "font-size",
        newval,
        true,
        newval.unit
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Logo margin.
   */
  api("bloglo_logo_margin", function (value) {
    value.bind(function (newval) {
      var $logo = $(".bloglo-logo");

      if (!$logo.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_logo_margin");

      var style_css = bloglo_spacing_field_css(
        ".bloglo-logo .logo-inner",
        "margin",
        newval,
        true
      );
      $style_tag.html(style_css);
    });
  });

  /**
   * Tagline.
   */
  api("blogdescription", function (value) {
    value.bind(function (newval) {
      if ($(".bloglo-logo").find(".site-description").length) {
        $(".bloglo-logo").find(".site-description").html(newval);
      }
    });
  });

  /**
   * Site Title.
   */
  api("blogname", function (value) {
    value.bind(function (newval) {
      if ($(".bloglo-logo").find(".site-title").length) {
        $(".bloglo-logo").find(".site-title").find("a").html(newval);
      }
    });
  });

  /**
   * Site Layout.
   */
  api("bloglo_site_layout", function (value) {
    value.bind(function (newval) {
      $body.removeClass(function (index, className) {
        return (
          className.match(/(^|\s)bloglo-layout__(?!boxed-separated)\S+/g) || []
        ).join(" ");
      });

      $body.addClass("bloglo-layout__" + newval);
    });
  });

  /**
   * Sticky Sidebar.
   */
  api("bloglo_sidebar_sticky", function (value) {
    value.bind(function (newval) {
      $body.removeClass(function (index, className) {
        return (className.match(/(^|\s)bloglo-sticky-\S+/g) || []).join(" ");
      });

      if (newval) {
        $body.addClass("bloglo-sticky-" + newval);
      }
    });
  });

  /**
   * Sidebar width.
   */
  api("bloglo_sidebar_width", function (value) {
    value.bind(function (newval) {
      var $sidebar = $("#secondary");

      if (!$sidebar.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_sidebar_width");
      var style_css = "#secondary { width: " + newval.value + "%; }";
      style_css +=
        "body:not(.bloglo-no-sidebar) #primary { " +
        "max-width: " +
        (100 - parseInt(newval.value)) +
        "%;" +
        "};";

      $style_tag.html(style_css);
    });
  });

  /**
   * Sidebar style.
   */
  api("bloglo_sidebar_style", function (value) {
    value.bind(function (newval) {
      $body.removeClass(function (index, className) {
        return (className.match(/(^|\s)bloglo-sidebar-style-\S+/g) || []).join(
          " "
        );
      });

      $body.addClass("bloglo-sidebar-style-" + newval);
    });
  });

  /**
   * Responsive sidebar position.
   */
  api("bloglo_sidebar_responsive_position", function (value) {
    value.bind(function (newval) {
      $body.removeClass(function (index, className) {
        return (className.match(/(^|\s)bloglo-sidebar-r__\S+/g) || []).join(
          " "
        );
      });

      if (newval) {
        $body.addClass("bloglo-sidebar-r__" + newval);
      }
    });
  });

  /**
   * Featured Image Position (Horizontal Blog layout)
   */
  api("bloglo_blog_image_position", function (value) {
    value.bind(function (newval) {
      $(".bloglo-blog-entry-wrapper").removeClass(function (index, className) {
        return (className.match(/(^|\s)bloglo-thumb-\S+/g) || []).join(" ");
      });

      $(".bloglo-blog-entry-wrapper").addClass("bloglo-thumb-" + newval);
    });
  });

  /**
   * Single page - title in header alignment.
   */
  api("bloglo_single_title_alignment", function (value) {
    value.bind(function (newval) {
      $body.removeClass(function (index, className) {
        return (
          className.match(/(^|\s)bloglo-page-title-align-\S+/g) || []
        ).join(" ");
      });

      $body.addClass("bloglo-page-title-align-" + newval);
    });
  });

  /**
   * Single Page title spacing.
   */
  api("bloglo_single_title_spacing", function (value) {
    value.bind(function (newval) {
      var $page_header = $(".page-header");

      if (!$page_header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_single_title_spacing");

      var style_css = bloglo_spacing_field_css(
        ".bloglo-single-title-in-page-header #page .page-header .bloglo-page-header-wrapper",
        "padding",
        newval,
        true
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Single post narrow container width.
   */
  api("bloglo_single_narrow_container_width", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_single_narrow_container_width");
      var style_css = "";

      style_css +=
        '.single-post.narrow-content .entry-content > :not([class*="align"]):not([class*="gallery"]):not(.wp-block-image):not(.quote-inner):not(.quote-post-bg), ' +
        '.single-post.narrow-content .mce-content-body:not([class*="page-template-full-width"]) > :not([class*="align"]):not([data-wpview-type*="gallery"]):not(blockquote):not(.mceTemp), ' +
        ".single-post.narrow-content .entry-footer, " +
        ".single-post.narrow-content .post-nav, " +
        ".single-post.narrow-content .entry-content > .alignwide, " +
        ".single-post.narrow-content p.has-background:not(.alignfull):not(.alignwide)" +
        ".single-post.narrow-content #bloglo-comments-toggle, " +
        ".single-post.narrow-content #comments, " +
        ".single-post.narrow-content .entry-content .aligncenter, " +
        ".single-post.narrow-content .bloglo-narrow-element, " +
        ".single-post.narrow-content.bloglo-single-title-in-content .entry-header, " +
        ".single-post.narrow-content.bloglo-single-title-in-content .entry-meta, " +
        ".single-post.narrow-content.bloglo-single-title-in-content .post-category, " +
        ".single-post.narrow-content.bloglo-no-sidebar .bloglo-page-header-wrapper, " +
        ".single-post.narrow-content.bloglo-no-sidebar .bloglo-breadcrumbs > .bloglo-container > nav {" +
        "max-width: " +
        parseInt(newval.value) +
        "px; margin-left: auto; margin-right: auto; " +
        "}";

      style_css +=
        ".single-post.narrow-content .author-box, " +
        ".single-post.narrow-content .entry-content > .alignwide { " +
        "max-width: " +
        (parseInt(newval.value) + 70) +
        "px;" +
        "}";

      $style_tag.html(style_css);
    });
  });

  /**
   * Header container width.
   */
  api("bloglo_header_container_width", function (value) {
    value.bind(function (newval) {
      var $header = $("#bloglo-header");

      if (!$header.length) {
        return;
      }

      if ("full-width" === newval) {
        $header.addClass("bloglo-container__wide");
      } else {
        $header.removeClass("bloglo-container__wide");
      }
    });
  });

  /**
   * Main navigation disply breakpoint.
   */
  api("bloglo_main_nav_mobile_breakpoint", function (value) {
    value.bind(function (newval) {
      var $nav = $("#bloglo-header-inner .bloglo-nav");

      if (!$nav.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_main_nav_mobile_breakpoint");
      var style_css = "";

      style_css +=
        "@media screen and (min-width: " +
        parseInt(newval) +
        "px) {#bloglo-header-inner .bloglo-nav {display:flex} .bloglo-mobile-nav,.bloglo-mobile-toggen,#bloglo-header-inner .bloglo-nav .menu-item-has-children>a > .bloglo-icon,#bloglo-header-inner .bloglo-nav .page_item_has_children>a > .bloglo-icon {display:none;} }";
      style_css +=
        "@media screen and (max-width: " +
        parseInt(newval) +
        "px) {#bloglo-header-inner .bloglo-nav {display:none} .bloglo-mobile-nav,.bloglo-mobile-toggen {display:inline-flex;} }";

      $style_tag.html(style_css);
    });
  });

  /**
   * Mobile Menu Button Label.
   */
  api("bloglo_main_nav_mobile_label", function (value) {
    value.bind(function (newval) {
      if (
        $(".bloglo-hamburger-bloglo-primary-nav").find(".hamburger-label")
          .length
      ) {
        $(".bloglo-hamburger-bloglo-primary-nav")
          .find(".hamburger-label")
          .html(newval);
      }
    });
  });

  /**
   * Main Nav Font color.
   */
  api("bloglo_main_nav_font_color", function (value) {
    value.bind(function (newval) {
      var $navigation = $("#bloglo-header-inner .bloglo-nav");

      if (!$navigation.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_main_nav_font_color");
      var style_css = "";

      // Link color.
      newval["link-color"] = newval["link-color"]
        ? newval["link-color"]
        : "inherit";
      style_css +=
        "#bloglo-header-inner .bloglo-nav > ul > li > a { color: " +
        newval["link-color"] +
        "; }";

      // Link hover color.
      newval["link-hover-color"] = newval["link-hover-color"]
        ? newval["link-hover-color"]
        : api.value("bloglo_accent_color")();
      style_css +=
        "#bloglo-header-inner .bloglo-nav > ul > li > a:hover, " +
        "#bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a, " +
        "#bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a, " +
        "#bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a " +
        "#bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a, " +
        "#bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a, " +
        "#bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a " +
        "{ color: " +
        newval["link-hover-color"] +
        "; }";

      $style_tag.html(style_css);
    });
  });

  /**
   * Main Nav Background.
   */
  api("bloglo_main_nav_background", function (value) {
    value.bind(function (newval) {
      var $navigation = $(".bloglo-header-layout-3 .bloglo-nav-container");

      if (!$navigation.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_main_nav_background");
      var style_css = bloglo_design_options_css(
        ".bloglo-header-layout-3 .bloglo-nav-container",
        newval,
        "background"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Main Nav Border.
   */
  api("bloglo_main_nav_border", function (value) {
    value.bind(function (newval) {
      var $navigation = $(".bloglo-header-layout-3 .bloglo-nav-container");

      if (!$navigation.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_main_nav_border");
      var style_css = bloglo_design_options_css(
        ".bloglo-header-layout-3 .bloglo-nav-container",
        newval,
        "border"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Main Nav font size.
   */
  api("bloglo_main_nav_font_size", function (value) {
    value.bind(function (newval) {
      var $nav = $("#bloglo-header-inner");

      if (!$nav.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_main_nav_font_size");
      var style_css = "";

      style_css += bloglo_range_field_css(
        ".bloglo-nav.bloglo-header-element, .bloglo-header-layout-1 .bloglo-header-widgets, .bloglo-header-layout-2 .bloglo-header-widgets",
        "font-size",
        newval,
        false,
        newval.unit
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Top Bar container width.
   */
  api("bloglo_top_bar_container_width", function (value) {
    value.bind(function (newval) {
      var $topbar = $("#bloglo-topbar");

      if (!$topbar.length) {
        return;
      }

      if ("full-width" === newval) {
        $topbar.addClass("bloglo-container__wide");
      } else {
        $topbar.removeClass("bloglo-container__wide");
      }
    });
  });

  /**
   * Top Bar visibility.
   */
  api("bloglo_top_bar_visibility", function (value) {
    value.bind(function (newval) {
      var $topbar = $("#bloglo-topbar");

      bloglo_print_visibility_classes($topbar, newval);
    });
  });

  /**
   * Top Bar widgets separator.
   */
  api("bloglo_top_bar_widgets_separator", function (value) {
    value.bind(function (newval) {
      $body.removeClass(function (index, className) {
        return (
          className.match(/(^|\s)bloglo-topbar__separators-\S+/g) || []
        ).join(" ");
      });

      $body.addClass("bloglo-topbar__separators-" + newval);
    });
  });

  /**
   * Top Bar background.
   */
  api("bloglo_top_bar_background", function (value) {
    value.bind(function (newval) {
      var $topbar = $("#bloglo-topbar");

      if (!$topbar.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_top_bar_background");
      var style_css = bloglo_design_options_css(
        "#bloglo-topbar",
        newval,
        "background"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Top Bar color.
   */
  api("bloglo_top_bar_text_color", function (value) {
    value.bind(function (newval) {
      var $topbar = $("#bloglo-topbar");

      if (!$topbar.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_top_bar_text_color");
      var style_css = "";

      newval["text-color"] = newval["text-color"]
        ? newval["text-color"]
        : "inherit";
      newval["link-color"] = newval["link-color"]
        ? newval["link-color"]
        : "inherit";
      newval["link-hover-color"] = newval["link-hover-color"]
        ? newval["link-hover-color"]
        : "inherit";

      // Text color.
      style_css += "#bloglo-topbar { color: " + newval["text-color"] + "; }";

      // Link color.
      style_css +=
        ".bloglo-topbar-widget__text a, " +
        ".bloglo-topbar-widget .bloglo-nav > ul > li > a, " +
        ".bloglo-topbar-widget__socials .bloglo-social-nav > ul > li > a, " +
        "#bloglo-topbar .bloglo-topbar-widget__text .bloglo-icon { color: " +
        newval["link-color"] +
        "; }";

      // Link hover color.
      style_css +=
        "#bloglo-topbar .bloglo-nav > ul > li > a:hover, " +
        ".using-keyboard #bloglo-topbar .bloglo-nav > ul > li > a:focus," +
        "#bloglo-topbar .bloglo-nav > ul > li.menu-item-has-children:hover > a,  " +
        "#bloglo-topbar .bloglo-nav > ul > li.current-menu-item > a, " +
        "#bloglo-topbar .bloglo-nav > ul > li.current-menu-ancestor > a, " +
        "#bloglo-topbar .bloglo-topbar-widget__text a:hover, " +
        "#bloglo-topbar .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon { color: " +
        newval["link-hover-color"] +
        "; }";

      $style_tag.html(style_css);
    });
  });

  /**
   * Top Bar border.
   */
  api("bloglo_top_bar_border", function (value) {
    value.bind(function (newval) {
      var $topbar = $("#bloglo-topbar");

      if (!$topbar.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_top_bar_border");
      var style_css = bloglo_design_options_css(
        "#bloglo-topbar",
        newval,
        "border"
      );

      style_css += bloglo_design_options_css(
        "#bloglo-topbar .bloglo-topbar-widget",
        newval,
        "separator_color"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Header menu item hover animation.
   */
  api("bloglo_main_nav_hover_animation", function (value) {
    value.bind(function (newval) {
      $body.removeClass(function (index, className) {
        return (className.match(/(^|\s)bloglo-menu-animation-\S+/g) || []).join(
          " "
        );
      });

      $body.addClass("bloglo-menu-animation-" + newval);
    });
  });

  /**
   * Header widgets separator.
   */
  api("bloglo_header_widgets_separator", function (value) {
    value.bind(function (newval) {
      $body.removeClass(function (index, className) {
        return (
          className.match(/(^|\s)bloglo-header__separators-\S+/g) || []
        ).join(" ");
      });

      $body.addClass("bloglo-header__separators-" + newval);
    });
  });

  /**
   * Header background.
   */
  api("bloglo_header_background", function (value) {
    value.bind(function (newval) {
      var $header = $("#bloglo-header-inner");

      if (!$header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_header_background");
      var style_css = bloglo_design_options_css(
        "#bloglo-header-inner",
        newval,
        "background"
      );

      if ("color" === newval["background-type"] && newval["background-color"]) {
        style_css +=
          ".bloglo-header-widget__cart .bloglo-cart .bloglo-cart-count { border: 2px solid " +
          newval["background-color"] +
          "; }";
      } else {
        style_css +=
          ".bloglo-header-widget__cart .bloglo-cart .bloglo-cart-count { border: none; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Header font color.
   */
  api("bloglo_header_text_color", function (value) {
    value.bind(function (newval) {
      var $header = $("#bloglo-header");

      if (!$header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_header_text_color");
      var style_css = "";

      // Text color.
      style_css +=
        ".bloglo-logo .site-description { color: " +
        newval["text-color"] +
        "; }";

      // Link color.
      if (newval["link-color"]) {
        style_css +=
          "#bloglo-header, " +
          ".bloglo-header-widgets a:not(.bloglo-btn), " +
          ".bloglo-logo a," +
          ".bloglo-hamburger { color: " +
          newval["link-color"] +
          "; }";
        style_css +=
          ".hamburger-inner," +
          ".hamburger-inner::before," +
          ".hamburger-inner::after { background-color: " +
          newval["link-color"] +
          "; }";
      }

      // Link hover color.
      if (newval["link-hover-color"]) {
        style_css +=
          ".bloglo-header-widgets a:not(.bloglo-btn):hover, " +
          "#bloglo-header-inner .bloglo-header-widgets .bloglo-active," +
          ".bloglo-logo .site-title a:hover, " +
          ".bloglo-hamburger:hover .hamburger-label, " +
          ".is-mobile-menu-active .bloglo-hamburger .hamburger-label," +
          "#bloglo-header-inner .bloglo-nav > ul > li > a:hover," +
          "#bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a," +
          "#bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a," +
          "#bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a," +
          "#bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a," +
          "#bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a," +
          "#bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a { color: " +
          newval["link-hover-color"] +
          "; }";

        style_css +=
          ".bloglo-hamburger:hover .hamburger-inner," +
          ".bloglo-hamburger:hover .hamburger-inner::before," +
          ".bloglo-hamburger:hover .hamburger-inner::after," +
          ".is-mobile-menu-active .bloglo-hamburger .hamburger-inner," +
          ".is-mobile-menu-active .bloglo-hamburger .hamburger-inner::before," +
          ".is-mobile-menu-active .bloglo-hamburger .hamburger-inner::after { background-color: " +
          newval["link-hover-color"] +
          "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Header border.
   */
  api("bloglo_header_border", function (value) {
    value.bind(function (newval) {
      var $header = $("#bloglo-header-inner");

      if (!$header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_header_border");
      var style_css = bloglo_design_options_css(
        "#bloglo-header-inner",
        newval,
        "border"
      );

      // Separator color.
      newval["separator-color"] = newval["separator-color"]
        ? newval["separator-color"]
        : "inherit";
      style_css +=
        ".bloglo-header-widget:after { background-color: " +
        newval["separator-color"] +
        "; }";

      $style_tag.html(style_css);
    });
  });

  /**
   * Hero container width.
   */
  api("bloglo_hero_hover_slider_container", function (value) {
    value.bind(function (newval) {
      var $hero_container = $("#hero .bloglo-hero-container");

      if (!$hero_container.length) {
        return;
      }

      if ("full-width" === newval) {
        $hero_container.addClass("bloglo-container__wide");
      } else {
        $hero_container.removeClass("bloglo-container__wide");
      }
    });
  });

  /**
   * Hero overlay style.
   */
  api("bloglo_hero_hover_slider_overlay", function (value) {
    value.bind(function (newval) {
      var $hero = $("#hero .bloglo-hover-slider");

      if (!$hero.length) {
        return;
      }

      $hero
        .removeClass(function (index, className) {
          return (className.match(/(^|\s)slider-overlay-\S+/g) || []).join(" ");
        })
        .addClass("slider-overlay-" + newval);
    });
  });

  /**
   * Hero height.
   */
  api("bloglo_hero_hover_slider_height", function (value) {
    value.bind(function (newval) {
      var $hero = $("#hero");

      if (!$hero.length) {
        return;
      }

      $hero.find(".hover-slide-item").css("height", newval.value + "px");
    });
  });

  /**
   * Hero visibility.
   */
  api("bloglo_hero_visibility", function (value) {
    value.bind(function (newval) {
      bloglo_print_visibility_classes($("#hero"), newval);
    });
  });

  /**
   * Featured Links title.
   */
  api("bloglo_featured_links_title", function (value) {
    value.bind(function (newval) {
      $("#featured_links .widget-title").text(newval);
    });
  });

  /**
   * Featured Links container width.
   */
  api("bloglo_featured_links_container", function (value) {
    value.bind(function (newval) {
      var $featured_links_container = $("#featured_links .bloglo-featured-container");

      if (!$featured_links_container.length) {
        return;
      }

      if ("full-width" === newval) {
        $featured_links_container.addClass("bloglo-container__wide");
      } else {
        $featured_links_container.removeClass("bloglo-container__wide");
      }
    });
  });

  /**
   * Featured Links visibility.
   */
  api("bloglo_featured_links_visibility", function (value) {
    value.bind(function (newval) {
      bloglo_print_visibility_classes($("#featured_links"), newval);
    });
  });

  /**
   * PYML title.
   */
  api("bloglo_pyml_title", function (value) {
    value.bind(function (newval) {
      $("#pyml .widget-title").text(newval);
    });
  });

  /**
   * PYML container width.
   */
  api("bloglo_pyml_container", function (value) {
    value.bind(function (newval) {
      var $pyml_container = $("#pyml .bloglo-pyml-container");

      if (!$pyml_container.length) {
        return;
      }

      if ("full-width" === newval) {
        $pyml_container.addClass("bloglo-container__wide");
      } else {
        $pyml_container.removeClass("bloglo-container__wide");
      }
    });
  });

  /**
   * PYML visibility.
   */
  api("bloglo_pyml_visibility", function (value) {
    value.bind(function (newval) {
      bloglo_print_visibility_classes($("#pyml"), newval);
    });
  });

  /**
   * Ticker News title.
   */
  api("bloglo_ticker_title", function (value) {
    value.bind(function (newval) {
      $("#ticker .ticker-title .title").text(newval);
    });
  });

  /**
   * Ticker News container width.
   */
  api("bloglo_ticker_container", function (value) {
    value.bind(function (newval) {
      var $ticker_container = $("#ticker .bloglo-ticker-container");

      if (!$ticker_container.length) {
        return;
      }

      if ("full-width" === newval) {
        $ticker_container.addClass("bloglo-container__wide");
      } else {
        $ticker_container.removeClass("bloglo-container__wide");
      }
    });
  });

  /**
   * Ticker News visibility.
   */
  api("bloglo_ticker_visibility", function (value) {
    value.bind(function (newval) {
      bloglo_print_visibility_classes($("#ticker"), newval);
    });
  });

  /**
   * Custom input style.
   */
  api("bloglo_custom_input_style", function (value) {
    value.bind(function (newval) {
      if (newval) {
        $body.addClass("bloglo-input-supported");
      } else {
        $body.removeClass("bloglo-input-supported");
      }
    });
  });

  /**
   * Pre Footer Call to Action Enable.
   */
  api("bloglo_enable_pre_footer_cta", function (value) {
    value.bind(function (newval) {
      if (newval) {
        $body.addClass(
          "bloglo-pre-footer-cta-style-" +
            api.value("bloglo_pre_footer_cta_style")()
        );
      } else {
        $body.removeClass(function (index, className) {
          return (
            className.match(/(^|\s)bloglo-pre-footer-cta-style-\S+/g) || []
          ).join(" ");
        });
      }
    });
  });

  /**
   * Pre Footer Call to Action visibility.
   */
  api("bloglo_pre_footer_cta_visibility", function (value) {
    value.bind(function (newval) {
      var $cta = $(".bloglo-pre-footer-cta");

      if (!$cta.length) {
        return;
      }

      bloglo_print_visibility_classes($cta, newval);
    });
  });

  /**
   * Pre Footer Call to Action Text.
   */
  api("bloglo_pre_footer_cta_text", function (value) {
    value.bind(function (newval) {
      var $cta = $("#bloglo-pre-footer .bloglo-pre-footer-cta");

      if (!$cta.length) {
        return;
      }

      $cta.find("p.h3").html(newval);
    });
  });

  /**
   * Pre Footer Call to Action Style.
   */
  api("bloglo_pre_footer_cta_style", function (value) {
    value.bind(function (newval) {
      $body
        .removeClass(function (index, className) {
          return (
            className.match(/(^|\s)bloglo-pre-footer-cta-style-\S+/g) || []
          ).join(" ");
        })
        .addClass(
          "bloglo-pre-footer-cta-style-" +
            api.value("bloglo_pre_footer_cta_style")()
        );
    });
  });

  /**
   * Pre Footer Call to Action Button Text.
   */
  api("bloglo_pre_footer_cta_btn_text", function (value) {
    value.bind(function (newval) {
      var $cta = $("#bloglo-pre-footer .bloglo-pre-footer-cta");

      if (!$cta.length) {
        return;
      }

      if (newval) {
        $cta.find("a").css("display", "inline-flex").html(newval);
      } else {
        $cta.find("a").css("display", "none").html("");
      }
    });
  });

  /**
   * Pre Footer Call to Action Background.
   */
  api("bloglo_pre_footer_cta_background", function (value) {
    value.bind(function (newval) {
      var $cta = $("#bloglo-pre-footer .bloglo-pre-footer-cta");

      if (!$cta.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_pre_footer_cta_background");
      var style_css = "";

      if ("color" === newval["background-type"]) {
        style_css += bloglo_design_options_css(
          ".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::before, .bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::before",
          newval,
          "background"
        );
        style_css +=
          ".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::after," +
          ".bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::after" +
          "{ background-image: none; }";
      } else {
        style_css += bloglo_design_options_css(
          ".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::after",
          newval,
          "background"
        );
        style_css += bloglo_design_options_css(
          ".bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::after",
          newval,
          "background"
        );
      }

      if (
        "image" === newval["background-type"] &&
        newval["background-color-overlay"] &&
        newval["background-image"]
      ) {
        style_css +=
          ".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::before," +
          ".bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::before" +
          "{ background-color: " +
          newval["background-color-overlay"] +
          "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Pre Footer Call to Action Text Color.
   */
  api("bloglo_pre_footer_cta_text_color", function (value) {
    value.bind(function (newval) {
      var $cta = $("#bloglo-pre-footer .bloglo-pre-footer-cta");

      if (!$cta.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_pre_footer_cta_text_color");
      var style_css = "";

      style_css += bloglo_design_options_css(
        "#bloglo-pre-footer .h2",
        newval,
        "color"
      );
      style_css += bloglo_design_options_css(
        "#bloglo-pre-footer .h3",
        newval,
        "color"
      );
      style_css += bloglo_design_options_css(
        "#bloglo-pre-footer .h4",
        newval,
        "color"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Pre Footer Call to Action Border.
   */
  api("bloglo_pre_footer_cta_border", function (value) {
    value.bind(function (newval) {
      var $cta = $("#bloglo-pre-footer .bloglo-pre-footer-cta");

      if (!$cta.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_pre_footer_cta_border");
      var style_css = bloglo_design_options_css(
        ".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::before, .bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::before",
        newval,
        "border"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Pre Footer CTA font size.
   */
  api("bloglo_pre_footer_cta_font_size", function (value) {
    value.bind(function (newval) {
      var $cta = $("#bloglo-pre-footer .bloglo-pre-footer-cta");

      if (!$cta.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_pre_footer_cta_font_size");
      var style_css = bloglo_range_field_css(
        "#bloglo-pre-footer .h3",
        "font-size",
        newval,
        true,
        newval.unit
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * WooCommerce sale badge text.
   */
  api("bloglo_product_sale_badge_text", function (value) {
    value.bind(function (newval) {
      var $badge = $(
        ".woocommerce ul.products li.product .onsale, .woocommerce span.onsale"
      ).not(".sold-out");

      if (!$badge.length) {
        return;
      }

      $badge.html(newval);
    });
  });

  /**
   * Accent color.
   */
  api("bloglo_accent_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_accent_color");
      var style_css;

      // Colors.
      style_css =
        ":root { " +
        "--bloglo-primary: " +
        newval +
        ";" +
        "--bloglo-primary_15: " +
        bloglo_luminance(newval, 0.15) +
        ";" +
        "--bloglo-primary_27: " +
        bloglo_hex2rgba(newval, 0.27) +
        ";" +
        "--bloglo-primary_09: " +
        bloglo_hex2rgba(newval, 0.09) +
        ";" +
        "--bloglo-primary_04: " +
        bloglo_hex2rgba(newval, 0.04) +
        ";" +
        "}";

      // Gradient.
      style_css +=
        ".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::before," +
        ".bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::before { " +
        "background: linear-gradient(to right, " +
        bloglo_hex2rgba(newval, 0.9) +
        " 0%, " +
        bloglo_hex2rgba(newval, 0.82) +
        " 35%, " +
        bloglo_hex2rgba(newval, 0.4) +
        " 100% );" +
        "-webkit-gradient(linear, left top, right top, from(" +
        bloglo_hex2rgba(newval, 0.9) +
        "), color-stop(35%, " +
        bloglo_hex2rgba(newval, 0.82) +
        "), to(" +
        bloglo_hex2rgba(newval, 0.4) +
        ")); }";

      $style_tag.html(style_css);
    });
  });

  api( 'bloglo_dark_mode', function( value ) {
		value.bind( function( newval ) {
			if (newval) {
				document.documentElement.setAttribute('data-theme', 'dark');
				localStorage.setItem('darkmode', 'dark');
			} else {
				document.documentElement.setAttribute('data-theme', 'light');
				localStorage.setItem('darkmode', 'light');
			}
		} )
	} );
  /**
   * Content background color.
   */
  api("bloglo_boxed_content_background_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag(
        "bloglo_boxed_content_background_color"
      );
      var style_css = "";

      if (newval) {
        style_css =
          ".bloglo-layout__boxed #page, " +
          ".bloglo-layout__boxed-separated .ticker-slider-items, " +
          ".bloglo-layout__boxed-separated .pyml-slider-items, " +
          ".bloglo-layout__boxed-separated.author .author-box, " +
          ".bloglo-layout__boxed-separated #content, " +
          ".bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget, " +
          ".bloglo-layout__boxed-separated.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget, " +
          ".bloglo-layout__boxed-separated.archive .bloglo-article, " +
          ".bloglo-layout__boxed-separated.blog .bloglo-article, " +
          ".bloglo-layout__boxed-separated.search-results .bloglo-article, " +
          ".bloglo-layout__boxed-separated.category .bloglo-article { background-color: " +
          newval +
          "; }";

        // style_css += '@media screen and (max-width: 960px) { ' + '.bloglo-layout__boxed-separated #page { background-color: ' + newval + '; }' + '}';
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Content text color.
   */
  api("bloglo_content_text_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_content_text_color");
      var style_css = "";

      if (newval) {
        style_css =
          "body { " +
          "color: " +
          newval +
          ";" +
          "}" +
          ":root { " +
          "--bloglo-secondary_38: " +
          newval +
          ";" +
          "}" +
          ".comment-form .comment-notes, " +
          "#comments .no-comments, " +
          "#page .wp-caption .wp-caption-text," +
          "#comments .comment-meta," +
          ".comments-closed," +
          ".entry-meta," +
          ".bloglo-entry cite," +
          "legend," +
          ".bloglo-page-header-description," +
          ".page-links em," +
          ".site-content .page-links em," +
          ".single .entry-footer .last-updated," +
          ".single .post-nav .post-nav-title," +
          "#main .widget_recent_comments span," +
          "#main .widget_recent_entries span," +
          "#main .widget_calendar table > caption," +
          ".post-thumb-caption, " +
          ".wp-block-image figcaption, " +
          ".bloglo-cart-item .bloglo-x," +
          ".woocommerce form.login .lost_password a," +
          ".woocommerce form.register .lost_password a," +
          ".woocommerce a.remove," +
          "#add_payment_method .cart-collaterals .cart_totals .woocommerce-shipping-destination, " +
          ".woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination, " +
          ".woocommerce-checkout .cart-collaterals .cart_totals .woocommerce-shipping-destination," +
          ".woocommerce ul.products li.product .bloglo-loop-product__category-wrap a," +
          ".woocommerce ul.products li.product .bloglo-loop-product__category-wrap," +
          ".woocommerce .woocommerce-checkout-review-order table.shop_table thead th," +
          "#add_payment_method #payment div.payment_box, " +
          ".woocommerce-cart #payment div.payment_box, " +
          ".woocommerce-checkout #payment div.payment_box," +
          "#add_payment_method #payment ul.payment_methods .about_paypal, " +
          ".woocommerce-cart #payment ul.payment_methods .about_paypal, " +
          ".woocommerce-checkout #payment ul.payment_methods .about_paypal," +
          ".woocommerce table dl," +
          ".woocommerce table .wc-item-meta," +
          ".widget.woocommerce .reviewer," +
          ".woocommerce.widget_shopping_cart .cart_list li a.remove:before," +
          ".woocommerce .widget_shopping_cart .cart_list li a.remove:before," +
          ".woocommerce .widget_shopping_cart .cart_list li .quantity, " +
          ".woocommerce.widget_shopping_cart .cart_list li .quantity," +
          ".woocommerce div.product .woocommerce-product-rating .woocommerce-review-link," +
          ".woocommerce div.product .woocommerce-tabs table.shop_attributes td," +
          ".woocommerce div.product .product_meta > span span:not(.bloglo-woo-meta-title), " +
          ".woocommerce div.product .product_meta > span a," +
          ".woocommerce .star-rating::before," +
          ".woocommerce div.product #reviews #comments ol.commentlist li .comment-text p.meta," +
          ".ywar_review_count," +
          ".woocommerce .add_to_cart_inline del, " +
          ".woocommerce div.product p.price del, " +
          ".woocommerce div.product span.price del { color: " +
          bloglo_hex2rgba(newval, 0.75) +
          "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Content link hover color.
   */
  api("bloglo_content_link_hover_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_content_link_hover_color");
      var style_css = "";

      if (newval) {
        // Content link hover.
        style_css +=
          ".content-area a:not(.bloglo-btn, .wp-block-button__link, .page-numbers, [rel^=category]):hover, " +
          ".bloglo-woo-before-shop select.custom-select-loaded:hover ~ #bloglo-orderby, " +
          "#add_payment_method #payment ul.payment_methods .about_paypal:hover, " +
          ".woocommerce-cart #payment ul.payment_methods .about_paypal:hover, " +
          ".woocommerce-checkout #payment ul.payment_methods .about_paypal:hover, " +
          ".bloglo-breadcrumbs a:hover, " +
          ".woocommerce div.product .woocommerce-product-rating .woocommerce-review-link:hover, " +
          ".woocommerce ul.products li.product .meta-wrap .woocommerce-loop-product__link:hover, " +
          ".woocommerce ul.products li.product .bloglo-loop-product__category-wrap a:hover { " +
          "color: " +
          newval +
          ";" +
          "}";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Content text color.
   */
  api("bloglo_headings_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_headings_color");
      var style_css = "";

      if (newval) {
        style_css =
          "h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .bloglo-logo .site-title, .error-404 .page-header h1 { " +
          "color: " +
          newval +
          ";" +
          "} :root { " +
          "--bloglo-secondary: " +
          newval +
          ";" +
          "}";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Scroll Top visibility.
   */
  api("bloglo_scroll_top_visibility", function (value) {
    value.bind(function (newval) {
      bloglo_print_visibility_classes($("#bloglo-scroll-top"), newval);
    });
  });

  /**
   * Page Preloader visibility.
   */
  api("bloglo_preloader_visibility", function (value) {
    value.bind(function (newval) {
      bloglo_print_visibility_classes($("#bloglo-preloader"), newval);
    });
  });

  /**
   * Footer visibility.
   */
  api("bloglo_footer_visibility", function (value) {
    value.bind(function (newval) {
      bloglo_print_visibility_classes($("#bloglo-footer"), newval);
    });
  });

  /**
   * Footer Widget Heading Style Enable.
   */
  api("bloglo_footer_widget_heading_style", function (value) {
    value.bind(function (newval) {
      $body
        .removeClass(function (index, className) {
          return (
            className.match(/(^|\s)is-footer-heading-init-s\S+/g) || []
          ).join(" ");
        })
        .addClass(
          "is-footer-heading-init-s" +
            api.value("bloglo_footer_widget_heading_style")()
        );
    });
  });

  /**
   * Footer background.
   */
  api("bloglo_footer_background", function (value) {
    value.bind(function (newval) {
      var $footer = $("#colophon");

      if (!$footer.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_footer_background");
      var style_css = bloglo_design_options_css(
        "#colophon",
        newval,
        "background"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Footer font color.
   */
  api("bloglo_footer_text_color", function (value) {
    var $footer = $("#bloglo-footer"),
      copyright_separator_color,
      style_css;

    value.bind(function (newval) {
      if (!$footer.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_footer_text_color");

      style_css = "";

      newval["text-color"] = newval["text-color"]
        ? newval["text-color"]
        : "inherit";
      newval["link-color"] = newval["link-color"]
        ? newval["link-color"]
        : "inherit";
      newval["link-hover-color"] = newval["link-hover-color"]
        ? newval["link-hover-color"]
        : "inherit";
      newval["widget-title-color"] = newval["widget-title-color"]
        ? newval["widget-title-color"]
        : "inherit";

      // Text color.
      style_css += "#colophon { color: " + newval["text-color"] + "; }";

      // Link color.
      style_css += "#colophon a { color: " + newval["link-color"] + "; }";

      // Link hover color.
      style_css +=
        "#colophon a:hover, #colophon li.current_page_item > a, #colophon .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon " +
        "{ color: " +
        newval["link-hover-color"] +
        "; }";

      // Widget title color.
      style_css +=
        "#colophon .widget-title, #colophon .wp-block-heading { color: " +
        newval["widget-title-color"] +
        "; }";

      // Copyright separator color.
      copyright_separator_color = bloglo_light_or_dark(
        newval["text-color"],
        "rgba(255,255,255,0.1)",
        "rgba(0,0,0,0.1)"
      );

      // copyright_separator_color = bloglo_luminance( newval['text-color'], 0.8 );

      style_css +=
        "#bloglo-copyright.contained-separator > .bloglo-container:before { background-color: " +
        copyright_separator_color +
        "; }";
      style_css +=
        "#bloglo-copyright.fw-separator { border-top-color: " +
        copyright_separator_color +
        "; }";

      $style_tag.html(style_css);
    });
  });

  /**
   * Footer border.
   */
  api("bloglo_footer_border", function (value) {
    value.bind(function (newval) {
      var $footer = $("#bloglo-footer");

      if (!$footer.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_footer_border");
      var style_css = "";

      if (newval["border-top-width"]) {
        style_css +=
          "#colophon { " +
          "border-top-width: " +
          newval["border-top-width"] +
          "px;" +
          "border-top-style: " +
          newval["border-style"] +
          ";" +
          "border-top-color: " +
          newval["border-color"] +
          ";" +
          "}";
      }

      if (newval["border-bottom-width"]) {
        style_css +=
          "#colophon { " +
          "border-bottom-width: " +
          newval["border-bottom-width"] +
          "px;" +
          "border-bottom-style: " +
          newval["border-style"] +
          ";" +
          "border-bottom-color: " +
          newval["border-color"] +
          ";" +
          "}";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Copyright layout.
   */
  api("bloglo_copyright_layout", function (value) {
    value.bind(function (newval) {
      $body.removeClass(function (index, className) {
        return (
          className.match(/(^|\s)bloglo-copyright-layout-\S+/g) || []
        ).join(" ");
      });

      $body.addClass("bloglo-copyright-" + newval);
    });
  });

  /**
   * Copyright separator.
   */
  api("bloglo_copyright_separator", function (value) {
    value.bind(function (newval) {
      var $copyright = $("#bloglo-copyright");

      if (!$copyright.length) {
        return;
      }

      $copyright.removeClass("fw-separator contained-separator");

      if ("none" !== newval) {
        $copyright.addClass(newval);
      }
    });
  });

  /**
   * Copyright visibility.
   */
  api("bloglo_copyright_visibility", function (value) {
    value.bind(function (newval) {
      bloglo_print_visibility_classes($("#bloglo-copyright"), newval);
    });
  });

  /**
   * Copyright background.
   */
  api("bloglo_copyright_background", function (value) {
    value.bind(function (newval) {
      var $copyright = $("#bloglo-copyright");

      if (!$copyright.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_copyright_background");
      var style_css = bloglo_design_options_css(
        "#bloglo-copyright",
        newval,
        "background"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Copyright text color.
   */
  api("bloglo_copyright_text_color", function (value) {
    value.bind(function (newval) {
      var $copyright = $("#bloglo-copyright");

      if (!$copyright.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_copyright_text_color");
      var style_css = "";

      newval["text-color"] = newval["text-color"]
        ? newval["text-color"]
        : "inherit";
      newval["link-color"] = newval["link-color"]
        ? newval["link-color"]
        : "inherit";
      newval["link-hover-color"] = newval["link-hover-color"]
        ? newval["link-hover-color"]
        : "inherit";

      // Text color.
      style_css += "#bloglo-copyright { color: " + newval["text-color"] + "; }";

      // Link color.
      style_css +=
        "#bloglo-copyright a { color: " + newval["link-color"] + "; }";

      // Link hover color.
      style_css +=
        "#bloglo-copyright a:hover, #bloglo-copyright .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon, #bloglo-copyright li.current_page_item > a, #bloglo-copyright .bloglo-nav > ul > li.current-menu-item > a, #bloglo-copyright .bloglo-nav > ul > li.current-menu-ancestor > a #bloglo-copyright .bloglo-nav > ul > li:hover > a, #bloglo-copyright .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon { color: " +
        newval["link-hover-color"] +
        "; }";

      $style_tag.html(style_css);
    });
  });

  /**
   * Container width.
   */
  api("bloglo_container_width", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_container_width");
      var style_css;

      style_css =
        ".bloglo-container," +
        ".alignfull > div { " +
        "max-width: " +
        newval.value +
        "px;" +
        "}";

      style_css +=
        ".bloglo-layout__boxed #page, .bloglo-layout__boxed.bloglo-sticky-header.bloglo-is-mobile #bloglo-header-inner, " +
        ".bloglo-layout__boxed.bloglo-sticky-header:not(.bloglo-header-layout-3) #bloglo-header-inner, " +
        ".bloglo-layout__boxed.bloglo-sticky-header:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container > .bloglo-container { max-width: " +
        (parseInt(newval.value) + 100) +
        "px; }";

      $style_tag.html(style_css);
    });
  });

  /**
   * Transparent Header Logo max height.
   */
  api("bloglo_tsp_logo_max_height", function (value) {
    value.bind(function (newval) {
      var $logo = $(".bloglo-tsp-header .bloglo-logo");

      if (!$logo.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_tsp_logo_max_height");
      var style_css = "";

      style_css += bloglo_range_field_css(
        ".bloglo-tsp-header .bloglo-logo img",
        "max-height",
        newval,
        true,
        "px"
      );
      style_css += bloglo_range_field_css(
        ".bloglo-tsp-header .bloglo-logo img.bloglo-svg-logo",
        "height",
        newval,
        true,
        "px"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Transparent Header Logo margin.
   */
  api("bloglo_tsp_logo_margin", function (value) {
    value.bind(function (newval) {
      var $logo = $(".bloglo-tsp-header .bloglo-logo");

      if (!$logo.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_tsp_logo_margin");

      var style_css = bloglo_spacing_field_css(
        ".bloglo-tsp-header .bloglo-logo .logo-inner",
        "margin",
        newval,
        true
      );
      $style_tag.html(style_css);
    });
  });

  /**
   * Transparent header - Main Header & Topbar background.
   */
  api("bloglo_tsp_header_background", function (value) {
    value.bind(function (newval) {
      var $tsp_header = $(".bloglo-tsp-header");

      if (!$tsp_header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_tsp_header_background");

      var style_css = "";
      style_css += bloglo_design_options_css(
        ".bloglo-tsp-header #bloglo-header-inner",
        newval,
        "background"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Transparent header - Main Header & Topbar font color.
   */
  api("bloglo_tsp_header_font_color", function (value) {
    value.bind(function (newval) {
      var $tsp_header = $(".bloglo-tsp-header");

      if (!$tsp_header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_tsp_header_font_color");

      var style_css = "";

      newval["text-color"] = newval["text-color"]
        ? newval["text-color"]
        : "inherit";
      newval["link-color"] = newval["link-color"]
        ? newval["link-color"]
        : "inherit";
      newval["link-hover-color"] = newval["link-hover-color"]
        ? newval["link-hover-color"]
        : "inherit";

      /** Header **/

      // Text color.
      style_css +=
        ".bloglo-tsp-header .bloglo-logo .site-description { color: " +
        newval["text-color"] +
        "; }";

      // Link color.
      if (newval["link-color"]) {
        style_css +=
          ".bloglo-tsp-header #bloglo-header, " +
          ".bloglo-tsp-header .bloglo-header-widgets a:not(.bloglo-btn), " +
          ".bloglo-tsp-header .bloglo-logo a," +
          ".bloglo-tsp-header .bloglo-hamburger, " +
          ".bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li > a { color: " +
          newval["link-color"] +
          "; }";
        style_css +=
          ".bloglo-tsp-header .hamburger-inner," +
          ".bloglo-tsp-header .hamburger-inner::before," +
          ".bloglo-tsp-header .hamburger-inner::after { background-color: " +
          newval["link-color"] +
          "; }";
      }

      // Link hover color.
      if (newval["link-hover-color"]) {
        style_css +=
          ".bloglo-tsp-header .bloglo-header-widgets a:not(.bloglo-btn):hover, " +
          ".bloglo-tsp-header #bloglo-header-inner .bloglo-header-widgets .bloglo-active," +
          ".bloglo-tsp-header .bloglo-logo .site-title a:hover, " +
          ".bloglo-tsp-header .bloglo-hamburger:hover .hamburger-label, " +
          ".is-mobile-menu-active .bloglo-tsp-header .bloglo-hamburger .hamburger-label," +
          ".bloglo-tsp-header.using-keyboard .site-title a:focus," +
          ".bloglo-tsp-header.using-keyboard .bloglo-header-widgets a:not(.bloglo-btn):focus," +
          ".bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.hovered > a," +
          ".bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li > a:hover," +
          ".bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a," +
          ".bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a," +
          ".bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a," +
          ".bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a," +
          ".bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a," +
          ".bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a { color: " +
          newval["link-hover-color"] +
          "; }";

        style_css +=
          ".bloglo-tsp-header .bloglo-hamburger:hover .hamburger-inner," +
          ".bloglo-tsp-header .bloglo-hamburger:hover .hamburger-inner::before," +
          ".bloglo-tsp-header .bloglo-hamburger:hover .hamburger-inner::after," +
          ".is-mobile-menu-active .bloglo-tsp-header .bloglo-hamburger .hamburger-inner," +
          ".is-mobile-menu-active .bloglo-tsp-header .bloglo-hamburger .hamburger-inner::before," +
          ".is-mobile-menu-active .bloglo-tsp-header .bloglo-hamburger .hamburger-inner::after { background-color: " +
          newval["link-hover-color"] +
          "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Transparent header - Main Header & Topbar border.
   */
  api("bloglo_tsp_header_border", function (value) {
    value.bind(function (newval) {
      var $tsp_header = $(".bloglo-tsp-header");

      if (!$tsp_header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_tsp_header_border");

      var style_css = "";

      style_css += bloglo_design_options_css(
        ".bloglo-tsp-header #bloglo-header-inner",
        newval,
        "border"
      );

      // Separator color.
      newval["separator-color"] = newval["separator-color"]
        ? newval["separator-color"]
        : "inherit";
      style_css +=
        ".bloglo-tsp-header .bloglo-header-widget:after { background-color: " +
        newval["separator-color"] +
        "; }";

      $style_tag.html(style_css);
    });
  });

  /**
   * Page Header layout.
   */
  api("bloglo_page_header_alignment", function (value) {
    value.bind(function (newval) {
      if ($body.hasClass("single-post")) {
        return;
      }

      $body.removeClass(function (index, className) {
        return (
          className.match(/(^|\s)bloglo-page-title-align-\S+/g) || []
        ).join(" ");
      });

      $body.addClass("bloglo-page-title-align-" + newval);
    });
  });

  /**
   * Page Header spacing.
   */
  api("bloglo_page_header_spacing", function (value) {
    value.bind(function (newval) {
      var $page_header = $(".page-header");

      if (!$page_header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_page_header_spacing");

      var style_css = bloglo_spacing_field_css(
        ".bloglo-page-title-align-left .page-header.bloglo-has-page-title, .bloglo-page-title-align-right .page-header.bloglo-has-page-title, .bloglo-page-title-align-center .page-header .bloglo-page-header-wrapper",
        "padding",
        newval,
        true
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Page Header background.
   */
  api("bloglo_page_header_background", function (value) {
    value.bind(function (newval) {
      var $page_header = $(".page-header");

      if (!$page_header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_page_header_background");

      var style_css = "";
      style_css += bloglo_design_options_css(
        ".page-header",
        newval,
        "background"
      );
      style_css += bloglo_design_options_css(
        ".bloglo-tsp-header:not(.bloglo-tsp-absolute) #masthead",
        newval,
        "background"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Header Text color.
   */
  api("bloglo_page_header_text_color", function (value) {
    value.bind(function (newval) {
      var $page_header = $(".page-header");

      if (!$page_header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_page_header_text_color");
      var style_css = "";

      newval["text-color"] = newval["text-color"]
        ? newval["text-color"]
        : "inherit";
      newval["link-color"] = newval["link-color"]
        ? newval["link-color"]
        : "inherit";
      newval["link-hover-color"] = newval["link-hover-color"]
        ? newval["link-hover-color"]
        : "inherit";

      // Text color.
      style_css +=
        ".page-header .page-title { color: " + newval["text-color"] + "; }";
      style_css +=
        ".page-header .bloglo-page-header-description" +
        "{ color: " +
        bloglo_hex2rgba(newval["text-color"], 0.75) +
        "}";

      // Link color.
      style_css +=
        ".page-header .bloglo-breadcrumbs a" +
        "{ color: " +
        newval["link-color"] +
        "; }";

      style_css +=
        ".page-header .bloglo-breadcrumbs span," +
        ".page-header .breadcrumb-trail .trail-items li::after, .page-header .bloglo-breadcrumbs .separator" +
        "{ color: " +
        bloglo_hex2rgba(newval["link-color"], 0.75) +
        "}";

      $style_tag.html(style_css);
    });
  });

  /**
   * Page Header border.
   */
  api("bloglo_page_header_border", function (value) {
    value.bind(function (newval) {
      var $page_header = $(".page-header");

      if (!$page_header.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_page_header_border");
      var style_css = bloglo_design_options_css(
        ".page-header",
        newval,
        "border"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Breadcrumbs alignment.
   */
  api("bloglo_breadcrumbs_alignment", function (value) {
    value.bind(function (newval) {
      var $breadcrumbs = $("#main > .bloglo-breadcrumbs > .bloglo-container");

      if (!$breadcrumbs.length) {
        return;
      }

      $breadcrumbs.removeClass(function (index, className) {
        return (className.match(/(^|\s)bloglo-text-align\S+/g) || []).join(" ");
      });

      $breadcrumbs.addClass("bloglo-text-align-" + newval);
    });
  });

  /**
   * Breadcrumbs spacing.
   */
  api("bloglo_breadcrumbs_spacing", function (value) {
    value.bind(function (newval) {
      var $breadcrumbs = $(".bloglo-breadcrumbs");

      if (!$breadcrumbs.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_breadcrumbs_spacing");

      var style_css = bloglo_spacing_field_css(
        ".bloglo-breadcrumbs",
        "padding",
        newval,
        true
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Breadcrumbs Background.
   */
  api("bloglo_breadcrumbs_background", function (value) {
    value.bind(function (newval) {
      var $breadcrumbs = $(".bloglo-breadcrumbs");

      if (!$breadcrumbs.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_breadcrumbs_background");
      var style_css = bloglo_design_options_css(
        ".bloglo-breadcrumbs",
        newval,
        "background"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Breadcrumbs Text Color.
   */
  api("bloglo_breadcrumbs_text_color", function (value) {
    value.bind(function (newval) {
      var $breadcrumbs = $(".bloglo-breadcrumbs");

      if (!$breadcrumbs.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_breadcrumbs_text_color");
      var style_css = bloglo_design_options_css(
        ".bloglo-breadcrumbs",
        newval,
        "color"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Breadcrumbs Border.
   */
  api("bloglo_breadcrumbs_border", function (value) {
    value.bind(function (newval) {
      var $breadcrumbs = $(".bloglo-breadcrumbs");

      if (!$breadcrumbs.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_breadcrumbs_border");
      var style_css = bloglo_design_options_css(
        ".bloglo-breadcrumbs",
        newval,
        "border"
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Base HTML font size.
   */
  api("bloglo_html_base_font_size", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_html_base_font_size");
      var style_css = bloglo_range_field_css(
        "html",
        "font-size",
        newval,
        true,
        "%"
      );
      $style_tag.html(style_css);
    });
  });

  /**
   * Font smoothing.
   */
  api("bloglo_font_smoothing", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_font_smoothing");

      if (newval) {
        $style_tag.html(
          "*," +
            "*::before," +
            "*::after {" +
            "-moz-osx-font-smoothing: grayscale;" +
            "-webkit-font-smoothing: antialiased;" +
            "}"
        );
      } else {
        $style_tag.html(
          "*," +
            "*::before," +
            "*::after {" +
            "-moz-osx-font-smoothing: auto;" +
            "-webkit-font-smoothing: auto;" +
            "}"
        );
      }

      $style_tag = bloglo_get_style_tag("bloglo_html_base_font_size");
      var style_css = bloglo_range_field_css(
        "html",
        "font-size",
        newval,
        true,
        "%"
      );
      $style_tag.html(style_css);
    });
  });

  /**
   * Body font.
   */
  api("bloglo_body_font", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_body_font");
      var style_css = bloglo_typography_field_css("body", newval);

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  /**
   * Headings font.
   */
  api("bloglo_headings_font", function (value) {
    var style_css, selector;
    value.bind(function (newval) {
      selector =
        "h1, .h1, .bloglo-logo .site-title, .page-header h1.page-title";
      selector += ", h2, .h2, .woocommerce div.product h1.product_title";
      selector += ", h3, .h3, .woocommerce #reviews #comments h2";
      selector +=
        ", h4, .h4, .woocommerce .cart_totals h2, .woocommerce .cross-sells > h4, .woocommerce #reviews #respond .comment-reply-title";
      selector += ", h5, h6, .h5, .h6";

      style_css = bloglo_typography_field_css(selector, newval);

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag = bloglo_get_style_tag("bloglo_headings_font");
      $style_tag.html(style_css);
    });
  });

  /**
   * Heading 1 font.
   */
  api("bloglo_h1_font", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_h1_font");

      var style_css = bloglo_typography_field_css(
        "h1, .h1, .bloglo-logo .site-title, .page-header h1.page-title",
        newval
      );

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  /**
   * Heading 2 font.
   */
  api("bloglo_h2_font", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_h2_font");

      var style_css = bloglo_typography_field_css(
        "h2, .h2, .woocommerce div.product h1.product_title",
        newval
      );

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  /**
   * Heading 3 font.
   */
  api("bloglo_h3_font", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_h3_font");

      var style_css = bloglo_typography_field_css(
        "h3, .h3, .woocommerce #reviews #comments h2",
        newval
      );

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  /**
   * Heading 4 font.
   */
  api("bloglo_h4_font", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_h4_font");

      var style_css = bloglo_typography_field_css(
        "h4, .h4, .woocommerce .cart_totals h2, .woocommerce .cross-sells > h4, .woocommerce #reviews #respond .comment-reply-title",
        newval
      );

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  /**
   * Heading 5 font.
   */
  api("bloglo_h5_font", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_h5_font");
      var style_css = bloglo_typography_field_css("h5, .h5", newval);

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  /**
   * Heading 6 font.
   */
  api("bloglo_h6_font", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_h6_font");
      var style_css = bloglo_typography_field_css("h6, .h6", newval);

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  /**
   * Heading emphasized font.
   */
  api("bloglo_heading_em_font", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_heading_em_font");
      var style_css = bloglo_typography_field_css(
        "h1 em, h2 em, h3 em, h4 em, h5 em, h6 em, .h1 em, .h2 em, .h3 em, .h4 em, .h5 em, .h6 em, .bloglo-logo .site-title em, .error-404 .page-header h1 em",
        newval
      );

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  /**
   * Sidebar widget title font size.
   */
  api("bloglo_sidebar_widget_title_font_size", function (value) {
    value.bind(function (newval) {
      var $widget_title = $(
        "#main .widget-title, .widget-area .wp-block-heading"
      );

      if (!$widget_title.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag(
        "bloglo_sidebar_widget_title_font_size"
      );
      var style_css = "";

      style_css += bloglo_range_field_css(
        "#main .widget-title, .widget-area .wp-block-heading",
        "font-size",
        newval,
        true,
        newval.unit
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Footer widget title font size.
   */
  api("bloglo_footer_widget_title_font_size", function (value) {
    value.bind(function (newval) {
      var $widget_title = $(
        "#colophon .widget-title, #colophon .wp-block-heading"
      );

      if (!$widget_title.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_footer_widget_title_font_size");
      var style_css = "";

      style_css += bloglo_range_field_css(
        "#colophon .widget-title, #colophon .wp-block-heading",
        "font-size",
        newval,
        true,
        newval.unit
      );

      $style_tag.html(style_css);
    });
  });

  /**
   * Page title font size.
   */
  api("bloglo_page_header_font_size", function (value) {
    value.bind(function (newval) {
      var $page_title = $(".page-header .page-title");

      if (!$page_title.length) {
        return;
      }

      $style_tag = bloglo_get_style_tag("bloglo_page_header_font_size");
      var style_css = "";

      style_css += bloglo_range_field_css(
        "#page .page-header .page-title",
        "font-size",
        newval,
        true,
        newval.unit
      );

      $style_tag.html(style_css);
    });
  });

  var $btn_selectors =
    ".bloglo-btn, " +
    "body:not(.wp-customizer) input[type=submit], " +
    ".site-main .woocommerce #respond input#submit, " +
    ".site-main .woocommerce a.button, " +
    ".site-main .woocommerce button.button, " +
    ".site-main .woocommerce input.button, " +
    ".woocommerce ul.products li.product .added_to_cart, " +
    ".woocommerce ul.products li.product .button, " +
    ".woocommerce div.product form.cart .button, " +
    ".woocommerce #review_form #respond .form-submit input, " +
    "#infinite-handle span";

  var $btn_hover_selectors =
    ".bloglo-btn:hover, " +
    ".bloglo-btn:focus, " +
    "body:not(.wp-customizer) input[type=submit]:hover, " +
    "body:not(.wp-customizer) input[type=submit]:focus, " +
    ".site-main .woocommerce #respond input#submit:hover, " +
    ".site-main .woocommerce #respond input#submit:focus, " +
    ".site-main .woocommerce a.button:hover, " +
    ".site-main .woocommerce a.button:focus, " +
    ".site-main .woocommerce button.button:hover, " +
    ".site-main .woocommerce button.button:focus, " +
    ".site-main .woocommerce input.button:hover, " +
    ".site-main .woocommerce input.button:focus, " +
    ".woocommerce ul.products li.product .added_to_cart:hover, " +
    ".woocommerce ul.products li.product .added_to_cart:focus, " +
    ".woocommerce ul.products li.product .button:hover, " +
    ".woocommerce ul.products li.product .button:focus, " +
    ".woocommerce div.product form.cart .button:hover, " +
    ".woocommerce div.product form.cart .button:focus, " +
    ".woocommerce #review_form #respond .form-submit input:hover, " +
    ".woocommerce #review_form #respond .form-submit input:focus, " +
    "#infinite-handle span:hover";

  /**
   * Primary button background color.
   */
  api("bloglo_primary_button_bg_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_primary_button_bg_color");
      var style_css = "";

      if (newval) {
        style_css = $btn_selectors + "{ background-color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Primary button hover background color.
   */
  api("bloglo_primary_button_hover_bg_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_primary_button_hover_bg_color");
      var style_css = "";

      if (newval) {
        style_css =
          $btn_hover_selectors + " { background-color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Primary button text color.
   */
  api("bloglo_primary_button_text_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_primary_button_text_color");
      var style_css = "";

      if (newval) {
        style_css = $btn_selectors + " { color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Primary button hover text color.
   */
  api("bloglo_primary_button_hover_text_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag(
        "bloglo_primary_button_hover_text_color"
      );
      var style_css = "";

      if (newval) {
        style_css = $btn_hover_selectors + " { color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Primary button border width.
   */
  api("bloglo_primary_button_border_width", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_primary_button_border_width");
      var style_css = "";

      if (newval) {
        style_css =
          $btn_selectors + " { border-width: " + newval.value + "rem; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Primary button border radius.
   */
  api("bloglo_primary_button_border_radius", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_primary_button_border_radius");
      var style_css = "";

      if (newval) {
        style_css =
          $btn_selectors +
          " { " +
          "border-top-left-radius: " +
          newval["top-left"] +
          "rem;" +
          "border-top-right-radius: " +
          newval["top-right"] +
          "rem;" +
          "border-bottom-left-radius: " +
          newval["bottom-left"] +
          "rem;" +
          "border-bottom-right-radius: " +
          newval["bottom-right"] +
          "rem; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Primary button border color.
   */
  api("bloglo_primary_button_border_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_primary_button_border_color");
      var style_css = "";

      if (newval) {
        style_css = $btn_selectors + " { border-color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Primary button hover border color.
   */
  api("bloglo_primary_button_hover_border_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag(
        "bloglo_primary_button_hover_border_color"
      );
      var style_css = "";

      if (newval) {
        style_css = $btn_hover_selectors + " { border-color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Primary button typography.
   */
  api("bloglo_primary_button_typography", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_primary_button_typography");
      var style_css = bloglo_typography_field_css($btn_selectors, newval);

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  // Secondary button.
  var $btn_sec_selectors = ".btn-secondary, .bloglo-btn.btn-secondary";

  var $btn_sec_hover_selectors =
    ".btn-secondary:hover, " +
    ".btn-secondary:focus, " +
    ".bloglo-btn.btn-secondary:hover, " +
    ".bloglo-btn.btn-secondary:focus";

  /**
   * Secondary button background color.
   */
  api("bloglo_secondary_button_bg_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_secondary_button_bg_color");
      var style_css = "";

      if (newval) {
        style_css =
          $btn_sec_selectors + "{ background-color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Secondary button hover background color.
   */
  api("bloglo_secondary_button_hover_bg_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag(
        "bloglo_secondary_button_hover_bg_color"
      );
      var style_css = "";

      if (newval) {
        style_css =
          $btn_sec_hover_selectors + "{ background-color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Secondary button text color.
   */
  api("bloglo_secondary_button_text_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_secondary_button_text_color");
      var style_css = "";

      if (newval) {
        style_css = $btn_sec_selectors + "{ color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Secondary button hover text color.
   */
  api("bloglo_secondary_button_hover_text_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag(
        "bloglo_secondary_button_hover_text_color"
      );
      var style_css = "";

      if (newval) {
        style_css = $btn_sec_hover_selectors + "{ color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Secondary button border width.
   */
  api("bloglo_secondary_button_border_width", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_secondary_button_border_width");
      var style_css = "";

      if (newval) {
        style_css =
          $btn_sec_selectors + " { border-width: " + newval.value + "rem; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Secondary button border radius.
   */
  api("bloglo_secondary_button_border_radius", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag(
        "bloglo_secondary_button_border_radius"
      );
      var style_css = "";

      if (newval) {
        style_css =
          $btn_sec_selectors +
          " { " +
          "border-top-left-radius: " +
          newval["top-left"] +
          "rem;" +
          "border-top-right-radius: " +
          newval["top-right"] +
          "rem;" +
          "border-bottom-left-radius: " +
          newval["bottom-left"] +
          "rem;" +
          "border-bottom-right-radius: " +
          newval["bottom-right"] +
          "rem; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Secondary button border color.
   */
  api("bloglo_secondary_button_border_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_secondary_button_border_color");
      var style_css = "";

      if (newval) {
        style_css = $btn_sec_selectors + " { border-color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Secondary button hover border color.
   */
  api("bloglo_secondary_button_hover_border_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag(
        "bloglo_secondary_button_hover_border_color"
      );
      var style_css = "";

      if (newval) {
        style_css =
          $btn_sec_hover_selectors + " { border-color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Secondary button typography.
   */
  api("bloglo_secondary_button_typography", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_secondary_button_typography");
      var style_css = bloglo_typography_field_css($btn_sec_selectors, newval);

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  // Text button.
  var $btn_text_selectors = ".bloglo-btn.btn-text-1, .btn-text-1";

  var $btn_text_hover_selectors =
    ".bloglo-btn.btn-text-1:hover, .bloglo-btn.btn-text-1:focus, .btn-text-1:hover, .btn-text-1:focus";

  /**
   * Text button text color.
   */
  api("bloglo_text_button_text_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_text_button_text_color");
      var style_css = "";

      if (newval) {
        style_css = $btn_text_selectors + "{ color: " + newval + "; }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Text button hover text color.
   */
  api("bloglo_text_button_hover_text_color", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_text_button_hover_text_color");
      var style_css = "";

      if (newval) {
        style_css = $btn_text_hover_selectors + "{ color: " + newval + "; }";
        style_css +=
          ".bloglo-btn.btn-text-1 > span::before { background-color: " +
          newval +
          " }";
      }

      $style_tag.html(style_css);
    });
  });

  /**
   * Text button typography.
   */
  api("bloglo_text_button_typography", function (value) {
    value.bind(function (newval) {
      $style_tag = bloglo_get_style_tag("bloglo_text_button_typography");
      var style_css = bloglo_typography_field_css($btn_text_selectors, newval);

      bloglo_enqueue_google_font(newval["font-family"]);

      $style_tag.html(style_css);
    });
  });

  /**
   * Section Heading Style Enable.
   */
  api("bloglo_section_heading_style", function (value) {
    value.bind(function (newval) {
      $body
        .removeClass(function (index, className) {
          return (
            className.match(/(^|\s)is-section-heading-init-s\S+/g) || []
          ).join(" ");
        })
        .addClass(
          "is-section-heading-init-s" +
            api.value("bloglo_section_heading_style")()
        );
    });
  });

  // Selective refresh.
  if (api.selectiveRefresh) {
    // Bind partial content rendered event.
    api.selectiveRefresh.bind("partial-content-rendered", function (placement) {
      // Hero Hover Slider.
      if (
        "bloglo_hero_hover_slider_post_number" === placement.partial.id ||
        "bloglo_hero_hover_slider_elements" === placement.partial.id
      ) {
        document
          .querySelectorAll(placement.partial.params.selector)
          .forEach((item) => {
            blogloHoverSlider(item);
          });

        // Force refresh height.
        api("bloglo_hero_hover_slider_height", function (newval) {
          newval.callbacks.fireWith(newval, [newval.get()]);
        });
      }

      // Preloader style.
      if ("bloglo_preloader_style" === placement.partial.id) {
        $body.removeClass("bloglo-loaded");

        setTimeout(function () {
          window.bloglo.preloader();
        }, 300);
      }
    });
  }

  // Custom Customizer Preview class (attached to the Customize API)
  api.blogloCustomizerPreview = {
    // Init
    init: function () {
      var self = this; // Store a reference to "this"
      var previewBody = self.preview.body;

      previewBody.on("click", ".bloglo-set-widget", function () {
        self.preview.send("set-footer-widget", $(this).data("sidebar-id"));
      });
    },
  };

  /**
   * Capture the instance of the Preview since it is private (this has changed in WordPress 4.0)
   *
   * @see https://github.com/WordPress/WordPress/blob/5cab03ab29e6172a8473eb601203c9d3d8802f17/wp-admin/js/customize-controls.js#L1013
   */
  var blogloOldPreview = api.Preview;
  api.Preview = blogloOldPreview.extend({
    initialize: function (params, options) {
      // Store a reference to the Preview
      api.blogloCustomizerPreview.preview = this;

      // Call the old Preview's initialize function
      blogloOldPreview.prototype.initialize.call(this, params, options);
    },
  });

  // Document ready
  $(function () {
    // Initialize our Preview
    api.blogloCustomizerPreview.init();
  });
})(jQuery);
inc/customizer/assets/js/dev/customize-dependency.js000064400000014033152425655560016731 0ustar00(function ($) {
  "use strict";

  var blogloDependencies = {
    listenTo: {},

    init: function () {
      var self = this;

      // Initialize visibility on load
      wp.customize.control.each(function (control) {
        self.showBlogloControl(control);
      });

      _.each(self.listenTo, function (slaves, master) {
        _.each(slaves, function (slave) {
          wp.customize(master, function (setting) {
            var setupControl = function (control) {
              var setActiveState, isDisplayed;

              isDisplayed = function () {
                return self.showBlogloControl(wp.customize.control(slave));
              };
              setActiveState = function () {
                control.active.set(isDisplayed());
              };

              setActiveState();
              setting.bind(setActiveState);
              control.active.validate = isDisplayed;
            };
            wp.customize.control(slave, setupControl);
          });
        });
      });
    },

    /**
     * Should we show the control?
     *
     * @since 1.0.0
     * @param {string|object} control - The control-id or the control object.
     * @returns {bool}
     */
    showBlogloControl: function (control) {
      var self = this,
        show = true,
        i;

      if (_.isString(control)) {
        control = wp.customize.control(control);
      }

      // Exit early if control not found or if "required" argument is not defined.
      if (
        "undefined" === typeof control ||
        (control.params && _.isEmpty(control.params.required))
      ) {
        return true;
      }

      // Loop control requirements.
      for (i = 0; i < control.params.required.length; i++) {
        if (!self.checkCondition(control.params.required[i], control, "AND")) {
          show = false;
        }
      }

      return show;
    },

    /**
     * Check a condition.
     *
     * @since 1.0.0
     * @param {Object} requirement - The requirement, inherited from showBlogloControl.
     * @param {Object} control - The control object.
     * @param {string} relation - Can be one of 'AND' or 'OR'.
     */
    checkCondition: function (requirement, control, relation) {
      var self = this,
        childRelation = "AND" === relation ? "OR" : "AND",
        nestedItems,
        i;

      // If an array of other requirements nested, we need to process them separately.
      if (
        "undefined" !== typeof requirement[0] &&
        "undefined" === typeof requirement.control
      ) {
        nestedItems = [];

        // Loop sub-requirements.
        for (i = 0; i < requirement.length; i++) {
          nestedItems.push(
            self.checkCondition(requirement[i], control, childRelation)
          );
        }

        // OR relation. Check that true is part of the array.
        if ("OR" === childRelation) {
          return -1 !== nestedItems.indexOf(true);
        }

        // AND relation. Check that false is not part of the array.
        return -1 === nestedItems.indexOf(false);
      }

      // Early exit if setting is not defined.
      if ("undefined" === typeof wp.customize.control(requirement.control)) {
        return true;
      }

      self.listenTo[requirement.control] =
        self.listenTo[requirement.control] || [];
      if (-1 === self.listenTo[requirement.control].indexOf(control.id)) {
        self.listenTo[requirement.control].push(control.id);
      }

      return self.evaluate(
        requirement.value,
        wp.customize.control(requirement.control).setting._value,
        requirement.operator
      );
    },

    /**
     * Figure out if the 2 values have the relation we want.
     *
     * @since 1.0.0
     * @param {mixed} value1 - The 1st value.
     * @param {mixed} value2 - The 2nd value.
     * @param {string} operator - The comparison to use.
     * @returns {bool}
     */
    evaluate: function (value1, value2, operator) {
      var found = false;

      if ("===" === operator) {
        return value1 === value2;
      }
      if (
        "==" === operator ||
        "=" === operator ||
        "equals" === operator ||
        "equal" === operator
      ) {
        return value1 == value2;
      }
      if ("!==" === operator) {
        return value1 !== value2;
      }
      if ("!=" === operator || "not equal" === operator) {
        return value1 != value2;
      }
      if (
        ">=" === operator ||
        "greater or equal" === operator ||
        "equal or greater" === operator
      ) {
        return value2 >= value1;
      }
      if (
        "<=" === operator ||
        "smaller or equal" === operator ||
        "equal or smaller" === operator
      ) {
        return value2 <= value1;
      }
      if (">" === operator || "greater" === operator) {
        return value2 > value1;
      }
      if ("<" === operator || "smaller" === operator) {
        return value2 < value1;
      }
      if ("contains" === operator || "in" === operator) {
        if (_.isArray(value1) && _.isArray(value2)) {
          _.each(value2, function (value) {
            if (value1.includes(value)) {
              found = true;
              return false;
            }
          });
          return found;
        }
        if (_.isArray(value2)) {
          _.each(value2, function (value) {
            if (value == value1) {
              // jshint ignore:line
              found = true;
            }
          });
          return found;
        }
        if (_.isObject(value2)) {
          if (!_.isUndefined(value2[value1])) {
            found = true;
          }
          _.each(value2, function (subValue) {
            if (value1 === subValue) {
              found = true;
            }
          });
          return found;
        }
        if (_.isString(value2)) {
          if (_.isString(value1)) {
            return -1 < value1.indexOf(value2) && -1 < value2.indexOf(value1);
          }
          return -1 < value1.indexOf(value2);
        }
      }
      return value1 == value2;
    },
  }; // END var blogloDependencies

  $(document).ready(function () {
    blogloDependencies.init();
  });
})(jQuery);
inc/customizer/assets/js/customize-preview.min.js000064400000143665152425655560016316 0ustar00!function(o){"use strict";var l,e,t=wp.customize,r=o("body"),n=(o("head"),[]),i=[];function a(e){return n[e]?n[e]:((l=o("head").find("#bloglo-dynamic-"+e)).length||(o("head").append('<style id="bloglo-dynamic-'+e+'" type="text/css" href="#"></style>'),l=o("head").find("#bloglo-dynamic-"+e)),n[e]=l,l)}function b(o,l){o.length&&(o.removeClass("bloglo-hide-mobile bloglo-hide-tablet bloglo-hide-mobile-tablet"),"all"!==l&&o.addClass("bloglo-"+l))}function c(o,l){if("rgba"===o.substring(0,4))return o;o=o.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(o,l,e,t){return l+l+e+e+t+t});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(o);return l&&(1<l&&(l=1),l=","+l),!!e&&"rgba("+parseInt(e[1],16)+","+parseInt(e[2],16)+","+parseInt(e[3],16)+l+")"}function g(o){var l=o.toString(16);return 1==l.length?"0"+l:l}function d(o,l,e,t){if(Array.isArray(e)||"object"==typeof e){var r="px",n="";"unit"in e&&(r=e.unit);var i="",a="";return Object.keys(e).forEach(function(b,c){"unit"!==b&&(t?("tablet"===b?(i="@media only screen and (max-width: 768px) {",a="}"):"mobile"===b?(i="@media only screen and (max-width: 480px) {",a="}"):(i="",a=""),n+=i+o+"{",Object.keys(e[b]).forEach(function(o){"border"===l&&(o+="-width"),e[b][o]&&(n+=l+"-"+o+": "+e[b][o]+r+";")}),n+="}"+a):("border"===l&&(b+="-width"),n+=l+"-"+b+": "+e[b]+r+";"))}),t||(n=o+"{"+n+"}"),n}}function h(o,l,e,t,r){var n="",i="",a="";return t&&(Array.isArray(e)||"object"==typeof e)&&Object.keys(e).forEach(function(t,b){if(e[t]){if("tablet"===t)i="@media only screen and (max-width: 768px) {",a="}";else if("mobile"===t)i="@media only screen and (max-width: 480px) {",a="}";else{if("desktop"!==t)return;i="",a=""}n+=i+o+"{"+l+": "+e[t]+r+"; }"+a}}),t||(n=o+"{"+l+": "+(e=e.value?e.value:0)+r+"; }"),n}function u(o,l){var e="";return e+=o+"{","default"===l["font-family"]?e+="font-family: "+bloglo_customizer_preview.default_system_font+";":l["font-family"]in bloglo_customizer_preview.fonts.standard_fonts.fonts?e+="font-family: "+bloglo_customizer_preview.fonts.standard_fonts.fonts[l["font-family"]].fallback+";":"inherit"!==l["font-family"]&&(e+='font-family: "'+l["font-family"]+'";'),e+="font-weight:"+l["font-weight"]+";",e+="font-style:"+l["font-style"]+";",e+="text-transform:"+l["text-transform"]+";","text-decoration"in l&&(e+="text-decoration:"+l["text-decoration"]+";"),"letter-spacing"in l&&(e+="letter-spacing:"+l["letter-spacing"]+l["letter-spacing-unit"]+";"),"line-height-desktop"in l&&(e+="line-height:"+l["line-height-desktop"]+";"),"font-size-desktop"in l&&"font-size-unit"in l&&(e+="font-size:"+l["font-size-desktop"]+l["font-size-unit"]+";"),e+="}","font-size-tablet"in l&&l["font-size-tablet"]&&(e+="@media only screen and (max-width: 768px) {"+o+"{font-size: "+l["font-size-tablet"]+l["font-size-unit"]+";}}"),"line-height-tablet"in l&&l["line-height-tablet"]&&(e+="@media only screen and (max-width: 768px) {"+o+"{line-height:"+l["line-height-tablet"]+";}}"),"font-size-mobile"in l&&l["font-size-mobile"]&&(e+="@media only screen and (max-width: 480px) {"+o+"{font-size: "+l["font-size-mobile"]+l["font-size-unit"]+";}}"),"line-height-mobile"in l&&l["line-height-mobile"]&&(e+="@media only screen and (max-width: 480px) {"+o+"{line-height:"+l["line-height-mobile"]+";}}"),e}function s(l){if(bloglo_customizer_preview.fonts.google_fonts.fonts[l]){var t,r,n="google-font-"+l.trim().toLowerCase().replace(" ","-"),a=bloglo_customizer_preview.google_fonts_url+"/css?family="+l+":"+bloglo_customizer_preview.google_font_weights;t=n,r=a,i[t]?i[t]:((e=o("head").find("#bloglo-dynamic-link-"+t)).length?e.attr("href",r):(o("head").append('<link id="bloglo-dynamic-'+t+'" type="text/css" rel="stylesheet" href="'+r+'"/>'),e=o("head").find("#bloglo-dynamic-link-"+t)),i[t]=e,e)}}function m(o,l,e){var t="";if("background"===e){var r=l["background-type"];t+=o+"{","color"===r?(l["background-color"]=l["background-color"]?l["background-color"]:"inherit",t+="background: "+l["background-color"]+";"):"gradient"===r?(t+="background: "+l["gradient-color-1"]+";","linear"===l["gradient-type"]?t+="background: -webkit-linear-gradient("+l["gradient-linear-angle"]+"deg, "+l["gradient-color-1"]+" "+l["gradient-color-1-location"]+"%, "+l["gradient-color-2"]+" "+l["gradient-color-2-location"]+"%);background: -o-linear-gradient("+l["gradient-linear-angle"]+"deg, "+l["gradient-color-1"]+" "+l["gradient-color-1-location"]+"%, "+l["gradient-color-2"]+" "+l["gradient-color-2-location"]+"%);background: linear-gradient("+l["gradient-linear-angle"]+"deg, "+l["gradient-color-1"]+" "+l["gradient-color-1-location"]+"%, "+l["gradient-color-2"]+" "+l["gradient-color-2-location"]+"%);":"radial"===l["gradient-type"]&&(t+="background: -webkit-radial-gradient("+l["gradient-position"]+", circle, "+l["gradient-color-1"]+" "+l["gradient-color-1-location"]+"%, "+l["gradient-color-2"]+" "+l["gradient-color-2-location"]+"%);background: -o-radial-gradient("+l["gradient-position"]+", circle, "+l["gradient-color-1"]+" "+l["gradient-color-1-location"]+"%, "+l["gradient-color-2"]+" "+l["gradient-color-2-location"]+"%);background: radial-gradient(circle at "+l["gradient-position"]+", "+l["gradient-color-1"]+" "+l["gradient-color-1-location"]+"%, "+l["gradient-color-2"]+" "+l["gradient-color-2-location"]+"%);")):"image"===r&&(t+="background-image: url("+l["background-image"]+");background-size: "+l["background-size"]+";background-attachment: "+l["background-attachment"]+";background-position: "+l["background-position-x"]+"% "+l["background-position-y"]+"%;background-repeat: "+l["background-repeat"]+";"),t+="}","image"===r&&l["background-color-overlay"]&&l["background-image"]?t+=o+"::after { background-color: "+l["background-color-overlay"]+"; }":t+=o+"::after { background-color: initial; }"}else"color"===e?(l["text-color"]=l["text-color"]?l["text-color"]:"inherit",l["link-color"]=l["link-color"]?l["link-color"]:"inherit",l["link-hover-color"]=l["link-hover-color"]?l["link-hover-color"]:"inherit",t+=o+" { color: "+l["text-color"]+"; }",t+=o+" a { color: "+l["link-color"]+"; }",t+=o+" a:hover { color: "+l["link-hover-color"]+" !important; }"):"border"===e?(l["border-color"]=l["border-color"]?l["border-color"]:"inherit",l["border-style"]=l["border-style"]?l["border-style"]:"solid",l["border-left-width"]=l["border-left-width"]?l["border-left-width"]:0,l["border-top-width"]=l["border-top-width"]?l["border-top-width"]:0,l["border-right-width"]=l["border-right-width"]?l["border-right-width"]:0,l["border-bottom-width"]=l["border-bottom-width"]?l["border-bottom-width"]:0,t+=o+"{",t+="border-color: "+l["border-color"]+";",t+="border-style: "+l["border-style"]+";",t+="border-left-width: "+l["border-left-width"]+"px;",t+="border-top-width: "+l["border-top-width"]+"px;",t+="border-right-width: "+l["border-right-width"]+"px;",t+="border-bottom-width: "+l["border-bottom-width"]+"px;",t+="}"):"separator_color"===e&&(t+=o+":after{ background-color: "+l["separator-color"]+"; }");return t}t("bloglo_logo_max_height",function(e){e.bind(function(e){if(o(".bloglo-logo").length){l=a("bloglo_logo_max_height");var t="";t+=h(".bloglo-logo img","max-height",e,!0,"px"),t+=h(".bloglo-logo img.bloglo-svg-logo","height",e,!0,"px"),l.html(t)}})}),t("bloglo_logo_text_font_size",function(e){e.bind(function(e){if(o("#bloglo-header .bloglo-logo .site-title").length){l=a("bloglo_logo_text_font_size");var t="";t+=h("#bloglo-header .bloglo-logo .site-title","font-size",e,!0,e.unit),l.html(t)}})}),t("bloglo_logo_margin",function(e){e.bind(function(e){if(o(".bloglo-logo").length){l=a("bloglo_logo_margin");var t=d(".bloglo-logo .logo-inner","margin",e,!0);l.html(t)}})}),t("blogdescription",function(l){l.bind(function(l){o(".bloglo-logo").find(".site-description").length&&o(".bloglo-logo").find(".site-description").html(l)})}),t("blogname",function(l){l.bind(function(l){o(".bloglo-logo").find(".site-title").length&&o(".bloglo-logo").find(".site-title").find("a").html(l)})}),t("bloglo_site_layout",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-layout__(?!boxed-separated)\S+/g)||[]).join(" ")}),r.addClass("bloglo-layout__"+o)})}),t("bloglo_sidebar_sticky",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-sticky-\S+/g)||[]).join(" ")}),o&&r.addClass("bloglo-sticky-"+o)})}),t("bloglo_sidebar_width",function(e){e.bind(function(e){if(o("#secondary").length){l=a("bloglo_sidebar_width");var t="#secondary { width: "+e.value+"%; }";t+="body:not(.bloglo-no-sidebar) #primary { max-width: "+(100-parseInt(e.value))+"%;};",l.html(t)}})}),t("bloglo_sidebar_style",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-sidebar-style-\S+/g)||[]).join(" ")}),r.addClass("bloglo-sidebar-style-"+o)})}),t("bloglo_sidebar_responsive_position",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-sidebar-r__\S+/g)||[]).join(" ")}),o&&r.addClass("bloglo-sidebar-r__"+o)})}),t("bloglo_blog_image_position",function(l){l.bind(function(l){o(".bloglo-blog-entry-wrapper").removeClass(function(o,l){return(l.match(/(^|\s)bloglo-thumb-\S+/g)||[]).join(" ")}),o(".bloglo-blog-entry-wrapper").addClass("bloglo-thumb-"+l)})}),t("bloglo_single_title_alignment",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-page-title-align-\S+/g)||[]).join(" ")}),r.addClass("bloglo-page-title-align-"+o)})}),t("bloglo_single_title_spacing",function(e){e.bind(function(e){if(o(".page-header").length){l=a("bloglo_single_title_spacing");var t=d(".bloglo-single-title-in-page-header #page .page-header .bloglo-page-header-wrapper","padding",e,!0);l.html(t)}})}),t("bloglo_single_narrow_container_width",function(o){o.bind(function(o){l=a("bloglo_single_narrow_container_width");var e="";e+='.single-post.narrow-content .entry-content > :not([class*="align"]):not([class*="gallery"]):not(.wp-block-image):not(.quote-inner):not(.quote-post-bg), .single-post.narrow-content .mce-content-body:not([class*="page-template-full-width"]) > :not([class*="align"]):not([data-wpview-type*="gallery"]):not(blockquote):not(.mceTemp), .single-post.narrow-content .entry-footer, .single-post.narrow-content .post-nav, .single-post.narrow-content .entry-content > .alignwide, .single-post.narrow-content p.has-background:not(.alignfull):not(.alignwide).single-post.narrow-content #bloglo-comments-toggle, .single-post.narrow-content #comments, .single-post.narrow-content .entry-content .aligncenter, .single-post.narrow-content .bloglo-narrow-element, .single-post.narrow-content.bloglo-single-title-in-content .entry-header, .single-post.narrow-content.bloglo-single-title-in-content .entry-meta, .single-post.narrow-content.bloglo-single-title-in-content .post-category, .single-post.narrow-content.bloglo-no-sidebar .bloglo-page-header-wrapper, .single-post.narrow-content.bloglo-no-sidebar .bloglo-breadcrumbs > .bloglo-container > nav {max-width: '+parseInt(o.value)+"px; margin-left: auto; margin-right: auto; }",e+=".single-post.narrow-content .author-box, .single-post.narrow-content .entry-content > .alignwide { max-width: "+(parseInt(o.value)+70)+"px;}",l.html(e)})}),t("bloglo_header_container_width",function(l){l.bind(function(l){var e=o("#bloglo-header");e.length&&("full-width"===l?e.addClass("bloglo-container__wide"):e.removeClass("bloglo-container__wide"))})}),t("bloglo_main_nav_mobile_breakpoint",function(e){e.bind(function(e){if(o("#bloglo-header-inner .bloglo-nav").length){l=a("bloglo_main_nav_mobile_breakpoint");var t="";t+="@media screen and (min-width: "+parseInt(e)+"px) {#bloglo-header-inner .bloglo-nav {display:flex} .bloglo-mobile-nav,.bloglo-mobile-toggen,#bloglo-header-inner .bloglo-nav .menu-item-has-children>a > .bloglo-icon,#bloglo-header-inner .bloglo-nav .page_item_has_children>a > .bloglo-icon {display:none;} }",t+="@media screen and (max-width: "+parseInt(e)+"px) {#bloglo-header-inner .bloglo-nav {display:none} .bloglo-mobile-nav,.bloglo-mobile-toggen {display:inline-flex;} }",l.html(t)}})}),t("bloglo_main_nav_mobile_label",function(l){l.bind(function(l){o(".bloglo-hamburger-bloglo-primary-nav").find(".hamburger-label").length&&o(".bloglo-hamburger-bloglo-primary-nav").find(".hamburger-label").html(l)})}),t("bloglo_main_nav_font_color",function(e){e.bind(function(e){if(o("#bloglo-header-inner .bloglo-nav").length){l=a("bloglo_main_nav_font_color");var r="";e["link-color"]=e["link-color"]?e["link-color"]:"inherit",r+="#bloglo-header-inner .bloglo-nav > ul > li > a { color: "+e["link-color"]+"; }",e["link-hover-color"]=e["link-hover-color"]?e["link-hover-color"]:t.value("bloglo_accent_color")(),r+="#bloglo-header-inner .bloglo-nav > ul > li > a:hover, #bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a, #bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a, #bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a #bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a, #bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a, #bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a { color: "+e["link-hover-color"]+"; }",l.html(r)}})}),t("bloglo_main_nav_background",function(e){e.bind(function(e){if(o(".bloglo-header-layout-3 .bloglo-nav-container").length){l=a("bloglo_main_nav_background");var t=m(".bloglo-header-layout-3 .bloglo-nav-container",e,"background");l.html(t)}})}),t("bloglo_main_nav_border",function(e){e.bind(function(e){if(o(".bloglo-header-layout-3 .bloglo-nav-container").length){l=a("bloglo_main_nav_border");var t=m(".bloglo-header-layout-3 .bloglo-nav-container",e,"border");l.html(t)}})}),t("bloglo_main_nav_font_size",function(e){e.bind(function(e){if(o("#bloglo-header-inner").length){l=a("bloglo_main_nav_font_size");var t="";t+=h(".bloglo-nav.bloglo-header-element, .bloglo-header-layout-1 .bloglo-header-widgets, .bloglo-header-layout-2 .bloglo-header-widgets","font-size",e,!1,e.unit),l.html(t)}})}),t("bloglo_top_bar_container_width",function(l){l.bind(function(l){var e=o("#bloglo-topbar");e.length&&("full-width"===l?e.addClass("bloglo-container__wide"):e.removeClass("bloglo-container__wide"))})}),t("bloglo_top_bar_visibility",function(l){l.bind(function(l){b(o("#bloglo-topbar"),l)})}),t("bloglo_top_bar_widgets_separator",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-topbar__separators-\S+/g)||[]).join(" ")}),r.addClass("bloglo-topbar__separators-"+o)})}),t("bloglo_top_bar_background",function(e){e.bind(function(e){if(o("#bloglo-topbar").length){l=a("bloglo_top_bar_background");var t=m("#bloglo-topbar",e,"background");l.html(t)}})}),t("bloglo_top_bar_text_color",function(e){e.bind(function(e){if(o("#bloglo-topbar").length){l=a("bloglo_top_bar_text_color");var t="";e["text-color"]=e["text-color"]?e["text-color"]:"inherit",e["link-color"]=e["link-color"]?e["link-color"]:"inherit",e["link-hover-color"]=e["link-hover-color"]?e["link-hover-color"]:"inherit",t+="#bloglo-topbar { color: "+e["text-color"]+"; }",t+=".bloglo-topbar-widget__text a, .bloglo-topbar-widget .bloglo-nav > ul > li > a, .bloglo-topbar-widget__socials .bloglo-social-nav > ul > li > a, #bloglo-topbar .bloglo-topbar-widget__text .bloglo-icon { color: "+e["link-color"]+"; }",t+="#bloglo-topbar .bloglo-nav > ul > li > a:hover, .using-keyboard #bloglo-topbar .bloglo-nav > ul > li > a:focus,#bloglo-topbar .bloglo-nav > ul > li.menu-item-has-children:hover > a,  #bloglo-topbar .bloglo-nav > ul > li.current-menu-item > a, #bloglo-topbar .bloglo-nav > ul > li.current-menu-ancestor > a, #bloglo-topbar .bloglo-topbar-widget__text a:hover, #bloglo-topbar .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon { color: "+e["link-hover-color"]+"; }",l.html(t)}})}),t("bloglo_top_bar_border",function(e){e.bind(function(e){if(o("#bloglo-topbar").length){l=a("bloglo_top_bar_border");var t=m("#bloglo-topbar",e,"border");t+=m("#bloglo-topbar .bloglo-topbar-widget",e,"separator_color"),l.html(t)}})}),t("bloglo_main_nav_hover_animation",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-menu-animation-\S+/g)||[]).join(" ")}),r.addClass("bloglo-menu-animation-"+o)})}),t("bloglo_header_widgets_separator",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-header__separators-\S+/g)||[]).join(" ")}),r.addClass("bloglo-header__separators-"+o)})}),t("bloglo_header_background",function(e){e.bind(function(e){if(o("#bloglo-header-inner").length){l=a("bloglo_header_background");var t=m("#bloglo-header-inner",e,"background");"color"===e["background-type"]&&e["background-color"]?t+=".bloglo-header-widget__cart .bloglo-cart .bloglo-cart-count { border: 2px solid "+e["background-color"]+"; }":t+=".bloglo-header-widget__cart .bloglo-cart .bloglo-cart-count { border: none; }",l.html(t)}})}),t("bloglo_header_text_color",function(e){e.bind(function(e){if(o("#bloglo-header").length){l=a("bloglo_header_text_color");var t="";t+=".bloglo-logo .site-description { color: "+e["text-color"]+"; }",e["link-color"]&&(t+="#bloglo-header, .bloglo-header-widgets a:not(.bloglo-btn), .bloglo-logo a,.bloglo-hamburger { color: "+e["link-color"]+"; }",t+=".hamburger-inner,.hamburger-inner::before,.hamburger-inner::after { background-color: "+e["link-color"]+"; }"),e["link-hover-color"]&&(t+=".bloglo-header-widgets a:not(.bloglo-btn):hover, #bloglo-header-inner .bloglo-header-widgets .bloglo-active,.bloglo-logo .site-title a:hover, .bloglo-hamburger:hover .hamburger-label, .is-mobile-menu-active .bloglo-hamburger .hamburger-label,#bloglo-header-inner .bloglo-nav > ul > li > a:hover,#bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a,#bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a,#bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a,#bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a,#bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a,#bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a { color: "+e["link-hover-color"]+"; }",t+=".bloglo-hamburger:hover .hamburger-inner,.bloglo-hamburger:hover .hamburger-inner::before,.bloglo-hamburger:hover .hamburger-inner::after,.is-mobile-menu-active .bloglo-hamburger .hamburger-inner,.is-mobile-menu-active .bloglo-hamburger .hamburger-inner::before,.is-mobile-menu-active .bloglo-hamburger .hamburger-inner::after { background-color: "+e["link-hover-color"]+"; }"),l.html(t)}})}),t("bloglo_header_border",function(e){e.bind(function(e){if(o("#bloglo-header-inner").length){l=a("bloglo_header_border");var t=m("#bloglo-header-inner",e,"border");e["separator-color"]=e["separator-color"]?e["separator-color"]:"inherit",t+=".bloglo-header-widget:after { background-color: "+e["separator-color"]+"; }",l.html(t)}})}),t("bloglo_hero_hover_slider_container",function(l){l.bind(function(l){var e=o("#hero .bloglo-hero-container");e.length&&("full-width"===l?e.addClass("bloglo-container__wide"):e.removeClass("bloglo-container__wide"))})}),t("bloglo_hero_hover_slider_overlay",function(l){l.bind(function(l){var e=o("#hero .bloglo-hover-slider");e.length&&e.removeClass(function(o,l){return(l.match(/(^|\s)slider-overlay-\S+/g)||[]).join(" ")}).addClass("slider-overlay-"+l)})}),t("bloglo_hero_hover_slider_height",function(l){l.bind(function(l){var e=o("#hero");e.length&&e.find(".hover-slide-item").css("height",l.value+"px")})}),t("bloglo_hero_visibility",function(l){l.bind(function(l){b(o("#hero"),l)})}),t("bloglo_featured_links_title",function(l){l.bind(function(l){o("#featured_links .widget-title").text(l)})}),t("bloglo_featured_links_container",function(l){l.bind(function(l){var e=o("#featured_links .bloglo-featured-container");e.length&&("full-width"===l?e.addClass("bloglo-container__wide"):e.removeClass("bloglo-container__wide"))})}),t("bloglo_featured_links_visibility",function(l){l.bind(function(l){b(o("#featured_links"),l)})}),t("bloglo_pyml_title",function(l){l.bind(function(l){o("#pyml .widget-title").text(l)})}),t("bloglo_pyml_container",function(l){l.bind(function(l){var e=o("#pyml .bloglo-pyml-container");e.length&&("full-width"===l?e.addClass("bloglo-container__wide"):e.removeClass("bloglo-container__wide"))})}),t("bloglo_pyml_visibility",function(l){l.bind(function(l){b(o("#pyml"),l)})}),t("bloglo_ticker_title",function(l){l.bind(function(l){o("#ticker .ticker-title .title").text(l)})}),t("bloglo_ticker_container",function(l){l.bind(function(l){var e=o("#ticker .bloglo-ticker-container");e.length&&("full-width"===l?e.addClass("bloglo-container__wide"):e.removeClass("bloglo-container__wide"))})}),t("bloglo_ticker_visibility",function(l){l.bind(function(l){b(o("#ticker"),l)})}),t("bloglo_custom_input_style",function(o){o.bind(function(o){o?r.addClass("bloglo-input-supported"):r.removeClass("bloglo-input-supported")})}),t("bloglo_enable_pre_footer_cta",function(o){o.bind(function(o){o?r.addClass("bloglo-pre-footer-cta-style-"+t.value("bloglo_pre_footer_cta_style")()):r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-pre-footer-cta-style-\S+/g)||[]).join(" ")})})}),t("bloglo_pre_footer_cta_visibility",function(l){l.bind(function(l){var e=o(".bloglo-pre-footer-cta");e.length&&b(e,l)})}),t("bloglo_pre_footer_cta_text",function(l){l.bind(function(l){var e=o("#bloglo-pre-footer .bloglo-pre-footer-cta");e.length&&e.find("p.h3").html(l)})}),t("bloglo_pre_footer_cta_style",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-pre-footer-cta-style-\S+/g)||[]).join(" ")}).addClass("bloglo-pre-footer-cta-style-"+t.value("bloglo_pre_footer_cta_style")())})}),t("bloglo_pre_footer_cta_btn_text",function(l){l.bind(function(l){var e=o("#bloglo-pre-footer .bloglo-pre-footer-cta");e.length&&(l?e.find("a").css("display","inline-flex").html(l):e.find("a").css("display","none").html(""))})}),t("bloglo_pre_footer_cta_background",function(e){e.bind(function(e){if(o("#bloglo-pre-footer .bloglo-pre-footer-cta").length){l=a("bloglo_pre_footer_cta_background");var t="";"color"===e["background-type"]?(t+=m(".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::before, .bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::before",e,"background"),t+=".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::after,.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::after{ background-image: none; }"):(t+=m(".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::after",e,"background"),t+=m(".bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::after",e,"background")),"image"===e["background-type"]&&e["background-color-overlay"]&&e["background-image"]&&(t+=".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::before,.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::before{ background-color: "+e["background-color-overlay"]+"; }"),l.html(t)}})}),t("bloglo_pre_footer_cta_text_color",function(e){e.bind(function(e){if(o("#bloglo-pre-footer .bloglo-pre-footer-cta").length){l=a("bloglo_pre_footer_cta_text_color");var t="";t+=m("#bloglo-pre-footer .h2",e,"color"),t+=m("#bloglo-pre-footer .h3",e,"color"),t+=m("#bloglo-pre-footer .h4",e,"color"),l.html(t)}})}),t("bloglo_pre_footer_cta_border",function(e){e.bind(function(e){if(o("#bloglo-pre-footer .bloglo-pre-footer-cta").length){l=a("bloglo_pre_footer_cta_border");var t=m(".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::before, .bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::before",e,"border");l.html(t)}})}),t("bloglo_pre_footer_cta_font_size",function(e){e.bind(function(e){if(o("#bloglo-pre-footer .bloglo-pre-footer-cta").length){l=a("bloglo_pre_footer_cta_font_size");var t=h("#bloglo-pre-footer .h3","font-size",e,!0,e.unit);l.html(t)}})}),t("bloglo_product_sale_badge_text",function(l){l.bind(function(l){var e=o(".woocommerce ul.products li.product .onsale, .woocommerce span.onsale").not(".sold-out");e.length&&e.html(l)})}),t("bloglo_accent_color",function(o){o.bind(function(o){var e;l=a("bloglo_accent_color"),e=":root { --bloglo-primary: "+o+";--bloglo-primary_15: "+function o(l,e){l.includes("rgb")&&(l=function o(l){e=(e=l.split("(")[1].split(")")[0].trim()).split(",");for(var e,t,r="",n=0;3>n;n++)r+=1===(t=parseInt(e[n]).toString(16)).length?"0"+t:t;return!!r&&"#"+r}(l)),l=l.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(o,l,e,t){return l+l+e+e+t+t});var t,r,n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(l);if(!/^#[0-9A-F]{6}$/i.test(l))return l;for(var i=1;3>=i;i++)n[i]=parseInt(n[i],16),t=0>e?0:n[i],r=0>e?n[i]:255,n[i]=n[i]+Math.ceil((r-t)*e);return"#"+g(n[1])+g(n[2])+g(n[3])}(o,.15)+";--bloglo-primary_27: "+c(o,.27)+";--bloglo-primary_09: "+c(o,.09)+";--bloglo-primary_04: "+c(o,.04)+";}",e+=".bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::before,.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::before { background: linear-gradient(to right, "+c(o,.9)+" 0%, "+c(o,.82)+" 35%, "+c(o,.4)+" 100% );-webkit-gradient(linear, left top, right top, from("+c(o,.9)+"), color-stop(35%, "+c(o,.82)+"), to("+c(o,.4)+")); }",l.html(e)})}),t("bloglo_dark_mode",function(o){o.bind(function(o){o?(document.documentElement.setAttribute("data-theme","dark"),localStorage.setItem("darkmode","dark")):(document.documentElement.setAttribute("data-theme","light"),localStorage.setItem("darkmode","light"))})}),t("bloglo_boxed_content_background_color",function(o){o.bind(function(o){l=a("bloglo_boxed_content_background_color");var e="";o&&(e=".bloglo-layout__boxed #page, .bloglo-layout__boxed-separated .ticker-slider-items, .bloglo-layout__boxed-separated .pyml-slider-items, .bloglo-layout__boxed-separated.author .author-box, .bloglo-layout__boxed-separated #content, .bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget, .bloglo-layout__boxed-separated.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget, .bloglo-layout__boxed-separated.archive .bloglo-article, .bloglo-layout__boxed-separated.blog .bloglo-article, .bloglo-layout__boxed-separated.search-results .bloglo-article, .bloglo-layout__boxed-separated.category .bloglo-article { background-color: "+o+"; }"),l.html(e)})}),t("bloglo_content_text_color",function(o){o.bind(function(o){l=a("bloglo_content_text_color");var e="";o&&(e="body { color: "+o+";}:root { --bloglo-secondary_38: "+o+";}.comment-form .comment-notes, #comments .no-comments, #page .wp-caption .wp-caption-text,#comments .comment-meta,.comments-closed,.entry-meta,.bloglo-entry cite,legend,.bloglo-page-header-description,.page-links em,.site-content .page-links em,.single .entry-footer .last-updated,.single .post-nav .post-nav-title,#main .widget_recent_comments span,#main .widget_recent_entries span,#main .widget_calendar table > caption,.post-thumb-caption, .wp-block-image figcaption, .bloglo-cart-item .bloglo-x,.woocommerce form.login .lost_password a,.woocommerce form.register .lost_password a,.woocommerce a.remove,#add_payment_method .cart-collaterals .cart_totals .woocommerce-shipping-destination, .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination, .woocommerce-checkout .cart-collaterals .cart_totals .woocommerce-shipping-destination,.woocommerce ul.products li.product .bloglo-loop-product__category-wrap a,.woocommerce ul.products li.product .bloglo-loop-product__category-wrap,.woocommerce .woocommerce-checkout-review-order table.shop_table thead th,#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box,#add_payment_method #payment ul.payment_methods .about_paypal, .woocommerce-cart #payment ul.payment_methods .about_paypal, .woocommerce-checkout #payment ul.payment_methods .about_paypal,.woocommerce table dl,.woocommerce table .wc-item-meta,.widget.woocommerce .reviewer,.woocommerce.widget_shopping_cart .cart_list li a.remove:before,.woocommerce .widget_shopping_cart .cart_list li a.remove:before,.woocommerce .widget_shopping_cart .cart_list li .quantity, .woocommerce.widget_shopping_cart .cart_list li .quantity,.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link,.woocommerce div.product .woocommerce-tabs table.shop_attributes td,.woocommerce div.product .product_meta > span span:not(.bloglo-woo-meta-title), .woocommerce div.product .product_meta > span a,.woocommerce .star-rating::before,.woocommerce div.product #reviews #comments ol.commentlist li .comment-text p.meta,.ywar_review_count,.woocommerce .add_to_cart_inline del, .woocommerce div.product p.price del, .woocommerce div.product span.price del { color: "+c(o,.75)+"; }"),l.html(e)})}),t("bloglo_content_link_hover_color",function(o){o.bind(function(o){l=a("bloglo_content_link_hover_color");var e="";o&&(e+=".content-area a:not(.bloglo-btn, .wp-block-button__link, .page-numbers, [rel^=category]):hover, .bloglo-woo-before-shop select.custom-select-loaded:hover ~ #bloglo-orderby, #add_payment_method #payment ul.payment_methods .about_paypal:hover, .woocommerce-cart #payment ul.payment_methods .about_paypal:hover, .woocommerce-checkout #payment ul.payment_methods .about_paypal:hover, .bloglo-breadcrumbs a:hover, .woocommerce div.product .woocommerce-product-rating .woocommerce-review-link:hover, .woocommerce ul.products li.product .meta-wrap .woocommerce-loop-product__link:hover, .woocommerce ul.products li.product .bloglo-loop-product__category-wrap a:hover { color: "+o+";}"),l.html(e)})}),t("bloglo_headings_color",function(o){o.bind(function(o){l=a("bloglo_headings_color");var e="";o&&(e="h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .bloglo-logo .site-title, .error-404 .page-header h1 { color: "+o+";} :root { --bloglo-secondary: "+o+";}"),l.html(e)})}),t("bloglo_scroll_top_visibility",function(l){l.bind(function(l){b(o("#bloglo-scroll-top"),l)})}),t("bloglo_preloader_visibility",function(l){l.bind(function(l){b(o("#bloglo-preloader"),l)})}),t("bloglo_footer_visibility",function(l){l.bind(function(l){b(o("#bloglo-footer"),l)})}),t("bloglo_footer_widget_heading_style",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)is-footer-heading-init-s\S+/g)||[]).join(" ")}).addClass("is-footer-heading-init-s"+t.value("bloglo_footer_widget_heading_style")())})}),t("bloglo_footer_background",function(e){e.bind(function(e){if(o("#colophon").length){l=a("bloglo_footer_background");var t=m("#colophon",e,"background");l.html(t)}})}),t("bloglo_footer_text_color",function(e){var t,r,n=o("#bloglo-footer");e.bind(function(o){n.length&&(l=a("bloglo_footer_text_color"),r="",o["text-color"]=o["text-color"]?o["text-color"]:"inherit",o["link-color"]=o["link-color"]?o["link-color"]:"inherit",o["link-hover-color"]=o["link-hover-color"]?o["link-hover-color"]:"inherit",o["widget-title-color"]=o["widget-title-color"]?o["widget-title-color"]:"inherit",r+="#colophon { color: "+o["text-color"]+"; }",r+="#colophon a { color: "+o["link-color"]+"; }",r+="#colophon a:hover, #colophon li.current_page_item > a, #colophon .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon { color: "+o["link-hover-color"]+"; }",r+="#colophon .widget-title, #colophon .wp-block-heading { color: "+o["widget-title-color"]+"; }",r+="#bloglo-copyright.contained-separator > .bloglo-container:before { background-color: "+(t=function o(l,e="#000000",t="#FFFFFF"){return!function o(l=""){var e,t,r,n;return l.match(/^rgb/)?(e=(l=l.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/))[1],t=l[2],r=l[3]):(e=(l=+("0x"+l.slice(1).replace(5>l.length&&/./g,"$&$&")))>>16,t=l>>8&255,r=255&l),137<(n=(299*e+587*t+114*r)/1e3)}(l)?t:e}(o["text-color"],"rgba(255,255,255,0.1)","rgba(0,0,0,0.1)"))+"; }",r+="#bloglo-copyright.fw-separator { border-top-color: "+t+"; }",l.html(r))})}),t("bloglo_footer_border",function(e){e.bind(function(e){if(o("#bloglo-footer").length){l=a("bloglo_footer_border");var t="";e["border-top-width"]&&(t+="#colophon { border-top-width: "+e["border-top-width"]+"px;border-top-style: "+e["border-style"]+";border-top-color: "+e["border-color"]+";}"),e["border-bottom-width"]&&(t+="#colophon { border-bottom-width: "+e["border-bottom-width"]+"px;border-bottom-style: "+e["border-style"]+";border-bottom-color: "+e["border-color"]+";}"),l.html(t)}})}),t("bloglo_copyright_layout",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-copyright-layout-\S+/g)||[]).join(" ")}),r.addClass("bloglo-copyright-"+o)})}),t("bloglo_copyright_separator",function(l){l.bind(function(l){var e=o("#bloglo-copyright");e.length&&(e.removeClass("fw-separator contained-separator"),"none"!==l&&e.addClass(l))})}),t("bloglo_copyright_visibility",function(l){l.bind(function(l){b(o("#bloglo-copyright"),l)})}),t("bloglo_copyright_background",function(e){e.bind(function(e){if(o("#bloglo-copyright").length){l=a("bloglo_copyright_background");var t=m("#bloglo-copyright",e,"background");l.html(t)}})}),t("bloglo_copyright_text_color",function(e){e.bind(function(e){if(o("#bloglo-copyright").length){l=a("bloglo_copyright_text_color");var t="";e["text-color"]=e["text-color"]?e["text-color"]:"inherit",e["link-color"]=e["link-color"]?e["link-color"]:"inherit",e["link-hover-color"]=e["link-hover-color"]?e["link-hover-color"]:"inherit",t+="#bloglo-copyright { color: "+e["text-color"]+"; }",t+="#bloglo-copyright a { color: "+e["link-color"]+"; }",t+="#bloglo-copyright a:hover, #bloglo-copyright .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon, #bloglo-copyright li.current_page_item > a, #bloglo-copyright .bloglo-nav > ul > li.current-menu-item > a, #bloglo-copyright .bloglo-nav > ul > li.current-menu-ancestor > a #bloglo-copyright .bloglo-nav > ul > li:hover > a, #bloglo-copyright .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon { color: "+e["link-hover-color"]+"; }",l.html(t)}})}),t("bloglo_container_width",function(o){o.bind(function(o){var e;l=a("bloglo_container_width"),e=".bloglo-container,.alignfull > div { max-width: "+o.value+"px;}",e+=".bloglo-layout__boxed #page, .bloglo-layout__boxed.bloglo-sticky-header.bloglo-is-mobile #bloglo-header-inner, .bloglo-layout__boxed.bloglo-sticky-header:not(.bloglo-header-layout-3) #bloglo-header-inner, .bloglo-layout__boxed.bloglo-sticky-header:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container > .bloglo-container { max-width: "+(parseInt(o.value)+100)+"px; }",l.html(e)})}),t("bloglo_tsp_logo_max_height",function(e){e.bind(function(e){if(o(".bloglo-tsp-header .bloglo-logo").length){l=a("bloglo_tsp_logo_max_height");var t="";t+=h(".bloglo-tsp-header .bloglo-logo img","max-height",e,!0,"px"),t+=h(".bloglo-tsp-header .bloglo-logo img.bloglo-svg-logo","height",e,!0,"px"),l.html(t)}})}),t("bloglo_tsp_logo_margin",function(e){e.bind(function(e){if(o(".bloglo-tsp-header .bloglo-logo").length){l=a("bloglo_tsp_logo_margin");var t=d(".bloglo-tsp-header .bloglo-logo .logo-inner","margin",e,!0);l.html(t)}})}),t("bloglo_tsp_header_background",function(e){e.bind(function(e){if(o(".bloglo-tsp-header").length){l=a("bloglo_tsp_header_background");var t="";t+=m(".bloglo-tsp-header #bloglo-header-inner",e,"background"),l.html(t)}})}),t("bloglo_tsp_header_font_color",function(e){e.bind(function(e){if(o(".bloglo-tsp-header").length){l=a("bloglo_tsp_header_font_color");var t="";e["text-color"]=e["text-color"]?e["text-color"]:"inherit",e["link-color"]=e["link-color"]?e["link-color"]:"inherit",e["link-hover-color"]=e["link-hover-color"]?e["link-hover-color"]:"inherit",t+=".bloglo-tsp-header .bloglo-logo .site-description { color: "+e["text-color"]+"; }",e["link-color"]&&(t+=".bloglo-tsp-header #bloglo-header, .bloglo-tsp-header .bloglo-header-widgets a:not(.bloglo-btn), .bloglo-tsp-header .bloglo-logo a,.bloglo-tsp-header .bloglo-hamburger, .bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li > a { color: "+e["link-color"]+"; }",t+=".bloglo-tsp-header .hamburger-inner,.bloglo-tsp-header .hamburger-inner::before,.bloglo-tsp-header .hamburger-inner::after { background-color: "+e["link-color"]+"; }"),e["link-hover-color"]&&(t+=".bloglo-tsp-header .bloglo-header-widgets a:not(.bloglo-btn):hover, .bloglo-tsp-header #bloglo-header-inner .bloglo-header-widgets .bloglo-active,.bloglo-tsp-header .bloglo-logo .site-title a:hover, .bloglo-tsp-header .bloglo-hamburger:hover .hamburger-label, .is-mobile-menu-active .bloglo-tsp-header .bloglo-hamburger .hamburger-label,.bloglo-tsp-header.using-keyboard .site-title a:focus,.bloglo-tsp-header.using-keyboard .bloglo-header-widgets a:not(.bloglo-btn):focus,.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.hovered > a,.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li > a:hover,.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a,.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a,.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a,.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a,.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a,.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a { color: "+e["link-hover-color"]+"; }",t+=".bloglo-tsp-header .bloglo-hamburger:hover .hamburger-inner,.bloglo-tsp-header .bloglo-hamburger:hover .hamburger-inner::before,.bloglo-tsp-header .bloglo-hamburger:hover .hamburger-inner::after,.is-mobile-menu-active .bloglo-tsp-header .bloglo-hamburger .hamburger-inner,.is-mobile-menu-active .bloglo-tsp-header .bloglo-hamburger .hamburger-inner::before,.is-mobile-menu-active .bloglo-tsp-header .bloglo-hamburger .hamburger-inner::after { background-color: "+e["link-hover-color"]+"; }"),l.html(t)}})}),t("bloglo_tsp_header_border",function(e){e.bind(function(e){if(o(".bloglo-tsp-header").length){l=a("bloglo_tsp_header_border");var t="";t+=m(".bloglo-tsp-header #bloglo-header-inner",e,"border"),e["separator-color"]=e["separator-color"]?e["separator-color"]:"inherit",t+=".bloglo-tsp-header .bloglo-header-widget:after { background-color: "+e["separator-color"]+"; }",l.html(t)}})}),t("bloglo_page_header_alignment",function(o){o.bind(function(o){!r.hasClass("single-post")&&(r.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-page-title-align-\S+/g)||[]).join(" ")}),r.addClass("bloglo-page-title-align-"+o))})}),t("bloglo_page_header_spacing",function(e){e.bind(function(e){if(o(".page-header").length){l=a("bloglo_page_header_spacing");var t=d(".bloglo-page-title-align-left .page-header.bloglo-has-page-title, .bloglo-page-title-align-right .page-header.bloglo-has-page-title, .bloglo-page-title-align-center .page-header .bloglo-page-header-wrapper","padding",e,!0);l.html(t)}})}),t("bloglo_page_header_background",function(e){e.bind(function(e){if(o(".page-header").length){l=a("bloglo_page_header_background");var t="";t+=m(".page-header",e,"background"),t+=m(".bloglo-tsp-header:not(.bloglo-tsp-absolute) #masthead",e,"background"),l.html(t)}})}),t("bloglo_page_header_text_color",function(e){e.bind(function(e){if(o(".page-header").length){l=a("bloglo_page_header_text_color");var t="";e["text-color"]=e["text-color"]?e["text-color"]:"inherit",e["link-color"]=e["link-color"]?e["link-color"]:"inherit",e["link-hover-color"]=e["link-hover-color"]?e["link-hover-color"]:"inherit",t+=".page-header .page-title { color: "+e["text-color"]+"; }",t+=".page-header .bloglo-page-header-description{ color: "+c(e["text-color"],.75)+"}",t+=".page-header .bloglo-breadcrumbs a{ color: "+e["link-color"]+"; }",t+=".page-header .bloglo-breadcrumbs span,.page-header .breadcrumb-trail .trail-items li::after, .page-header .bloglo-breadcrumbs .separator{ color: "+c(e["link-color"],.75)+"}",l.html(t)}})}),t("bloglo_page_header_border",function(e){e.bind(function(e){if(o(".page-header").length){l=a("bloglo_page_header_border");var t=m(".page-header",e,"border");l.html(t)}})}),t("bloglo_breadcrumbs_alignment",function(l){l.bind(function(l){var e=o("#main > .bloglo-breadcrumbs > .bloglo-container");e.length&&(e.removeClass(function(o,l){return(l.match(/(^|\s)bloglo-text-align\S+/g)||[]).join(" ")}),e.addClass("bloglo-text-align-"+l))})}),t("bloglo_breadcrumbs_spacing",function(e){e.bind(function(e){if(o(".bloglo-breadcrumbs").length){l=a("bloglo_breadcrumbs_spacing");var t=d(".bloglo-breadcrumbs","padding",e,!0);l.html(t)}})}),t("bloglo_breadcrumbs_background",function(e){e.bind(function(e){if(o(".bloglo-breadcrumbs").length){l=a("bloglo_breadcrumbs_background");var t=m(".bloglo-breadcrumbs",e,"background");l.html(t)}})}),t("bloglo_breadcrumbs_text_color",function(e){e.bind(function(e){if(o(".bloglo-breadcrumbs").length){l=a("bloglo_breadcrumbs_text_color");var t=m(".bloglo-breadcrumbs",e,"color");l.html(t)}})}),t("bloglo_breadcrumbs_border",function(e){e.bind(function(e){if(o(".bloglo-breadcrumbs").length){l=a("bloglo_breadcrumbs_border");var t=m(".bloglo-breadcrumbs",e,"border");l.html(t)}})}),t("bloglo_html_base_font_size",function(o){o.bind(function(o){l=a("bloglo_html_base_font_size");var e=h("html","font-size",o,!0,"%");l.html(e)})}),t("bloglo_font_smoothing",function(o){o.bind(function(o){l=a("bloglo_font_smoothing"),o?l.html("*,*::before,*::after {-moz-osx-font-smoothing: grayscale;-webkit-font-smoothing: antialiased;}"):l.html("*,*::before,*::after {-moz-osx-font-smoothing: auto;-webkit-font-smoothing: auto;}"),l=a("bloglo_html_base_font_size");var e=h("html","font-size",o,!0,"%");l.html(e)})}),t("bloglo_body_font",function(o){o.bind(function(o){l=a("bloglo_body_font");var e=u("body",o);s(o["font-family"]),l.html(e)})}),t("bloglo_headings_font",function(o){var e,t;o.bind(function(o){t="h1, .h1, .bloglo-logo .site-title, .page-header h1.page-title",t+=", h2, .h2, .woocommerce div.product h1.product_title",t+=", h3, .h3, .woocommerce #reviews #comments h2",t+=", h4, .h4, .woocommerce .cart_totals h2, .woocommerce .cross-sells > h4, .woocommerce #reviews #respond .comment-reply-title",t+=", h5, h6, .h5, .h6",e=u(t,o),s(o["font-family"]),(l=a("bloglo_headings_font")).html(e)})}),t("bloglo_h1_font",function(o){o.bind(function(o){l=a("bloglo_h1_font");var e=u("h1, .h1, .bloglo-logo .site-title, .page-header h1.page-title",o);s(o["font-family"]),l.html(e)})}),t("bloglo_h2_font",function(o){o.bind(function(o){l=a("bloglo_h2_font");var e=u("h2, .h2, .woocommerce div.product h1.product_title",o);s(o["font-family"]),l.html(e)})}),t("bloglo_h3_font",function(o){o.bind(function(o){l=a("bloglo_h3_font");var e=u("h3, .h3, .woocommerce #reviews #comments h2",o);s(o["font-family"]),l.html(e)})}),t("bloglo_h4_font",function(o){o.bind(function(o){l=a("bloglo_h4_font");var e=u("h4, .h4, .woocommerce .cart_totals h2, .woocommerce .cross-sells > h4, .woocommerce #reviews #respond .comment-reply-title",o);s(o["font-family"]),l.html(e)})}),t("bloglo_h5_font",function(o){o.bind(function(o){l=a("bloglo_h5_font");var e=u("h5, .h5",o);s(o["font-family"]),l.html(e)})}),t("bloglo_h6_font",function(o){o.bind(function(o){l=a("bloglo_h6_font");var e=u("h6, .h6",o);s(o["font-family"]),l.html(e)})}),t("bloglo_heading_em_font",function(o){o.bind(function(o){l=a("bloglo_heading_em_font");var e=u("h1 em, h2 em, h3 em, h4 em, h5 em, h6 em, .h1 em, .h2 em, .h3 em, .h4 em, .h5 em, .h6 em, .bloglo-logo .site-title em, .error-404 .page-header h1 em",o);s(o["font-family"]),l.html(e)})}),t("bloglo_sidebar_widget_title_font_size",function(e){e.bind(function(e){if(o("#main .widget-title, .widget-area .wp-block-heading").length){l=a("bloglo_sidebar_widget_title_font_size");var t="";t+=h("#main .widget-title, .widget-area .wp-block-heading","font-size",e,!0,e.unit),l.html(t)}})}),t("bloglo_footer_widget_title_font_size",function(e){e.bind(function(e){if(o("#colophon .widget-title, #colophon .wp-block-heading").length){l=a("bloglo_footer_widget_title_font_size");var t="";t+=h("#colophon .widget-title, #colophon .wp-block-heading","font-size",e,!0,e.unit),l.html(t)}})}),t("bloglo_page_header_font_size",function(e){e.bind(function(e){if(o(".page-header .page-title").length){l=a("bloglo_page_header_font_size");var t="";t+=h("#page .page-header .page-title","font-size",e,!0,e.unit),l.html(t)}})});var f=".bloglo-btn, body:not(.wp-customizer) input[type=submit], .site-main .woocommerce #respond input#submit, .site-main .woocommerce a.button, .site-main .woocommerce button.button, .site-main .woocommerce input.button, .woocommerce ul.products li.product .added_to_cart, .woocommerce ul.products li.product .button, .woocommerce div.product form.cart .button, .woocommerce #review_form #respond .form-submit input, #infinite-handle span",p=".bloglo-btn:hover, .bloglo-btn:focus, body:not(.wp-customizer) input[type=submit]:hover, body:not(.wp-customizer) input[type=submit]:focus, .site-main .woocommerce #respond input#submit:hover, .site-main .woocommerce #respond input#submit:focus, .site-main .woocommerce a.button:hover, .site-main .woocommerce a.button:focus, .site-main .woocommerce button.button:hover, .site-main .woocommerce button.button:focus, .site-main .woocommerce input.button:hover, .site-main .woocommerce input.button:focus, .woocommerce ul.products li.product .added_to_cart:hover, .woocommerce ul.products li.product .added_to_cart:focus, .woocommerce ul.products li.product .button:hover, .woocommerce ul.products li.product .button:focus, .woocommerce div.product form.cart .button:hover, .woocommerce div.product form.cart .button:focus, .woocommerce #review_form #respond .form-submit input:hover, .woocommerce #review_form #respond .form-submit input:focus, #infinite-handle span:hover";t("bloglo_primary_button_bg_color",function(o){o.bind(function(o){l=a("bloglo_primary_button_bg_color");var e="";o&&(e=f+"{ background-color: "+o+"; }"),l.html(e)})}),t("bloglo_primary_button_hover_bg_color",function(o){o.bind(function(o){l=a("bloglo_primary_button_hover_bg_color");var e="";o&&(e=p+" { background-color: "+o+"; }"),l.html(e)})}),t("bloglo_primary_button_text_color",function(o){o.bind(function(o){l=a("bloglo_primary_button_text_color");var e="";o&&(e=f+" { color: "+o+"; }"),l.html(e)})}),t("bloglo_primary_button_hover_text_color",function(o){o.bind(function(o){l=a("bloglo_primary_button_hover_text_color");var e="";o&&(e=p+" { color: "+o+"; }"),l.html(e)})}),t("bloglo_primary_button_border_width",function(o){o.bind(function(o){l=a("bloglo_primary_button_border_width");var e="";o&&(e=f+" { border-width: "+o.value+"rem; }"),l.html(e)})}),t("bloglo_primary_button_border_radius",function(o){o.bind(function(o){l=a("bloglo_primary_button_border_radius");var e="";o&&(e=f+" { border-top-left-radius: "+o["top-left"]+"rem;border-top-right-radius: "+o["top-right"]+"rem;border-bottom-left-radius: "+o["bottom-left"]+"rem;border-bottom-right-radius: "+o["bottom-right"]+"rem; }"),l.html(e)})}),t("bloglo_primary_button_border_color",function(o){o.bind(function(o){l=a("bloglo_primary_button_border_color");var e="";o&&(e=f+" { border-color: "+o+"; }"),l.html(e)})}),t("bloglo_primary_button_hover_border_color",function(o){o.bind(function(o){l=a("bloglo_primary_button_hover_border_color");var e="";o&&(e=p+" { border-color: "+o+"; }"),l.html(e)})}),t("bloglo_primary_button_typography",function(o){o.bind(function(o){l=a("bloglo_primary_button_typography");var e=u(f,o);s(o["font-family"]),l.html(e)})});var v=".btn-secondary, .bloglo-btn.btn-secondary",y=".btn-secondary:hover, .btn-secondary:focus, .bloglo-btn.btn-secondary:hover, .bloglo-btn.btn-secondary:focus";t("bloglo_secondary_button_bg_color",function(o){o.bind(function(o){l=a("bloglo_secondary_button_bg_color");var e="";o&&(e=v+"{ background-color: "+o+"; }"),l.html(e)})}),t("bloglo_secondary_button_hover_bg_color",function(o){o.bind(function(o){l=a("bloglo_secondary_button_hover_bg_color");var e="";o&&(e=y+"{ background-color: "+o+"; }"),l.html(e)})}),t("bloglo_secondary_button_text_color",function(o){o.bind(function(o){l=a("bloglo_secondary_button_text_color");var e="";o&&(e=v+"{ color: "+o+"; }"),l.html(e)})}),t("bloglo_secondary_button_hover_text_color",function(o){o.bind(function(o){l=a("bloglo_secondary_button_hover_text_color");var e="";o&&(e=y+"{ color: "+o+"; }"),l.html(e)})}),t("bloglo_secondary_button_border_width",function(o){o.bind(function(o){l=a("bloglo_secondary_button_border_width");var e="";o&&(e=v+" { border-width: "+o.value+"rem; }"),l.html(e)})}),t("bloglo_secondary_button_border_radius",function(o){o.bind(function(o){l=a("bloglo_secondary_button_border_radius");var e="";o&&(e=v+" { border-top-left-radius: "+o["top-left"]+"rem;border-top-right-radius: "+o["top-right"]+"rem;border-bottom-left-radius: "+o["bottom-left"]+"rem;border-bottom-right-radius: "+o["bottom-right"]+"rem; }"),l.html(e)})}),t("bloglo_secondary_button_border_color",function(o){o.bind(function(o){l=a("bloglo_secondary_button_border_color");var e="";o&&(e=v+" { border-color: "+o+"; }"),l.html(e)})}),t("bloglo_secondary_button_hover_border_color",function(o){o.bind(function(o){l=a("bloglo_secondary_button_hover_border_color");var e="";o&&(e=y+" { border-color: "+o+"; }"),l.html(e)})}),t("bloglo_secondary_button_typography",function(o){o.bind(function(o){l=a("bloglo_secondary_button_typography");var e=u(v,o);s(o["font-family"]),l.html(e)})});var w=".bloglo-btn.btn-text-1, .btn-text-1";t("bloglo_text_button_text_color",function(o){o.bind(function(o){l=a("bloglo_text_button_text_color");var e="";o&&(e=w+"{ color: "+o+"; }"),l.html(e)})}),t("bloglo_text_button_hover_text_color",function(o){o.bind(function(o){l=a("bloglo_text_button_hover_text_color");var e="";o&&(e=".bloglo-btn.btn-text-1:hover, .bloglo-btn.btn-text-1:focus, .btn-text-1:hover, .btn-text-1:focus{ color: "+o+"; }",e+=".bloglo-btn.btn-text-1 > span::before { background-color: "+o+" }"),l.html(e)})}),t("bloglo_text_button_typography",function(o){o.bind(function(o){l=a("bloglo_text_button_typography");var e=u(w,o);s(o["font-family"]),l.html(e)})}),t("bloglo_section_heading_style",function(o){o.bind(function(o){r.removeClass(function(o,l){return(l.match(/(^|\s)is-section-heading-init-s\S+/g)||[]).join(" ")}).addClass("is-section-heading-init-s"+t.value("bloglo_section_heading_style")())})}),t.selectiveRefresh&&t.selectiveRefresh.bind("partial-content-rendered",function(o){("bloglo_hero_hover_slider_post_number"===o.partial.id||"bloglo_hero_hover_slider_elements"===o.partial.id)&&(document.querySelectorAll(o.partial.params.selector).forEach(o=>{blogloHoverSlider(o)}),t("bloglo_hero_hover_slider_height",function(o){o.callbacks.fireWith(o,[o.get()])})),"bloglo_preloader_style"===o.partial.id&&(r.removeClass("bloglo-loaded"),setTimeout(function(){window.bloglo.preloader()},300))}),t.blogloCustomizerPreview={init:function(){var l=this;l.preview.body.on("click",".bloglo-set-widget",function(){l.preview.send("set-footer-widget",o(this).data("sidebar-id"))})}};var k=t.Preview;t.Preview=k.extend({initialize:function(o,l){t.blogloCustomizerPreview.preview=this,k.prototype.initialize.call(this,o,l)}}),o(function(){t.blogloCustomizerPreview.init()})}(jQuery);inc/customizer/customizer-partials.php000064400000001060152425655560014267 0ustar00<?php

/**
 * Bloglo Customizer sanitization callback functions.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Customizer callback for the Site Title.
 *
 * @since 1.0.0
 */
function bloglo_partial_blogname() {
	return get_bloginfo( 'name', 'display' );
}

/**
 * Customizer callback for the Site Tagline.
 *
 * @since 1.0.0
 */
function bloglo_partial_blogdescription() {
	return get_bloginfo( 'description', 'display' );
}
inc/customizer/class-bloglo-section-ordering.php000064400000004261152425655560016106 0ustar00<?php

/**
 * Customizer sections order main file
 *
 * @package Bloglo
 */

/**
 * Class Bloglo_Section_Ordering
 */
class Bloglo_Section_Ordering {

	/**
	 * Singleton instance of the class.
	 *
	 * @since 1.0.0
	 * @var object
	 */
	private static $instance;


	/**
	 * Main Bloglo_Section_Ordering Instance.
	 *
	 * @since 1.0.0
	 * @return Bloglo_Section_Ordering
	 */
	public static function instance() {

		if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Section_Ordering ) ) {
			self::$instance = new self();
		}
		return self::$instance;
	}

	/**
	 * Initialize the section ordering module.
	 */
	public function __construct() {
		add_action( 'customize_preview_init', array( $this, 'refresh_positions' ), 100 );
		add_action( 'init', array( $this, 'refresh_positions' ), 100 );
		add_filter( 'bloglo_section_priority', array( $this, 'get_section_priority' ), 10, 2 );
	}

	/**
	 * Function for returning section priority
	 *
	 * @param integer $value Default priority.
	 * @param string  $key Section id.
	 *
	 * @return int
	 */
	public function get_section_priority( $value, $key = '' ) {

		$orders = get_theme_mod( 'bloglo_sections_order' );
		if ( empty( $orders ) ) {
			return $value;
		}
		$json = json_decode( $orders );
		if ( isset( $json->$key ) ) {
			return $json->$key;
		}

		return $value;
	}

	/**
	 * Function to refresh customize preview when changing sections order
	 */
	public function refresh_positions() {
		$section_order         = get_theme_mod( 'bloglo_sections_order' );
		$section_order_decoded = json_decode( $section_order, true );
		if ( ! empty( $section_order_decoded ) ) {
			remove_all_actions( 'bloglo_sections' );
			foreach ( $section_order_decoded as $k => $priority ) {
				$this->hook_section_by_slug( $k, $priority );
			}
		}
	}


	/**
	 * Hook section by slug.
	 *
	 * @param string  $slug section slug.
	 * @param integer $priority section priority.
	 */
	private function hook_section_by_slug( $slug, $priority ) {
		if ( empty( $slug ) ) {
			return;
		}
		add_action( 'bloglo_sections', $slug, absint( $priority ) );
	}
}


function bloglo_section_reordering() {
	return Bloglo_Section_Ordering::instance();
}
bloglo_section_reordering();
inc/customizer/class-bloglo-customizer.php000064400000047046152425655560015047 0ustar00<?php
/**
 * Bloglo Customizer class
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer' ) ) :
	/**
	 * Bloglo Customizer class
	 */
	class Bloglo_Customizer {

		/**
		 * Singleton instance of the class.
		 *
		 * @since 1.0.0
		 * @var object
		 */
		private static $instance;

		/**
		 * Customizer options.
		 *
		 * @since 1.0.0
		 * @var Array
		 */
		private static $options;

		/**
		 * Main Bloglo_Customizer Instance.
		 *
		 * @since 1.0.0
		 * @return Bloglo_Customizer
		 */
		public static function instance() {

			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Customizer ) ) {
				self::$instance = new self();
			}
			return self::$instance;
		}

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			// Loads our Customizer custom controls.
			add_action( 'customize_register', array( $this, 'load_custom_controls' ) );

			// Loads our Customizer helper functions.
			add_action( 'customize_register', array( $this, 'load_customizer_helpers' ) );

			// Loads our Customizer widgets classes.
			add_action( 'customize_register', array( $this, 'load_customizer_widgets' ) );

			// Tweak inbuilt sections.
			add_action( 'customize_register', array( $this, 'customizer_tweak' ), 11 );

			// Registers our Customizer options.
			add_action( 'after_setup_theme', array( $this, 'register_options' ) );

			// Registers our Customizer options.
			add_action( 'customize_register', array( $this, 'register_options_new' ) );

			// Loads our Customizer controls assets.
			add_action( 'customize_controls_enqueue_scripts', array( $this, 'load_assets' ), 10 );

			// Enqueues our Customizer preview assets.
			add_action( 'customize_preview_init', array( $this, 'load_preview_assets' ) );

			// Add available top bar widgets panel.
			add_action( 'customize_controls_print_footer_scripts', array( $this, 'bloglo_customizer_widgets' ) );
			add_action( 'customize_controls_print_footer_scripts', array( 'Bloglo_Customizer_Control', 'template_units' ) );
		}

		/**
		 * Loads our Customizer custom controls.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $customizer Instance of WP_Customize_Manager class.
		 */
		public function load_custom_controls( $customizer ) {

			// Directory where each custom control is located.
			$path = BLOGLO_THEME_PATH . '/inc/customizer/controls/';

			// Require base control class.
			require $path . '/class-bloglo-customizer-control.php'; // phpcs:ignore

			$controls = $this->get_custom_controls();

			// Load custom controls classes.
			foreach ( $controls as $control => $class ) {
				$control_path = $path . '/' . $control . '/class-bloglo-customizer-control-' . $control . '.php';
				if ( file_exists( $control_path ) ) {
					require_once $control_path; // phpcs:ignore
					$customizer->register_control_type( $class );
				}
			}
		}

		/**
		 * Loads Customizer helper functions and sanitization callbacks.
		 *
		 * @since 1.0.0
		 */
		public function load_customizer_helpers() {
			require BLOGLO_THEME_PATH . '/inc/customizer/customizer-helpers.php'; // phpcs:ignore
			require_once BLOGLO_THEME_PATH . '/inc/customizer/customizer-callbacks.php'; // phpcs:ignore
			require BLOGLO_THEME_PATH . '/inc/customizer/customizer-partials.php'; // phpcs:ignore
			require BLOGLO_THEME_PATH . '/inc/customizer/ui/plugin-install-helper/class-bloglo-customizer-plugin-install-helper.php'; // phpcs:ignore
		}

		/**
		 * Loads Customizer widgets classes.
		 *
		 * @since 1.0.0
		 */
		public function load_customizer_widgets() {

			$widgets = bloglo_get_customizer_widgets();

			require BLOGLO_THEME_PATH . '/inc/customizer/widgets/class-bloglo-customizer-widget.php'; // phpcs:ignore

			foreach ( $widgets as $id => $class ) {

				$path = BLOGLO_THEME_PATH . '/inc/customizer/widgets/class-bloglo-customizer-widget-' . $id . '.php';

				if ( file_exists( $path ) ) {
					require $path; // phpcs:ignore
				}
			}
		}

		/**
		 * Move inbuilt panels into our sections.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $customizer Instance of WP_Customize_Manager class.
		 */
		public static function customizer_tweak( $customizer ) {

			// Site Identity to Logo.
			$customizer->get_section( 'title_tagline' )->priority = 2;
			$customizer->get_section( 'title_tagline' )->title    = esc_html__( 'Logos &amp; Site Title', 'bloglo' );

			// Custom logo.
			$customizer->get_control( 'custom_logo' )->description = esc_html__( 'Upload your logo image here.', 'bloglo' );
			$customizer->get_control( 'custom_logo' )->priority    = 10;
			$customizer->get_setting( 'custom_logo' )->transport   = 'postMessage';

			// Add selective refresh partial for Custom Logo.
			$customizer->selective_refresh->add_partial(
				'custom_logo',
				array(
					'selector'            => '.bloglo-logo',
					'render_callback'     => 'bloglo_logo',
					'container_inclusive' => false,
					'fallback_refresh'    => true,
				)
			);

			// Site title.
			$customizer->get_setting( 'blogname' )->transport   = 'postMessage';
			$customizer->get_control( 'blogname' )->description = esc_html__( 'Enter the name of your site here.', 'bloglo' );
			$customizer->get_control( 'blogname' )->priority    = 60;

			// Site description.
			$customizer->get_setting( 'blogdescription' )->transport   = 'postMessage';
			$customizer->get_control( 'blogdescription' )->description = esc_html__( 'A tagline is a short phrase, or sentence, used to convey the essence of the site.', 'bloglo' );
			$customizer->get_control( 'blogdescription' )->priority    = 70;

			// Site icon.
			$customizer->get_control( 'site_icon' )->priority = 90;

			// Site Background.
			$background_fields = array(
				'background_color',
				'background_image',
				'background_preset',
				'background_position',
				'background_size',
				'background_repeat',
				'background_attachment',
				'background_image',
			);

			foreach ( $background_fields as $field ) {
				$customizer->get_control( $field )->section  = 'bloglo_section_colors';
				$customizer->get_control( $field )->priority = 50;
			}

			// Load the custom section class.
			require BLOGLO_THEME_PATH . '/inc/customizer/class-bloglo-customizer-info-section.php'; // phpcs:ignore

			// Register custom section types.
			$customizer->register_section_type( 'Bloglo_Customizer_Info_Section' );
		}

		/**
		 * Registers our Customizer options.
		 *
		 * @since 1.0.0
		 */
		public function register_options() {

			// Directory where each individual section is located.
			$path = BLOGLO_THEME_PATH . '/inc/customizer/settings/class-bloglo-customizer-';

			/**
			 * Customizer sections.
			 */
			apply_filters(
				'bloglo_cusomizer_settings',
				$sections = array(
					'sections',
					'colors',
					'typography',
					'layout',
					'top-bar',
					'main-header',
					'main-navigation',
					'ticker',
					'hero',
					'featured-links',
					'pro-features',
					'pyml',
					'page-header',
					'logo',
					'single-post',
					'blog-page',
					'main-footer',
					'copyright-settings',
					'buttons',
					'misc',
					'sticky-header',
					'sidebar',
					'breadcrumbs',
				)
			);

			foreach ( $sections as $section ) {
				if ( file_exists( $path . $section . '.php' ) ) {
					require_once $path . $section . '.php'; // phpcs:ignore
				}
			}
		}

		/**
		 * Registers our Customizer options.
		 *
		 * @since 1.0.0
		 *
		 * @param WP_Customize_Manager $customizer instance of WP_Customize_Manager.
		 *
		 * @return void
		 */
		public function register_options_new( $customizer ) {

			$options = $this->get_customizer_options();
			if ( isset( $options['panel'] ) && ! empty( $options['panel'] ) ) {
				foreach ( $options['panel'] as $id => $args ) {
					$this->add_panel( $id, $args, $customizer );
				}
			}

			if ( isset( $options['section'] ) && ! empty( $options['section'] ) ) {
				foreach ( $options['section'] as $id => $args ) {
					$this->add_section( $id, $args, $customizer );
				}
			}

			if ( isset( $options['setting'] ) && ! empty( $options['setting'] ) ) {
				foreach ( $options['setting'] as $id => $args ) {

					$this->add_setting( $id, $args, $customizer );
					$this->add_control( $id, $args['control'], $customizer );
				}
			}
		}

		/**
		 * Filter and return Customizer options.
		 *
		 * @since 1.0.0
		 *
		 * @return Array Customizer options for registering Sections/Panels/Controls.
		 */
		public function get_customizer_options() {
			if ( ! is_null( self::$options ) ) {
				return self::$options;
			}

			return apply_filters( 'bloglo_customizer_options', array() );
		}

		/**
		 * Register Customizer Panel
		 *
		 * @param string $id Panel id.
		 * @param Array  $args Panel settings.
		 * @param [type] $customizer instance of WP_Customize_Manager.
		 * @return void
		 */
		private function add_panel( $id, $args, $customizer ) {
			$class = bloglo_get_prop( $args, 'class', 'WP_Customize_Panel' );

			$customizer->add_panel( new $class( $customizer, $id, $args ) );
		}

		/**
		 * Register Customizer Section.
		 *
		 * @since 1.0.0
		 *
		 * @param string               $id Section id.
		 * @param Array                $args Section settings.
		 * @param WP_Customize_Manager $customizer instance of WP_Customize_Manager.
		 *
		 * @return void
		 */
		private function add_section( $id, $args, $customizer ) {
			$class = bloglo_get_prop( $args, 'class', 'WP_Customize_Section' );
			$customizer->add_section( new $class( $customizer, $id, $args ) );
		}

		/**
		 * Register Customizer Control.
		 *
		 * @since 1.0.0
		 *
		 * @param string               $id Control id.
		 * @param Array                $args Control settings.
		 * @param WP_Customize_Manager $customizer instance of WP_Customize_Manager.
		 *
		 * @return void
		 */
		private function add_control( $id, $args, $customizer ) {

			if ( isset( $args['class'] ) ) {
				$class = $args['class'];
			} else {
				$class = $this->get_control_class( bloglo_get_prop( $args, 'type' ) );
			}
			$args['setting'] = $id;
			if ( false !== $class ) {
				$customizer->add_control( new $class( $customizer, $id, $args ) );
			} else {
				$customizer->add_control( $id, $args );
			}
		}

		/**
		 * Register Customizer Setting.
		 *
		 * @since 1.0.0
		 * @param string               $id Control setting id.
		 * @param Array                $setting Settings.
		 * @param WP_Customize_Manager $customizer instance of WP_Customize_Manager.
		 *
		 * @return void
		 */
		private function add_setting( $id, $setting, $customizer ) {
			$setting = wp_parse_args( $setting, $this->get_customizer_defaults( 'setting' ) );

			$customizer->add_setting(
				$id,
				array(
					'default'           => bloglo()->options->get_default( $id ),
					'type'              => bloglo_get_prop( $setting, 'type' ),
					'transport'         => bloglo_get_prop( $setting, 'transport' ),
					'sanitize_callback' => bloglo_get_prop( $setting, 'sanitize_callback', 'bloglo_no_sanitize' ),
				)
			);

			$partial = bloglo_get_prop( $setting, 'partial', false );

			if ( $partial && isset( $customizer->selective_refresh ) ) {

				$customizer->selective_refresh->add_partial(
					$id,
					array(
						'selector'            => bloglo_get_prop( $partial, 'selector' ),
						'container_inclusive' => bloglo_get_prop( $partial, 'container_inclusive' ),
						'render_callback'     => bloglo_get_prop( $partial, 'render_callback' ),
						'fallback_refresh'    => bloglo_get_prop( $partial, 'fallback_refresh' ),
					)
				);
			}
		}

		/**
		 * Return custom controls.
		 *
		 * @since 1.0.0
		 *
		 * @return Array custom control slugs & classnames.
		 */
		private function get_custom_controls() {
			return apply_filters(
				'bloglo_custom_customizer_controls',
				array(
					'toggle'         => 'Bloglo_Customizer_Control_Toggle',
					'select'         => 'Bloglo_Customizer_Control_Select',
					'heading'        => 'Bloglo_Customizer_Control_Heading',
					'color'          => 'Bloglo_Customizer_Control_Color',
					'range'          => 'Bloglo_Customizer_Control_Range',
					'spacing'        => 'Bloglo_Customizer_Control_Spacing',
					'widget'         => 'Bloglo_Customizer_Control_Widget',
					'radio-image'    => 'Bloglo_Customizer_Control_Radio_Image',
					'background'     => 'Bloglo_Customizer_Control_Background',
					'text'           => 'Bloglo_Customizer_Control_Text',
					'textarea'       => 'Bloglo_Customizer_Control_Textarea',
					'typography'     => 'Bloglo_Customizer_Control_Typography',
					'button'         => 'Bloglo_Customizer_Control_Button',
					'sortable'       => 'Bloglo_Customizer_Control_Sortable',
					'info'           => 'Bloglo_Customizer_Control_Info',
					'pro'            => 'Bloglo_Customizer_Control_Pro',
					'design-options' => 'Bloglo_Customizer_Control_Design_Options',
					'alignment'      => 'Bloglo_Customizer_Control_Alignment',
					'checkbox-group' => 'Bloglo_Customizer_Control_Checkbox_Group',
					'repeater'       => 'Bloglo_Customizer_Control_Repeater',
					'editor'         => 'Bloglo_Customizer_Control_Editor',
					'section-pro'    => 'Bloglo_Customizer_Control_Section_Pro',
					'generic-notice' => 'Bloglo_Customizer_Control_Generic_Notice',
					'gallery'        => 'Bloglo_Customizer_Control_Gallery',
					'datetime'       => 'Bloglo_Customizer_Control_Datetime',
				)
			);
		}

		/**
		 * Return default values for customizer parts.
		 *
		 * @param  String $type setting or control.
		 * @return Array  default values for the Customizer Configurations.
		 */
		private function get_customizer_defaults( $type ) {

			$defaults = array();

			switch ( $type ) {
				case 'setting':
					$defaults = array(
						'type'      => 'theme_mod',
						'transport' => 'refresh',
					);
					break;

				case 'control':
					$defaults = array();
					break;

				default:
					break;
			}

			return apply_filters(
				'bloglo_customizer_configuration_defaults',
				$defaults,
				$type
			);
		}

		/**
		 * Get custom control classname.
		 *
		 * @since 1.0.0
		 *
		 * @param string $type Control ID.
		 *
		 * @return string Control classname.
		 */
		private function get_control_class( $type ) {

			if ( false !== strpos( $type, 'bloglo-' ) ) {

				$controls = $this->get_custom_controls();
				$type     = trim( str_replace( 'bloglo-', '', $type ) );
				if ( isset( $controls[ $type ] ) ) {
					return $controls[ $type ];
				}
			}

			return false;
		}

		/**
		 * Loads our own Customizer assets.
		 *
		 * @since 1.0.0
		 */
		public function load_assets() {

			// Script debug.
			$bloglo_dir    = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? 'dev/' : '';
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			/**
			 * Enqueue our Customizer styles.
			 */
			wp_enqueue_style(
				'bloglo-customizer-styles',
				BLOGLO_THEME_URI . '/inc/customizer/assets/css/bloglo-customizer' . $bloglo_suffix . '.css',
				false,
				BLOGLO_THEME_VERSION
			);

			/**
			 * Enqueue our Customizer controls script.
			 */
			wp_enqueue_script(
				'bloglo-customizer-js',
				BLOGLO_THEME_URI . '/inc/customizer/assets/js/' . $bloglo_dir . 'customize-controls' . $bloglo_suffix . '.js',
				array( 'wp-color-picker', 'jquery', 'customize-base' ),
				BLOGLO_THEME_VERSION,
				true
			);

			/**
			 * Enqueue Customizer controls dependency script.
			 */
			wp_enqueue_script(
				'bloglo-control-dependency-js',
				BLOGLO_THEME_URI . '/inc/customizer/assets/js/' . $bloglo_dir . 'customize-dependency' . $bloglo_suffix . '.js',
				array( 'jquery' ),
				BLOGLO_THEME_VERSION,
				true
			);

			/**
			 * Localize JS variables
			 */
			$bloglo_customizer_localized = array(
				'ajaxurl'                 => admin_url( 'admin-ajax.php' ),
				'wpnonce'                 => wp_create_nonce( 'bloglo_customizer' ),
				'color_palette'           => array( '#ffffff', '#000000', '#e4e7ec', '#0554f2', '#f7b40b', '#e04b43', '#30373e', '#8a63d4' ),
				'preview_url_for_section' => $this->get_preview_urls_for_section(),
				'strings'                 => array(
					'selectCategory' => esc_html__( 'Select a category', 'bloglo' ),
				),
			);

			/**
			 * Allow customizer localized vars to be filtered.
			 */
			$bloglo_customizer_localized = apply_filters( 'bloglo_customizer_localized', $bloglo_customizer_localized );

			wp_localize_script(
				'bloglo-customizer-js',
				'bloglo_customizer_localized',
				$bloglo_customizer_localized
			);
		}

		/**
		 * Loads customizer preview assets
		 *
		 * @since 1.0.0
		 */
		public function load_preview_assets() {

			// Script debug.
			$bloglo_dir    = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? 'dev/' : '';
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
			$version       = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? time() : BLOGLO_THEME_VERSION;

			wp_enqueue_script(
				'bloglo-customizer-preview-js',
				BLOGLO_THEME_URI . '/inc/customizer/assets/js/' . $bloglo_dir . 'customize-preview' . $bloglo_suffix . '.js',
				array( 'customize-preview', 'customize-selective-refresh', 'jquery' ),
				$version,
				true
			);

			// Enqueue Customizer preview styles.
			wp_enqueue_style(
				'bloglo-customizer-preview-styles',
				BLOGLO_THEME_URI . '/inc/customizer/assets/css/bloglo-customizer-preview' . $bloglo_suffix . '.css',
				false,
				BLOGLO_THEME_VERSION
			);

			/**
			 * Localize JS variables.
			 */
			$bloglo_customizer_localized = array(
				'default_system_font' => bloglo()->fonts->get_default_system_font(),
				'fonts'               => bloglo()->fonts->get_fonts(),
				'google_fonts_url'    => '//fonts.googleapis.com',
				'google_font_weights' => '100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i',
			);

			/**
			 * Allow customizer localized vars to be filtered.
			 */
			$bloglo_customizer_localized = apply_filters( 'bloglo_customize_preview_localized', $bloglo_customizer_localized );

			wp_localize_script(
				'bloglo-customizer-preview-js',
				'bloglo_customizer_preview',
				$bloglo_customizer_localized
			);
		}

		/**
		 * Print the html template used to render the add top bar widgets frame.
		 *
		 * @since 1.0.0
		 */
		public function bloglo_customizer_widgets() {

			// Get customizer widgets.
			$widgets = bloglo_get_customizer_widgets();

			// Check if any available widgets exist.
			if ( ! is_array( $widgets ) || empty( $widgets ) ) {
				return;
			}
			?>
									<div id="bloglo-available-widgets">

										<div class="bloglo-widget-caption">
											<h3></h3>
											<a href="#" class="bloglo-close-widgets-panel"></a>
										</div><!-- END #bloglo-available-widgets-caption -->

										<div id="bloglo-available-widgets-list">

											<?php foreach ( $widgets as $id => $classname ) { ?>
												<?php $widget = new $classname(); ?>

												<div id="bloglo-widget-tpl-<?php echo esc_attr( $widget->id_base ); ?>" data-widget-id="<?php echo esc_attr( $widget->id_base ); ?>" class="bloglo-widget">
													<?php $widget->template(); ?>
												</div>

											<?php } ?>

										</div><!-- END #bloglo-available-widgets-list -->
									</div>
						<?php
		}

		/**
		 * Get preview URL for a section. The URL will load when the section is opened.
		 *
		 * @return string
		 */
		public function get_preview_urls_for_section() {

			$return = array();

			// Preview a random single post for Single Post section.
			$posts = get_posts(
				array(
					'post_type'      => 'post',
					'posts_per_page' => 1,
					'orderby'        => 'rand',
				)
			);

			if ( count( $posts ) ) {
				$return['bloglo_section_blog_single_post'] = get_permalink( $posts[0] );
			}

			// Preview blog page.
			$return['bloglo_section_blog_page'] = bloglo_get_blog_url();

			return $return;
		}
	}
endif;
inc/customizer/widgets/class-bloglo-customizer-widget-darkmode.php000064400000004324152425655560021552 0ustar00<?php
/**
 * Bloglo Customizer widgets class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Widget_Darkmode' ) ) :

	/**
	 * Bloglo Customizer widget class
	 */
	class Bloglo_Customizer_Widget_Darkmode extends Bloglo_Customizer_Widget {

		/**
		 * Menu Location for this widget
		 *
		 * @since 1.0.0
		 * @var string
		 */
		public $styles = array();

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @param array $args An array of the values for this widget.
		 */
		public function __construct( $args = array() ) {

			$values = array(
				'style'      => '',
				'visibility' => 'all',
			);

			$args['values'] = isset( $args['values'] ) ? wp_parse_args( $args['values'], $values ) : $values;

			$args['values']['style'] = sanitize_text_field( $args['values']['style'] );

			parent::__construct( $args );

			$this->name        = __( 'Dark mode', 'bloglo' );
			$this->description = __( 'A dark mode for your site.', 'bloglo' );
			$this->icon        = 'dashicons dashicons-lightbulb';
			$this->type        = 'darkmode';

			$this->styles = isset( $args['styles'] ) ? $args['styles'] : array();
		}

		/**
		 * Displays the form for this widget on the Widgets page of the WP Admin area.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function form() {

			if ( ! empty( $this->styles ) ) { ?>
				<p class="bloglo-widget-darkmode-style">
					<label for="widget-darkmode-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-style">
						<?php esc_html_e( 'Style', 'bloglo' ); ?>:
					</label>
					<select id="widget-darkmode-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-style" name="widget-darkmode[<?php echo esc_attr( $this->number ); ?>][style]" data-option-name="style">
						<?php foreach ( $this->styles as $key => $value ) { ?>
							<option 
								value="<?php echo esc_attr( $key ); ?>" 
								<?php selected( $key, $this->values['style'], true ); ?>>
								<?php echo esc_html( $value ); ?>
							</option>
						<?php } ?>
					</select>
				</p>
				<?php
			}
		}
	}
endif;
inc/customizer/widgets/class-bloglo-customizer-widget-button.php000064400000013704152425655560021301 0ustar00<?php
/**
 * Bloglo Customizer widgets class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Widget_Button' ) ) :

	/**
	 * Bloglo Customizer widget class
	 */
	class Bloglo_Customizer_Widget_Button extends Bloglo_Customizer_Widget {

		/**
		 * Menu Location for this widget
		 *
		 * @since 1.0.0
		 * @var string
		 */
		public $styles = array();

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @param array $args An array of the values for this widget.
		 */
		public function __construct( $args = array() ) {

			$values = array(
				'text'       => '',
				'url'        => '',
				'target'     => '_self',
				'class'      => '',
				'style'      => '',
				'visibility' => 'all',
			);

			$args['values'] = isset( $args['values'] ) ? wp_parse_args( $args['values'], $values ) : $values;

			$args['values']['text']       = wp_kses( $args['values']['text'], bloglo_get_allowed_html_tags() );
			$args['values']['url']        = esc_url_raw( $args['values']['url'] );
			$args['values']['target']     = sanitize_text_field( $args['values']['target'] );
			$args['values']['class']      = sanitize_text_field( $args['values']['class'] );
			$args['values']['style']      = sanitize_text_field( $args['values']['style'] );
			$args['values']['visibility'] = isset( $args['values']['visibility'] ) ? sanitize_text_field( $args['values']['visibility'] ) : 'hide-mobile-tablet';

			parent::__construct( $args );

			$this->name        = __( 'Button', 'bloglo' );
			$this->description = __( 'A button with custom link.', 'bloglo' );
			$this->icon        = 'dashicons dashicons-admin-links';
			$this->type        = 'button';
			$this->styles      = isset( $args['styles'] ) ? $args['styles'] : array();
		}

		/**
		 * Displays the form for this widget on the Widgets page of the WP Admin area.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function form() {
			?>
			<!-- Text -->
			<p>
				<label for="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-text"><?php esc_html_e( 'Text', 'bloglo' ); ?>:</label>
				<input 
					type="text" 
					id="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-text" 
					name="widget-button[<?php echo esc_attr( $this->number ); ?>][text]" 
					data-option-name="text" 
					value="<?php echo esc_html( $this->values['text'] ); ?>" 
					placeholder="<?php esc_attr_e( 'Button Text', 'bloglo' ); ?>"/>
			</p>

			<!-- URL -->
			<p>
				<label for="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-url"><?php esc_html_e( 'URL', 'bloglo' ); ?>:</label>
				<input 
					type="text" 
					id="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-url" 
					name="widget-button[<?php echo esc_attr( $this->number ); ?>][url]" 
					data-option-name="url" 
					value="<?php echo esc_html( $this->values['url'] ); ?>" 
					placeholder="<?php esc_attr_e( 'Button URL', 'bloglo' ); ?>" />
			</p>

			<!-- Target -->
			<p>
				<label for="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-target"><?php esc_html_e( 'Open link in', 'bloglo' ); ?>:</label>
				<span class="buttonset">
					<input 
						class="switch-input screen-reader-text" 
						type="radio" 
						value="_self" 
						name="widget-button[<?php echo esc_attr( $this->number ); ?>][target]" 
						id="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-target-_self" 
						<?php checked( '_self', $this->values['target'], true ); ?> 
						data-option-name="target">
						<label 
							class="switch-label" 
							for="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-target-_self">
							<?php esc_html_e( 'Same Tab', 'bloglo' ); ?>
						</label>
					</input>
					<input 
						class="switch-input screen-reader-text" 
						type="radio" 
						value="_blank" 
						name="widget-button[<?php echo esc_attr( $this->number ); ?>][target]" 
						id="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-target-_blank" 
						<?php checked( '_blank', $this->values['target'], true ); ?> 
						data-option-name="target">
						<label 
							class="switch-label" 
							for="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-target-_blank">
							<?php esc_html_e( 'New Tab', 'bloglo' ); ?>
						</label>
					</input>
				</span>
			</p>

			<?php if ( ! empty( $this->styles ) ) { ?>
				<!-- Styles -->
				<p class="bloglo-widget-button-style">
					<label for="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-style">
						<?php esc_html_e( 'Style', 'bloglo' ); ?>:
					</label>
					<select id="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-style" name="widget-button[<?php echo esc_attr( $this->number ); ?>][style]" data-option-name="style">
						<?php foreach ( $this->styles as $key => $value ) { ?>
							<option 
								value="<?php echo esc_attr( $key ); ?>" 
								<?php selected( $key, $this->values['style'], true ); ?>>
								<?php echo esc_html( $value ); ?>
							</option>
						<?php } ?>
					</select>
				</p>
			<?php } ?>

			<!-- Class -->
			<p>
				<label for="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-class"><?php esc_html_e( 'Additional class', 'bloglo' ); ?>:</label>
				<input 
					type="text" 
					id="widget-button-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-class" 
					name="widget-button[<?php echo esc_attr( $this->number ); ?>][class]" 
					data-option-name="class" 
					value="<?php echo esc_html( $this->values['class'] ); ?>" />
			</p>
			<?php
		}
	}
endif;
inc/customizer/widgets/class-bloglo-customizer-widget-socials.php000064400000006100152425655560021413 0ustar00<?php
/**
 * Bloglo Customizer widgets class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Widget_Socials' ) ) :

	/**
	 * Bloglo Customizer widget class
	 */
	class Bloglo_Customizer_Widget_Socials extends Bloglo_Customizer_Widget_Nav {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @param array $args An array of the values for this widget.
		 */
		public function __construct( $args = array() ) {

			$values = array(
				'style'      => '',
				'size'       => '',
				'visibility' => 'all',
			);

			$args['values'] = isset( $args['values'] ) ? wp_parse_args( $args['values'], $values ) : $values;

			$args['values']['style'] = sanitize_text_field( $args['values']['style'] );
			$args['values']['size']  = sanitize_text_field( $args['values']['size'] );

			parent::__construct( $args );

			$this->name        = __( 'Social Links', 'bloglo' );
			$this->description = __( 'Links to your social media profiles.', 'bloglo' );
			$this->icon        = 'dashicons dashicons-twitter';
			$this->type        = 'socials';
			$this->styles      = isset( $args['styles'] ) ? $args['styles'] : array();
			$this->sizes       = isset( $args['sizes'] ) ? $args['sizes'] : array();
		}

		/**
		 * Displays the form for this widget on the Widgets page of the WP Admin area.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function form() {

			parent::form();

			if ( ! empty( $this->styles ) ) { ?>
				<p class="bloglo-widget-socials-style">
					<label for="widget-socials-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-style">
						<?php esc_html_e( 'Style', 'bloglo' ); ?>:
					</label>
					<select id="widget-socials-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-style" name="widget-socials[<?php echo esc_attr( $this->number ); ?>][style]" data-option-name="style">
						<?php foreach ( $this->styles as $key => $value ) { ?>
							<option 
								value="<?php echo esc_attr( $key ); ?>" 
								<?php selected( $key, $this->values['style'], true ); ?>>
								<?php echo esc_html( $value ); ?>
							</option>
						<?php } ?>
					</select>
				</p>
				<?php
			}

			if ( ! empty( $this->sizes ) ) {
				?>
				<p class="bloglo-widget-socials-size">
					<label for="widget-socials-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-size">
						<?php esc_html_e( 'Size', 'bloglo' ); ?>:
					</label>
					<select id="widget-socials-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-size" name="widget-socials[<?php echo esc_attr( $this->number ); ?>][size]" data-option-name="size">
						<?php foreach ( $this->sizes as $key => $value ) { ?>
							<option 
								value="<?php echo esc_attr( $key ); ?>" 
								<?php selected( $key, $this->values['size'], true ); ?>>
								<?php echo esc_html( $value ); ?>
							</option>
						<?php } ?>
					</select>
				</p>
				<?php
			}
		}
	}
endif;
inc/customizer/widgets/class-bloglo-customizer-widget-nav.php000064400000005047152425655560020553 0ustar00<?php
/**
 * Bloglo Customizer widgets class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Widget_Nav' ) ) :

	/**
	 * Bloglo Customizer widget class
	 */
	class Bloglo_Customizer_Widget_Nav extends Bloglo_Customizer_Widget {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @param array $args An array of the values for this widget.
		 */
		public function __construct( $args = array() ) {

			$values = array(
				'menu'       => '',
				'visibility' => 'all',
			);

			$args['values'] = isset( $args['values'] ) ? wp_parse_args( $args['values'], $values ) : $values;

			parent::__construct( $args );

			$this->name        = __( 'Navigation', 'bloglo' );
			$this->description = __( 'Add a navigation menu.', 'bloglo' );
			$this->icon        = 'dashicons dashicons-menu';
			$this->type        = 'nav';
		}

		/**
		 * Displays the form for this widget on the Widgets page of the WP Admin area.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function form() {

			$menus = wp_get_nav_menus();

			$has_menu_class = ! empty( $menus ) ? 'bloglo-widget-nav-has-menu' : '';
			?>
			<div class="bloglo-widget-nav-container <?php echo esc_attr( $has_menu_class ); ?>">
				<p class="bloglo-widget-nav-selected">
					<label for="widget-nav-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-menu">
						<?php echo esc_html_x( 'Select Menu:', 'Widget', 'bloglo' ); ?>
					</label>

					<select id="widget-nav-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-menu" name="widget-nav-<?php echo esc_attr( $this->number ); ?>-menu" data-option-name="menu">
						<option value="0"><?php echo esc_html_x( '&mdash; Select &mdash;', 'Widget', 'bloglo' ); ?></option>

						<?php if ( ! empty( $menus ) ) { ?>
							<?php foreach ( $menus as $menu ) { ?>
							<option value="<?php echo esc_attr( $menu->slug ); ?>" <?php selected( $this->values['menu'], $menu->slug ); ?>>
								<?php echo esc_html( $menu->name ); ?>
							</option>
							<?php } ?>
						<?php } ?>
					</select>
				</p>

				<p class="bloglo-widget-nav-empty">
					<?php
					printf(
						/* Translators: %1$s - anchor tag start. %2$s anchor tag end. */
						esc_html__( 'No menus found: %1$sCreate a new menu?%2$s', 'bloglo' ),
						'<a href="' . esc_url( admin_url( 'nav-menus.php' ) ) . '">',
						'</a>'
					);
					?>
				</p>

			</div>
			<?php
		}
	}
endif;
inc/customizer/widgets/class-bloglo-customizer-widget-text.php000064400000004364152425655560020754 0ustar00<?php
/**
 * Bloglo Customizer widgets class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Widget_Text' ) ) :

	/**
	 * Bloglo Customizer widget class
	 */
	class Bloglo_Customizer_Widget_Text extends Bloglo_Customizer_Widget {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @param array $args An array of the values for this widget.
		 */
		public function __construct( $args = array() ) {

			$args['name']        = __( 'Text', 'bloglo' );
			$args['description'] = __( 'Arbitrary text.', 'bloglo' );
			$args['icon']        = 'dashicons dashicons-text';
			$args['type']        = 'text';

			$values = array(
				'content'    => esc_html__( 'Text widget content goes here...', 'bloglo' ),
				'visibility' => 'all',
			);

			$args['values'] = isset( $args['values'] ) ? wp_parse_args( $args['values'], $values ) : $values;

			$args['values']['content'] = wp_kses( $args['values']['content'], bloglo_get_allowed_html_tags() );

			parent::__construct( $args );
		}

		/**
		 * Displays the form for this widget on the Widgets page of the WP Admin area.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function form() {
			?>
			<p>
				<label for="widget-text-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-content"><?php esc_html_e( 'Content', 'bloglo' ); ?>:</label>
				<textarea class="widefat" id="widget-text-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-content" name="widget-text[<?php echo esc_attr( $this->number ); ?>][content]" data-option-name="content" rows="4"><?php echo wp_kses( $this->values['content'], bloglo_get_allowed_html_tags() ); ?></textarea>
				<span class="description">
					<?php
					echo wp_kses_post(
						sprintf(
							/* translators: %1$s is opening anchor tag, %2$s is a closing anchor tag. */
							__( 'Shortcodes and basic html elements allowed.', 'bloglo' ),
							'<a href="' . esc_url( 'http://docs.peregrine-themes.com/bloglo-dynamic-strings/' ) . '" target="_blank" rel="noopener noreferrer">',
							'</a>'
						)
					);
					?>

				</span>
			</p>
			<?php
		}
	}
endif;
inc/customizer/widgets/class-bloglo-customizer-widget-search.php000064400000004302152425655560021225 0ustar00<?php
/**
 * Bloglo Customizer widgets class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Widget_Search' ) ) :

	/**
	 * Bloglo Customizer widget class
	 */
	class Bloglo_Customizer_Widget_Search extends Bloglo_Customizer_Widget {

		/**
		 * Menu Location for this widget
		 *
		 * @since 1.0.0
		 * @var string
		 */
		public $styles = array();

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @param array $args An array of the values for this widget.
		 */
		public function __construct( $args = array() ) {

			$values = array(
				'style'      => '',
				'visibility' => 'all',
			);

			$args['values'] = isset( $args['values'] ) ? wp_parse_args( $args['values'], $values ) : $values;

			$args['values']['style'] = sanitize_text_field( $args['values']['style'] );

			parent::__construct( $args );

			$this->name        = __( 'Search', 'bloglo' );
			$this->description = __( 'A search form for your site.', 'bloglo' );
			$this->icon        = 'dashicons dashicons-search';
			$this->type        = 'search';

			$this->styles = isset( $args['styles'] ) ? $args['styles'] : array();
		}

		/**
		 * Displays the form for this widget on the Widgets page of the WP Admin area.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function form() {

			if ( ! empty( $this->styles ) ) { ?>
				<p class="bloglo-widget-search-style">
					<label for="widget-search-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-style">
						<?php esc_html_e( 'Style', 'bloglo' ); ?>:
					</label>
					<select id="widget-search-<?php echo esc_attr( $this->id ); ?>-<?php echo esc_attr( $this->number ); ?>-style" name="widget-search[<?php echo esc_attr( $this->number ); ?>][style]" data-option-name="style">
						<?php foreach ( $this->styles as $key => $value ) { ?>
							<option 
								value="<?php echo esc_attr( $key ); ?>" 
								<?php selected( $key, $this->values['style'], true ); ?>>
								<?php echo esc_html( $value ); ?>
							</option>
						<?php } ?>
					</select>
				</p>
				<?php
			}
		}
	}
endif;
inc/customizer/widgets/class-bloglo-customizer-widget.php000064400000016364152425655560017775 0ustar00<?php
/**
 * Bloglo Customizer widgets class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Widget' ) ) :

	/**
	 * Bloglo Customizer widget class
	 */
	class Bloglo_Customizer_Widget {

		/**
		 * Root ID for all widgets of this type.
		 *
		 * @since 1.0.0
		 * @var mixed|string
		 */
		public $id_base;

		/**
		 * Unique ID string of the current instance (id_base-number).
		 *
		 * @since 1.0.0
		 * @var bool|string
		 */
		public $id;

		/**
		 * Name for this widget type.
		 *
		 * @since 1.0.0
		 * @var string
		 */
		public $name;

		/**
		 * Icon for this widget type.
		 *
		 * @since 1.0.0
		 * @var string
		 */
		public $icon;

		/**
		 * Type of widget. Shortened for id_base.
		 *
		 * @since 1.0.0
		 * @var bool|string
		 */
		public $type;

		/**
		 * Description for this widget type.
		 *
		 * @since 1.0.0
		 * @var string
		 */
		public $description;

		/**
		 * Option name for this widget type.
		 *
		 * @since 1.0.0
		 * @var string
		 */
		public $option_name;

		/**
		 * Option name for this widget type.
		 *
		 * @since 1.0.0
		 * @var string
		 */
		public $values;

		/**
		 * Style
		 *
		 * @since 1.0.0
		 * @var string
		 */
		public $styles;

        /**
         * Sizes
         * Since 1.1.10
         * @var array
         */
        public $sizes;

		/**
		 * Unique ID number of the current instance.
		 *
		 * @since 1.0.0
		 * @var bool|int
		 */
		public $number = false;

		/**
		 * Array of locations for widgets.
		 *
		 * @var array
		 */
		public $locations = array();

		/**
		 * Array of locations for widgets.
		 *
		 * @var array
		 */
		public $visibility = array();

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @param array $args Array with widget information.
		 */
		public function __construct( $args = array() ) {

			$this->id_base     = isset( $args['id_base'] ) ? strtolower( $args['id_base'] ) : strtolower( get_class( $this ) );
			$this->name        = isset( $args['name'] ) ? $args['name'] : get_class( $this );
			$this->description = isset( $args['description'] ) ? $args['description'] : '';
			$this->id          = isset( $args['id'] ) ? $this->id_base . '_' . $args['id'] : $this->id_base;
			$this->icon        = isset( $args['icon'] ) ? $args['icon'] : 'dashicons dashicons-plus';
			$this->option_name = 'bloglo_customizer_widget_' . $this->id_base;
			$this->values      = isset( $args['values'] ) ? $args['values'] : array();
			$this->number      = isset( $args['number'] ) ? intval( $args['number'] ) : '__i__';
			$this->type        = isset( $args['type'] ) ? $args['type'] : '';
			$this->locations   = isset( $args['locations'] ) ? $args['locations'] : array();
			$this->visibility  = isset( $args['visibility'] ) ? $args['visibility'] : array();
		}

		/**
		 * Displays the form fields for this widget.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function form() {}

		/**
		 * Displays the complete widget control.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function template() {
			?>
			<div class="widget" id="bloglo_widget-<?php echo esc_attr( $this->id_base ); ?>-<?php echo esc_attr( $this->number ); ?>" data-widget-base="<?php echo esc_attr( $this->id_base ); ?>" data-widget-type="<?php echo esc_attr( $this->type ); ?>">

				<div class="widget-top">		

					<div class="widget-title-action">
						<button type="button" class="widget-action" aria-expanded="false">
							<span class="screen-reader-text"><?php esc_html_e( 'Edit widget:', 'bloglo' ); ?> <?php echo esc_html( $this->name ); ?></span>
							<span class="toggle-indicator" aria-hidden="true"></span>
						</button>
					</div>

					<div class="widget-title">
						<i class="<?php echo esc_attr( $this->icon ); ?>"></i>
						<h3><?php echo esc_html( $this->name ); ?></h3>
					</div><!-- END .widget-title -->

					<span class="in-widget-title"></span>
				</div><!-- END .widget-top -->

				<div class="widget-inside">

					<div class="form">
						<div class="widget-content">
							<?php
							$this->form();
							?>

							<?php if ( isset( $this->locations ) && is_array( $this->locations ) && ! empty( $this->locations ) ) { ?>

								<?php $current_location = isset( $this->values['location'] ) ? $this->values['location'] : key( $this->locations ); ?>

								<p>
									<label for="bloglo-widget-location"><?php esc_html_e( 'Widget Location', 'bloglo' ); ?></label>

									<span class="buttonset">
										<?php foreach ( $this->locations as $id => $name ) { ?>
											<input 
												class="switch-input screen-reader-text" 
												type="radio" 
												value="<?php echo esc_attr( $id ); ?>" 
												name="_customize-widget-location-<?php echo esc_attr( $this->number ); ?>-<?php echo esc_attr( $this->id ); ?>" 
												id="<?php echo esc_attr( $this->id ) . '-' . esc_attr( $this->number ) . '-' . esc_attr( $id ); ?>-location" 
												<?php checked( $id, $current_location, true ); ?> 
												data-option-name="location">
												<label 
													class="switch-label" 
													for="<?php echo esc_attr( $this->id ) . '-' . esc_attr( $this->number ) . '-' . esc_attr( $id ); ?>-location"><?php echo esc_html( $name ); ?>
												</label>
											</input>
										<?php } ?>
									</span>

								</p>
							<?php } ?>

							<?php if ( isset( $this->visibility ) && is_array( $this->visibility ) && ! empty( $this->visibility ) ) { ?>

								<?php $current_visibility = isset( $this->values['visibility'] ) ? $this->values['visibility'] : key( array_reverse( $this->visibility ) ); ?>

								<p>
									<label for="bloglo-widget-visibility"><?php esc_html_e( 'Visibility', 'bloglo' ); ?></label>

									<select 
										name="_customize-widget-visibility-<?php echo esc_attr( $this->number ); ?>-<?php echo esc_attr( $this->id ); ?>"
										id="<?php echo esc_attr( $this->id ) . '-' . esc_attr( $this->number ) . '-' . esc_attr( $id ); ?>"
										data-option-name="visibility"
										>
										<?php foreach ( $this->visibility as $id => $name ) { ?>
											<option value="<?php echo esc_attr( $id ); ?>" <?php selected( $id, $current_visibility, true ); ?>>
												<?php echo esc_html( $name ); ?>
											</option> 
										<?php } ?>
									</select>

								</p>
							<?php } ?>

						</div><!-- .widget-content -->

						<div class="widget-control-actions">
							<div class="alignleft">
								<button type="button" class="button-link button-link-delete widget-control-remove"><?php esc_html_e( 'Delete', 'bloglo' ); ?></button>
								<span class="widget-control-close-wrapper">
									|
									<button type="button" class="button-link widget-control-close"><?php esc_html_e( 'Done', 'bloglo' ); ?></button>
								</span>
							</div>

							<div class="alignright">
								<!-- <span class="spinner"></span> -->
							</div>

							<br class="clear">
						</div>
					</div>
				</div>
				<!-- END .widget-inside -->

				<?php if ( ! empty( $this->description ) ) { ?>
					<div class="widget-description"><?php echo esc_html( $this->description ); ?></div><!-- END .widget-description -->
				<?php } ?>

			</div><!-- END .widget -->

			<?php
		}
	}
endif;
inc/customizer/class-bloglo-customizer-info-section.php000064400000004262152425655560017433 0ustar00<?php
/**
 * Custom section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Info_Section' ) ) :
	/**
	 * Custom section in Customizer.
	 */
	class Bloglo_Customizer_Info_Section extends WP_Customize_Section {

		/**
		 * The type of customize section being rendered.
		 *
		 * @since  1.0.0
		 * @var    string
		 */
		public $type = 'bloglo-info';

		/**
		 * Button style.
		 *
		 * @since  1.0.0
		 * @var    string
		 */
		public $style = '';

		/**
		 * Custom URL.
		 *
		 * @since  1.0.0
		 * @var    string
		 */
		public $url = '';

		/**
		 * Link target.
		 *
		 * @since  1.0.0
		 * @var    string
		 */
		public $target = '';

		/**
		 * Tagline.
		 *
		 * @since  1.0.0
		 * @var    string
		 */
		public $tagline = '';

		/**
		 * Add custom parameters to pass to the JS via JSON.
		 *
		 * @since  1.0.0
		 */
		public function json() {
			$json = parent::json();

			$json['url']     = $this->url;
			$json['target']  = $this->target;
			$json['tagline'] = $this->tagline;
			$json['style']   = $this->style ? ' ' . $this->style : false;

			return $json;
		}

		/**
		 * Outputs the Underscore.js template.
		 *
		 * @since  1.0.0
		 * @access public
		 * @return void
		 */
		protected function render_template() { ?>

		<li id="accordion-section-{{ data.id }}" class="accordion-section{{ data.style }} control-section control-section-{{ data.type }} cannot-expand">

			<h3 class="accordion-section-title">

				<# if ( data.url ) { #>

					<# if ( data.style ) { #>
						<a href="{{ data.url }}" target="{{ data.target }}" rel="noopener noreferrer" class="button button-primary button-large bloglo-info-link">{{ data.title }}
					<# } else { #>
						<a href="{{ data.url }}" target="{{ data.target }}" rel="noopener noreferrer" class="bloglo-info-link">{{ data.title }}
						<span class="dashicons dashicons-performance"></span>

						<# if ( data.tagline ) { #>
							<span class="bloglo-info-tagline">{{ data.tagline }}</span>
						<# } #>
					<# } #>
				</a>
				<# } #>
			</h3>
		</li>
			<?php
		}
	}
endif;
inc/customizer/settings/class-bloglo-customizer-main-navigation.php000064400000004446152425655560021763 0ustar00<?php
/**
 * Bloglo Main Navigation Settings section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Main_Navigation' ) ) :
	/**
	 * Bloglo Main Navigation Settings section in Customizer.
	 */
	class Bloglo_Customizer_Main_Navigation {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Main Navigation Section.
			$options['section']['bloglo_section_main_navigation'] = array(
				'title'    => esc_html__( 'Main Navigation', 'bloglo' ),
				'panel'    => 'bloglo_panel_header',
				'priority' => 30,
			);

			// Mobile Menu heading.
			$options['setting']['bloglo_main_nav_heading_mobile_menu'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-heading',
					'label'   => esc_html__( 'Mobile Menu', 'bloglo' ),
					'section' => 'bloglo_section_main_navigation',
				),
			);

			// Mobile Menu Breakpoint.
			$options['setting']['bloglo_main_nav_mobile_breakpoint'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'label'       => esc_html__( 'Mobile Breakpoint', 'bloglo' ),
					'description' => esc_html__( 'Choose the breakpoint (in px) when to show the mobile navigation.', 'bloglo' ),
					'section'     => 'bloglo_section_main_navigation',
					'min'         => 0,
					'max'         => 1920,
					'step'        => 1,
					'unit'        => 'px',
					'required'    => array(
						array(
							'control'  => 'bloglo_main_nav_heading_mobile_menu',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Main_Navigation();
inc/customizer/settings/index.php000064400000000225152425655560013217 0ustar00<?php
/**
 * Index file
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/* Silence is golden, and we agree. */
inc/customizer/settings/class-bloglo-customizer-buttons.php000064400000004000152425655560020362 0ustar00<?php
/**
 * Buttons section in Customizer » General Settings.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Buttons' ) ) :
	/**
	 * Buttons section in Customizer » General Settings.
	 */
	class Bloglo_Customizer_Buttons {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			$theme = wp_get_theme();
			// Upsell section
			$options['section']['bloglo_section_upsell_button'] = array(
				'class'    => 'Bloglo_Customizer_Control_Section_Pro',
				'title'    => esc_html__( 'Need more features?', 'bloglo' ),
				'pro_url'  => sprintf( esc_url_raw( 'https://peregrine-themes.com/%s' ), strtolower( $theme->name ) ),
				'pro_text' => esc_html__( 'Upgrade to pro', 'bloglo' ),
				'priority' => 60,
			);

			$options['setting']['bloglo_section_upsell_heading'] = array(
				'control' => array(
					'type'    => 'hidden',
					'section' => 'bloglo_section_upsell_button',
				),
			);
			// Docs link
			$options['section']['bloglo_section_docs_button'] = array(
				'class'    => 'Bloglo_Customizer_Control_Section_Pro',
				'title'    => esc_html__( 'Need Help?', 'bloglo' ),
				'pro_url'  => esc_url_raw( 'http://docs.peregrine-themes.com/' ),
				'pro_text' => esc_html__( 'See the Articles', 'bloglo' ),
				'priority' => 60,
			);

			$options['setting']['bloglo_section_docs_heading'] = array(
				'control' => array(
					'type'    => 'hidden',
					'section' => 'bloglo_section_docs_button',
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Buttons();
inc/customizer/settings/class-bloglo-customizer-logo.php000064400000014474152425655560017644 0ustar00<?php
/**
 * Bloglo Logo section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Logo' ) ) :
	/**
	 * Bloglo Logo section in Customizer.
	 */
	class Bloglo_Customizer_Logo {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Logo Retina.
			$options['setting']['bloglo_logo_default_retina'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_background',
				'control'           => array(
					'type'        => 'bloglo-background',
					'section'     => 'title_tagline',
					'label'       => esc_html__( 'Retina Logo', 'bloglo' ),
					'description' => esc_html__( 'Upload exactly 2x the size of your default logo to make your logo crisp on HiDPI screens. This options is not required if logo above is in SVG format.', 'bloglo' ),
					'priority'    => 20,
					'advanced'    => false,
					'strings'     => array(
						'select_image' => __( 'Select logo', 'bloglo' ),
						'use_image'    => __( 'Select', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'custom_logo',
							'value'    => false,
							'operator' => '!=',
						),
					),
				),
				'partial'           => array(
					'selector'            => '.bloglo-logo',
					'render_callback'     => 'bloglo_logo',
					'container_inclusive' => false,
					'fallback_refresh'    => true,
				),
			);

			// Logo Max Height.
			$options['setting']['bloglo_logo_max_height'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_responsive',
				'control'           => array(
					'type'        => 'bloglo-range',
					'label'       => esc_html__( 'Logo Height', 'bloglo' ),
					'description' => esc_html__( 'Maximum logo image height.', 'bloglo' ),
					'section'     => 'title_tagline',
					'priority'    => 30,
					'min'         => 0,
					'max'         => 1000,
					'step'        => 10,
					'unit'        => 'px',
					'responsive'  => true,
					'required'    => array(
						array(
							'control'  => 'custom_logo',
							'value'    => false,
							'operator' => '!=',
						),
					),
				),
			);

			// Logo margin.
			$options['setting']['bloglo_logo_margin'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_responsive',
				'control'           => array(
					'type'        => 'bloglo-spacing',
					'label'       => esc_html__( 'Logo Margin', 'bloglo' ),
					'description' => esc_html__( 'Specify spacing around logo. Negative values are allowed.', 'bloglo' ),
					'section'     => 'title_tagline',
					'settings'    => 'bloglo_logo_margin',
					'priority'    => 40,
					'choices'     => array(
						'top'    => esc_html__( 'Top', 'bloglo' ),
						'right'  => esc_html__( 'Right', 'bloglo' ),
						'bottom' => esc_html__( 'Bottom', 'bloglo' ),
						'left'   => esc_html__( 'Left', 'bloglo' ),
					),
					'responsive'  => true,
					'unit'        => array(
						'px',
					),
				),
			);

			// Show tagline.
			$options['setting']['bloglo_display_tagline'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-toggle',
					'label'    => esc_html__( 'Display Tagline', 'bloglo' ),
					'section'  => 'title_tagline',
					'settings' => 'bloglo_display_tagline',
					'priority' => 80,
				),
				'partial'           => array(
					'selector'            => '.bloglo-logo',
					'render_callback'     => 'bloglo_logo',
					'container_inclusive' => false,
					'fallback_refresh'    => true,
				),
			);

			// Site Identity heading.
			$options['setting']['bloglo_logo_heading_site_identity'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'label'    => esc_html__( 'Site Identity', 'bloglo' ),
					'section'  => 'title_tagline',
					'settings' => 'bloglo_logo_heading_site_identity',
					'priority' => 50,
					'toggle'   => false,
				),
			);

			// Logo typography heading.
			$options['setting']['bloglo_typography_logo_heading'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'label'    => esc_html__( 'Typography', 'bloglo' ),
					'section'  => 'title_tagline',
					'priority' => 100,
					'required' => array(
						array(
							'control'  => 'custom_logo',
							'value'    => false,
							'operator' => '==',
						),
					),
				),
			);

			// Site title font size.
			$options['setting']['bloglo_logo_text_font_size'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_responsive',
				'control'           => array(
					'type'       => 'bloglo-range',
					'label'      => esc_html__( 'Site Title Font Size', 'bloglo' ),
					'section'    => 'title_tagline',
					'priority'   => 100,
					'min'        => 8,
					'max'        => 30,
					'step'       => 1,
					'responsive' => true,
					'unit'       => array(
						array(
							'id'   => 'px',
							'name' => 'px',
							'min'  => 8,
							'max'  => 90,
							'step' => 1,
						),
						array(
							'id'   => 'em',
							'name' => 'em',
							'min'  => 0.5,
							'max'  => 5,
							'step' => 0.01,
						),
						array(
							'id'   => 'rem',
							'name' => 'rem',
							'min'  => 0.5,
							'max'  => 5,
							'step' => 0.01,
						),
					),
					'required'   => array(
						array(
							'control'  => 'custom_logo',
							'value'    => false,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_typography_logo_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Logo();
inc/customizer/settings/class-bloglo-customizer-ticker.php000064400000016333152425655560020161 0ustar00<?php
/**
 * Bloglo Ticker section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Ticker' ) ) :
	/**
	 * Bloglo Ticker section in Customizer.
	 */
	class Bloglo_Customizer_Ticker {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {
			// Ticker News Section.
			$options['section']['bloglo_section_ticker'] = array(
				'title'    => esc_html__( 'Ticker News', 'bloglo' ),
				'priority' => 3,
			);

			// Ticker News enable.
			$options['setting']['bloglo_enable_ticker'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-toggle',
					'section' => 'bloglo_section_ticker',
					'label'   => esc_html__( 'Enable Ticker News Section', 'bloglo' ),
				),
			);

			// Title.
			$options['setting']['bloglo_ticker_title'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'sanitize_text_field',
				'control'           => array(
					'type'     => 'bloglo-text',
					'section'  => 'bloglo_section_ticker',
					'label'    => esc_html__( 'Title', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_ticker',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Ticker News display on.
			$options['setting']['bloglo_ticker_enable_on'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_no_sanitize',
				'control'           => array(
					'type'        => 'bloglo-checkbox-group',
					'label'       => esc_html__( 'Enable On: ', 'bloglo' ),
					'description' => esc_html__( 'Choose on which pages you want to enable Ticker News. ', 'bloglo' ),
					'section'     => 'bloglo_section_ticker',
					'choices'     => array(
						'home'       => array(
							'title' => esc_html__( 'Home Page', 'bloglo' ),
						),
						'posts_page' => array(
							'title' => esc_html__( 'Blog / Posts Page', 'bloglo' ),
						),
						'archive'    => array(
							'title' => esc_html__( 'Archive Page', 'bloglo' ),
						),
						'search'     => array(
							'title' => esc_html__( 'Search Page', 'bloglo' ),
						),
						'post'       => array(
							'title' => esc_html__( 'Single Post', 'bloglo' ),
						),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_ticker',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Post Settings heading.
			$options['setting']['bloglo_ticker_posts'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'section'  => 'bloglo_section_ticker',
					'label'    => esc_html__( 'Post Settings', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_ticker',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_ticker_type',
							'value'    => 'hover-slider',
							'operator' => '==',
						),
					),
				),
			);

			// Post count.
			$options['setting']['bloglo_ticker_post_number'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'section'     => 'bloglo_section_ticker',
					'label'       => esc_html__( 'Post Number', 'bloglo' ),
					'description' => esc_html__( 'Set the number of visible posts.', 'bloglo' ),
					'min'         => 1,
					'max'         => 500,
					'step'        => 1,
					'unit'        => '',
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_ticker',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_ticker_posts',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_ticker_type',
							'value'    => 'hover-slider',
							'operator' => '==',
						),
					),
				),
			);

			// Post category.
			$options['setting']['bloglo_ticker_category'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'section'     => 'bloglo_section_ticker',
					'label'       => esc_html__( 'Category', 'bloglo' ),
					'description' => esc_html__( 'Display posts from selected category only. Leave empty to include all.', 'bloglo' ),
					'is_select2'  => true,
					'data_source' => 'category',
					'multiple'    => true,
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_ticker',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_ticker_posts',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_ticker_type',
							'value'    => 'hover-slider',
							'operator' => '==',
						),
					),
				),
			);

			// Ticker Slider heading.
			$options['setting']['bloglo_ticker_style'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'section'  => 'bloglo_section_ticker',
					'label'    => esc_html__( 'Style', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_ticker',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_ticker_type',
							'value'    => 'hover-slider',
							'operator' => '==',
						),
					),
				),
			);

			// Ticker Slider Elements.
			$options['setting']['bloglo_ticker_elements'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_sortable',
				'control'           => array(
					'type'     => 'bloglo-sortable',
					'section'  => 'bloglo_section_ticker',
					'label'    => esc_html__( 'Post Elements', 'bloglo' ),
					'sortable' => false,
					'choices'  => array(
						'meta' => esc_html__( 'Post Date', 'bloglo' ),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_ticker',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_ticker_style',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_ticker_type',
							'value'    => 'hover-slider',
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#ticker',
					'render_callback'     => 'bloglo_blog_ticker',
					'container_inclusive' => true,
					'fallback_refresh'    => true,
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Ticker();
inc/customizer/settings/class-bloglo-customizer-copyright-settings.php000064400000016030152425655560022540 0ustar00<?php
/**
 * Bloglo Copyright Bar section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Copyright_Settings' ) ) :
	/**
	 * Bloglo Copyright Bar section in Customizer.
	 */
	class Bloglo_Customizer_Copyright_Settings {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			// Registers our custom options in Customizer.
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Section.
			$options['section']['bloglo_section_copyright_bar'] = array(
				'title'    => esc_html__( 'Copyright Bar', 'bloglo' ),
				'priority' => 30,
				'panel'    => 'bloglo_panel_footer',
			);

			// Enable Copyright Bar.
			$options['setting']['bloglo_enable_copyright'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-toggle',
					'label'   => esc_html__( 'Enable Copyright Bar', 'bloglo' ),
					'section' => 'bloglo_section_copyright_bar',
				),
			);

			// Copyright Layout.
			$options['setting']['bloglo_copyright_layout'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-radio-image',
					'section'     => 'bloglo_section_copyright_bar',
					'label'       => esc_html__( 'Copyright Layout', 'bloglo' ),
					'description' => esc_html__( 'Choose your site&rsquo;s copyright widgets layout.', 'bloglo' ),
					'choices'     => array(
						'layout-1' => array(
							'image' => BLOGLO_THEME_URI . '/inc/customizer/assets/images/copyright-layout-1.svg',
							'title' => esc_html__( 'Centered', 'bloglo' ),
						),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_copyright',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Copyright widgets heading.
			$options['setting']['bloglo_copyright_heading_widgets'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-heading',
					'section'     => 'bloglo_section_copyright_bar',
					'label'       => esc_html__( 'Copyright Bar Widgets', 'bloglo' ),
					'description' => esc_html__( 'Click the Add Widget button to add available widgets to your Copyright Bar.', 'bloglo' ),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_copyright',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Copyright widgets.
			$options['setting']['bloglo_copyright_widgets'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_widget',
				'control'           => array(
					'type'       => 'bloglo-widget',
					'section'    => 'bloglo_section_copyright_bar',
					'label'      => esc_html__( 'Copyright Bar Widgets', 'bloglo' ),
					'widgets'    => array(
						'text' => array(
							'max_uses' => 1,
						),
						'nav'  => array(
							'menu_location' => apply_filters( 'bloglo_footer_menu_location', 'bloglo-footer' ),
							'max_uses'      => 1,
						),
					),
					'locations'  => array(
						'start' => esc_html__( 'Start', 'bloglo' ),
						'end'   => esc_html__( 'End', 'bloglo' ),
					),
					'visibility' => array(
						'all'                => esc_html__( 'Show on All Devices', 'bloglo' ),
						'hide-mobile'        => esc_html__( 'Hide on Mobile', 'bloglo' ),
						'hide-tablet'        => esc_html__( 'Hide on Tablet', 'bloglo' ),
						'hide-mobile-tablet' => esc_html__( 'Hide on Mobile and Tablet', 'bloglo' ),
					),
					'required'   => array(
						array(
							'control'  => 'bloglo_copyright_heading_widgets',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_enable_copyright',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#bloglo-copyright',
					'render_callback'     => 'bloglo_copyright_bar_output',
					'container_inclusive' => true,
					'fallback_refresh'    => true,
				),
			);

			// Copyright design options heading.
			$options['setting']['bloglo_copyright_heading_design_options'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'section'  => 'bloglo_section_copyright_bar',
					'label'    => esc_html__( 'Design Options', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_copyright',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Copyright Background.
			$options['setting']['bloglo_copyright_background'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'section'  => 'bloglo_section_copyright_bar',
					'label'    => esc_html__( 'Background', 'bloglo' ),
					'space'    => true,
					'display'  => array(
						'background' => array(
							'color'    => esc_html__( 'Solid Color', 'bloglo' ),
							'gradient' => esc_html__( 'Gradient', 'bloglo' ),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_copyright_heading_design_options',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_enable_copyright',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Copyright Text Color.
			$options['setting']['bloglo_copyright_text_color'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'        => 'bloglo-design-options',
					'section'     => 'bloglo_section_copyright_bar',
					'label'       => esc_html__( 'Font Color', 'bloglo' ),
					'description' => '',
					'space'       => true,
					'display'     => array(
						'color' => array(
							'text-color'       => esc_html__( 'Text Color', 'bloglo' ),
							'link-color'       => esc_html__( 'Link Color', 'bloglo' ),
							'link-hover-color' => esc_html__( 'Link Hover Color', 'bloglo' ),
						),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_copyright_heading_design_options',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_enable_copyright',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}

	}
endif;
new Bloglo_Customizer_Copyright_Settings();
inc/customizer/settings/class-bloglo-customizer-pyml.php000064400000015667152425655560017672 0ustar00<?php
/**
 * Bloglo PYML section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_PYML' ) ) :
	/**
	 * Bloglo PYML section in Customizer.
	 */
	class Bloglo_Customizer_PYML {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {
			// Posts You Might Like Section.
			$options['section']['bloglo_section_pyml'] = array(
				'title'    => esc_html__( 'Posts You Might Like', 'bloglo' ),
				'priority' => 3,
			);

			// Posts You Might Like enable.
			$options['setting']['bloglo_enable_pyml'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-toggle',
					'section' => 'bloglo_section_pyml',
					'label'   => esc_html__( 'Enable Posts You Might Like Section', 'bloglo' ),
				),
			);

			// Title.
			$options['setting']['bloglo_pyml_title'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'sanitize_text_field',
				'control'           => array(
					'type'     => 'bloglo-text',
					'section'  => 'bloglo_section_pyml',
					'label'    => esc_html__( 'Title', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_pyml',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Posts You Might Like display on.
			$options['setting']['bloglo_pyml_enable_on'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_no_sanitize',
				'control'           => array(
					'type'        => 'bloglo-checkbox-group',
					'label'       => esc_html__( 'Enable On: ', 'bloglo' ),
					'description' => esc_html__( 'Choose on which pages you want to enable Posts You Might Like. ', 'bloglo' ),
					'section'     => 'bloglo_section_pyml',
					'choices'     => array(
						'home'       => array(
							'title' => esc_html__( 'Home Page', 'bloglo' ),
						),
						'posts_page' => array(
							'title' => esc_html__( 'Blog / Posts Page', 'bloglo' ),
						),
						'archive'    => array(
							'title' => esc_html__( 'Archive Page', 'bloglo' ),
						),
						'search'     => array(
							'title' => esc_html__( 'Search Page', 'bloglo' ),
						),
						'post'       => array(
							'title' => esc_html__( 'Single Post', 'bloglo' ),
						),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_pyml',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// PYML heading.
			$options['setting']['bloglo_pyml_style'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'section'  => 'bloglo_section_pyml',
					'label'    => esc_html__( 'Style', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_pyml',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// PYML Elements.
			$options['setting']['bloglo_pyml_elements'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_sortable',
				'control'           => array(
					'type'        => 'bloglo-sortable',
					'section'     => 'bloglo_section_pyml',
					'label'       => esc_html__( 'Post Elements', 'bloglo' ),
					'description' => esc_html__( 'Set order and visibility for post elements.', 'bloglo' ),
					'sortable'    => false,
					'choices'     => array(
						'category' => esc_html__( 'Categories', 'bloglo' ),
						'meta'     => esc_html__( 'Post Details', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_pyml',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_pyml_style',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#pyml',
					'render_callback'     => 'bloglo_blog_pyml',
					'container_inclusive' => true,
					'fallback_refresh'    => true,
				),
			);

			// Post Settings heading.
			$options['setting']['bloglo_pyml_posts'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'section'  => 'bloglo_section_pyml',
					'label'    => esc_html__( 'Post Settings', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_pyml',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Post count.
			$options['setting']['bloglo_pyml_post_number'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'section'     => 'bloglo_section_pyml',
					'label'       => esc_html__( 'Post Number', 'bloglo' ),
					'description' => esc_html__( 'Set the number of visible posts.', 'bloglo' ),
					'min'         => 1,
					'max'         => 4,
					'step'        => 1,
					'unit'        => '',
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_pyml',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_pyml_posts',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#pyml',
					'render_callback'     => 'bloglo_blog_pyml',
					'container_inclusive' => true,
					'fallback_refresh'    => true,
				),
			);

			// Post category.
			$options['setting']['bloglo_pyml_category'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'section'     => 'bloglo_section_pyml',
					'label'       => esc_html__( 'Category', 'bloglo' ),
					'description' => esc_html__( 'Display posts from selected category only. Leave empty to include all.', 'bloglo' ),
					'is_select2'  => true,
					'data_source' => 'category',
					'multiple'    => true,
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_pyml',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_pyml_posts',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}

	}
endif;
new Bloglo_Customizer_PYML();
inc/customizer/settings/class-bloglo-customizer-page-header.php000064400000011325152425655560021036 0ustar00<?php
/**
 * Bloglo Page Title Settings section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Page_Header' ) ) :
	/**
	 * Bloglo Page Title Settings section in Customizer.
	 */
	class Bloglo_Customizer_Page_Header {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Page Title Section.
			$options['section']['bloglo_section_page_header'] = array(
				'title'    => esc_html__( 'Page Header', 'bloglo' ),
				'panel'    => 'bloglo_panel_header',
				'priority' => 60,
			);

			// Page Header enable.
			$options['setting']['bloglo_page_header_enable'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-toggle',
					'label'   => esc_html__( 'Enable Page Header', 'bloglo' ),
					'section' => 'bloglo_section_page_header',
				),
			);

			// Spacing.
			$options['setting']['bloglo_page_header_spacing'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_responsive',
				'control'           => array(
					'type'        => 'bloglo-spacing',
					'label'       => esc_html__( 'Page Title Spacing', 'bloglo' ),
					'description' => esc_html__( 'Specify Page Title top and bottom padding.', 'bloglo' ),
					'section'     => 'bloglo_section_page_header',
					'choices'     => array(
						'top'    => esc_html__( 'Top', 'bloglo' ),
						'bottom' => esc_html__( 'Bottom', 'bloglo' ),
					),
					'responsive'  => true,
					'unit'        => array(
						'px',
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_page_header_enable',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Page Header design options heading.
			$options['setting']['bloglo_page_header_heading_design'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'label'    => esc_html__( 'Design Options', 'bloglo' ),
					'section'  => 'bloglo_section_page_header',
					'required' => array(
						array(
							'control'  => 'bloglo_page_header_enable',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Page Header background design.
			$options['setting']['bloglo_page_header_background'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'label'    => esc_html__( 'Background', 'bloglo' ),
					'section'  => 'bloglo_section_page_header',
					'display'  => array(
						'background' => array(
							'color'    => esc_html__( 'Solid Color', 'bloglo' ),
							'gradient' => esc_html__( 'Gradient', 'bloglo' ),
							'image'    => esc_html__( 'Image', 'bloglo' ),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_page_header_enable',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_page_header_heading_design',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Page Header Text Color.
			$options['setting']['bloglo_page_header_text_color'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'label'    => esc_html__( 'Font Color', 'bloglo' ),
					'section'  => 'bloglo_section_page_header',
					'display'  => array(
						'color' => array(
							'text-color'       => esc_html__( 'Text Color', 'bloglo' ),
							'link-color'       => esc_html__( 'Link Color', 'bloglo' ),
							'link-hover-color' => esc_html__( 'Link Hover Color', 'bloglo' ),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_page_header_enable',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_page_header_heading_design',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Page_Header();
inc/customizer/settings/class-bloglo-customizer-sections.php000064400000003205152425655560020521 0ustar00<?php
/**
 * Bloglo Customizer sections and panels.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Sections' ) ) :
	/**
	 * Bloglo Customizer sections and panels.
	 */
	class Bloglo_Customizer_Sections {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom panels in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_panel' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_panel( $options ) {

			// General panel.
			$options['panel']['bloglo_panel_general'] = array(
				'title'    => esc_html__( 'General Settings', 'bloglo' ),
				'priority' => 1,
			);

			// Homapepage panel.
			$options['panel']['bloglo_panel_homepage'] = array(
				'title'    => esc_html__( 'Homapage sections', 'bloglo' ),
				'priority' => 3,
			);

			// Header panel.
			$options['panel']['bloglo_panel_header'] = array(
				'title'    => esc_html__( 'Header', 'bloglo' ),
				'priority' => 3,
			);

			// Footer panel.
			$options['panel']['bloglo_panel_footer'] = array(
				'title'    => esc_html__( 'Footer', 'bloglo' ),
				'priority' => 5,
			);

			// Blog settings.
			$options['panel']['bloglo_panel_blog'] = array(
				'title'    => esc_html__( 'Blog', 'bloglo' ),
				'priority' => 6,
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Sections();
inc/customizer/settings/class-bloglo-customizer-top-bar.php000064400000015127152425655560020244 0ustar00<?php
/**
 * Bloglo Top Bar Settings section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Top_Bar' ) ) :
	/**
	 * Bloglo Top Bar Settings section in Customizer.
	 */
	class Bloglo_Customizer_Top_Bar {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Section.
			$options['section']['bloglo_section_top_bar'] = array(
				'title'    => esc_html__( 'Top Bar', 'bloglo' ),
				'panel'    => 'bloglo_panel_header',
				'priority' => 10,
			);

			// Enable Top Bar.
			$options['setting']['bloglo_top_bar_enable'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Enable Top Bar', 'bloglo' ),
					'description' => esc_html__( 'Top Bar is a section with widgets located above Main Header area.', 'bloglo' ),
					'section'     => 'bloglo_section_top_bar',
				),
			);

			// Top Bar widgets heading.
			$options['setting']['bloglo_top_bar_heading_widgets'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-heading',
					'label'       => esc_html__( 'Top Bar Widgets', 'bloglo' ),
					'description' => esc_html__( 'Click the Add Widget button to add available widgets to your Top Bar.', 'bloglo' ),
					'section'     => 'bloglo_section_top_bar',
					'required'    => array(
						array(
							'control'  => 'bloglo_top_bar_enable',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Top Bar widgets.
			$options['setting']['bloglo_top_bar_widgets'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_widget',
				'control'           => array(
					'type'       => 'bloglo-widget',
					'label'      => esc_html__( 'Top Bar Widgets', 'bloglo' ),
					'section'    => 'bloglo_section_top_bar',
					'widgets'    => array(
						'text'    => array(
							'max_uses' => 2,
						),
						'nav'     => array(
							'max_uses' => 1,
						),
						'socials' => array(
							'max_uses' => 1,
							'styles'   => array(
								'minimal'      => esc_html__( 'Minimal', 'bloglo' ),
								'rounded'      => esc_html__( 'Rounded', 'bloglo' ),
								'minimal-fill' => esc_html__( 'Minimal Fill', 'bloglo' ),
								'rounded-fill' => esc_html__( 'Rounded Fill', 'bloglo' ),
							),
							'sizes'    => array(
								'small'    => esc_html__( 'Small', 'bloglo' ),
								'standard' => esc_html__( 'Standard', 'bloglo' ),
								'large'    => esc_html__( 'Large', 'bloglo' ),
								'xlarge'   => esc_html__( 'Extra Large', 'bloglo' ),
							),
						),
					),
					'locations'  => array(
						'left'  => esc_html__( 'Left', 'bloglo' ),
						'right' => esc_html__( 'Right', 'bloglo' ),
					),
					'visibility' => array(
						'all'                => esc_html__( 'Show on All Devices', 'bloglo' ),
						'hide-mobile'        => esc_html__( 'Hide on Mobile', 'bloglo' ),
						'hide-tablet'        => esc_html__( 'Hide on Tablet', 'bloglo' ),
						'hide-mobile-tablet' => esc_html__( 'Hide on Mobile and Tablet', 'bloglo' ),
					),
					'required'   => array(
						array(
							'control'  => 'bloglo_top_bar_heading_widgets',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_top_bar_enable',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#bloglo-topbar',
					'render_callback'     => 'bloglo_topbar_output',
					'container_inclusive' => true,
					'fallback_refresh'    => true,
				),
			);

			// Top Bar design options heading.
			$options['setting']['bloglo_top_bar_heading_design_options'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'label'    => esc_html__( 'Design Options', 'bloglo' ),
					'section'  => 'bloglo_section_top_bar',
					'required' => array(
						array(
							'control'  => 'bloglo_top_bar_enable',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Top Bar Background.
			$options['setting']['bloglo_top_bar_background'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'label'    => esc_html__( 'Background', 'bloglo' ),
					'section'  => 'bloglo_section_top_bar',
					'display'  => array(
						'background' => array(
							'color'    => esc_html__( 'Solid Color', 'bloglo' ),
							'gradient' => esc_html__( 'Gradient', 'bloglo' ),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_top_bar_enable',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_top_bar_heading_design_options',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Top Bar Text Color.
			$options['setting']['bloglo_top_bar_text_color'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'label'    => esc_html__( 'Font Color', 'bloglo' ),
					'section'  => 'bloglo_section_top_bar',
					'display'  => array(
						'color' => array(
							'text-color'       => esc_html__( 'Text Color', 'bloglo' ),
							'link-color'       => esc_html__( 'Link Color', 'bloglo' ),
							'link-hover-color' => esc_html__( 'Link Hover Color', 'bloglo' ),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_top_bar_enable',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_top_bar_heading_design_options',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Top_Bar();
inc/customizer/settings/class-bloglo-customizer-typography.php000064400000004502152425655560021101 0ustar00<?php
/**
 * Bloglo Base Typography section in Customizer.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Typography' ) ) :
	/**
	 * Bloglo Typography section in Customizer.
	 */
	class Bloglo_Customizer_Typography {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Section.
			$options['section']['bloglo_section_typography'] = array(
				'title'    => esc_html__( 'Base Typography', 'bloglo' ),
				'panel'    => 'bloglo_panel_general',
				'priority' => 30,
			);

			// Headings typography heading.
			$options['setting']['bloglo_typography_body_heading'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-heading',
					'label'   => esc_html__( 'Body & Content', 'bloglo' ),
					'section' => 'bloglo_section_typography',
				),
			);

			// Body Font.
			$options['setting']['bloglo_body_font'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_typography',
				'control'           => array(
					'type'     => 'bloglo-typography',
					'label'    => esc_html__( 'Body Typography', 'bloglo' ),
					'section'  => 'bloglo_section_typography',
					'display'  => array(
						'font-family'     => array(),
						'font-subsets'    => array(),
						'font-weight'     => array(),
						'font-style'      => array(),
						'text-transform'  => array(),
						'text-decoration' => array(),
						'letter-spacing'  => array(),
						'font-size'       => array(),
						'line-height'     => array(),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_typography_body_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}

	}
endif;
new Bloglo_Customizer_Typography();
inc/customizer/settings/class-bloglo-customizer-main-header.php000064400000015142152425655560021047 0ustar00<?php
/**
 * Bloglo Main Header Settings section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Main_Header' ) ) :
	/**
	 * Bloglo Main Header section in Customizer.
	 */
	class Bloglo_Customizer_Main_Header {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Main Header Section.
			$options['section']['bloglo_section_main_header'] = array(
				'title'    => esc_html__( 'Main Header', 'bloglo' ),
				'panel'    => 'bloglo_panel_header',
				'priority' => 20,
			);

			// Header Layout.
			$options['setting']['bloglo_header_layout'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-radio-image',
					'label'       => esc_html__( 'Header Layout', 'bloglo' ),
					'description' => esc_html__( 'Pre-defined positions of header elements, such as logo and navigation.', 'bloglo' ),
					'section'     => 'bloglo_section_main_header',
					'priority'    => 5,
					'choices'     => array(
						'layout-4' => array(
							'image' => BLOGLO_THEME_URI . '/inc/customizer/assets/images/header-layout-4.svg',
							'title' => esc_html__( 'Header 1', 'bloglo' ),
						),
					),
				),
			);

			// Header Ads Banner
			$options['setting']['bloglo_header_ads_banner'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'esc_url',
				'control'           => array(
					'class'           => 'WP_Customize_Image_Control',
					'mime_type'       => 'image',
					'label'           => esc_html__( 'Ads image', 'bloglo' ),
					'description'     => esc_html__( 'Click “Add new image” to upload an image file from your computer. Your theme works best with an image with a banner size of 732 × 90 pixels. ', 'bloglo' ),
					'section'         => 'bloglo_section_main_header',
					'priority'        => 6,
					'active_callback' => function( $control ) {
						return 'layout-4' === $control->manager->get_setting( 'bloglo_header_layout' )->value();
					},
				),
			);

			// Header Ads Banner URL
			$options['setting']['bloglo_header_ads_banner_url'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'esc_url_raw',
				'control'           => array(
					'type'            => 'bloglo-text',
					'label'           => esc_html__( 'Ads url', 'bloglo' ),
					'section'         => 'bloglo_section_main_header',
					'priority'        => 7,
					'required'   => array(
						array(
							'control'  => 'bloglo_header_layout',
							'value'    => 'layout-4',
							'operator' => '==',
						),
					),
				),
			);

			// Header Ads Banner URL Target
			$options['setting']['bloglo_header_ads_banner_url_target'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'            => 'bloglo-select',
					'label'           => esc_html__( 'Open Ads link on', 'bloglo' ),
					'section'         => 'bloglo_section_main_header',
					'priority'        => 8,
					'choices'         => array(
						'_self'  => esc_html__( 'Open in same tab', 'bloglo' ),
						'_blank' => esc_html__( 'Open in new tab', 'bloglo' ),
					),
					'required'   => array(
						array(
							'control'  => 'bloglo_header_layout',
							'value'    => 'layout-4',
							'operator' => '==',
						),
					),
				),
			);

			// Header widgets heading.
			$options['setting']['bloglo_header_heading_widgets'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-heading',
					'label'       => esc_html__( 'Header Widgets', 'bloglo' ),
					'description' => esc_html__( 'Click the Add Widget button to add available widgets to your Header. Click the down arrow icon to expand widget options.', 'bloglo' ),
					'section'     => 'bloglo_section_main_header',
					'space'       => true,
				),
			);

			// Header widgets.
			$options['setting']['bloglo_header_widgets'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_widget',
				'control'           => array(
					'type'       => 'bloglo-widget',
					'label'      => esc_html__( 'Header Widgets', 'bloglo' ),
					'section'    => 'bloglo_section_main_header',
					'widgets'    => apply_filters(
						'bloglo_main_header_widgets',
						array(
							'search'   => array(
								'max_uses' => 1,
							),
							'darkmode' => array(
								'max_uses' => 1,
							),
							'button'   => array(
								'max_uses' => 1,
							),
							'socials'  => array(
								'max_uses' => 1,
								'styles'   => array(
									'minimal'      => esc_html__( 'Minimal', 'bloglo' ),
									'rounded'      => esc_html__( 'Rounded', 'bloglo' ),
									'minimal-fill' => esc_html__( 'Minimal Fill', 'bloglo' ),
									'rounded-fill' => esc_html__( 'Rounded Fill', 'bloglo' ),
								),
								'sizes'    => array(
									'small'    => esc_html__( 'Small', 'bloglo' ),
									'standard' => esc_html__( 'Standard', 'bloglo' ),
									'large'    => esc_html__( 'Large', 'bloglo' ),
									'xlarge'   => esc_html__( 'Extra Large', 'bloglo' ),
								),
							),
						)
					),
					'locations'  => array(
						'left'  => esc_html__( 'Left', 'bloglo' ),
						'right' => esc_html__( 'Right', 'bloglo' ),
					),
					'visibility' => array(
						'all'                => esc_html__( 'Show on All Devices', 'bloglo' ),
						'hide-mobile'        => esc_html__( 'Hide on Mobile', 'bloglo' ),
						'hide-tablet'        => esc_html__( 'Hide on Tablet', 'bloglo' ),
						'hide-mobile-tablet' => esc_html__( 'Hide on Mobile and Tablet', 'bloglo' ),
					),
					'required'   => array(
						array(
							'control'  => 'bloglo_header_heading_widgets',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#bloglo-header',
					'render_callback'     => 'bloglo_header_content_output',
					'container_inclusive' => false,
					'fallback_refresh'    => true,
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Main_Header();
inc/customizer/settings/class-bloglo-customizer-main-footer.php000064400000016120152425655560021112 0ustar00<?php
/**
 * Bloglo Main Footer section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Main_Footer' ) ) :
	/**
	 * Bloglo Main Footer section in Customizer.
	 */
	class Bloglo_Customizer_Main_Footer {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Section.
			$options['section']['bloglo_section_main_footer'] = array(
				'title'    => esc_html__( 'Main Footer', 'bloglo' ),
				'panel'    => 'bloglo_panel_footer',
				'priority' => 20,
			);

			// Enable Footer.
			$options['setting']['bloglo_enable_footer'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-toggle',
					'label'   => esc_html__( 'Enable Main Footer', 'bloglo' ),
					'section' => 'bloglo_section_main_footer',
				),
			);

			// Footer Layout.
			$options['setting']['bloglo_footer_layout'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-radio-image',
					'label'       => esc_html__( 'Column Layout', 'bloglo' ),
					'description' => esc_html__( 'Choose your site&rsquo;s footer column layout.', 'bloglo' ),
					'section'     => 'bloglo_section_main_footer',
					'choices'     => array(
						'layout-1' => array(
							'image' => BLOGLO_THEME_URI . '/inc/customizer/assets/images/footer-layout-1.svg',
							'title' => esc_html__( '1/4 + 1/4 + 1/4 + 1/4', 'bloglo' ),
						),
						'layout-2' => array(
							'image' => BLOGLO_THEME_URI . '/inc/customizer/assets/images/footer-layout-2.svg',
							'title' => esc_html__( '1/3 + 1/3 + 1/3', 'bloglo' ),
						),
						'layout-8' => array(
							'image' => BLOGLO_THEME_URI . '/inc/customizer/assets/images/footer-layout-8.svg',
							'title' => esc_html__( '1', 'bloglo' ),
						),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_footer',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#bloglo-footer-widgets',
					'render_callback'     => 'bloglo_footer_widgets',
					'container_inclusive' => false,
					'fallback_refresh'    => true,
				),
			);

			// Center footer widgets..
			$options['setting']['bloglo_footer_widgets_align_center'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-toggle',
					'label'    => esc_html__( 'Center Widget Content', 'bloglo' ),
					'section'  => 'bloglo_section_main_footer',
					'required' => array(
						array(
							'control'  => 'bloglo_enable_footer',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#bloglo-footer-widgets',
					'render_callback'     => 'bloglo_footer_widgets',
					'container_inclusive' => false,
					'fallback_refresh'    => true,
				),
			);

			// Footer Design Options heading.
			$options['setting']['bloglo_footer_heading_design_options'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'label'    => esc_html__( 'Design Options', 'bloglo' ),
					'section'  => 'bloglo_section_main_footer',
					'required' => array(
						array(
							'control'  => 'bloglo_enable_footer',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Footer Background.
			$options['setting']['bloglo_footer_background'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'label'    => esc_html__( 'Background', 'bloglo' ),
					'section'  => 'bloglo_section_main_footer',
					'display'  => array(
						'background' => array(
							'color'    => esc_html__( 'Solid Color', 'bloglo' ),
							'gradient' => esc_html__( 'Gradient', 'bloglo' ),
							'image'    => esc_html__( 'Image', 'bloglo' ),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_footer',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_footer_heading_design_options',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Footer Text Color.
			$options['setting']['bloglo_footer_text_color'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'label'    => esc_html__( 'Font Color', 'bloglo' ),
					'section'  => 'bloglo_section_main_footer',
					'display'  => array(
						'color' => array(
							'text-color'         => esc_html__( 'Text Color', 'bloglo' ),
							'link-color'         => esc_html__( 'Link Color', 'bloglo' ),
							'link-hover-color'   => esc_html__( 'Link Hover Color', 'bloglo' ),
							'widget-title-color' => esc_html__( 'Widget Title Color', 'bloglo' ),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_footer',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_footer_heading_design_options',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Footer Border.
			$options['setting']['bloglo_footer_border'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'label'    => esc_html__( 'Border', 'bloglo' ),
					'section'  => 'bloglo_section_main_footer',
					'display'  => array(
						'border' => array(
							'style'     => esc_html__( 'Style', 'bloglo' ),
							'color'     => esc_html__( 'Color', 'bloglo' ),
							'width'     => esc_html__( 'Width (px)', 'bloglo' ),
							'positions' => array(
								'top'    => esc_html__( 'Top', 'bloglo' ),
								'bottom' => esc_html__( 'Bottom', 'bloglo' ),
							),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_footer',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_footer_heading_design_options',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}

	}
endif;
new Bloglo_Customizer_Main_Footer();
inc/customizer/settings/class-bloglo-customizer-single-post.php000064400000015477152425655560021154 0ustar00<?php
/**
 * Bloglo Blog - Single Post section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Single_Post' ) ) :
	/**
	 * Bloglo Blog - Single Post section in Customizer.
	 */
	class Bloglo_Customizer_Single_Post {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Section.
			$options['section']['bloglo_section_blog_single_post'] = array(
				'title'    => esc_html__( 'Single Post', 'bloglo' ),
				'panel'    => 'bloglo_panel_blog',
				'priority' => 20,
			);

			// Single post layout.
			$options['setting']['bloglo_single_post_layout_heading'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-heading',
					'label'   => esc_html__( 'Layout', 'bloglo' ),
					'section' => 'bloglo_section_blog_single_post',
				),
			);

			// Content Layout.
			$options['setting']['bloglo_single_title_position'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'label'       => esc_html__( 'Title Position', 'bloglo' ),
					'description' => esc_html__( 'Select title position for single post pages.', 'bloglo' ),
					'section'     => 'bloglo_section_blog_single_post',
					'choices'     => array(
						'in-content'     => esc_html__( 'In Content', 'bloglo' ),
						'in-page-header' => esc_html__( 'In Page Header', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_single_post_layout_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Spacing.
			$options['setting']['bloglo_single_title_spacing'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_responsive',
				'control'           => array(
					'type'        => 'bloglo-spacing',
					'label'       => esc_html__( 'Title Spacing', 'bloglo' ),
					'description' => esc_html__( 'Specify title top and bottom padding.', 'bloglo' ),
					'section'     => 'bloglo_section_blog_single_post',
					'choices'     => array(
						'top'    => esc_html__( 'Top', 'bloglo' ),
						'bottom' => esc_html__( 'Bottom', 'bloglo' ),
					),
					'responsive'  => true,
					'unit'        => array(
						'px',
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_single_post_layout_heading',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_single_title_position',
							'value'    => 'in-page-header',
							'operator' => '==',
						),
					),
				),
			);

			// Single post elements.
			$options['setting']['bloglo_single_post_elements_heading'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-heading',
					'label'   => esc_html__( 'Post Elements', 'bloglo' ),
					'section' => 'bloglo_section_blog_single_post',
				),
			);

			$options['setting']['bloglo_single_post_elements'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_sortable',
				'control'           => array(
					'type'        => 'bloglo-sortable',
					'section'     => 'bloglo_section_blog_single_post',
					'label'       => esc_html__( 'Post Elements', 'bloglo' ),
					'description' => esc_html__( 'Set visibility of post elements.', 'bloglo' ),
					'sortable'    => false,
					'choices'     => array(
						'thumb'          => esc_html__( 'Featured Image', 'bloglo' ),
						'category'       => esc_html__( 'Post Categories', 'bloglo' ),
						'tags'           => esc_html__( 'Post Tags', 'bloglo' ),
						'last-updated'   => esc_html__( 'Last Updated Date', 'bloglo' ),
						'about-author'   => esc_html__( 'About Author Box', 'bloglo' ),
						'prev-next-post' => esc_html__( 'Next/Prev Post Links', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_single_post_elements_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Meta/Post Details Layout.
			$options['setting']['bloglo_single_post_meta_elements'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_sortable',
				'control'           => array(
					'type'        => 'bloglo-sortable',
					'label'       => esc_html__( 'Post Meta', 'bloglo' ),
					'description' => esc_html__( 'Set order and visibility for post meta details.', 'bloglo' ),
					'section'     => 'bloglo_section_blog_single_post',
					'choices'     => array(
						'author'   => esc_html__( 'Author', 'bloglo' ),
						'date'     => esc_html__( 'Publish Date', 'bloglo' ),
						'comments' => esc_html__( 'Comments', 'bloglo' ),
						'category' => esc_html__( 'Categories', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_single_post_elements_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Meta icons.
			$options['setting']['bloglo_single_entry_meta_icons'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-toggle',
					'section'  => 'bloglo_section_blog_single_post',
					'label'    => esc_html__( 'Show avatar and icons in post meta', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_single_post_elements_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Toggle Comments.
			$options['setting']['bloglo_single_toggle_comments'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Show Toggle Comments', 'bloglo' ),
					'description' => esc_html__( 'Hide comments and comment form behind a toggle button. ', 'bloglo' ),
					'section'     => 'bloglo_section_blog_single_post',
					'required'    => array(
						array(
							'control'  => 'bloglo_single_post_elements_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Single_Post();
inc/customizer/settings/class-bloglo-customizer-pro-features.php000064400000006756152425655560021324 0ustar00<?php
/**
 * Bloglo Pro Features section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Pro_Features' ) ) :
	/**
	 * Bloglo PYML section in Customizer.
	 */
	class Bloglo_Customizer_Pro_Features {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {
			// Pro features section
			$options['section']['bloglo_section_bloglo_pro'] = array(
				'title'    => esc_html__( 'View pro features', 'bloglo' ),
				'priority' => 0,
			);

			$options['setting']['bloglo_section_bloglo_pro_features'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'sanitize_text_field',
				'control'           => array(
					'type'     => 'bloglo-pro',
					'section'  => 'bloglo_section_bloglo_pro',
					'screenshot' => apply_filters( 'bloglo_pro_theme_screenshot', esc_url( get_template_directory_uri() ) . '/assets/images/bloglo-lapi.png' ),
					'features' => apply_filters(
						'bloglo_pro_theme_features',
						array(
							esc_html__( 'All starter sites included', 'bloglo' ),
							esc_html__( 'Advance Header Options', 'bloglo' ),
							esc_html__( 'Advance FrontPage Slider Layouts', 'bloglo' ),
							esc_html__( 'Body and H1 to H6 typography options', 'bloglo' ),
							esc_html__( 'Primary, Seconday and text Buttons color and typography options', 'bloglo' ),
							esc_html__( 'Post Advance Featured', 'bloglo' ),
							esc_html__( 'Post Like ❤️ Feature', 'bloglo' ),
							esc_html__( 'Unlimited Featured links + some additional features', 'bloglo' ),
							esc_html__( 'Post Category Color Change Feature', 'bloglo' ),
							esc_html__( 'Meta Category Options', 'bloglo' ),
							esc_html__( 'Site Layouts Options e.g. Boxed, Framed etc', 'bloglo' ),
							esc_html__( 'Archive Layout Options', 'bloglo' ),
							esc_html__( 'Sticky Sidebar Options', 'bloglo' ),
							esc_html__( 'Advance Color Scheme', 'bloglo' ),
							esc_html__( 'Author Widgets', 'bloglo' ),
							esc_html__( 'Title Design Settings', 'bloglo' ),
							esc_html__( 'Masonry Grid & Multi Post Options', 'bloglo' ),
							esc_html__( 'Full Width Post/Page Options', 'bloglo' ),
							esc_html__( 'Single Post/Page Layout Options', 'bloglo' ),
							esc_html__( 'Single Post/Page Left/Right Sidebar', 'bloglo' ),
							esc_html__( 'Footer Advance Featured', 'bloglo' ),
							esc_html__( 'Footer Widgets Options', 'bloglo' ),
							esc_html__( 'Call to action / Pre-Footer', 'bloglo' ),
							esc_html__( 'Live Container Manage Options', 'bloglo' ),
							esc_html__( 'Parallax Footer', 'bloglo' ),
							esc_html__( 'Site pre-loader', 'bloglo' ),
							esc_html__( 'SEO Meta', 'bloglo' ),
							esc_html__( 'AMP Compatibility', 'bloglo' ),
							esc_html__( 'Coming Soon/Maintenance Mode Option', 'bloglo' ),
							esc_html__( 'Regular Premium Updates', 'bloglo' ),
							esc_html__( 'Quick Support', 'bloglo' ),
							esc_html__( 'And much more...', 'bloglo' ),
						)
					),
				),
			);

			return $options;
		}

	}
endif;
new Bloglo_Customizer_Pro_Features();
inc/customizer/settings/class-bloglo-customizer-sidebar.php000064400000013772152425655560020315 0ustar00<?php
/**
 * Bloglo Sidebar section in Customizer.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Sidebar' ) ) :

	/**
	 * Bloglo Sidebar section in Customizer.
	 */
	class Bloglo_Customizer_Sidebar {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Section.
			$options['section']['bloglo_section_sidebar'] = array(
				'title'    => esc_html__( 'Sidebar', 'bloglo' ),
				'priority' => 4,
			);

			// Default sidebar position.
			$options['setting']['bloglo_sidebar_position'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'section'     => 'bloglo_section_sidebar',
					'label'       => esc_html__( 'Default Position', 'bloglo' ),
					'description' => esc_html__( 'Choose default sidebar position layout. You can change this setting per page via metabox settings.', 'bloglo' ),
					'choices'     => array(
						'no-sidebar'    => esc_html__( 'No Sidebar', 'bloglo' ),
						'left-sidebar'  => esc_html__( 'Left Sidebar', 'bloglo' ),
						'right-sidebar' => esc_html__( 'Right Sidebar', 'bloglo' ),
					),
				),
			);

			// Single post sidebar position.
			$options['setting']['bloglo_single_post_sidebar_position'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'label'       => esc_html__( 'Single Post', 'bloglo' ),
					'description' => esc_html__( 'Choose default sidebar position layout for single posts. You can change this setting per post via metabox settings.', 'bloglo' ),
					'section'     => 'bloglo_section_sidebar',
					'choices'     => array(
						'default'       => esc_html__( 'Default', 'bloglo' ),
						'no-sidebar'    => esc_html__( 'No Sidebar', 'bloglo' ),
						'left-sidebar'  => esc_html__( 'Left Sidebar', 'bloglo' ),
						'right-sidebar' => esc_html__( 'Right Sidebar', 'bloglo' ),
					),
				),
			);

			// Single page sidebar position.
			$options['setting']['bloglo_single_page_sidebar_position'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'label'       => esc_html__( 'Page', 'bloglo' ),
					'description' => esc_html__( 'Choose default sidebar position layout for pages. You can change this setting per page via metabox settings.', 'bloglo' ),
					'section'     => 'bloglo_section_sidebar',
					'choices'     => array(
						'default'       => esc_html__( 'Default', 'bloglo' ),
						'no-sidebar'    => esc_html__( 'No Sidebar', 'bloglo' ),
						'left-sidebar'  => esc_html__( 'Left Sidebar', 'bloglo' ),
						'right-sidebar' => esc_html__( 'Right Sidebar', 'bloglo' ),
					),
				),
			);

			// Archive sidebar position.
			$options['setting']['bloglo_archive_sidebar_position'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'label'       => esc_html__( 'Archives & Search', 'bloglo' ),
					'description' => esc_html__( 'Choose default sidebar position layout for archives and search results.', 'bloglo' ),
					'section'     => 'bloglo_section_sidebar',
					'choices'     => array(
						'default'       => esc_html__( 'Default', 'bloglo' ),
						'no-sidebar'    => esc_html__( 'No Sidebar', 'bloglo' ),
						'left-sidebar'  => esc_html__( 'Left Sidebar', 'bloglo' ),
						'right-sidebar' => esc_html__( 'Right Sidebar', 'bloglo' ),
					),
				),
			);

			// Sidebar options heading.
			$options['setting']['bloglo_sidebar_options_heading'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-heading',
					'label'   => esc_html__( 'Options', 'bloglo' ),
					'section' => 'bloglo_section_sidebar',
				),
			);

			// Sidebar width.
			$options['setting']['bloglo_sidebar_width'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'section'     => 'bloglo_section_sidebar',
					'label'       => esc_html__( 'Sidebar Width', 'bloglo' ),
					'description' => esc_html__( 'Change your sidebar width.', 'bloglo' ),
					'min'         => 15,
					'max'         => 50,
					'step'        => 1,
					'unit'        => '%',
					'required'    => array(
						array(
							'control'  => 'bloglo_sidebar_options_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Sticky sidebar.
			$options['setting']['bloglo_sidebar_sticky'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'section'     => 'bloglo_section_sidebar',
					'label'       => esc_html__( 'Sticky Sidebar', 'bloglo' ),
					'description' => esc_html__( 'Stick sidebar when scrolling.', 'bloglo' ),
					'choices'     => array(
						''        => esc_html__( 'Disable', 'bloglo' ),
						'sidebar' => esc_html__( 'Stick first widget', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_sidebar_options_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}
	}
endif;

new Bloglo_Customizer_Sidebar();
inc/customizer/settings/class-bloglo-customizer-hero.php000064400000016157152425655560017641 0ustar00<?php
/**
 * Bloglo Hero Section Settings section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Hero' ) ) :
	/**
	 * Bloglo Page Title Settings section in Customizer.
	 */
	class Bloglo_Customizer_Hero {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Hero Section.
			$options['section']['bloglo_section_hero'] = array(
				'title'    => esc_html__( 'Hero', 'bloglo' ),
				'priority' => 3,
			);

			// Hero enable.
			$options['setting']['bloglo_enable_hero'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-toggle',
					'section' => 'bloglo_section_hero',
					'label'   => esc_html__( 'Enable Hero Section', 'bloglo' ),
				),
			);

			// Hero display on.
			$options['setting']['bloglo_hero_enable_on'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_no_sanitize',
				'control'           => array(
					'type'        => 'bloglo-checkbox-group',
					'label'       => esc_html__( 'Enable On: ', 'bloglo' ),
					'description' => esc_html__( 'Choose on which pages you want to enable Hero. ', 'bloglo' ),
					'section'     => 'bloglo_section_hero',
					'choices'     => array(
						'home'       => array(
							'title' => esc_html__( 'Home Page', 'bloglo' ),
						),
						'posts_page' => array(
							'title' => esc_html__( 'Blog / Posts Page', 'bloglo' ),
						),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_hero',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Post Settings heading.
			$options['setting']['bloglo_hero_hover_slider_posts'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'section'  => 'bloglo_section_hero',
					'label'    => esc_html__( 'Post Settings', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_hero',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Post count.
			$options['setting']['bloglo_hero_hover_slider_post_number'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'section'     => 'bloglo_section_hero',
					'label'       => esc_html__( 'Post Number', 'bloglo' ),
					'description' => esc_html__( 'Set the number of visible posts.', 'bloglo' ),
					'min'         => 1,
					'max'         => 2,
					'step'        => 1,
					'unit'        => '',
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_hero',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_hero_hover_slider_posts',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#hero',
					'render_callback'     => 'bloglo_blog_hero',
					'container_inclusive' => true,
					'fallback_refresh'    => true,
				),
			);

			// Post category.
			$options['setting']['bloglo_hero_hover_slider_category'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'section'     => 'bloglo_section_hero',
					'label'       => esc_html__( 'Category', 'bloglo' ),
					'description' => esc_html__( 'Display posts from selected category only. Leave empty to include all.', 'bloglo' ),
					'is_select2'  => true,
					'data_source' => 'category',
					'multiple'    => true,
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_hero',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_hero_hover_slider_posts',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Hover Slider heading.
			$options['setting']['bloglo_hero_hover_slider'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'section'  => 'bloglo_section_hero',
					'label'    => esc_html__( 'Style', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_hero',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Hover Slider height.
			$options['setting']['bloglo_hero_hover_slider_height'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'section'     => 'bloglo_section_hero',
					'label'       => esc_html__( 'Height', 'bloglo' ),
					'description' => esc_html__( 'Set the height of the container.', 'bloglo' ),
					'min'         => 350,
					'max'         => 1000,
					'step'        => 1,
					'unit'        => 'px',
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_hero',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_hero_hover_slider',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Hover Slider Elements.
			$options['setting']['bloglo_hero_hover_slider_elements'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_sortable',
				'control'           => array(
					'type'        => 'bloglo-sortable',
					'section'     => 'bloglo_section_hero',
					'label'       => esc_html__( 'Post Elements', 'bloglo' ),
					'description' => esc_html__( 'Set order and visibility for post elements.', 'bloglo' ),
					'sortable'    => false,
					'choices'     => array(
						'category'  => esc_html__( 'Categories', 'bloglo' ),
						'meta'      => esc_html__( 'Post Details', 'bloglo' ),
						'read_more' => esc_html__( 'Continue Reading', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_hero',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_hero_hover_slider',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#hero',
					'render_callback'     => 'bloglo_blog_hero',
					'container_inclusive' => true,
					'fallback_refresh'    => true,
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Hero();
inc/customizer/settings/class-bloglo-customizer-colors.php000064400000004725152425655560020203 0ustar00<?php
/**
 * Bloglo Base Colors section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Colors' ) ) :
	/**
	 * Bloglo Colors section in Customizer.
	 */
	class Bloglo_Customizer_Colors {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Section.
			$options['section']['bloglo_section_colors'] = array(
				'title'    => esc_html__( 'Base Colors', 'bloglo' ),
				'panel'    => 'bloglo_panel_general',
				'priority' => 20,
			);

			// Accent color.
			$options['setting']['bloglo_accent_color'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_color',
				'control'           => array(
					'type'        => 'bloglo-color',
					'label'       => esc_html__( 'Accent Color', 'bloglo' ),
					'description' => esc_html__( 'The accent color is used subtly throughout your site, to call attention to key elements.', 'bloglo' ),
					'section'     => 'bloglo_section_colors',
					'priority'    => 10,
					'opacity'     => false,
				),
			);

			// Dark mode
			$options['setting']['bloglo_dark_mode'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Dark mode', 'bloglo' ),
					'description' => esc_html__( 'Enable dark mode.', 'bloglo' ),
					'section'     => 'bloglo_section_colors',
					'priority'    => 11,
				),
			);

			// Body background heading.
			$options['setting']['bloglo_body_background_heading'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'priority' => 40,
					'label'    => esc_html__( 'Body Background', 'bloglo' ),
					'section'  => 'bloglo_section_colors',
					'toggle'   => false,
				),
			);

			return $options;
		}

	}
endif;
new Bloglo_Customizer_Colors();
inc/customizer/settings/class-bloglo-customizer-featured-links.php000064400000014671152425655560021620 0ustar00<?php
/**
 * Bloglo Featured Links Section Settings section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Featured_Links' ) ) :
	/**
	 * Bloglo Page Title Settings section in Customizer.
	 */
	class Bloglo_Customizer_Featured_Links {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Featured links Section.
			$options['section']['bloglo_section_featured_links'] = array(
				'title'    => esc_html__( 'Featured Items', 'bloglo' ),
				'priority' => 3,
			);

			// Featured links enable.
			$options['setting']['bloglo_enable_featured_links'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-toggle',
					'section' => 'bloglo_section_featured_links',
					'label'   => esc_html__( 'Enable featured items section', 'bloglo' ),
				),
			);

			// Title.
			$options['setting']['bloglo_featured_links_title'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'sanitize_text_field',
				'control'           => array(
					'type'     => 'bloglo-text',
					'section'  => 'bloglo_section_featured_links',
					'label'    => esc_html__( 'Title', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_featured_links',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
				'partial'           => array(
					'selector'            => '#featured_links .widget-title',
					'render_callback'     => function() {
						return get_theme_mod('bloglo_featured_links_title');
					},
					'fallback_refresh'    => true,
				)
			);

			$options['setting']['bloglo_featured_links'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_repeater_sanitize',
				'control'           => array(
					'type'          => 'bloglo-repeater',
					'label'         => esc_html__( 'Featured Items', 'bloglo' ),
					'section'       => 'bloglo_section_featured_links',
					'item_name'     => esc_html__( 'Featured Link', 'bloglo' ),
					'live_title_id' => 'btn_text', // apply for input text and textarea only
					'title_format'  => esc_html__( '[live_title]', 'bloglo' ), // [live_title]
					'add_text'      => esc_html__( 'Add new Feature', 'bloglo' ),
					'max_item'      => 3,
					'limited_msg'   => wp_kses_post( __( 'Upgrade to <a target="_blank" href="https://peregrine-themes.com/bloglo/">Bloglo Pro</a> to be able to add more items and unlock other premium features!', 'bloglo' ) ),
					'fields'        => array(
						'btn_text' => array(
							'title' => esc_html__( 'Button Text', 'bloglo' ),
							'type'  => 'text',
						),
						'btn_url' => array(
							'title' => esc_html__( 'Button URL', 'bloglo' ),
							'type'  => 'url',
						),
						'btn_target' => array(
							'title' => esc_html__( 'Open link in new tab ', 'bloglo' ),
							'type'  => 'checkbox',
						),
						'image' => array(
							'title' => esc_html__( 'Image', 'bloglo' ),
							'type'  => 'media',
						),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_featured_links',
							'value'    => true,
							'operator' => '==',
						)
					),
				),
				'partial'           => array(
					'selector'            => '#featured_links',
					'render_callback'     => 'bloglo_blog_featured_links',
					'container_inclusive' => true,
					'fallback_refresh'    => true,
				),
			);
			
			// Visibility.
			$options['setting']['bloglo_featured_links_visibility'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'section'     => 'bloglo_section_featured_links',
					'label'       => esc_html__( 'Device Visibility', 'bloglo' ),
					'description' => esc_html__( 'Devices where the Posts You Might Like is displayed.', 'bloglo' ),
					'choices'     => array(
						'all'                => esc_html__( 'Show on All Devices', 'bloglo' ),
						'hide-mobile'        => esc_html__( 'Hide on Mobile', 'bloglo' ),
						'hide-tablet'        => esc_html__( 'Hide on Tablet', 'bloglo' ),
						'hide-mobile-tablet' => esc_html__( 'Hide on Mobile and Tablet', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_featured_links',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Style
			$options['setting']['bloglo_featured_links_style'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'section'  => 'bloglo_section_featured_links',
					'label'    => esc_html__( 'Style', 'bloglo' ),
					'required' => array(
						array(
							'control'  => 'bloglo_enable_featured_links',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Featured links container width.
			$options['setting']['bloglo_featured_links_container'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'section'     => 'bloglo_section_featured_links',
					'label'       => esc_html__( 'Width', 'bloglo' ),
					'description' => esc_html__( 'Stretch the container to full width, or match your site&rsquo;s content width.', 'bloglo' ),
					'choices'     => array(
						'content-width' => esc_html__( 'Content Width', 'bloglo' ),
						'full-width'    => esc_html__( 'Full Width', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_enable_featured_links',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_featured_links_style',
							'value'    => true,
							'operator' => '==',
						),
					)
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Featured_Links();
inc/customizer/settings/class-bloglo-customizer-breadcrumbs.php000064400000020755152425655560021174 0ustar00<?php
/**
 * Bloglo Breadcrumbs Settings section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Breadcrumbs' ) ) :
	/**
	 * Bloglo Breadcrumbs Settings section in Customizer.
	 */
	class Bloglo_Customizer_Breadcrumbs {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Main Navigation Section.
			$options['section']['bloglo_section_breadcrumbs'] = array(
				'title'    => esc_html__( 'Breadcrumbs', 'bloglo' ),
				'panel'    => 'bloglo_panel_header',
				'priority' => 70,
			);

			// Breadcrumbs.
			$options['setting']['bloglo_breadcrumbs_enable'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-toggle',
					'label'   => esc_html__( 'Enable Breadcrumbs', 'bloglo' ),
					'section' => 'bloglo_section_breadcrumbs',
				),
			);

			// Hide breadcrumbs on.
			$options['setting']['bloglo_breadcrumbs_hide_on'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_no_sanitize',
				'control'           => array(
					'type'        => 'bloglo-checkbox-group',
					'label'       => esc_html__( 'Disable On: ', 'bloglo' ),
					'description' => esc_html__( 'Choose on which pages you want to disable breadcrumbs. ', 'bloglo' ),
					'section'     => 'bloglo_section_breadcrumbs',
					'choices'     => bloglo_get_display_choices(),
					'required'    => array(
						array(
							'control'  => 'bloglo_breadcrumbs_enable',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Position.
			$options['setting']['bloglo_breadcrumbs_position'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'     => 'bloglo-select',
					'label'    => esc_html__( 'Position', 'bloglo' ),
					'section'  => 'bloglo_section_breadcrumbs',
					'choices'  => array(
						'in-page-header' => esc_html__( 'In Page Header', 'bloglo' ),
						'below-header'   => esc_html__( 'Below Header (Separate Container)', 'bloglo' ),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_breadcrumbs_enable',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Alignment.
			$options['setting']['bloglo_breadcrumbs_alignment'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'     => 'bloglo-alignment',
					'label'    => esc_html__( 'Alignment', 'bloglo' ),
					'section'  => 'bloglo_section_breadcrumbs',
					'choices'  => 'horizontal',
					'icons'    => array(
						'left'   => 'dashicons dashicons-editor-alignleft',
						'center' => 'dashicons dashicons-editor-aligncenter',
						'right'  => 'dashicons dashicons-editor-alignright',
					),
					'required' => array(
						array(
							'control'  => 'bloglo_breadcrumbs_enable',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_breadcrumbs_position',
							'value'    => 'below-header',
							'operator' => '==',
						),
					),
				),
			);

			// Spacing.
			$options['setting']['bloglo_breadcrumbs_spacing'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_responsive',
				'control'           => array(
					'type'        => 'bloglo-spacing',
					'label'       => esc_html__( 'Spacing', 'bloglo' ),
					'description' => esc_html__( 'Specify top and bottom padding.', 'bloglo' ),
					'section'     => 'bloglo_section_breadcrumbs',
					'choices'     => array(
						'top'    => esc_html__( 'Top', 'bloglo' ),
						'bottom' => esc_html__( 'Bottom', 'bloglo' ),
					),
					'responsive'  => true,
					'unit'        => array(
						'px',
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_breadcrumbs_enable',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Design options heading.
			$options['setting']['bloglo_breadcrumbs_heading_design'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-heading',
					'label'    => esc_html__( 'Design Options', 'bloglo' ),
					'section'  => 'bloglo_section_breadcrumbs',
					'required' => array(
						array(
							'control'  => 'bloglo_breadcrumbs_enable',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_breadcrumbs_position',
							'value'    => 'below-header',
							'operator' => '==',
						),
					),
				),
			);

			// Background design.
			$options['setting']['bloglo_breadcrumbs_background'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'label'    => esc_html__( 'Background', 'bloglo' ),
					'section'  => 'bloglo_section_breadcrumbs',
					'display'  => array(
						'background' => array(
							'color'    => esc_html__( 'Solid Color', 'bloglo' ),
							'gradient' => esc_html__( 'Gradient', 'bloglo' ),
							'image'    => esc_html__( 'Image', 'bloglo' ),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_breadcrumbs_enable',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_breadcrumbs_heading_design',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_breadcrumbs_position',
							'value'    => 'below-header',
							'operator' => '==',
						),
					),
				),
			);

			// Text Color.
			$options['setting']['bloglo_breadcrumbs_text_color'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'label'    => esc_html__( 'Font Color', 'bloglo' ),
					'section'  => 'bloglo_section_breadcrumbs',
					'display'  => array(
						'color' => array(
							'text-color'       => esc_html__( 'Text Color', 'bloglo' ),
							'link-color'       => esc_html__( 'Link Color', 'bloglo' ),
							'link-hover-color' => esc_html__( 'Link Hover Color', 'bloglo' ),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_breadcrumbs_enable',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_breadcrumbs_heading_design',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_breadcrumbs_position',
							'value'    => 'below-header',
							'operator' => '==',
						),
					),
				),
			);

			// Border.
			$options['setting']['bloglo_breadcrumbs_border'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_design_options',
				'control'           => array(
					'type'     => 'bloglo-design-options',
					'label'    => esc_html__( 'Border', 'bloglo' ),
					'section'  => 'bloglo_section_breadcrumbs',
					'display'  => array(
						'border' => array(
							'style'     => esc_html__( 'Style', 'bloglo' ),
							'color'     => esc_html__( 'Color', 'bloglo' ),
							'width'     => esc_html__( 'Width (px)', 'bloglo' ),
							'positions' => array(
								'top'    => esc_html__( 'Top', 'bloglo' ),
								'bottom' => esc_html__( 'Bottom', 'bloglo' ),
							),
						),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_breadcrumbs_enable',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_breadcrumbs_heading_design',
							'value'    => true,
							'operator' => '==',
						),
						array(
							'control'  => 'bloglo_breadcrumbs_position',
							'value'    => 'below-header',
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Breadcrumbs();
inc/customizer/settings/class-bloglo-customizer-blog-page.php000064400000020477152425655560020541 0ustar00<?php
/**
 * Bloglo Blog » Blog Page / Archive section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Blog_Page' ) ) :
	/**
	 * Bloglo Blog » Blog Page / Archive section in Customizer.
	 */
	class Bloglo_Customizer_Blog_Page {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Section.
			$options['section']['bloglo_section_blog_page'] = array(
				'title' => esc_html__( 'Blog Page / Archive', 'bloglo' ),
				'panel' => 'bloglo_panel_blog',
			);

			// Layout.
			$options['setting']['bloglo_blog_layout'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'label'       => esc_html__( 'Layout', 'bloglo' ),
					'description' => esc_html__( 'Choose blog layout. This will affect blog layout on archives, search results and posts page.', 'bloglo' ),
					'section'     => 'bloglo_section_blog_page',
					'choices'     => array(
						'blog-masonry' => esc_html__( 'Masonry', 'bloglo' ),
					),
				),
			);

			// Blog Layout Column.
			$options['setting']['bloglo_blog_layout_column'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'label'       => esc_html__( 'Layout Column', 'bloglo' ),
					'description' => esc_html__( 'Choose blog layout Column. This will affect blog layout on archives, search results and posts page.', 'bloglo' ),
					'section'     => 'bloglo_section_blog_page',
					'choices'     => array(
						12 => esc_html__( 'Layout 1 Column', 'bloglo' ),
						6  => esc_html__( 'Layout 1/2 Column', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_blog_layout',
							'value'    => 'blog-horizontal',
							'operator' => '!=',
						),
					),
				),
			);

			$_image_sizes = bloglo_get_image_sizes();
			$size_choices = array();

			if ( ! empty( $_image_sizes ) ) {
				foreach ( $_image_sizes as $key => $value ) {
					$name = ucwords( str_replace( array( '-', '_' ), ' ', $key ) );

					$size_choices[ $key ] = $name;

					if ( $value['width'] || $value['height'] ) {
						$size_choices[ $key ] .= ' (' . $value['width'] . 'x' . $value['height'] . ')';
					}
				}
			}

			// Featured Image Size.
			$options['setting']['bloglo_blog_image_size'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'    => 'bloglo-select',
					'label'   => esc_html__( 'Featured Image Size', 'bloglo' ),
					'section' => 'bloglo_section_blog_page',
					'choices' => $size_choices,
				),
			);

			// Post Elements.
			$options['setting']['bloglo_blog_entry_elements'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_sortable',
				'control'           => array(
					'type'        => 'bloglo-sortable',
					'section'     => 'bloglo_section_blog_page',
					'label'       => esc_html__( 'Post Elements', 'bloglo' ),
					'description' => esc_html__( 'Set order and visibility for post elements.', 'bloglo' ),
					'choices'     => array(
						'summary'        => esc_html__( 'Summary', 'bloglo' ),
						'header'         => esc_html__( 'Title', 'bloglo' ),
						'meta'           => esc_html__( 'Post Meta', 'bloglo' ),
						'thumbnail'      => esc_html__( 'Featured Image', 'bloglo' ),
						'summary-footer' => esc_html__( 'Read More', 'bloglo' ),
					),
					'required'    => array(
						array(
							'control'  => 'bloglo_blog_layout',
							'value'    => 'blog-horizontal',
							'operator' => '!=',
						),
					),
				),
			);

			// Meta/Post Details Layout.
			$options['setting']['bloglo_blog_entry_meta_elements'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_sortable',
				'control'           => array(
					'type'        => 'bloglo-sortable',
					'section'     => 'bloglo_section_blog_page',
					'label'       => esc_html__( 'Post Meta', 'bloglo' ),
					'description' => esc_html__( 'Set order and visibility for post meta details.', 'bloglo' ),
					'choices'     => array(
						'author'   => esc_html__( 'Author', 'bloglo' ),
						'date'     => esc_html__( 'Publish Date', 'bloglo' ),
						'comments' => esc_html__( 'Comments', 'bloglo' ),
						'category' => esc_html__( 'Categories', 'bloglo' ),
						'tag'      => esc_html__( 'Tags', 'bloglo' ),
					),
				),
			);

			// Post Categories.
			$options['setting']['bloglo_blog_horizontal_post_categories'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Show Post Categories', 'bloglo' ),
					'description' => esc_html__( 'A list of categories the post belongs to. Displayed above post title.', 'bloglo' ),
					'section'     => 'bloglo_section_blog_page',
					'required'    => array(
						array(
							'control'  => 'bloglo_blog_layout',
							'value'    => 'blog-horizontal',
							'operator' => '==',
						),
					),
				),
			);

			// Read More Button.
			$options['setting']['bloglo_blog_horizontal_read_more'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'     => 'bloglo-toggle',
					'label'    => esc_html__( 'Show Read More Button', 'bloglo' ),
					'section'  => 'bloglo_section_blog_page',
					'required' => array(
						array(
							'control'  => 'bloglo_blog_layout',
							'value'    => 'blog-horizontal',
							'operator' => '==',
						),
					),
				),
			);

			// Meta Author image.
			$options['setting']['bloglo_entry_meta_icons'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-toggle',
					'section' => 'bloglo_section_blog_page',
					'label'   => esc_html__( 'Show avatar and icons in post meta', 'bloglo' ),
				),
			);

			// Featured Image Position.
			$options['setting']['bloglo_blog_image_position'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'     => 'bloglo-select',
					'label'    => esc_html__( 'Featured Image Position', 'bloglo' ),
					'section'  => 'bloglo_section_blog_page',
					'choices'  => array(
						'left'  => esc_html__( 'Left', 'bloglo' ),
						'right' => esc_html__( 'Right', 'bloglo' ),
					),
					'required' => array(
						array(
							'control'  => 'bloglo_blog_layout',
							'value'    => 'blog-horizontal',
							'operator' => '==',
						),
					),
				),
			);

			// Excerpt Length.
			$options['setting']['bloglo_excerpt_length'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'section'     => 'bloglo_section_blog_page',
					'label'       => esc_html__( 'Excerpt Length', 'bloglo' ),
					'description' => esc_html__( 'Number of words displayed in the excerpt.', 'bloglo' ),
					'min'         => 0,
					'max'         => 100,
					'step'        => 1,
					'unit'        => '',
					'responsive'  => false,
				),
			);

			// Excerpt more.
			$options['setting']['bloglo_excerpt_more'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'sanitize_text_field',
				'control'           => array(
					'type'        => 'bloglo-text',
					'section'     => 'bloglo_section_blog_page',
					'label'       => esc_html__( 'Excerpt More', 'bloglo' ),
					'description' => esc_html__( 'What to append to excerpt if the text is cut.', 'bloglo' ),
				),
			);

			return $options;
		}
	}
endif;

new Bloglo_Customizer_Blog_Page();
inc/customizer/settings/class-bloglo-customizer-sticky-header.php000064400000002756152425655560021440 0ustar00<?php
/**
 * Bloglo Sticky Header Settings section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Sticky_Header' ) ) :
	/**
	 * Bloglo Sticky Header section in Customizer.
	 */
	class Bloglo_Customizer_Sticky_Header {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Sticky Header Section.
			$options['section']['bloglo_section_sticky_header'] = array(
				'title'    => esc_html__( 'Sticky Header', 'bloglo' ),
				'panel'    => 'bloglo_panel_header',
				'priority' => 80,
			);

			// Enable Transparent Header.
			$options['setting']['bloglo_sticky_header'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-toggle',
					'label'   => esc_html__( 'Enable Sticky Header', 'bloglo' ),
					'section' => 'bloglo_section_sticky_header',
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Sticky_Header();
inc/customizer/settings/class-bloglo-customizer-layout.php000064400000003245152425655560020213 0ustar00<?php
/**
 * Bloglo Layout section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Layout' ) ) :
	/**
	 * Bloglo Layout section in Customizer.
	 */
	class Bloglo_Customizer_Layout {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Section.
			$options['section']['bloglo_layout_section'] = array(
				'title'    => esc_html__( 'Layout', 'bloglo' ),
				'panel'    => 'bloglo_panel_general',
				'priority' => 10,
			);

			// Site layout.
			$options['setting']['bloglo_site_layout'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'section'     => 'bloglo_layout_section',
					'label'       => esc_html__( 'Site Layout', 'bloglo' ),
					'description' => esc_html__( 'Choose your site&rsquo;s main layout.', 'bloglo' ),
					'choices'     => array(
						'fw-contained' => esc_html__( 'Full Width: Contained', 'bloglo' ),
						'fw-stretched' => esc_html__( 'Full Width: Stretched', 'bloglo' ),
					),
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Layout();
inc/customizer/settings/class-bloglo-customizer-misc.php000064400000007754152425655560017642 0ustar00<?php
/**
 * Bloglo Misc section in Customizer.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Misc' ) ) :
	/**
	 * Bloglo Misc section in Customizer.
	 */
	class Bloglo_Customizer_Misc {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Registers our custom options in Customizer.
			 */
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ) );
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Section.
			$options['section']['bloglo_section_misc'] = array(
				'title'    => esc_html__( 'Misc Settings', 'bloglo' ),
				'panel'    => 'bloglo_panel_general',
				'priority' => 60,
			);

			// Schema toggle.
			$options['setting']['bloglo_enable_schema'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Schema Markup', 'bloglo' ),
					'description' => esc_html__( 'Add structured data to your content.', 'bloglo' ),
					'section'     => 'bloglo_section_misc',
				),
			);

			// Custom form styles.
			$options['setting']['bloglo_custom_input_style'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Custom Form Styles', 'bloglo' ),
					'description' => esc_html__( 'Custom design for checkboxes and radio buttons.', 'bloglo' ),
					'section'     => 'bloglo_section_misc',
				),
			);

			// Scroll Top heading.
			$options['setting']['bloglo_scroll_top_heading'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-heading',
					'label'   => esc_html__( 'Scroll Top Button', 'bloglo' ),
					'section' => 'bloglo_section_misc',
				),
			);

			// Enable/Disable Scroll Top.
			$options['setting']['bloglo_enable_scroll_top'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Enable Scroll Top Button', 'bloglo' ),
					'description' => esc_html__( 'A sticky button that allows users to easily return to the top of a page.', 'bloglo' ),
					'section'     => 'bloglo_section_misc',
					'required'    => array(
						array(
							'control'  => 'bloglo_scroll_top_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Cursor Dot heading.
			$options['setting']['bloglo_cursor_dot_heading'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'    => 'bloglo-heading',
					'label'   => esc_html__( 'Cursor Dot Effect', 'bloglo' ),
					'section' => 'bloglo_section_misc',
				),
			);

			// Enable/Disable Cursor Dot.
			$options['setting']['bloglo_enable_cursor_dot'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Enable Cursor Dot', 'bloglo' ),
					'description' => esc_html__( 'A cursor dot effect show on desktop size mode only with work on mouse.', 'bloglo' ),
					'section'     => 'bloglo_section_misc',
					'required'    => array(
						array(
							'control'  => 'bloglo_cursor_dot_heading',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			return $options;
		}
	}
endif;
new Bloglo_Customizer_Misc();
inc/customizer/ui/plugin-install-helper/class-bloglo-customizer-plugin-install-helper.php000064400000012612152425655560026107 0ustar00<?php
/**
 * Plugin install helper.
 *
 * @package Bloglo
 * @since Bloglo 1.0.0
 */

/**
 * Class Bloglo_Customizer_Plugin_Install_Helper
 */
class Bloglo_Customizer_Plugin_Install_Helper {
	/**
	 * Instance of class.
	 *
	 * @var bool $instance instance variable.
	 */
	private static $instance;


	/**
	 * Check if instance already exists.
	 *
	 * @return Bloglo_Customizer_Plugin_Install_Helper
	 */
	public static function instance() {
		if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Customizer_Plugin_Install_Helper ) ) {
			self::$instance = new Bloglo_Customizer_Plugin_Install_Helper();
		}

		return self::$instance;
	}

	/**
	 * Get plugin path based on plugin slug.
	 *
	 * @param string $slug Plugin slug.
	 *
	 * @return string
	 */
	public static function get_plugin_path( $slug ) {

		switch ( $slug ) {
			case 'mailin':
				return $slug . '/sendinblue.php';
				break;
			case 'wpforms-lite':
				return $slug . '/wpforms.php';
				break;
			case 'intergeo-maps':
			case 'visualizer':
			case 'translatepress-multilingual':
				return $slug . '/index.php';
				break;
			case 'beaver-builder-lite-version':
				return $slug . '/fl-builder.php';
				break;
			case 'adblock-notify-by-bweb':
				return $slug . '/adblock-notify.php';
				break;
			default:
				return $slug . '/' . $slug . '.php';
		}
	}

	/**
	 * Generate action button html.
	 *
	 * @param string $slug plugin slug.
	 *
	 * @return string
	 */
	public function get_button_html( $slug, $settings = array() ) {
		$button   = '';
		$redirect = '';
		if ( ! empty( $settings ) && array_key_exists( 'redirect', $settings ) ) {
			$redirect = $settings['redirect'];
		}
		$state = $this->check_plugin_state( $slug );
		if ( empty( $slug ) ) {
			return '';
		}
		$plugin_name = '';
		if ( ! empty( $settings ) && array_key_exists( 'plugin_name', $settings ) ) {
			$plugin_name = $settings['plugin_name'];
		}
		$additional = '';

		if ( $state === 'deactivate' ) {
			$additional = ' action_button active';
		}

		$button .= '<div class=" plugin-card-' . esc_attr( $slug ) . esc_attr( $additional ) . '" style="padding: 8px 0 5px;">';

		$plugin_link_suffix = self::get_plugin_path( $slug );

		$nonce = add_query_arg(
			array(
				'action'        => 'activate',
				'plugin'        => rawurlencode( $plugin_link_suffix ),
				'plugin_status' => 'all',
				'paged'         => '1',
				'_wpnonce'      => wp_create_nonce( 'activate-plugin_' . $plugin_link_suffix ),
			),
			network_admin_url( 'plugins.php' )
		);
		switch ( $state ) {
			case 'install':
				$button .= '<a data-redirect="' . esc_url( $redirect ) . '" data-slug="' . esc_attr( $slug ) . '" class="install-now bloglo-install-plugin button  " href="' . esc_url( $nonce ) . '" data-name="' . esc_attr( $slug ) . '" aria-label="Install ' . esc_attr( $slug ) . '">' . __( 'Install and activate', 'bloglo' ) . ' ' . esc_html( $plugin_name ) . '</a>';
				break;

			case 'activate':
				$button .= '<a  data-redirect="' . esc_url( $redirect ) . '" data-slug="' . esc_attr( $slug ) . '" class="activate-now button button-primary" href="' . esc_url( $nonce ) . '" aria-label="Activate ' . esc_attr( $slug ) . '">' . esc_html__( 'Activate', 'bloglo' ) . ' ' . esc_html( $plugin_name ) . '</a>';
				break;

			case 'deactivate':
				$nonce = add_query_arg(
					array(
						'action'        => 'deactivate',
						'plugin'        => rawurlencode( $plugin_link_suffix ),
						'plugin_status' => 'all',
						'paged'         => '1',
						'_wpnonce'      => wp_create_nonce( 'deactivate-plugin_' . $plugin_link_suffix ),
					),
					network_admin_url( 'plugins.php' )
				);

				$button .= '<a  data-redirect="' . esc_url( $redirect ) . '" data-slug="' . esc_attr( $slug ) . '" class="deactivate-now button" href="' . esc_url( $nonce ) . '" data-name="' . esc_attr( $slug ) . '" aria-label="Deactivate ' . esc_attr( $slug ) . '">' . esc_html__( 'Deactivate', 'bloglo' ) . ' ' . esc_html( $plugin_name ) . '</a>';
				break;

			case 'enable_cpt':
				$url     = admin_url( 'admin.php?page=jetpack#/settings' );
				$button .= '<a  data-redirect="' . esc_url( $redirect ) . '" class="button" href="' . esc_url( $url ) . '">' . esc_html__( 'Activate', 'bloglo' ) . ' ' . esc_html__( 'Jetpack Portfolio', 'bloglo' ) . '</a>';
				break;
		}// End switch().
		$button .= '</div>';

		return $button;
	}

	/**
	 * Check plugin state.
	 *
	 * @param string $slug plugin slug.
	 *
	 * @return bool
	 */
	public function check_plugin_state( $slug ) {

		$plugin_link_suffix = self::get_plugin_path( $slug );

		if ( is_file( ABSPATH . 'wp-content/plugins/' . $plugin_link_suffix ) ) {
			$needs = is_plugin_active( $plugin_link_suffix ) ? 'deactivate' : 'activate';
			if ( $needs === 'deactivate' && ! post_type_exists( 'portfolio' ) && $slug === 'jetpack' ) {
				return 'enable_cpt';
			}

			return $needs;
		} else {
			return 'install';
		}
	}

	/**
	 * Enqueue Function.
	 */
	public function enqueue_scripts() {
		wp_enqueue_script( 'plugin-install' );
		wp_enqueue_script( 'updates' );
		wp_enqueue_script( 'bloglo-plugin-install-helper', get_template_directory_uri() . '/inc/customizer/ui/plugin-install-helper/helper-script.js', array( 'jquery' ), BLOGLO_THEME_VERSION, true );
		wp_localize_script(
			'bloglo-plugin-install-helper',
			'bloglo_plugin_helper',
			array(
				'activating' => esc_html__( 'Activating ', 'bloglo' ),
			)
		);
		wp_localize_script(
			'bloglo-plugin-install-helper',
			'pagenow',
			array( 'import' )
		);
	}
}
inc/customizer/ui/plugin-install-helper/helper-script.js000064400000005152152425655560017516 0ustar00/**
 * Remove activate button and replace with activation in progress button.
 *
 * @package Bloglo
 */

/* global bloglo_plugin_helper */
/* global console */

jQuery(document).ready(function ($) {
  $.pluginInstall = {
    init: function () {
      this.handleInstall();
      this.handleActivate();
    },

    handleInstall: function () {
      var self = this;
      $("body").on("click", ".bloglo-install-plugin", function (e) {
        e.preventDefault();
        var button = $(this);
        var slug = button.attr("data-slug");
        var url = button.attr("href");
        var redirect = $(button).attr("data-redirect");
        button.text(wp.updates.l10n.installing);
        button.addClass("updating-message");
        wp.updates.installPlugin({
          slug: slug,
          success: function () {
            button.text(bloglo_plugin_helper.activating + "...");
            self.activatePlugin(url, redirect);
          },
        });
      });
    },

    activatePlugin: function (url, redirect) {
      if ("undefined" === typeof url || !url) {
        return;
      }
      jQuery.ajax({
        async: true,
        type: "GET",
        url: url,
        success: function () {
          // Reload the page.
          if ("undefined" !== typeof redirect && "" !== redirect) {
            window.location.replace(redirect);
          } else {
            location.reload();
          }
        },
        error: function (jqXHR, exception) {
          var msg = "";
          if (0 === jqXHR.status) {
            msg = "Not connect.\n Verify Network.";
          } else if (404 === jqXHR.status) {
            msg = "Requested page not found. [404]";
          } else if (500 === jqXHR.status) {
            msg = "Internal Server Error [500].";
          } else if ("parsererror" === exception) {
            msg = "Requested JSON parse failed.";
          } else if ("timeout" === exception) {
            msg = "Time out error.";
          } else if ("abort" === exception) {
            msg = "Ajax request aborted.";
          } else {
            msg = "Uncaught Error.\n" + jqXHR.responseText;
          }
          console.log(msg);
        },
      });
    },

    handleActivate: function () {
      var self = this;
      $("body").on("click", ".activate-now", function (e) {
        e.preventDefault();
        var button = $(this);
        var url = button.attr("href");
        var redirect = button.attr("data-redirect");
        button.addClass("updating-message");
        button.text(bloglo_plugin_helper.activating + "...");
        self.activatePlugin(url, redirect);
      });
    },
  };
  $.pluginInstall.init();
});
inc/customizer/customizer-callbacks.php000064400000054066152425655560014405 0ustar00<?php
/**
 * Bloglo Customizer sanitization callback functions.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Number sanitization callback
 *
 * @since 1.0.0
 * @param int $val Number.
 */
function bloglo_sanitize_number( $val ) {
	return is_numeric( $val ) ? $val : 0;
}

/**
 * Toggle field sanitization.
 *
 * @since 1.0.0
 * @param mixed  $input    Value of the toggle field.
 * @param object $setting  Setting object.
 */
function bloglo_sanitize_toggle( $input, $setting ) {

	if ( 'bloglo_enable_front_page' === $setting ) {
		sanitize_key( $input );
	}
	// Ensure input is a slug.
	$input = sanitize_key( $input );

	return true === (bool) $input;
}

/**
 * Sanitize checkbox
 *
 * @param mixed $input Value of checkbox.
 * @return boolean
 */
function bloglo_sanitize_checkbox( $input ) {

	// returns true if checkbox is checked.
	return ( isset( $input ) ? true : false );
}

/**
 * Select field sanitization callback.
 *
 * @since 1.0.0
 * @param mixed  $input    Value of the select field.
 * @param object $setting  Setting object.
 */
function bloglo_sanitize_select( $input, $setting ) {

	$multiple = isset( $setting->manager->get_control( $setting->id )->multiple ) ? $setting->manager->get_control( $setting->id )->multiple : false;

	// Get list of choices from the control associated with the setting.
	$choices = $setting->manager->get_control( $setting->id )->choices;

	if ( $multiple ) {

		// Check if input is array.
		if ( is_array( $input ) && ! empty( $input ) ) {

			$return = array();

			// Get only valid values.
			foreach ( $input as $selected ) {

				$selected = sanitize_key( $selected );

				if ( array_key_exists( $selected, $choices ) ) {
					$return[] = $selected;
				}
			}

			// Return valid only.
			return $return;

		} else {

			// Return default if input valid.
			return array();
		}
	} else {

		// Ensure input is a slug.
		$input = sanitize_key( $input );

		// If the input is a valid key, return it; otherwise, return the default.
		return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
	}

}

/**
 * Textarea field sanitization callback.
 *
 * @since 1.0.0
 * @param mixed  $input    Value of the select field.
 * @param object $setting  Setting object.
 */
function bloglo_sanitize_textarea( $input, $setting ) {

	return wp_kses_post( $input );
}

/**
 * Color field sanitization callback
 *
 * @since 1.0.0
 * @param string $color Color code.
 */
function bloglo_sanitize_color( $color ) {

	if ( empty( $color ) || is_array( $color ) ) {
		return '';
	}

	if ( false === strpos( $color, 'rgba' ) ) {
		return bloglo_sanitize_hex_color( $color );
	}

	return bloglo_sanitize_alpha_color( $color );
}

/**
 * Sanitize HEX color.
 *
 * @since 1.0.0
 * @param string $color Color code in HEX.
 */
function bloglo_sanitize_hex_color( $color ) {

	if ( '' === $color ) {
		return '';
	}

	// 3 or 6 hex digits, or the empty string.
	if ( preg_match( '|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) ) {
		return $color;
	}

	return '';
}

/**
 * Sanitize Alpha color.
 *
 * @since 1.0.0
 * @param string $color Color code in RGBA.
 */
function bloglo_sanitize_alpha_color( $color ) {

	if ( '' === $color ) {
		return '';
	}

	if ( false === strpos( $color, 'rgba' ) ) {
		/* Hex sanitize */
		return bloglo_sanitize_hex_color( $color );
	}

	/* rgba sanitize */
	$color = str_replace( ' ', '', $color );
	sscanf( $color, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha );
	return 'rgba(' . $red . ',' . $green . ',' . $blue . ',' . $alpha . ')';
}

/**
 * Sanitize image.
 *
 * @since 1.0.0
 * @param mixed  $image    Selected image..
 * @param object $setting  Setting object.
 */
function bloglo_sanitize_image( $image, $setting ) {
	/*
		 * Array of valid image file types.
		 *
		 * The array includes image mime types that are included in wp_get_mime_types()
	*/
	$mimes = array(
		'jpg|jpeg|jpe' => 'image/jpeg',
		'gif'          => 'image/gif',
		'png'          => 'image/png',
		'bmp'          => 'image/bmp',
		'tif|tiff'     => 'image/tiff',
		'ico'          => 'image/x-icon',
		'svg'          => 'image/svg+xml',
	);

	// Return an array with file extension and mime_type.
	$file = wp_check_filetype( $image, $mimes );

	// If $image has a valid mime_type, return it; otherwise, return the default.
	return ( $file['ext'] ? $image : $setting->default );
}

/**
 * Sanitize widget control value.
 *
 * @since 1.0.0
 * @param array  $widgets Array of saved widgets.
 * @param object $setting WP Customize manager object.
 */
function bloglo_sanitize_widget( $widgets, $setting ) {

	// Widgets has to be an array.
	if ( ! is_array( $widgets ) || empty( $widgets ) ) {
		return array();
	}

	$control = $setting->manager->get_control( $setting->id );

	// Control widgets.
	$control_widgets = $control->widgets;

	// Control locations.
	$control_locations = $control->locations;

	// Control visibility options.
	$control_visibility = $control->visibility;

	// Used to control max uses for widgets.
	$widget_uses = array();

	foreach ( $widgets as $index => $widget ) {

		// Check if this widget is allowed.
		if ( ! array_key_exists( $widget['type'], $control_widgets ) ) {
			unset( $widgets[ $index ] );
			continue;
		}

		// Set max usage for widget.
		if ( ! isset( $widget_uses[ $widget['type'] ] ) ) {
			$widget_uses[ $widget['type'] ] = isset( $control_widgets[ $widget['type'] ]['max_uses'] ) ? intval( $control_widgets[ $widget['type'] ]['max_uses'] ) : -1;
		}

		// Remove if max widgets exceeded count.
		if ( -1 !== $widget_uses[ $widget['type'] ] ) {

			if ( $widget_uses[ $widget['type'] ] > 0 ) {

				// Widget count still good.
				$widget_uses[ $widget['type'] ]--;
			} else {

				// Exceeded widget max usage.
				unset( $widgets[ $index ] );
				continue;
			}
		}

		// Ensure widget has values.
		if ( ! isset( $widget['values'] ) || ! is_array( $widget['values'] ) ) {
			$widget['values'] = array();
		}

		// Validate the location parameter.
		if ( isset( $widget['values']['location'] ) ) {

			if ( empty( $control_locations ) ) {

				// No locations available.
				unset( $widget['values']['location'] );
			} elseif ( ! array_key_exists( $widget['values']['location'], $control_locations ) ) {

				// This locations is not available, take one from array of available locations.
				$widget['values']['location'] = key( $control_locations );
			}
		} elseif ( ! empty( $control_locations ) ) {

			// Widget has to have a location option.
			$widget['values']['location'] = key( $control_locations );
		}

		// Validate the visibility parameter.
		if ( isset( $widget['values']['visibility'] ) ) {

			if ( empty( $control_visibility ) ) {

				// No visibility available.
				$widget['values']['visibility'] = '';
			} elseif ( ! array_key_exists( $widget['values']['visibility'], $control_visibility ) ) {

				// This locations is not available, take one from array of available locations.
				$widget['values']['visibility'] = key( $control_visibility );
			}
		} elseif ( ! empty( $control_visibility ) ) {

			// Widget has to have a location option.
			$widget['values']['visibility'] = key( $control_visibility );
		}

		// Validate widget values.
		if ( ! empty( $widget['values'] ) ) {
			$classname = $widget['classname'];
			$instance  = new $classname( $widget['values'] );

			$widget['values'] = $instance->values;
		}
	}

	return $widgets;
}

/**
 * No sanitization. Used for controls that only output HTML.
 *
 * @since 1.0.0
 * @param mixed $val Value.
 */
function bloglo_no_sanitize( $val ) {
	return $val;
}

/**
 * Function to sanitize sections order control
 *
 * @param string $input Sections order in json format.
 *
 * @return string
 */
function bloglo_sanitize_order( $input ) {

	$json = json_decode( $input, true );
	foreach ( $json as $section => $priority ) {
		if ( ! is_string( $section ) || ! is_int( $priority ) ) {
			return false;
		}
	}
	$filter_empty = array_filter( $json, 'bloglo_not_empty' );

	return wp_json_encode( $filter_empty );
}

/**
 * Function to filter json empty elements.
 *
 * @param int $val Element of json decoded.
 *
 * @return bool
 */
function bloglo_not_empty( $val ) {
	return ! empty( $val );
}

/**
 * Sanitize Background control value.
 *
 * @since 1.0.0
 * @param mixed $background Value.
 */
function bloglo_sanitize_background( $background ) {

	$bg_params = array(
		'background-image'      => '',
		'background-image-id'   => '',
		'background-repeat'     => 'repeat',
		'background-position-x' => '50',
		'background-position-y' => '50',
		'background-size'       => 'auto',
		'background-attachment' => 'scroll',
	);

	foreach ( $bg_params as $key => $value ) {

		if ( isset( $background[ $key ] ) ) {

			if ( 'background-image' === $key ) {
				$bg_params[ $key ] = esc_url_raw( $background[ $key ] );
			} else {
				$bg_params[ $key ] = esc_attr( $background[ $key ] );
			}
		}
	}

	if ( empty( $bg_params['background-image'] ) ) {
		$bg_params['background-image-id'] = '';
	}

	return $bg_params;
}

/**
 * Sanitize Spacing control value.
 *
 * @since 1.0.0
 * @param mixed  $values  Values.
 * @param object $setting WP Customize Setting instance.
 * @param mixed  $default Default Value.
 */
function bloglo_sanitize_spacing( $values, $setting, $default = array() ) {

	$control         = $setting->manager->get_control( $setting->id );
	$control_choices = $control->choices;
	$control_units   = $control->unit;

	foreach ( $control_choices as $key => $value ) {
		if ( ! isset( $values[ $key ] ) ) {
			$values[ $key ] = isset( $default[ $key ] ) ? $default[ $key ] : 0;
		}
	}

	foreach ( $values as $key => $value ) {

		if ( 'unit' === $key ) {
			continue;
		}

		if ( ! isset( $control_choices[ $key ] ) ) {
			unset( $values[ $key ] );
			continue;
		}

		$values[ $key ] = is_numeric( $value ) ? $value : '';
	}

	if ( isset( $values['unit'] ) && ! in_array( $values['unit'], $control_units, true ) ) {
		if ( isset( $default['unit'] ) ) {
			$values['unit'] = $default['unit'];
		} elseif ( ! empty( $control_units ) ) {
			$values['unit'] = $control_units[0];
		} else {
			$values['unit'] = '';
		}
	}

	return $values;
}

/**
 * Sanitize Range control value.
 *
 * @since 1.0.0
 * @param mixed  $value   Values.
 * @param object $setting WP Customize Setting instance.
 * @param mixed  $default Default Value.
 */
function bloglo_sanitize_range( $value, $setting, $default = '' ) {

	if ( is_array( $value ) ) {
		if ( isset( $value['value'], $value['unit'] ) ) {
			return array(
				'value' => floatval( $value['value'] ),
				'unit'  => sanitize_text_field( $value['unit'] ),
			);
		} elseif ( isset( $value['value'] ) ) {
			return floatval( $value['value'] );
		}
	}

	return is_numeric( $value ) ? floatval( $value ) : $default;
}

/**
 * Sanitize Responsive control value.
 * Iterate through all responsive breakpoints and sanitize each value.
 *
 * @since 1.0.0
 * @param mixed  $values  Values.
 * @param object $setting WP Customize Setting instance.
 */
function bloglo_sanitize_responsive( $values, $setting ) {

	$control       = $setting->manager->get_control( $setting->id );
	$control_type  = str_replace( 'bloglo-', '', $control->type );
	$control_units = isset( $control->unit ) ? $control->unit : false;

	if ( is_array( $control->responsive ) && ! empty( $control->responsive ) ) {

		// Ensure all responsive devices are in value.
		foreach ( $control->responsive as $device => $settings ) {

			if ( ! isset( $values[ $device ] ) ) {
				$values[ $device ] = isset( $setting->default[ $device ] ) ? $setting->default[ $device ] : '';
			}
		}

		// Ensure all devices in value are allowed and sanitize value.
		foreach ( $values as $device => $value ) {

			if ( 'unit' === $device ) {
				continue;
			}

			if ( ! isset( $control->responsive[ $device ] ) ) {
				unset( $values[ $device ] );
				continue;
			}

			// Sanitize value.
			$values[ $device ] = call_user_func_array(
				'bloglo_sanitize_' . $control_type,
				array(
					$values[ $device ],
					$setting,
					isset( $setting->default[ $device ] ) ? $setting->default[ $device ] : '',
				)
			);
		}
	}

	return $values;
}

/**
 * Typography field sanitization.
 *
 * @since 1.0.0
 * @param mixed  $value    Value of the toggle field.
 * @param object $setting  Setting object.
 */
function bloglo_sanitize_typography( $value, $setting ) {

	$defaults = array(
		'font-family'         => '',
		'font-subsets'        => array(),
		'font-weight'         => '',
		'font-style'          => '',
		'text-transform'      => '',
		'font-size-desktop'   => '',
		'font-size-tablet'    => '',
		'font-size-mobile'    => '',
		'font-size-unit'      => '',
		'letter-spacing'      => '',
		'letter-spacing-unit' => '',
		'line-height-desktop' => '',
		'line-height-tablet'  => '',
		'line-height-mobile'  => '',
		'line-height-unit'    => '',
	);

	$defaults = wp_parse_args( $setting->default, $defaults );

	$value = wp_parse_args( $value, $defaults );

	return $value;
}

/**
 * Design Options field sanitization.
 *
 * @since 1.0.0
 * @param mixed  $value    Value of the toggle field.
 * @param object $setting  Setting object.
 */
function bloglo_sanitize_design_options( $value, $setting ) {

	$control = $setting->manager->get_control( $setting->id );

	$sanitized = (array) $setting->default;

	if ( isset( $control->display ) ) {

		if ( isset( $control->display['background'] ) ) {

			if ( ! array_key_exists( $value['background-type'], $control->display['background'] ) ) {
				$sanitized['background-type'] = 'color';
			} else {
				$sanitized['background-type'] = $value['background-type'];
			}

			// Color.
			if ( array_key_exists( 'color', $control->display['background'] ) ) {

				if ( isset( $value['background-color'] ) ) {
					$sanitized['background-color'] = bloglo_sanitize_color( $value['background-color'] );
				}
			}

			// Gradient.
			if ( array_key_exists( 'gradient', $control->display['background'] ) ) {

				if ( isset( $value['gradient-color-1'] ) ) {
					$sanitized['gradient-color-1'] = bloglo_sanitize_color( $value['gradient-color-1'] );
				}

				if ( isset( $value['gradient-color-2'] ) ) {
					$sanitized['gradient-color-2'] = bloglo_sanitize_color( $value['gradient-color-2'] );
				}

				if ( isset( $value['gradient-color-1-location'] ) ) {
					$sanitized['gradient-color-1-location'] = bloglo_sanitize_range( $value['gradient-color-1-location'], $setting );
				}

				if ( isset( $value['gradient-color-2-location'] ) ) {
					$sanitized['gradient-color-2-location'] = bloglo_sanitize_range( $value['gradient-color-2-location'], $setting );
				}

				if ( isset( $value['gradient-type'] ) && in_array( $value['gradient-type'], array( 'linear', 'radial' ), true ) ) {
					$sanitized['gradient-type'] = $value['gradient-type'];
				}

				if ( isset( $value['gradient-linear-angle'] ) ) {
					$sanitized['gradient-linear-angle'] = bloglo_sanitize_range( $value['gradient-linear-angle'], $setting );
				}

				if ( isset( $value['gradient-position'] ) ) {
					$sanitized['gradient-position'] = sanitize_text_field( $value['gradient-position'] );
				}
			}

			// Image.
			if ( array_key_exists( 'image', $control->display['background'] ) ) {

				if ( isset( $value['background-image'] ) ) {
					$sanitized['background-image'] = sanitize_text_field( $value['background-image'] );
				}

				if ( isset( $value['background-image-id'] ) ) {
					$sanitized['background-image-id'] = sanitize_text_field( $value['background-image-id'] );
				}

				if ( isset( $value['background-repeat'] ) ) {
					$sanitized['background-repeat'] = sanitize_text_field( $value['background-repeat'] );
				}

				if ( isset( $value['background-position-x'] ) ) {
					$sanitized['background-position-x'] = intval( $value['background-position-x'] );
				}

				if ( isset( $value['background-position-y'] ) ) {
					$sanitized['background-position-y'] = intval( $value['background-position-y'] );
				}

				if ( isset( $value['background-size'] ) ) {
					$sanitized['background-size'] = sanitize_text_field( $value['background-size'] );
				}

				if ( isset( $value['background-attachment'] ) ) {
					$sanitized['background-attachment'] = sanitize_text_field( $value['background-attachment'] );
				}

				if ( isset( $value['background-color-overlay'] ) ) {
					$sanitized['background-color-overlay'] = sanitize_text_field( $value['background-color-overlay'] );
				}
			}
		}

		if ( isset( $control->display['color'] ) ) {
			foreach ( $control->display['color'] as $id => $title ) {
				if ( isset( $value[ $id ] ) ) {
					$sanitized[ $id ] = bloglo_sanitize_color( $value[ $id ] );
				}
			}
		}

		if ( isset( $control->display['border'] ) ) {

			// Border Color.
			if ( array_key_exists( 'color', $control->display['border'] ) && isset( $value['border-color'] ) ) {
				$sanitized['border-color'] = bloglo_sanitize_color( $value['border-color'] );
			}

			// Border Style.
			if ( isset( $value['border-style'] ) ) {
				$sanitized['border-style'] = sanitize_key( $value['border-style'] );
			}

			// Separator Border Style.
			if ( isset( $value['separator-color'] ) ) {
				$sanitized['separator-color'] = bloglo_sanitize_color( $value['separator-color'] );
			}

			// Border Width.
			$border_width = array( 'left', 'top', 'right', 'bottom' );

			foreach ( $border_width as $position ) {
				if ( isset( $value[ 'border-' . $position . '-width' ] ) ) {
					$sanitized[ 'border-' . $position . '-width' ] = intval( $value[ 'border-' . $position . '-width' ] );
				}
			}
		}
	}

	return $sanitized;
}

/**
 * Sortable field sanitization.
 *
 * @since 1.0.0
 * @param mixed  $value    Value of the toggle field.
 * @param object $setting  Setting object.
 */
function bloglo_sanitize_sortable( $value, $setting ) {

	$control = $setting->manager->get_control( $setting->id );
	$choices = $control->choices;
	$default = $setting->default;

	if ( empty( $value ) ) {
		return $default;
	}

	foreach ( $value as $item => $config ) {
		if ( ! isset( $choices[ $item ] ) ) {
			unset( $value[ $item ] );
		}
	}

	foreach ( $choices as $item => $config ) {
		if ( ! isset( $value[ $item ] ) ) {
			$value[ $item ] = isset( $default[ $item ] ) ? $default[ $item ] : false;
		}
	}

	return $value;
}

/**
 * Sanitize repeatable data
 *
 * @param JSON   $input     Repeater input.
 * @param Object $setting $wp_customize.
 * @return bool|mixed|string|void
 */
function bloglo_repeater_sanitize( $input, $setting ) {
	$control = $setting->manager->get_control( $setting->id );
	$fields  = $control->fields;
	if ( is_string( $input ) ) {
		$input = json_decode( wp_unslash( $input ), true );
	}
	$data = wp_parse_args( $input, array() );
	if ( ! is_array( $data ) ) {
		return false;
	}
	if ( ! isset( $data['_items'] ) ) {
		return false;
	}
	$data = $data['_items'];
	foreach ( $data as $i => $item_data ) {
		foreach ( $item_data as $id => $value ) {
			if ( isset( $fields[ $id ] ) ) {
				switch ( strtolower( $fields[ $id ]['type'] ) ) {
					case 'text':
						$data[ $i ][ $id ] = sanitize_text_field( $value );
						break;
					case 'url':
						$data[ $i ][ $id ] = esc_url_raw( $value );
						break;
					case 'textarea':
					case 'editor':
						$data[ $i ][ $id ] = wp_kses_post( $value );
						break;
					case 'color':
						$data[ $i ][ $id ] = bloglo_sanitize_hex_color( $value );
						break;
					case 'coloralpha':
						$data[ $i ][ $id ] = bloglo_sanitize_alpha_color( $value );
						break;
					case 'checkbox':
						$data[ $i ][ $id ] = bloglo_sanitize_checkbox( $value );
						break;
					case 'select':
						$data[ $i ][ $id ] = '';
						if ( is_array( $fields[ $id ]['options'] ) && ! empty( $fields[ $id ]['options'] ) ) {
							// if is multiple choices.
							if ( is_array( $value ) ) {
								foreach ( $value as $k => $v ) {
									if ( isset( $fields[ $id ]['options'][ $v ] ) ) {
										$value[ $k ] = $v;
									}
								}
								$data[ $i ][ $id ] = $value;
							} else {
								// is single choice.
								if ( isset( $fields[ $id ]['options'][ $value ] ) ) {
									$data[ $i ][ $id ] = $value;
								}
							}
						}
						break;
					case 'radio':
						$data[ $i ][ $id ] = sanitize_text_field( $value );
						break;
					case 'media':
						$value                    = wp_parse_args(
							$value,
							array(
								'url' => '',
								'id'  => false,
							)
						);
						$value['id']              = absint( $value['id'] );
						$data[ $i ][ $id ]['url'] = sanitize_text_field( $value['url'] );
						if ( $url = wp_get_attachment_url( $value['id'] ) ) {
							$data[ $i ][ $id ]['id']  = $value['id'];
							$data[ $i ][ $id ]['url'] = $url;
						} else {
							$data[ $i ][ $id ]['id'] = '';
						}
						break;
					case 'gradient':
						if ( isset( $value['gradient-color-1'] ) ) {
							$sanitized['gradient-color-1'] = bloglo_sanitize_color( $value['gradient-color-1'] );
						}

						if ( isset( $value['gradient-color-2'] ) ) {
							$sanitized['gradient-color-2'] = bloglo_sanitize_color( $value['gradient-color-2'] );
						}

						if ( isset( $value['gradient-color-1-location'] ) ) {
							$sanitized['gradient-color-1-location'] = bloglo_sanitize_range( $value['gradient-color-1-location'], $setting );
						}

						if ( isset( $value['gradient-color-2-location'] ) ) {
							$sanitized['gradient-color-2-location'] = bloglo_sanitize_range( $value['gradient-color-2-location'], $setting );
						}

						if ( isset( $value['gradient-type'] ) && in_array( $value['gradient-type'], array( 'linear', 'radial' ), true ) ) {
							$sanitized['gradient-type'] = $value['gradient-type'];
						}

						if ( isset( $value['gradient-linear-angle'] ) ) {
							$sanitized['gradient-linear-angle'] = bloglo_sanitize_range( $value['gradient-linear-angle'], $setting );
						}

						if ( isset( $value['gradient-position'] ) ) {
							$sanitized['gradient-position'] = sanitize_text_field( $value['gradient-position'] );
						}
						break;
					case 'design-options':
						bloglo_sanitize_design_options( $value, $setting );
						break;
					default:
						$data[ $i ][ $id ] = wp_kses_post( $value );
				}
			} else {
				$data[ $i ][ $id ] = wp_kses_post( $value );
			}
			if ( count( $data[ $i ] ) != count( $fields ) ) {
				foreach ( $fields as $k => $f ) {
					if ( ! isset( $data[ $i ][ $k ] ) ) {
						$data[ $i ][ $k ] = '';
					}
				}
			}
		}
	}
	return $data;
}
inc/customizer/customizer-helpers.php000064400000004634152425655560014124 0ustar00<?php
/**
 * Bloglo Customizer helper functions.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Returns array of available widgets.
 *
 * @since 1.0.0
 * @return array, $widgets array of available widgets.
 */
function bloglo_get_customizer_widgets() {

	$widgets = array(
		'text'     => 'Bloglo_Customizer_Widget_Text',
		'nav'      => 'Bloglo_Customizer_Widget_Nav',
		'socials'  => 'Bloglo_Customizer_Widget_Socials',
		'search'   => 'Bloglo_Customizer_Widget_Search',
		'darkmode' => 'Bloglo_Customizer_Widget_Darkmode',
		'button'   => 'Bloglo_Customizer_Widget_Button',
	);

	return apply_filters( 'bloglo_customizer_widgets', $widgets );
}

/**
 * Get choices for "Hide on" customizer options.
 *
 * @since  1.0.0
 * @return array
 */
function bloglo_get_display_choices() {

	// Default options.
	$return = array(
		'home'       => array(
			'title' => esc_html__( 'Home Page', 'bloglo' ),
		),
		'posts_page' => array(
			'title' => esc_html__( 'Blog / Posts Page', 'bloglo' ),
		),
		'search'     => array(
			'title' => esc_html__( 'Search', 'bloglo' ),
		),
		'archive'    => array(
			'title' => esc_html__( 'Archive', 'bloglo' ),
			'desc'  => esc_html__( 'Dynamic pages such as categories, tags, custom taxonomies...', 'bloglo' ),
		),
		'post'       => array(
			'title' => esc_html__( 'Single Post', 'bloglo' ),
		),
		'page'       => array(
			'title' => esc_html__( 'Single Page', 'bloglo' ),
		),
	);

	// Get additionally registered post types.
	$post_types = get_post_types(
		array(
			'public'   => true,
			'_builtin' => false,
		),
		'objects'
	);

	if ( is_array( $post_types ) && ! empty( $post_types ) ) {
		foreach ( $post_types as $slug => $post_type ) {
			$return[ $slug ] = array(
				'title' => $post_type->label,
			);
		}
	}

	return apply_filters( 'bloglo_display_choices', $return );
}

/**
 * Get device choices for "Display on" customizer options.
 *
 * @since  1.0.0
 * @return array
 */
function bloglo_get_device_choices() {

	// Default options.
	$return = array(
		'desktop' => array(
			'title' => esc_html__( 'Hide On Desktop', 'bloglo' ),
		),
		'tablet'  => array(
			'title' => esc_html__( 'Hide On Tablet', 'bloglo' ),
		),
		'mobile'  => array(
			'title' => esc_html__( 'Hide On Mobile', 'bloglo' ),
		),
	);

	return apply_filters( 'bloglo_device_choices', $return );
}
inc/helpers.php000064400000131023152425655560007507 0ustar00<?php

/**
 * Frontend helper functions used throught the theme.
 *
 * @package Bloglo
 * @author  Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}


/**
 * Returns current page URL.
 *
 * @since 1.0.0
 * @return string, current page URL.
 */
function bloglo_current_url() {
	global $wp;
	return home_url( add_query_arg( array(), $wp->request ) );
}

/**
 * Returns site URL.
 *
 * @since 1.0.0
 * @return string, current page URL.
 */
function bloglo_get_site_url() {
	return apply_filters( 'bloglo_site_url', home_url( '/' ) );
}

/**
 * Returns site title.
 *
 * @since 1.0.0
 * @return string, current page URL.
 */
function bloglo_get_site_title() {
	return apply_filters( 'bloglo_site_title', get_bloginfo( 'name' ) );
}

/**
 * Returns site description.
 *
 * @since 1.0.0
 * @return string, current page URL.
 */
function bloglo_get_site_description() {
	return apply_filters( 'bloglo_site_description', get_bloginfo( 'description' ) );
}

if ( ! function_exists( 'bloglo_the_title' ) ) {

	/**
	 * Wrapper function for bloglo_get_the_title().
	 *
	 * @since 1.0.0
	 * @param string $before  Optional. Content to prepend to the title.
	 * @param string $after   Optional. Content to append to the title.
	 * @param int    $post_id Optional, default to 0. Post id.
	 * @param bool   $echo    Optional, default to true. Whether to display or return.
	 * @return string|void    String if $echo parameter is false.
	 */
	function bloglo_the_title( $before = '', $after = '', $post_id = 0, $echo = true ) {

		$title  = bloglo_get_the_title( $post_id );
		$before = apply_filters( 'bloglo_the_title_before', $before );
		$after  = apply_filters( 'bloglo_the_title_after', $after );

		$title = $before . $title . $after;

		if ( $echo ) {
			echo wp_kses( $title, bloglo_get_allowed_html_tags() );
		} else {
			return $title;
		}
	}
}

if ( ! function_exists( 'bloglo_get_the_title' ) ) {

	/**
	 * Get page title. Adds support for non-singular pages.
	 *
	 * @since 1.0.0
	 * @param int  $post_id Optional, default to 0. Post id.
	 * @param bool $echo    Optional, default to false. Whether to display or return.
	 * @return string|void  String if $echo parameter is false.
	 */
	function bloglo_get_the_title( $post_id = 0, $echo = false ) {

		$title = '';

		if ( $post_id || is_singular() ) {
			$title = get_the_title( $post_id );

			if ( function_exists( 'yith_wcwl_is_wishlist_page' ) && yith_wcwl_is_wishlist_page() ) {

				// Retireve wishlist title.
				$wishlist_title = get_option( 'yith_wcwl_wishlist_title' ) ? get_option( 'yith_wcwl_wishlist_title' ) : __( 'Wishlist', 'bloglo' );

				// Yith wishlist title.
				$title = apply_filters( 'bloglo_yith_wishlist_title', esc_html( $wishlist_title ) );
			}
		} else {
			if ( is_front_page() && is_home() ) {
				// Homepage.
				$title = apply_filters( 'bloglo_home_page_title', esc_html__( 'Home', 'bloglo' ) );
			} elseif ( is_home() ) {
				// Blog page.
				$title = apply_filters( 'bloglo_blog_page_title', get_the_title( get_option( 'page_for_posts', true ) ) );
			} elseif ( is_404() ) {
				// 404 page - title always display.
				$title = apply_filters( 'bloglo_404_page_title', esc_html__( 'This page doesn&rsquo;t seem to exist.', 'bloglo' ) );
			} elseif ( is_search() ) {
				// Search page - title always display.
				/* translators: 1: search string */
				$title = apply_filters( 'bloglo_search_page_title', sprintf( __( 'Search results for: %s', 'bloglo' ), get_search_query() ) );
			} elseif ( class_exists( 'WooCommerce' ) && is_shop() ) {
				// Woocommerce.
				$title = woocommerce_page_title( false );
			} elseif ( is_author() ) {
				// Author post archive.
				$title = apply_filters( 'bloglo_author_page_title', esc_html__( 'Posts by', 'bloglo' ) . ' ' . esc_html( get_the_author() ) );
			} elseif ( is_category() || is_tag() || is_tax() ) {
				// Category, tag and custom taxonomy archive.
				$title = single_term_title( '', false );
			} elseif ( is_archive() ) {
				// Archive.
				$title = get_the_archive_title();
			}
		}
		if ( $echo ) {
			echo wp_kses( $title, bloglo_get_allowed_html_tags() );
		} else {
			return $title;
		}
	}
}

if ( ! function_exists( 'bloglo_get_the_id' ) ) {

	/**
	 * Get post ID.
	 *
	 * @since  1.0.0
	 * @return string Current post/page ID.
	 */
	function bloglo_get_the_id() {

		$post_id = 0;

		if ( is_home() && 'page' === get_option( 'show_on_front' ) ) {
			$post_id = get_option( 'page_for_posts' );
		} elseif ( is_front_page() && 'page' === get_option( 'show_on_front' ) ) {
			$post_id = get_option( 'page_on_front' );
		} elseif ( is_singular() ) {
			$post_id = get_the_ID();
		}

		return apply_filters( 'bloglo_get_the_id', $post_id );
	}
}

if ( ! function_exists( 'bloglo_get_the_description' ) ) {

	/**
	 * Get page description. Adds support for non-singular pages.
	 *
	 * @since 1.0.0
	 * @param int  $post_id Optional, default to 0. Post id.
	 * @param bool $echo    Optional, default to false. Whether to display or return.
	 * @return string|void  String if $echo parameter is false.
	 */
	function bloglo_get_the_description( $post_id = 0, $echo = false ) {

		$description = '';

		if ( $post_id ) {
			// @todo: take from meta..
			$description = get_the_excerpt( $post_id );
		} elseif ( is_search() ) {
			global $wp_query;
			$found_posts = $wp_query->found_posts;

			if ( $found_posts > 0 ) {
				// Translators: $s number of found results.
				$description = sprintf( _n( '%s result found', '%s results found', $found_posts, 'bloglo' ), number_format_i18n( $found_posts ) );
			} else {
				$description = esc_html__( 'No results found', 'bloglo' );
			}
		} elseif ( is_author() ) {
			$description = '';
		} else {
			$description = get_the_archive_description();
		}

		if ( $echo ) {
			echo esc_html( $description );
		} else {
			return $description;
		}
	}
}

/**
 * Checks to see if we're on the homepage or not.
 *
 * @since 1.0.0
 * @return boolean, if current page is front page.
 */
function bloglo_is_frontpage() {
	return ( is_front_page() && ! is_home() );
}

/**
 * Check if schema is enabled.
 *
 * @since 1.0.0
 * @return boolean
 */
function bloglo_is_schema_enabled() {

	$enabled = bloglo_option( 'enable_schema' );

	return apply_filters( 'bloglo_is_schema_enabled', $enabled );
}

/**
 * Check if a custom logo has been uploaded.
 *
 * @since 1.0.0
 * @return boolean
 */
function bloglo_has_logo() {

	if ( has_custom_logo() ) {
		return true;
	}

	return false;
}

/**
 * Get sidebar name.
 *
 * @since 1.0.0
 * @return string|boolean
 */
function bloglo_get_sidebar() {

	$sidebar = 'sidebar-1';

	$sidebar = apply_filters( 'bloglo_sidebar_name', $sidebar );

	if ( ! is_active_sidebar( $sidebar ) && ! current_user_can( 'edit_theme_options' ) ) {
		return false;
	}

	return $sidebar;
}

/**
 * Get site layout (content layout) position.
 *
 * @since  1.0.0
 * @param  object|int|null $post Optional. The post to check. If not supplied, defaults to the current post if used in the loop.
 * @return string, site layout.
 */
function bloglo_get_site_layout( $post = null ) {

	// Default site layout from Customizer.
	$default_site_layout = apply_filters( 'bloglo_default_site_layout', bloglo_option( 'site_layout' ), $post );
	$site_layout         = $default_site_layout;

	$post = is_null( $post ) ? bloglo_get_the_id() : $post;

	if ( $post ) {

		$post = get_post( $post );

		// Singular pages have meta settings for content layout.
		if ( ! empty( $post ) ) {
			$site_layout = get_post_meta( $post->ID, 'bloglo_content_layout', true );

			if ( empty( $site_layout ) ) {
				$site_layout = $default_site_layout;
			}
		}
	}

	return apply_filters( 'bloglo_site_layout', $site_layout );
}

/**
 * Get sidebar layout position.
 *
 * @since  1.0.0
 * @param  object|int|null $post Optional. The post to check. If not supplied, defaults to the current post if used in the loop.
 * @return string, Sidebar layout position.
 */
function bloglo_get_sidebar_position( $post = null ) {

	// Default sidebar position.
	if ( is_singular( 'post' ) ) {
		$default_sidebar_position = bloglo_option( 'single_post_sidebar_position' );
	} elseif ( is_singular( 'page' ) ) {
		$default_sidebar_position = bloglo_option( 'single_page_sidebar_position' );
	} elseif ( is_archive() || is_search() ) {
		$default_sidebar_position = bloglo_option( 'archive_sidebar_position' );
	} else {
		$default_sidebar_position = bloglo_option( 'sidebar_position' );
	}

	if ( empty( $default_sidebar_position ) || 'default' === $default_sidebar_position ) {
		$default_sidebar_position = bloglo_option( 'sidebar_position' );
	}

	$post = is_null( $post ) ? bloglo_get_the_id() : $post;

	$default_sidebar_position = apply_filters( 'bloglo_default_sidebar_position', $default_sidebar_position, $post );

	$sidebar_position = $default_sidebar_position;

	// Get meta settings if page is set.
	if ( $post ) {

		$post = get_post( $post );

		// Singular pages have meta settings for sidebar position.
		if ( ! empty( $post ) ) {
			$sidebar_position = get_post_meta( $post->ID, 'bloglo_sidebar_position', true );

			if ( empty( $sidebar_position ) ) {
				$sidebar_position = $default_sidebar_position;
			}
		}
	}

	// Force no sidebar on 404 pages.
	if ( is_404() ) {
		$sidebar_position = 'no-sidebar';
	}

	return apply_filters( 'bloglo_sidebar_position', $sidebar_position, $post );
}

/**
 * Check if sidebar is displayed.
 *
 * @since 1.0.0
 * @param int $post Optional. The post ID to check. If not supplied, defaults to the current post if used in the loop.
 * @return boolean Sidebar displayed.
 */
function bloglo_is_sidebar_displayed( $post = null ) {

	$position  = bloglo_get_sidebar_position( $post );
	$displayed = true;

	if ( 'no-sidebar' === $position || '' === $position || false === $position ) {
		$displayed = false;
	}

	if ( ! bloglo_get_sidebar() ) {
		$displayed = false;
	}

	return apply_filters( 'bloglo_is_sidebar_displayed', $displayed );
}

/**
 * Check if sidebar is displayed.
 *
 * @since 1.0.0
 * @return string Article feed layout slug.
 */
function bloglo_get_article_feed_layout() {

	$layout = '';

	if ( is_page_template( 'page-templates/template-blog-masonry.php' ) || is_front_page() || is_home() || is_archive() || is_search() ) {
		$layout = bloglo_option( 'blog_layout' );
	}

	return apply_filters( 'bloglo_article_feed_layout', $layout );
}

/**
 * Get ordered array of single post page sections.
 *
 * @since 1.0.0
 * @param int $post_id Optional. The post ID to check. If not supplied, defaults to the current post if used in the loop.
 * @return array, Section IDs for the single post layout.
 */
function bloglo_get_single_post_elements( $post_id = null ) {

	if ( ! $post_id ) {
		$post_id = get_the_ID();
	}

	$post_format = get_post_format( $post_id );

	$options  = bloglo_get_page_elements( 'single_post_elements' );
	$elements = array();

	if ( 'quote' !== $post_format ) {

		$layout = bloglo_option( 'single_title_position' );
		$layout = apply_filters( 'bloglo_single_title_position', $layout );

		if ( 'in-content' === $layout ) {

			if ( in_array( 'category', $options, true ) ) {
				$elements[] = 'category';
			}

			$elements[] = 'header';
			$elements[] = 'meta';

			if ( bloglo_show_post_thumbnail( $post_id ) && in_array( 'thumb', $options, true ) ) {
				$elements[] = 'thumbnail';
			}
		}

		$elements[] = 'content';
		$elements[] = 'content-footer';
	}

	if ( in_array( 'about-author', $options, true ) ) {
		$elements[] = 'about-author';
	}

	if ( in_array( 'prev-next-post', $options, true ) ) {
		$elements[] = 'prev-next-post';
	}

	$elements = apply_filters( 'bloglo_single_content_elements', $elements );

	return $elements;
}

/**
 * Check if single post element is displayed.
 *
 * @since  1.0.0
 * @param  string $element Element name.
 * @return boolean          Element is enabled or not.
 */
function bloglo_single_post_displays( $element ) {

	$options = bloglo_get_page_elements( 'single_post_elements' );

	return in_array( $element, $options, true );
}

/**
 * Get ordered array of blog entry elements.
 *
 * @since 1.0.0
 * @return array, Element IDs for the blog entry.
 */
function bloglo_get_blog_entry_elements() {

	$elements = bloglo_get_page_elements( 'blog_entry_elements' );

	return apply_filters( 'bloglo_blog_entry_elements', $elements );
}

/**
 * Get ordered array of page elements.
 *
 * @since 1.0.0
 * @param string  $id           Customizer setting ID.
 * @param boolean $enabled_only Return only enabled/visible elements.
 * @return array  $elements     Array of element IDs for the blog entry.
 */
function bloglo_get_page_elements( $id, $enabled_only = true ) {

	$elements = bloglo_option( $id );

	if ( empty( $elements ) ) {
		return array();
	}

	if ( $enabled_only ) {
		return array_keys( $elements, true, true );
	}

	return array_keys( $elements );
}

/**
 * Get ordered array of meta elements.
 *
 * @since 1.0.0
 * @param boolean $enabled_only Return only enabled/visible elements.
 * @return array  $elements     Element IDs for the blog entry.
 */
function bloglo_get_entry_meta_elements( $enabled_only = true ) {

	$elements = array();

	if ( is_single() ) {
		$elements = bloglo_option( 'single_post_meta_elements' );
	} else {
		$elements = bloglo_option( 'blog_entry_meta_elements' );
	}

	if ( $enabled_only ) {
		$elements = array_keys( $elements, true, true );
	} else {
		$elements = array_keys( $elements );
	}

	return apply_filters( 'bloglo_entry_meta_elements', $elements );
}

/**
 * Check if at least one entry meta element is enabled.
 *
 * @since  1.0.0
 * @return boolean Has elements or not.
 */
function bloglo_has_entry_meta_elements() {

	$elements = bloglo_get_entry_meta_elements();

	return ! empty( $elements );
}

/**
 * Wrap comment submit button with span tag.
 *
 * @since 1.0.0
 * @param string $submit_button Comment content.
 * @param array  $args          Button arguments.
 */
function bloglo_filter_comment_form_submit_button( $submit_button, $args ) {
	return '<span class="bloglo-submit-form-button">' . $submit_button . '</span>'; // phpcs:ignore
}
add_filter( 'comment_form_submit_button', 'bloglo_filter_comment_form_submit_button', 10, 2 );

/**
 * Filter excerpt length.
 *
 * @since 1.0.0
 * @param int $length Word count for excerpt.
 * @return int
 */
function bloglo_excerpt_length( $length ) {
	if ( is_admin() ) {
		return $length;
	}
	return intval( bloglo_option( 'excerpt_length' ) );
}
add_filter( 'excerpt_length', 'bloglo_excerpt_length' );

/**
 * Filter excerpt more.
 *
 * @since 1.0.0
 * @param  string $more More indicator excerpt.
 * @return string
 */
function bloglo_excerpt_more( $more ) {
	if ( is_admin() ) {
		return $more;
	}
	return bloglo_option( 'excerpt_more' );
}
add_filter( 'excerpt_more', 'bloglo_excerpt_more' );

/**
 * Determines if post thumbnail can be displayed.
 *
 * @since 1.0.0
 * @param int $post_id Optional. The post ID to check. If not supplied, defaults to the current post if used in the loop.
 * @return boolean, Thumbnail displayed.
 */
function bloglo_show_post_thumbnail( $post_id = null ) {

	$post_id = is_null( $post_id ) ? bloglo_get_the_id() : $post_id;

	$display = ! post_password_required( $post_id ) && ! is_attachment( $post_id ) && has_post_thumbnail( $post_id );

	if ( get_post_meta( $post_id, 'bloglo_disable_thumbnail', true ) ) {
		$display = false;
	}

	return apply_filters( 'bloglo_show_post_thumbnail', $display );
}

if ( ! function_exists( 'bloglo_get_video_from_post' ) ) :

	/**
	 * Get video HTML markup from post content.
	 *
	 * @since 1.0.0
	 * @param  number $post_id Post id.
	 * @return mixed
	 */
	function bloglo_get_video_from_post( $post_id = null ) {

		$post    = get_post( $post_id );
		$content = do_shortcode( apply_filters( 'the_content', $post->post_content ) ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
		$embeds  = apply_filters( 'bloglo_get_post_video', get_media_embedded_in_content( $content ) );

		if ( empty( $embeds ) ) {
			return '';
		}

		// Return first embedded item that is a video format.
		foreach ( $embeds as $embed ) {
			if ( strpos( $embed, 'video' ) || strpos( $embed, 'youtube' ) || strpos( $embed, 'vimeo' ) ) {
				return $embed;
			}
		}
	}
endif;

if ( ! function_exists( 'bloglo_get_audio_from_post' ) ) :

	/**
	 * Get video HTML markup from post content.
	 *
	 * @since 1.0.0
	 * @param  number $post_id Post id.
	 * @return mixed
	 */
	function bloglo_get_audio_from_post( $post_id = null ) {

		$post    = get_post( $post_id );
		$content = do_shortcode( apply_filters( 'the_content', $post->post_content ) ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
		$embeds  = apply_filters( 'bloglo_get_post_audio', get_media_embedded_in_content( $content ) );

		if ( empty( $embeds ) ) {
			return '';
		}

		// check what is the first embed containg video tag, youtube or vimeo.
		foreach ( $embeds as $embed ) {
			if ( strpos( $embed, 'audio' ) || strpos( $embed, 'soundcloud' ) ) {
				return '<span class="bloglo-post-audio-wrapper">' . $embed . '</span>';
			}
		}
	}
endif;

if ( ! function_exists( 'bloglo_get_post_gallery' ) ) :
	/**
	 * A get_post_gallery() polyfill for Gutenberg.
	 *
	 * @since 1.0.0
	 * @param object|int|null $post Optional. The post to check. If not supplied, defaults to the current post if used in the loop.
	 * @param boolean         $html Return gallery HTML or array of gallery items.
	 * @return string|array   The gallery html or array of gallery items.
	 */
	function bloglo_get_post_gallery( $post = 0, $html = false ) {

		// Get gallery shortcode.
		$gallery = get_post_gallery( $post, $html );

		// Already found a gallery so lets quit.
		if ( $gallery ) {
			return $gallery;
		}

		// Check the post exists.
		$post = get_post( $post );
		if ( ! $post ) {
			return;
		}

		// Not using Gutenberg so let's quit.
		if ( ! function_exists( 'has_blocks' ) ) {
			return;
		}

		// Not using blocks so let's quit.
		if ( ! has_blocks( $post->post_content ) ) {
			return;
		}

		/**
		 * Search for gallery blocks and then, if found, return the
		 * first gallery block.
		 */
		$pattern = '/<!--\ wp:gallery.*-->([\s\S]*?)<!--\ \/wp:gallery -->/i';
		preg_match_all( $pattern, $post->post_content, $the_galleries );

		// Check a gallery was found and if so change the gallery html.
		if ( ! empty( $the_galleries[1] ) ) {
			$gallery_html = reset( $the_galleries[1] );

			if ( $html ) {
				$gallery = $gallery_html;
			} else {
				$srcs = array();
				$ids  = array();

				preg_match_all( '#src=([\'"])(.+?)\1#is', $gallery_html, $src, PREG_SET_ORDER );
				if ( ! empty( $src ) ) {
					foreach ( $src as $s ) {
						$srcs[] = $s[2];
					}
				}

				preg_match_all( '#data-id=([\'"])(.+?)\1#is', $gallery_html, $id, PREG_SET_ORDER );
				if ( ! empty( $id ) ) {
					foreach ( $id as $i ) {
						$ids[] = $i[2];
					}
				}

				$gallery = array(
					'ids' => implode( ',', $ids ),
					'src' => $srcs,
				);
			}
		}

		return $gallery;
	}
endif;

if ( ! function_exists( 'bloglo_get_image_from_post' ) ) :

	/**
	 * Get image HTML markup from post content.
	 *
	 * @since 1.0.0
	 * @param object|int|null $post Optional. The post to check. If not supplied, defaults to the current post if used in the loop.
	 * @param boolean         $html Return image HTML or array of image items.
	 * @return mixed
	 */
	function bloglo_get_image_from_post( $post = null, $html = true ) {

		// Check the post exists.
		$post = get_post( $post );
		if ( ! $post ) {
			return;
		}

		$attachment_id = null;

		// Using Blocks, check if wp:image exists.
		if ( function_exists( 'has_blocks' ) && has_blocks( $post->post_content ) ) {

			/**
			 * Search for image blocks.
			 */
			$pattern = '/<!--\ wp:image.*"id"\s*:\s*([0-9]+).*-->/i';
			preg_match( $pattern, $post->post_content, $the_images );

			// Check if an image was found.
			if ( ! empty( $the_images[1] ) ) {
				$attachment_id = absint( $the_images[1] );
			}
		}

		// Nothing found, check if images added through Add Media.
		if ( ! $attachment_id ) {

			/**
			 * Search for img tags in the content.
			 */
			$pattern = '/<img.*wp-image-([0-9]+).*>/';
			preg_match( $pattern, $post->post_content, $the_images );

			// Check if an image was found.
			if ( ! empty( $the_images[0] ) ) {
				$attachment_id = absint( $the_images[0] );
			}
		}

		// Still nothing was found, check for attached images.
		if ( ! $attachment_id ) {

			$the_images = get_attached_media( 'image', $post->ID );

			if ( ! empty( $the_images ) ) {
				$image         = reset( $the_images );
				$attachment_id = $image->ID;
			}
		}

		// Check if an image was found.
		if ( $attachment_id ) {

			if ( $html ) {
				$atts = array(
					'alt' => get_the_title( $post->ID ),
				);

				if ( bloglo_get_schema_markup( 'image' ) ) {
					$atts['itemprop'] = 'image';
				}

				return wp_get_attachment_image( $attachment_id, 'full', false, $atts );
			} else {
				return wp_get_attachment_url( $attachment_id );
			}
		}

		return false;
	}
endif;

if ( ! function_exists( 'bloglo_get_post_thumbnail' ) ) :

	/**
	 * Get post thumbnail markup.
	 *
	 * @since 1.0.0
	 * @param int|WP_Post  $post Optional. Post ID or WP_Post object.  Default is global `$post`.
	 * @param string|array $size Optional. Image size to use. Accepts any valid image size, or
	 *                           an array of width and height values in pixels (in that order).
	 *                           Default 'post-thumbnail'.
	 * @param boolean      $caption Optional. Display image caption.
	 * @return string The post thumbnail image tag.
	 */
	function bloglo_get_post_thumbnail( $post = null, $size = 'post-thumbnail', $caption = false ) {

		$attachment_id  = get_post_thumbnail_id( $post );
		$attachment_alt = trim(strip_tags(get_post_meta($attachment_id, '_wp_attachment_image_alt', true))); // phpcs:ignore
		$attachment_alt = empty( $attachment_alt ) ? get_the_title( $post ) : $attachment_alt;

		$atts = array(
			'alt' => $attachment_alt,
		);

		if ( bloglo_get_schema_markup( 'image' ) ) {
			$atts['itemprop'] = 'image';
		}

		$size = apply_filters( 'bloglo_post_thumbnail_default_size', $size );
		$atts = apply_filters( 'bloglo_post_thumbnail_default_size', $atts );

		$html = get_the_post_thumbnail( $post, $size, $atts );

		if ( $caption ) {

			$caption = wp_get_attachment_caption( $attachment_id );

			if ( ! empty( $caption ) ) {
				$caption = '<div class="post-thumb-caption">' . wp_kses( $caption, bloglo_get_allowed_html_tags( 'button' ) ) . '</div>';
			}

			$html .= $caption;
		}

		return apply_filters( 'bloglo_post_thumbnail_html', $html, $post, $attachment_id, $size, $atts );
	}
endif;

if ( ! function_exists( 'bloglo_entry_get_permalink' ) ) :
	/**
	 * Get permalink for one post entry.
	 *
	 * @since 1.0.0
	 * @param int|WP_Post $post Optional. Post ID or WP_Post object.  Default is global `$post`.
	 * @return string
	 */
	function bloglo_entry_get_permalink( $post = null ) {

		$permalink = '';

		if ( 'link' === get_post_format( $post ) ) {
			$permalink = get_url_in_content( get_the_content( $post ) );
		} else {
			$permalink = get_permalink( $post );
		}

		return apply_filters( 'bloglo_entry_permalink', $permalink );
	}
endif;

/**
 * Determines breadcrumbs are displayed.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean, Breadcrumbs displayed.
 */
function bloglo_has_breadcrumbs( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$display = bloglo_option( 'breadcrumbs_enable' );

	if ( $display && bloglo_is_section_disabled( bloglo_option( 'breadcrumbs_hide_on' ), $post_id ) ) {
		$display = false;
	}

	if ( $display && $post_id && get_post_meta( $post_id, 'bloglo_disable_breadcrumbs', true ) ) {
		$display = false;
	}

	return apply_filters( 'bloglo_has_breadcrumbs', $display, $post_id );
}

/**
 * Determines if page header breadcrumbs are displayed.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean, Breadcrumbs displayed.
 */
function bloglo_page_header_has_breadcrumbs( $post_id = 0 ) {

	return bloglo_has_breadcrumbs( $post_id ) && 'in-page-header' === bloglo_option( 'breadcrumbs_position' );
}

/**
 * Determines if page header title & description are displayed.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean, Title & description displayed.
 */
function bloglo_page_header_has_title( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$display = true;

	if ( is_singular( 'post' ) && ! in_array( bloglo_option( 'single_title_position' ), array( 'in-page-header' ), true ) ) {
		$display = false;
	}

	// Disabled in post meta settings.
	if ( get_post_meta( $post_id, 'bloglo_disable_page_title', true ) ) {
		$display = false;
	}

	// Finally, check if title string is empty.
	if ( $display ) {
		$title = apply_filters( 'bloglo_page_header_title', bloglo_get_the_title() );

		if ( ! $title ) {
			$display = false;
		}
	}

	return apply_filters( 'bloglo_page_header_has_title', $display );
}

/**
 * Determines if comments are displayed.
 *
 * @since 1.0.0
 * @return boolean, true if comments are displayed.
 */
function bloglo_comments_displayed() {

	$display = true;

	/*
	 * Return false if comments are closed and there are no comments already posted.
	 */
	if ( ! is_singular() || ( ! comments_open() && ! get_comments_number() ) || ! post_type_supports( get_post_type(), 'comments' ) ) {
		$display = false;
	}

	/*
	 * If the current post is protected by a password and
	 * the visitor has not yet entered the password we will
	 * return early without loading the comments.
	 */
	if ( post_password_required() ) {
		return false;
	}

	return apply_filters( 'bloglo_display_comments', $display );
}

/**
 * Determines if comments toggle is displayed.
 *
 * @since 1.0.0
 * @return boolean, true if comments toggle is displayed.
 */
function bloglo_comments_toggle_displayed() {

	$return = bloglo_option( 'single_toggle_comments' );

	return apply_filters( 'bloglo_display_comments_toggle', $return );
}

/**
 * Add attributes to Masthead.
 *
 * @since 1.0.0
 * @param array $atts Attributes array.
 * @param int   $post_id Optional. The post ID to check. If not supplied, defaults to the current post if used in the loop.
 * @return void|string
 */
function bloglo_masthead_atts( $atts = array(), $post_id = '' ) {

	if ( is_singular( 'post' ) && 'in-page-header' === bloglo_option( 'single_title_position' ) && bloglo_is_header_transparent( $post_id ) ) {
		if ( bloglo_show_post_thumbnail( $post_id ) && bloglo_single_post_displays( 'thumb' ) ) {
			$atts['style']  = isset( $atts['style'] ) ? $atts['style'] : '';
			$atts['style'] .= 'background-image: url(' . wp_get_attachment_image_url( get_post_thumbnail_id( $post_id ), 'full' ) . ');';
		}
	}

	$atts = apply_filters( 'bloglo_masthead_atts', $atts, $post_id );

	if ( ! empty( $atts ) ) {

		$output = '';

		foreach ( $atts as $att => $content ) {
			$output .= sanitize_title( $att ) . '="' . esc_attr( $content ) . '"';
		}

		$output = empty( $output ) ? '' : ' ' . $output;

		echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	}
}

/**
 * Add classes to Front Section.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_section_classes( $section ) {
	$classes = array();
	// Optional wide header container.
	if ( 'full-width' === bloglo_option( $section . '_container_width' ) ) {
		$classes[] = 'bloglo-container__wide';
	}

	$classes = apply_filters( 'bloglo_section_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo esc_attr( $classes );
	}
}

/**
 * Add classes to Header.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_header_classes( $classes = array() ) {

	// Optional wide header container.
	if ( 'full-width' === bloglo_option( 'header_container_width' ) ) {
		$classes[] = 'bloglo-container__wide';
	}

	$classes = apply_filters( 'bloglo_header_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo 'class="' . esc_attr( $classes ) . '"';
	}
}


/**
 * Add classes to Top Bar.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_top_bar_classes( $classes = array() ) {

	// Optional wide top bar container.
	if ( 'full-width' === bloglo_option( 'top_bar_container_width' ) ) {
		$classes[] = 'bloglo-container__wide';
	}

	// Top Bar visibility.
	$top_bar_visibility = bloglo_option( 'top_bar_visibility' );

	if ( 'all' !== $top_bar_visibility ) {
		$classes[] = 'bloglo-' . $top_bar_visibility;
	}

	$classes = apply_filters( 'bloglo_top_bar_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo 'class="' . esc_attr( $classes ) . '"';
	}
}

/**
 * Add classes to Page Header.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_page_header_classes( $classes = array() ) {

	$classes[] = 'page-header';

	// Background image.
	if ( is_singular( 'post' ) && 'in-page-header' === bloglo_option( 'single_title_position' ) ) {
		$classes[] = 'bloglo-page-title-has-bg-img';
	}

	if ( bloglo_page_header_has_title() ) {
		$classes[] = 'bloglo-has-page-title';
	}

	if ( bloglo_page_header_has_breadcrumbs() ) {
		$classes[] = 'bloglo-has-breadcrumbs';
	}

	$classes = apply_filters( 'bloglo_page_header_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo 'class="' . esc_attr( $classes ) . '"';
	}
}

/**
 * Add attributes to Page Header.
 *
 * @since 1.0.0
 * @param array $atts Array of additional attributes.
 * @param int   $post_id Optional. The post ID to check. If not supplied, defaults to the current post if used in the loop.
 * @return void
 */
function bloglo_page_header_atts( $atts = array(), $post_id = '' ) {

	if ( is_singular( 'post' ) && 'in-page-header' === bloglo_option( 'single_title_position' ) && ! bloglo_is_header_transparent( $post_id ) ) {
		if ( bloglo_show_post_thumbnail( $post_id ) && bloglo_single_post_displays( 'thumb' ) ) {
			$atts['style']  = isset( $atts['style'] ) ? $atts['style'] : '';
			$atts['style'] .= 'background-image: url(' . wp_get_attachment_image_url( get_post_thumbnail_id( $post_id ), 'full' ) . ');';
		}
	}

	$atts = apply_filters( 'bloglo_page_header_atts', $atts, $post_id );

	if ( ! empty( $atts ) ) {

		$output = '';

		foreach ( $atts as $att => $content ) {
			$output .= sanitize_title( $att ) . '="' . esc_attr( $content ) . '"';
		}

		$output = empty( $output ) ? '' : ' ' . $output;

		echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	}
}

/**
 * Add classes to Hero.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_hero_classes( $classes = array() ) {

	// Hero visibility.
	$visibility = bloglo_option( 'hero_visibility' );

	if ( 'all' !== $visibility ) {
		$classes[] = 'bloglo-' . $visibility;
	}

	$classes = apply_filters( 'bloglo_hero_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo 'class="' . esc_attr( $classes ) . '"';
	}
}

/**
 * Add classes to Featured links.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_featured_links_classes( $classes = array() ) {

	// Hero visibility.
	$visibility = bloglo_option( 'featured_links_visibility' );

	if ( 'all' !== $visibility ) {
		$classes[] = 'bloglo-' . $visibility;
	}

	$classes = apply_filters( 'bloglo_featured_links_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo 'class="' . esc_attr( $classes ) . '"';
	}
}

/**
 * Add classes to PYML.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_pyml_classes( $classes = array() ) {

	// PYML visibility.
	$visibility = bloglo_option( 'pyml_visibility' );

	if ( 'all' !== $visibility ) {
		$classes[] = 'bloglo-' . $visibility;
	}

	$classes = apply_filters( 'bloglo_pyml_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo 'class="' . esc_attr( $classes ) . '"';
	}
}

/**
 * Add classes to Ticker News.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_ticker_classes( $classes = array() ) {

	// Ticker News visibility.
	$visibility = bloglo_option( 'ticker_visibility' );

	if ( 'all' !== $visibility ) {
		$classes[] = 'bloglo-' . $visibility;
	}

	$classes = apply_filters( 'bloglo_ticker_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo 'class="' . esc_attr( $classes ) . '"';
	}
}

/**
 * Add classes to Scroll Top Button.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_scroll_top_classes( $classes = array() ) {

	// Scroll Top visibility.
	$scroll_top_visibility = bloglo_option( 'scroll_top_visibility' );

	if ( 'all' !== $scroll_top_visibility ) {
		$classes[] = 'bloglo-' . $scroll_top_visibility;
	}

	$classes = apply_filters( 'bloglo_scroll_top_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo 'class="' . esc_attr( $classes ) . '"';
	}
}

/**
 * Add classes to Page Preloader.
 *
 * @since 1.0.0
 * @return void
 */
function bloglo_preloader_classes() {

	$classes = array();

	// Page Preloader visibility.
	$preloader_visibility = bloglo_option( 'preloader_visibility' );

	if ( 'all' !== $preloader_visibility ) {
		$classes[] = 'bloglo-' . $preloader_visibility;
	}

	$classes = apply_filters( 'bloglo_preloader_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo ' class="' . esc_attr( $classes ) . '"';
	}
}

/**
 * Add classes to Main Footer.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_footer_classes( $classes = array() ) {

	// Main Footer visibility.
	$footer_visibility = bloglo_option( 'footer_visibility' );

	if ( 'all' !== $footer_visibility ) {
		$classes[] = 'bloglo-' . $footer_visibility;
	}

	$classes = apply_filters( 'bloglo_footer_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo 'class="' . esc_attr( $classes ) . '"';
	}
}

/**
 * Get footer widgets column count.
 *
 * @since 1.0.0
 * @return integer Number of footer columns
 */
function bloglo_get_footer_column_count() {

	$count = 4;

	return apply_filters( 'bloglo_footer_column_count', $count );
}

/**
 * Get footer widgets column count.
 *
 * @since 1.0.0
 * @param string $layout Footer layout.
 * @return array Classes array
 */
function bloglo_get_footer_column_class( $layout = 'layout-1' ) {

	$classes = array(
		'layout-1' => array(
			'col-xs-12 col-sm-6 stretch-xs col-md-3',
			'col-xs-12 col-sm-6 stretch-xs col-md-3',
			'col-xs-12 col-sm-6 stretch-xs col-md-3',
			'col-xs-12 col-sm-6 stretch-xs col-md-3',
		),
		'layout-2' => array(
			'col-xs-12 col-sm-6 stretch-xs col-md-4',
			'col-xs-12 col-sm-6 stretch-xs col-md-4',
			'col-xs-12 col-sm-6 stretch-xs col-md-4',
		),
		'layout-3' => array(
			'col-xs-12 col-sm-6 stretch-xs col-md-8',
			'col-xs-12 col-sm-6 stretch-xs col-md-4',
		),
		'layout-4' => array(
			'col-xs-12 col-sm-6 stretch-xs col-md-4',
			'col-xs-12 col-sm-6 stretch-xs col-md-8',
		),
		'layout-5' => array(
			'col-xs-12 col-sm-6 stretch-xs col-md-6',
			'col-xs-12 col-sm-6 stretch-xs col-md-3',
			'col-xs-12 col-sm-6 stretch-xs col-md-3',
		),
		'layout-6' => array(
			'col-xs-12 col-sm-6 stretch-xs col-md-3',
			'col-xs-12 col-sm-6 stretch-xs col-md-3',
			'col-xs-12 col-sm-6 stretch-xs col-md-6',
		),
		'layout-7' => array(
			'col-xs-12 col-sm-6 stretch-xs col-md-6',
			'col-xs-12 col-sm-6 stretch-xs col-md-6',
		),
		'layout-8' => array(
			'col-xs-12 col-sm-12 stretch-xs col-md-12',
		),
	);

	$classes = apply_filters( 'bloglo_footer_column_classes', $classes, $layout );

	$classes = isset( $classes[ $layout ] ) ? $classes[ $layout ] : array();

	$align_center = bloglo_option( 'footer_widgets_align_center' );

	if ( $align_center && ! empty( $classes ) ) {
		foreach ( $classes as $key => $column_class ) {
			$classes[ $key ] = $column_class . ' center-text';
		}
	}

	return $classes;
}

/**
 * Add classes to Copyright bar.
 *
 * @since 1.0.0
 * @param array $classes Classes array.
 * @return void
 */
function bloglo_copyright_classes( $classes = array() ) {

	// Copyright visibility.
	$visibility = bloglo_option( 'copyright_visibility' );

	if ( 'all' !== $visibility ) {
		$classes[] = 'bloglo-' . $visibility;
	}

	// Copyright separator style.
	$separator = bloglo_option( 'copyright_separator' );
	if ( $separator && 'none' !== $separator ) {
		$classes[] = $separator;
	}

	$classes = apply_filters( 'bloglo_copyright_classes', $classes );

	if ( ! empty( $classes ) ) {
		$classes = trim( implode( ' ', $classes ) );
		echo 'class="' . esc_attr( $classes ) . '"';
	}
}

/**
 * Adds custom classes to the array of body classes.
 *
 * @since 1.0.0
 * @param array $classes Classes for the body element.
 * @return array
 */
function bloglo_body_classes( $classes ) {

	// Topbar separator styles.
	if ( bloglo_option( 'top_bar_widgets_separator' ) ) {
		$classes[] = 'bloglo-topbar__separators-' . bloglo_option( 'top_bar_widgets_separator' );
	}

	// Mobile.
	if ( wp_is_mobile() ) {
		$classes[] = 'bloglo-is-mobile';
	}

	// Site layout.
	$classes[] = 'bloglo-layout__' . bloglo_get_site_layout();

	// Post card border.
	if ( bloglo_is_blog_card_border_displayed() === true ) {
		$classes[] = 'bloglo-layout__boxed-separated';
	}

	// Post card border.
	if ( bloglo_option( 'blog_card_shadow' ) === true && bloglo_is_blog_card_border_displayed() === true ) {
		$classes[] = 'bloglo-layout-shadow';
	}

	// Header related styles.
	if ( bloglo_is_header_displayed() ) {

		// Header layout.
		$classes[] = 'bloglo-header-' . bloglo_option( 'header_layout' );

		// Menu item hover animation.
		$classes[] = 'bloglo-menu-animation-' . bloglo_option( 'main_nav_hover_animation' );

		// Header widgets separator.
		$classes[] = 'bloglo-header__separators-' . bloglo_option( 'header_widgets_separator' );
	}

	// Transparent header.
	if ( bloglo_is_header_transparent() && ( bloglo_is_header_displayed() || bloglo_is_top_bar_displayed() ) ) {
		$classes[] = 'bloglo-tsp-header';

		if ( ! bloglo_is_page_header_displayed() ) {
			$classes[] = 'bloglo-tsp-absolute';
		}
	}

	// Blog style.
	if ( is_page_template( 'page-templates/template-blog-masonry.php' ) || is_front_page() || is_home() || is_archive() || is_search() ) {

		$bloglo_article_feed_layout = bloglo_get_article_feed_layout();

		if ( '' !== $bloglo_article_feed_layout ) {
			$classes[] = 'bloglo-' . bloglo_get_article_feed_layout();
		}
	}

	// Single post.
	if ( is_singular( 'post' ) ) {

		$title_position = bloglo_option( 'single_title_position' );
		$classes[]      = 'bloglo-single-title-' . $title_position;

		// Narrow content for single post.
		if ( 'narrow' === bloglo_option( 'single_content_width' ) ) {
			$classes[] = 'narrow-content';
		}
	}

	$title_alignment = is_single() ? bloglo_option( 'single_title_alignment' ) : bloglo_option( 'page_header_alignment' );
	$classes[]       = 'bloglo-page-title-align-' . $title_alignment;

	// Has comments.
	if ( is_singular() && comments_open() ) {
		$classes[] = 'comments-open';
	}

	// RTL.
	if ( is_rtl() ) {
		$classes[] = 'bloglo-is-rtl';
	}

	// Sidebar.
	if ( bloglo_is_sidebar_displayed() ) {

		$classes[] = 'bloglo-has-sidebar';

		// Sticky sidebar.
		$sidebar_sticky = bloglo_option( 'sidebar_sticky' );

		if ( $sidebar_sticky ) {
			$classes[] = 'bloglo-sticky-' . $sidebar_sticky;
		}

		// Sidebar style.
		$classes[] = 'bloglo-sidebar-style-' . bloglo_option( 'sidebar_style' );

		// Sidebar position.
		$classes[] = 'bloglo-sidebar-position__' . bloglo_get_sidebar_position();

		$classes[] = 'bloglo-sidebar-r__' . bloglo_option( 'sidebar_responsive_position' );
	} else {

		// No sidebar.
		$classes[] = 'bloglo-no-sidebar';
	}

	// Entry media hover style.
	$classes[] = 'entry-media-hover-style-1';

	// Show/Hide Comments button.
	if ( bloglo_comments_displayed() && bloglo_comments_toggle_displayed() ) {
		$classes[] = 'bloglo-has-comments-toggle';
	}

	// Copyright layout.
	if ( bloglo_is_copyright_bar_displayed() ) {
		$classes[] = 'bloglo-copyright-' . bloglo_option( 'copyright_layout' );
	}

	// Section Heading Style.
	$headingStyle = absint( bloglo_option( 'section_heading_style' ) );
	$classes[]    = 'is-section-heading-init-s' . $headingStyle;

	// Initialize Parallax Footer.
	$headingStyle = absint( bloglo_option( 'parallax_footer' ) );
	if ( true == $headingStyle ) {
		$classes[] = 'is-parallax-footer';
	}

	// Pre Footer.
	if ( bloglo_is_pre_footer_displayed() ) {

		// Call to Action classes.
		if ( bloglo_is_pre_footer_cta_displayed() ) {

			$style = absint( bloglo_option( 'pre_footer_cta_style' ) );

			if ( 1 === $style && ! bloglo_is_footer_displayed() && ! bloglo_is_copyright_bar_displayed() ) {
				$classes[] = 'bloglo-pre-footer-no-margin';
			}

			$classes[] = 'bloglo-pre-footer-cta-style-' . $style;
		}
	}

	// Footer Widget Heading Style.
	$footerWidgetHeadingStyle = absint( bloglo_option( 'footer_widget_heading_style' ) );
	$classes[]                = 'is-footer-heading-init-s' . $footerWidgetHeadingStyle;

	// Custom input fields design.
	if ( bloglo_option( 'custom_input_style' ) ) {
		$classes[] = 'bloglo-input-supported';
	}

	// Validate comment form.
	$classes[] = 'validate-comment-form';

	// Menu accessibility support.
	$classes[] = 'bloglo-menu-accessibility';

	return $classes;
}
add_filter( 'body_class', 'bloglo_body_classes' );

/**
 * Modifies the default Read More link. Do not show if "Read More" button (from Customizer) is enabled.
 *
 * @since  1.0.0
 * @return Modified read more HTML.
 */
function bloglo_modify_read_more_link() {

	$has_read_more = in_array( 'summary-footer', bloglo_get_blog_entry_elements(), true );
	$class         = $has_read_more ? ' bloglo-hide' : '';

	return '<footer class="entry-footer' . esc_attr( $class ) . '"><a class="bloglo-btn btn-text-1" href="' . esc_url( get_the_permalink() ) . '" role="button"><span>' . esc_html__( 'Continue Reading', 'bloglo' ) . '</span></a></footer>';
}
add_filter( 'the_content_more_link', 'bloglo_modify_read_more_link' );

/**
 * Insert dynamic text into content.
 *
 * @since 1.0.0
 * @param string $content Text to be modified.
 * @return string Modified text.
 */
function bloglo_dynamic_strings( $content ) {

	$content = str_replace( '{{the_year}}', date_i18n( 'Y' ), $content );
	$content = str_replace( '{{the_date}}', date_i18n( get_option( 'date_format' ) ), $content );
	$content = str_replace( '{{site_title}}', get_bloginfo( 'name' ), $content );
	$content = str_replace( '{{theme_link}}', '<a href="https://wordpress.org/themes/bloglo/" class="imprint" target="_blank" rel="noopener noreferrer">Bloglo WordPress Theme</a>', $content );

	if ( false !== strpos( $content, '{{current_user}}' ) ) {
		$current_user = wp_get_current_user();
		$content      = str_replace( '{{current_user}}', apply_filters( 'bloglo_logged_out_user_name', $current_user->display_name ), $content );
	}

	return apply_filters( 'bloglo_parse_dynamic_strings', $content );
}
add_filter( 'bloglo_dynamic_strings', 'bloglo_dynamic_strings' );

/**
 * Add headers for IE to override IE's Compatibility View Settings
 *
 * @since 1.0.0
 * @param array $headers The list of headers to be sent.
 */
function bloglo_x_ua_compatible_headers( $headers ) {
	$headers['X-UA-Compatible'] = 'IE=edge';
	return $headers;
}
add_filter( 'wp_headers', 'bloglo_x_ua_compatible_headers' );

/**
 * Removes parentheses from widget category count.
 *
 * @since 1.0.0
 * @param array $variable The filtered variable.
 */
function bloglo_cat_count_filter( $variable ) {
	$variable = str_replace( '(', '<span> ', $variable );
	$variable = str_replace( ')', ' </span>', $variable );

	return $variable;
}
add_filter( 'wp_list_categories', 'bloglo_cat_count_filter' );

/**
 * Removes parentheses from widget archive count.
 *
 * @since 1.0.0
 * @param array $variable The filtered variable.
 */
function bloglo_arc_count_filter( $variable ) {
	$variable = str_replace( '(', '<span>', $variable );
	$variable = str_replace( ')', '</span>', $variable );

	return $variable;
}
add_filter( 'get_archives_link', 'bloglo_arc_count_filter' );

/**
 * Add descriptions on menu dropdowns.
 *
 * @since 1.0.0
 * @param string $item_output HTML output for the menu item.
 * @param object $item menu item object.
 * @param int    $depth depth in menu structure.
 * @param object $args arguments passed to wp_nav_menu().
 * @return string $item_output
 */
function bloglo_header_menu_desc( $item_output, $item, $depth, $args ) {

	if ( $item->description ) {
		$item_output = str_replace( '</span>', '<span class="description">' . $item->description . '</span></span>', $item_output );
	}

	return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'bloglo_header_menu_desc', 10, 4 );
inc/template-tags.php000064400000124674152425655560010632 0ustar00<?php

/**
 * Template tags used throught the theme.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! function_exists( 'bloglo_get_schema_markup' ) ) :
	/**
	 * Return correct schema markup.
	 *
	 * @since 1.0.0
	 * @param string $location Location for schema parameters.
	 */
	function bloglo_get_schema_markup( $location = '' ) {

		// Check if schema is enabled.
		if ( ! bloglo_is_schema_enabled() ) {
			return;
		}

		// Return if no location parameter is passed.
		if ( ! $location ) {
			return;
		}

		$schema = '';

		if ( 'url' === $location ) {
			$schema = 'itemprop="url"';
		} elseif ( 'name' === $location ) {
			$schema = 'itemprop="name"';
		} elseif ( 'text' === $location ) {
			$schema = 'itemprop="text"';
		} elseif ( 'headline' === $location ) {
			$schema = 'itemprop="headline"';
		} elseif ( 'image' === $location ) {
			$schema = 'itemprop="image"';
		} elseif ( 'header' === $location ) {
			$schema = 'itemtype="https://schema.org/WPHeader" itemscope="itemscope"';
		} elseif ( 'site_navigation' === $location ) {
			$schema = 'itemtype="https://schema.org/SiteNavigationElement" itemscope="itemscope"';
		} elseif ( 'logo' === $location ) {
			$schema = 'itemprop="logo"';
		} elseif ( 'description' === $location ) {
			$schema = 'itemprop="description"';
		} elseif ( 'organization' === $location ) {
			$schema = 'itemtype="https://schema.org/Organization" itemscope="itemscope" ';
		} elseif ( 'footer' === $location ) {
			$schema = 'itemtype="http://schema.org/WPFooter" itemscope="itemscope"';
		} elseif ( 'sidebar' === $location ) {
			$schema = 'itemtype="http://schema.org/WPSideBar" itemscope="itemscope"';
		} elseif ( 'main' === $location ) {
			$schema = 'itemtype="http://schema.org/WebPageElement" itemprop="mainContentOfPage"';

			if ( is_singular( 'post' ) ) {
				$schema = 'itemscope itemtype="http://schema.org/Blog"';
			}
		} elseif ( 'author' === $location ) {
			$schema = 'itemprop="author" itemscope="itemscope" itemtype="http://schema.org/Person"';
		} elseif ( 'name' === $location ) {
			$schema = 'itemprop="name"';
		} elseif ( 'datePublished' === $location ) {
			$schema = 'itemprop="datePublished"';
		} elseif ( 'dateModified' === $location ) {
			$schema = 'itemprop="dateModified"';
		} elseif ( 'article' === $location ) {
			$schema = 'itemscope="" itemtype="https://schema.org/CreativeWork"';
		} elseif ( 'comment' === $location ) {
			$schema = 'itemprop="comment" itemscope="" itemtype="https://schema.org/Comment"';
		} elseif ( 'html' === $location ) {
			if ( is_singular() ) {
				$schema = 'itemscope itemtype="http://schema.org/WebPage"';
			} else {
				$schema = 'itemscope itemtype="http://schema.org/Article"';
			}
		}

		$schema = ' ' . trim( apply_filters( 'bloglo_schema_markup', $schema, $location ) );

		return $schema;
	}
endif;

if ( ! function_exists( 'bloglo_schema_markup' ) ) :
	/**
	 * Outputs correct schema markup
	 *
	 * @since 1.0.0
	 * @param string $location Location for schema parameters.
	 */
	function bloglo_schema_markup( $location ) {
		echo bloglo_get_schema_markup( $location ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	}
endif;

if ( ! function_exists( 'bloglo_logo' ) ) :
	/**
	 * Outputs theme logo markup.
	 *
	 * @since 1.0.0
	 * @param boolean|string $echo - Print the logo or return as string.
	 */
	function bloglo_logo( $echo = true ) {

		$display_site_description = bloglo_option( 'display_tagline' );
		$site_title               = bloglo_get_site_title();
		$site_url                 = bloglo_get_site_url();

		$site_logo_output		 = '';
		$site_title_output       = '';
		$site_description_output = '';

		// Check if a custom logo image has been uploaded.
		if ( bloglo_has_logo() ) {

			$default_logo = bloglo_option( 'custom_logo', '' );

			$retina_logo = bloglo_option( 'logo_default_retina' );
			$retina_logo = isset( $retina_logo['background-image-id'] ) ? $retina_logo['background-image-id'] : false;

			$site_logo_output = bloglo_get_logo_img_output( $default_logo, $retina_logo );

			// Allow logo output to be filtered.
			$site_logo_output = apply_filters( 'bloglo_logo_img_output', $site_logo_output );
		}

		// Set tag to H1 for home page, span for other pages.
		$site_title_tag = is_home() || is_front_page() ? 'h1' : 'span';
		$site_title_tag = apply_filters( 'bloglo_site_title_tag', $site_title_tag );

		$class = $site_logo_output ? ' screen-reader-text' : '';
		// Site Title HTML markup.
		$site_title_output = apply_filters(
			'bloglo_site_title_markup',
			sprintf(
				'<%1$s class="site-title%6$s"%4$s>
					<a href="%2$s" rel="home"%5$s>
						%3$s
					</a>
				</%1$s>',
				tag_escape( $site_title_tag ),
				esc_url( $site_url ),
				esc_html( $site_title ),
				bloglo_get_schema_markup( 'name' ),
				bloglo_get_schema_markup( 'url' ),
				esc_attr($class)
			)
		);
		

		// Output site description if enabled in Customizer.
		$class = !$display_site_description ? ' screen-reader-text' : '';
		if( bloglo_get_site_description() ) {
			$site_description_output = apply_filters(
				'bloglo_site_description_markup',
				sprintf(
					'<p class="site-description%3$s"%2$s>
						%1$s
					</p>',
					esc_html( bloglo_get_site_description() ),
					bloglo_get_schema_markup( 'description' ),
					esc_attr($class)
				)
			);
		}
		

		$output = '<div class="logo-inner">' . $site_logo_output . $site_title_output . $site_description_output . '</div>';

		// Allow output to be filtered.
		$output = apply_filters( 'bloglo_logo_output', $output );

		// Echo or return the output.
		if ( $echo ) {
			echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		} else {
			return $output;
		}
	}
endif;

if ( ! function_exists( 'bloglo_get_logo_img_output' ) ) :
	/**
	 * Outputs logo image markup.
	 *
	 * @param int    $logo Attachment ID of the logo image.
	 * @param int    $retina Attachment ID of the retina logo image.
	 * @param string $class Additional CSS class.
	 * @since 1.0.0
	 */
	function bloglo_get_logo_img_output( $logo, $retina = '', $class = '' ) {

		$output = '';

		// Logo attributes.
		$logo_attr = array(
			'url'    => '',
			'width'  => '',
			'height' => '',
			'class'  => '',
			'alt'    => '',
		);

		// Check if a custom logo has been uploaded.
		if ( $logo ) {

			// Get default logo src, width & height.
			$default_logo_attachment_src = wp_get_attachment_image_src( $logo, 'full' );

			if ( $default_logo_attachment_src ) {
				$logo_attr['url']    = $default_logo_attachment_src[0];
				$logo_attr['width']  = $default_logo_attachment_src[1];
				$logo_attr['height'] = $default_logo_attachment_src[2];
			}

			// Check if uploaded logo is SVG.
			$mimes          = array();
			$mimes['svg']   = 'image/svg+xml';
			$file_type      = wp_check_filetype( $logo_attr['url'], $mimes );
			$file_extension = $file_type['ext'];

			if ( 'svg' === $file_extension ) {
				$logo_attr['width']  = '100%';
				$logo_attr['height'] = '100%';
				$logo_attr['class']  = 'bloglo-svg-logo';
			}

			// Get default logo alt.
			$default_logo_alt = get_post_meta( $logo, '_wp_attachment_image_alt', true );
			$logo_attr['alt'] = $default_logo_alt ? $default_logo_alt : bloglo_get_site_title();

			// Build srcset attribute.
			$srcset = '';

			if ( $retina ) {
				$retina_logo_image = wp_get_attachment_image_url( $retina, 'full' );

				if ( $retina_logo_image ) {
					$srcset = ' srcset="' . esc_attr( $logo_attr['url'] ) . ' 1x, ' . esc_attr( $retina_logo_image ) . ' 2x"';
				}
			}

			// Build logo output.
			$output = sprintf(
				'<a href="%1$s" rel="home" class="%2$s"%3$s>
					<img src="%4$s" alt="%5$s" width="%6$s" height="%7$s" class="%8$s"%9$s%10$s/>
				</a>',
				esc_url( bloglo_get_site_url() ),
				esc_attr( trim( $class ) ),
				bloglo_get_schema_markup( 'url' ),
				esc_url( $logo_attr['url'] ),
				esc_attr( $logo_attr['alt'] ),
				esc_attr( $logo_attr['width'] ),
				esc_attr( $logo_attr['height'] ),
				esc_attr( $logo_attr['class'] ),
				$srcset,
				bloglo_get_schema_markup( 'logo' )
			);
		}

		return $output;
	}
endif;

if ( ! function_exists( 'bloglo_edit_post_link' ) ) :

	/**
	 * Function to get Edit Post Link
	 *
	 * @since 1.0.0
	 *
	 * @param string      $text   Optional. Anchor text. If null, default is 'Edit This'. Default null.
	 * @param string      $before Optional. Display before edit link. Default empty.
	 * @param string      $after  Optional. Display after edit link. Default empty.
	 * @param int|WP_Post $id     Optional. Post ID or post object. Default is the global `$post`.
	 * @param string      $class  Optional. Add custom class to link. Default 'post-edit-link'.
	 */
	function bloglo_edit_post_link( $text, $before = '', $after = '', $id = 0, $class = 'post-edit-link' ) {

		if ( apply_filters( 'bloglo_edit_post_link', true ) && get_edit_post_link() ) {

			edit_post_link( $text, $before, $after, $id, $class );
		}
	}
endif;

if ( ! function_exists( 'bloglo_page_header_title' ) ) :
	/**
	 * Output the Page Header title tag.
	 *
	 * @since 1.0.0
	 * @param boolean $echo Display or return the title.
	 */
	function bloglo_page_header_title( $echo = true ) {

		$title = apply_filters( 'bloglo_page_header_title', bloglo_get_the_title() );
		$tag   = apply_filters( 'bloglo_page_header_title_tag', 'h1' );
		$class = array( 'page-title' );
		$class = apply_filters( 'bloglo_page_header_title_class', $class );

		if ( ! empty( $class ) ) {
			$class = ' class="' . esc_attr( trim( implode( ' ', $class ) ) ) . '"';
		} else {
			$class = '';
		}

		$before = '<' . tag_escape( $tag ) . $class . bloglo_get_schema_markup( 'headline' ) . '>';
		$after  = '</' . tag_escape( $tag ) . '>';
		$title  = $before . wp_kses( $title, bloglo_get_allowed_html_tags() ) . $after;

		if ( $echo ) {
			echo $title; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		} else {
			return $title;
		}
	}
endif;

if ( ! function_exists( 'bloglo_hamburger' ) ) :
	/**
	 * Output the hamburger button.
	 *
	 * @since 1.0.0
	 *
	 * @param  string $button_title Menu title.
	 * @param  string $menu_id Menu ID.
	 */
	function bloglo_hamburger( $button_title, $menu_id ) {

		$classes = array( 'bloglo-hamburger', 'hamburger--spin', 'bloglo-hamburger-' . esc_attr( $menu_id ) );
		$classes = apply_filters( 'bloglo_hamburger_menu_classes', $classes );
		$classes = trim( implode( ' ', $classes ) );

		?>
		<button class="<?php echo esc_attr( $classes ); ?>" aria-label="<?php esc_attr_e( 'Menu', 'bloglo' ); ?>" aria-controls="<?php echo esc_attr( $menu_id ); ?>" type="button">

			<?php if ( $button_title || is_customize_preview() ) { ?>
				<span class="hamburger-label uppercase-text"><?php echo wp_kses( $button_title, bloglo_get_allowed_html_tags( 'button' ) ); ?></span>
			<?php } ?>

			<span class="hamburger-box">
				<span class="hamburger-inner"></span>
			</span>

		</button>
		<?php
	}
endif;

if ( ! function_exists( 'bloglo_pagination' ) ) :
	/**
	 * Output the pagination navigation.
	 *
	 * @since 1.0.0
	 */
	function bloglo_pagination() {

		// Don't print empty markup if there's only one page.
		if ( $GLOBALS['wp_query']->max_num_pages <= 1 ) {
			return;
		}

		?>
		<div class="bloglo-pagination">
			<?php

			the_posts_pagination(
				array(
					'mid_size'  => 2,
					'prev_text' => bloglo_animated_arrow( 'left', 'button', false ) . '<span class="screen-reader-text">' . __( 'Previous page', 'bloglo' ) . '</span>',
					'next_text' => '<span class="screen-reader-text">' . __( 'Next page', 'bloglo' ) . '</span>' . bloglo_animated_arrow( 'right', 'button', false ),
				)
			);
			?>
		</div>
		<?php
	}
endif;

if ( ! function_exists( 'bloglo_link_pages' ) ) :
	/**
	 * Output the wp_link_pages.
	 *
	 * @since 1.0.0
	 */
	function bloglo_link_pages() {

		wp_link_pages(
			array(
				'before'      => '<div class="page-links"><em>' . esc_html__( 'Pages', 'bloglo' ) . '</em>',
				'after'       => '</div>',
				'link_before' => '<span>',
				'link_after'  => '</span>',
			)
		);
	}
endif;

if ( ! function_exists( 'bloglo_animated_arrow' ) ) :
	/**
	 * Output the animated button HTML markup.
	 *
	 * @since 1.0.0
	 * @param string  $style button style. Can be 'right', or 'left'.
	 * @param string  $type  type attribute for <button> element.
	 * @param boolean $echo  echo the outpur or return.
	 * @return string | void [ tabindex="-1" ]
	 */
	function bloglo_animated_arrow( $style = 'right', $type = 'button', $echo = false ) {

		if ( false !== $type ) {
			$button = '
			<button type="' . esc_attr( $type ) . '" class="bloglo-animate-arrow ' . esc_attr( $style ) . '-arrow" aria-hidden="true" role="button" tabindex="0">
				<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 18"><path class="arrow-handle" d="M2.511 9.007l7.185-7.221c.407-.409.407-1.071 0-1.48s-1.068-.409-1.476 0L.306 8.259a1.049 1.049 0 000 1.481l7.914 7.952c.407.408 1.068.408 1.476 0s.407-1.07 0-1.479L2.511 9.007z"></path><path class="arrow-bar" fill-rule="evenodd" clip-rule="evenodd" d="M1 8h28.001a1.001 1.001 0 010 2H1a1 1 0 110-2z"></path></svg>
			</button>';
		} else {
			$button = '<svg aria-hidden="true" class="bloglo-animate-arrow ' . esc_attr( $style ) . '-arrow" xmlns="http://www.w3.org/2000/svg" width="30" height="18"><path class="arrow-handle" d="M2.511 9.007l7.185-7.221c.407-.409.407-1.071 0-1.48s-1.068-.409-1.476 0L.306 8.259a1.049 1.049 0 000 1.481l7.914 7.952c.407.408 1.068.408 1.476 0s.407-1.07 0-1.479L2.511 9.007z"/><path class="arrow-bar" fill-rule="evenodd" clip-rule="evenodd" d="M30 9a1 1 0 01-1 1H1a1 1 0 010-2h28.002c.552 0 .998.448.998 1z"/></svg>';
		}

		if ( $echo ) {
			echo $button; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		} else {
			return $button;
		}
	}
endif;

if ( ! function_exists( 'bloglo_excerpt' ) ) :
	/**
	 * Get excerpt.
	 *
	 * @since 1.0.0
	 * @param int    $length the length of the excerpt.
	 * @param string $more What to append if $text needs to be trimmed.
	 */
	function bloglo_excerpt( $length = null, $more = null ) {

		global $post;

		// Check if this post has a custom excerpt.
		if ( has_excerpt( $post->ID ) ) {
			$output = $post->post_excerpt;
		} else {
			// Check for more tag.
			if ( strpos( $post->post_content, '<!--more-->' ) ) {
				$output = apply_filters( 'the_content', get_the_content() ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
			} else {

				if ( null === $length ) {
					$length = apply_filters( 'excerpt_length', intval( bloglo_option( 'excerpt_length' ) ) ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
				}

				if ( null === $more ) {
					$more = apply_filters( 'excerpt_more', bloglo_option( 'excerpt_more' ) ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
				}

				$output = wp_trim_words( strip_shortcodes( $post->post_content ), $length, $more );
			}
		}

		echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	}
endif;

if ( ! function_exists( 'bloglo_entry_meta_author' ) ) :
	/**
	 * Prints HTML with meta information about theme author.
	 *
	 * @since 1.0.0
	 * @param array $args Author meta arguments.
	 */
	function bloglo_entry_meta_author( $args = array() ) {

		$defaults = array(
			'show_avatar' => is_single() && bloglo_option( 'single_entry_meta_icons' ) || ! is_single() && bloglo_option( 'entry_meta_icons' ),
			'user_id'     => get_post_field( 'post_author', get_the_ID() ),
		);

		$args = wp_parse_args( $args, $defaults );
		$args = apply_filters( 'bloglo_entry_meta_author_args', $args );

		?>
		<span class="post-author">
			<span class="posted-by vcard author" <?php bloglo_schema_markup( 'author' ); ?>>
				<span class="screen-reader-text"><?php esc_html_e( 'Posted by', 'bloglo' ); ?></span>

				<?php if ( $args['show_avatar'] ) { ?>
					<span class="author-avatar">
						<?php echo get_avatar( get_the_author_meta( 'email', $args['user_id'] ), 30 ); ?>
					</span>
				<?php } ?>

				<span>
					<?php
					// Translators: Author Name.
					?>
					<?php esc_html_e( 'By ', 'bloglo' ); ?>
					<a class="url fn n" title="<?php /* translators: %1$s Author */ printf( esc_attr__( 'View all posts by %1$s', 'bloglo' ), esc_attr( get_the_author() ) ); ?>" href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID', $args['user_id'] ) ) ); ?>" rel="author" <?php bloglo_schema_markup( 'url' ); ?>>
						<span class="author-name" <?php bloglo_schema_markup( 'name' ); ?>>
							<?php echo esc_html( wp_kses_post( get_the_author_meta( 'display_name', $args['user_id'] ) ) ); ?>
						</span>
					</a>

				</span>
			</span>
		</span>
		<?php
	}
endif;

if ( ! function_exists( 'bloglo_entry_meta_date' ) ) :
	/**
	 * Prints HTML with meta information for the current post-date/time.
	 *
	 * @since 1.0.0
	 * @param array $args Date meta arguments.
	 */
	function bloglo_entry_meta_date( $args = array() ) {

		$defaults = array(
			'show_published' => true,
			'show_modified'  => false,
			'modified_label' => esc_html__( 'Last updated on', 'bloglo' ),
			'date_format'    => '',
			'before'         => '<span class="posted-on">',
			'after'          => '</span>',
		);

		$args = wp_parse_args( $args, $defaults );
		$args = apply_filters( 'bloglo_entry_date_args', $args );

		// Icon.
		$icon = bloglo()->icons->get_meta_icon( 'date', bloglo()->icons->get_svg( 'clock', array( 'aria-hidden' => 'true' ) ) );

		if ( $args['show_published'] ) {

			if ( $args['show_modified'] && get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
				$time_string = '<time class="entry-date published" datetime="%1$s"%2$s>%3$s</time><time class="updated" datetime="%4$s"%5$s>%6$s</time>';
			} else {
				$time_string = '<time class="entry-date published updated" datetime="%1$s"%2$s>%3$s</time>';
			}
		} elseif ( $args['show_modified'] ) {

			if ( get_the_time( 'U' ) === get_the_modified_time( 'U' ) ) {
				$time_string = '<time class="entry-date published updated" datetime="%4$s"%5$s>%6$s</time>';
			} else {
				$time_string = '<time class="entry-date updated" datetime="%4$s"%5$s>%6$s</time>';
			}
		}

		$args['modified_label'] = $args['modified_label'] ? $args['modified_label'] . ' ' : '';

		$time_string = sprintf(
			$time_string,
			esc_attr( get_the_date( DATE_W3C ) ),
			bloglo_get_schema_markup( 'datePublished' ),
			$icon . esc_html( get_the_date( $args['date_format'] ) ),
			esc_attr( get_the_modified_date( DATE_W3C ) ),
			bloglo_get_schema_markup( 'dateModified' ),
			esc_html( $args['modified_label'] ) . esc_html( get_the_modified_date( $args['date_format'] ) )
		);

		echo wp_kses(
			sprintf(
				'%1$s%2$s%3$s',
				$args['before'],
				$time_string,
				$args['after']
			),
			bloglo_get_allowed_html_tags()
		);
	}
endif;

if ( ! function_exists( 'bloglo_entry_meta_comments' ) ) :
	/**
	 * Prints HTML with meta information for the comments.
	 *
	 * @since 1.0.0
	 */
	function bloglo_entry_meta_comments() {

		$icon = bloglo()->icons->get_meta_icon( 'comments', bloglo()->icons->get_svg( 'message-square', array( 'aria-hidden' => 'true' ) ) );

		if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
			echo '<span class="comments-link">';

			// wp_kses_post( $icon );
			comments_popup_link( wp_kses( $icon, bloglo_get_allowed_html_tags( 'post' ) ) . esc_html__( 'No Comments', 'bloglo' ), wp_kses( $icon, bloglo_get_allowed_html_tags( 'post' ) ) . esc_html__( '1 Comment', 'bloglo' ), wp_kses( $icon, bloglo_get_allowed_html_tags( 'post' ) ) . esc_html__( '% Comments', 'bloglo' ), 'comments-link' );

			echo '</span>';
		}
	}
endif;

if ( ! function_exists( 'bloglo_entry_meta_category' ) ) :
	/**
	 * Prints HTML with meta information for the categories.
	 *
	 * @since 1.0.0
	 * @param string $sep Category separator.
	 * @param bool   $show_icon Show an icon for the meta detail.
	 * @param bool   $return Return or output.
	 */
	function bloglo_entry_meta_category( $sep = ', ', $show_icon = true, $limit_categories = -1, $return = false ) {

		$categories = get_the_category();
		$categories_list = '';

		// Limit the number of categories if $limit_categories is provided.
		if ( $limit_categories > 0 && $categories ) {
			$categories = array_slice( $categories, 0, $limit_categories );
		}

		if ( $categories ) {
			foreach ( $categories as $category ) {
				$category_list[] = '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" rel="category">' . esc_html( $category->name ) . '</a>';
			}
			$categories_list = join( $sep, $category_list );
		}

		$output = '';

		// Icon.
		$icon = $show_icon ? bloglo()->icons->get_meta_icon( 'category', bloglo()->icons->get_svg( 'bookmark', array( 'aria-hidden' => 'true' ) ) ) : '';

		if ( $categories_list ) {

			/* translators: 1: posted in label, only visible to screen readers. 2: list of categories. */
			$output = wp_kses(
				apply_filters(
					'bloglo_entry_meta_category',
					sprintf(
						'<span class="cat-links"><span class="screen-reader-text">%1$s</span>%3$s%2$s</span>',
						__( 'Posted in', 'bloglo' ),
						'<span>' . $categories_list . '</span>',
						$icon
					)
				),
				bloglo_get_allowed_html_tags()
			);

			if ( $return ) {
				return $output; // return is used by Core plugin for Posts widget.
			} else {
				echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
			}
		}
	}
endif;

if ( ! function_exists( 'bloglo_entry_meta_tag' ) ) :
	/**
	 * Prints HTML with meta information for the tags.
	 *
	 * @since 1.0.0
	 * @param string $before    Before entry meta tag.
	 * @param string $sep       Separator string.
	 * @param string $after     After entry meta tag.
	 * @param int    $id        Post ID.
	 * @param bool   $show_icon Show an icon for the meta detail.
	 */
	function bloglo_entry_meta_tag( $before = '<span class="cat-links"><span>', $sep = ', ', $after = '</span></span>', $id = 0, $show_icon = true ) {

		$icon = $show_icon ? bloglo()->icons->get_meta_icon( 'tags', bloglo()->icons->get_svg( 'tag', array( 'aria-hidden' => 'true' ) ) ) : '';

		// Add icon.
		$before = $before . wp_kses( $icon, bloglo_get_allowed_html_tags() );

		/* translators: used between list items, there is a space after the comma. */
		$tags_list = get_the_tag_list( $before, $sep, $after, $id );

		if ( $tags_list && ! post_password_required() ) {

			$tag_string = '<span class="screen-reader-text">%1$s </span>%2$s';

			/* translators: 1: posted in label, only visible to screen readers. 2: list of tags. */
			echo wp_kses(
				apply_filters(
					'bloglo_entry_meta_tag',
					sprintf(
						$tag_string,
						__( 'Tags:', 'bloglo' ),
						$tags_list
					)
				),
				bloglo_get_allowed_html_tags()
			);
		}
	}
endif;

if ( ! function_exists( 'bloglo_get_post_media' ) ) :

	/**
	 * Post format featured media: image / gallery / audio / video etc.
	 *
	 * @since  1.0.0
	 * @return mixed
	 * @param  string $post_format Post Format.
	 * @param  mixed  $post        Post object.
	 */
	function bloglo_get_post_media( $post_format = false, $post = null ) {

		if ( false === $post_format ) {
			$post_format = get_post_format( $post );
		}

		$return = '';

		switch ( $post_format ) {

			case 'video':
				$return = bloglo_get_video_from_post( $post );
				break;

			case 'audio':
				$return = do_shortcode( bloglo_get_audio_from_post( $post ) );
				break;

			case 'gallery':
				$gallery = bloglo_get_post_gallery( $post );

				if ( isset( $gallery['ids'] ) ) {

					$img_ids = explode( ',', $gallery['ids'] );

					if ( is_array( $img_ids ) && ! empty( $img_ids ) ) {
						foreach ( $img_ids as $img_id ) {

							$image_alt = get_post_meta( $img_id, '_wp_attachment_image_alt', true );
							$image_url = wp_get_attachment_url( $img_id );

							$return .= '<a href="' . esc_url( get_permalink( $post ) ) . '" >';
							$return .= '<img src="' . esc_url( $image_url ) . '" alt="' . esc_attr( $image_alt ) . '" >';
							$return .= '</a>';
						}
					}
				}
				break;

			case 'image':
			default:
				$size    = bloglo_option( 'blog_image_size' );
				$caption = false;

				if ( is_single( $post ) || is_page( $post ) ) {

					$caption = true;

					if ( 'no-sidebar' === bloglo_get_sidebar_position( $post ) ) {
						$size = 'full';
					}
				}

				if ( has_post_thumbnail( $post ) ) {
					$return = bloglo_get_post_thumbnail( $post, $size, $caption );
				} elseif ( 'image' === $post_format ) {
					$return = bloglo_get_image_from_post( $post );
				}

				break;
		}

		return apply_filters( 'bloglo_get_post_media', $return, $post_format, $post );
	}
endif;

if ( ! function_exists( 'bloglo_post_media' ) ) :

	/**
	 * Print HTML format featured media: image / gallery / audio / video etc.
	 *
	 * @since 1.0.0
	 * @return mixed
	 * @param  string $post_format Post Format.
	 */
	function bloglo_post_media( $post_format = false ) {
		echo bloglo_get_post_media( $post_format ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	}
endif;

if ( ! function_exists( 'bloglo_top_bar_widget_text' ) ) :
	/**
	 * Outputs the top bar text widget.
	 *
	 * @since 1.0.0
	 * @param array $options Array of widget options.
	 */
	function bloglo_top_bar_widget_text( $options ) {

		$content = isset( $options['content'] ) ? $options['content'] : '';
		$content = apply_filters( 'bloglo_dynamic_strings', $content );

		echo '<span>' . wp_kses( do_shortcode( $content ), bloglo_get_allowed_html_tags() ) . '</span>';
	}
endif;

if ( ! function_exists( 'bloglo_top_bar_widget_nav' ) ) :
	/**
	 * Outputs the top bar navigation widget.
	 *
	 * @param array $options Array of navigation widget options.
	 * @since 1.0.0
	 */
	function bloglo_top_bar_widget_nav( $options ) {

		$defaults = array(
			'menu_id'     => 'bloglo-topbar-nav',
			'container'   => false,
			'menu_class'  => false,
			'link_before' => '<span>',
			'link_after'  => '</span>',
			'menu'        => '',
		);

		$options = wp_parse_args( $options, $defaults );
		$options = apply_filters( 'bloglo_top_bar_navigation_args', $options );

		if ( empty( $options['menu'] ) ) {
			if ( is_user_logged_in() && current_user_can( 'edit_theme_options' ) ) {
				?>
				<ul>
					<li class="bloglo-empty-nav">
						<?php
						if ( is_customize_preview() ) {
							esc_html_e( 'Menu not assigned', 'bloglo' );
						} else {
							?>
							<a href="<?php echo esc_url( admin_url( 'customize.php?autofocus[control]=bloglo_top_bar_widgets' ) ); ?>"><?php echo esc_html__( 'Assign a menu', 'bloglo' ); ?></a>
						<?php } ?>
					</li>
				</ul>
				<?php
			}
			return;
		}

		$options['before_nav'] = '<nav class="bloglo-nav" role="navigation" aria-label="' . esc_attr( $options['menu'] ) . '">';
		$options['after_nav']  = '</nav>';

		bloglo_navigation( $options );
	}
endif;

if ( ! function_exists( 'bloglo_top_bar_widget_socials' ) ) :
	/**
	 * Outputs the top bar social links widget.
	 *
	 * @param array $options Array of widget options.
	 * @since 1.0.0
	 */
	function bloglo_top_bar_widget_socials( $options ) {
		bloglo_social_links( $options );
	}
endif;

if ( ! function_exists( 'bloglo_header_widget_socials' ) ) :
	/**
	 * Outputs the header social links widget.
	 *
	 * @param array $options Array of widget options.
	 * @since 1.1.0
	 */
	function bloglo_header_widget_socials( $options ) {
		bloglo_social_links( $options );
	}
endif;

if ( ! function_exists( 'bloglo_header_widget_darkmode' ) ) :
	/**
	 * Outputs the header dark mode widget.
	 *
	 * @since 1.0.0
	 * @param array $options Array of widget options.
	 */
	function bloglo_header_widget_darkmode( $options ) {
		echo '<label class="bloglo-darkmode" for="lightdarkswitch" tabindex="0"><input type="checkbox" id="lightdarkswitch" /><div class="bloglo-darkmode-toogle"></div></label>';
	}
endif;

if ( ! function_exists( 'bloglo_header_widget_search' ) ) :
	/**
	 * Outputs the header search widget.
	 *
	 * @since 1.0.0
	 * @param array $options Array of widget options.
	 */
	function bloglo_header_widget_search( $options ) {
		get_template_part( 'template-parts/header/widgets/search' );
	}
endif;

if ( ! function_exists( 'bloglo_header_widget_button' ) ) :
	/**
	 * Outputs the header button widget.
	 *
	 * @since 1.0.0
	 * @param array $options Array of widget options.
	 */
	function bloglo_header_widget_button( $options ) {

		$class = array( $options['class'] );

		if ( isset( $options['style'] ) ) {
			$class[] = $options['style'];
		}

		$class[] = 'bloglo-btn';

		$class = apply_filters( 'bloglo_header_widget_button_class', $class );
		$class = trim( implode( ' ', $class ) );

		$text = empty( $options['text'] ) ? __( 'Add Button Text', 'bloglo' ) : $options['text'];

		$target = 'target="_self"';

		if ( '_blank' === $options['target'] ) {
			$target = 'target="_blank" rel="noopener noreferrer"';
		}

		echo wp_kses(
			sprintf(
				'<a href="%1$s" class="%2$s" %3$s role="button"><span>%4$s</span></a>',
				esc_url( $options['url'] ),
				esc_attr( $class ),
				$target,
				wp_kses_post( $text )
			),
			bloglo_get_allowed_html_tags()
		);
	}
endif;

if ( ! function_exists( 'bloglo_about_widget_button' ) ) :
	/**
	 * Outputs About widget button.
	 *
	 * @since 1.0.0
	 * @param array $options Array of widget options.
	 */
	function bloglo_about_widget_button( $options ) {
		bloglo_header_widget_button( $options );
	}
endif;

if ( ! function_exists( 'bloglo_cta_widget_button' ) ) :
	/**
	 * Outputs CTA widget button.
	 *
	 * @since 1.0.0
	 * @param array $options Array of widget options.
	 */
	function bloglo_cta_widget_button( $options ) {
		bloglo_header_widget_button( $options );
	}
endif;

if ( ! function_exists( 'bloglo_cta_widget_text' ) ) :
	/**
	 * Outputs CTA widget text.
	 *
	 * @since 1.0.0
	 * @param array $options Array of widget options.
	 */
	function bloglo_cta_widget_text( $options ) {
		bloglo_top_bar_widget_text( $options );
	}
endif;

if ( ! function_exists( 'bloglo_copyright_widget_text' ) ) :
	/**
	 * Outputs the top bar text widget.
	 *
	 * @since 1.0.0
	 * @param array $options Array of widget options.
	 */
	function bloglo_copyright_widget_text( $options ) {
		bloglo_top_bar_widget_text( $options );
	}
endif;

if ( ! function_exists( 'bloglo_copyright_widget_nav' ) ) :
	/**
	 * Outputs the copyright navigation widget.
	 *
	 * @param array $options Array of widget options.
	 * @since 1.0.0
	 */
	function bloglo_copyright_widget_nav( $options ) {

		$defaults = array(
			'menu_id'     => 'bloglo-footer-nav',
			'container'   => false,
			'menu_class'  => false,
			'link_before' => '<span>',
			'link_after'  => '</span>',
			'menu'        => '',
		);

		$options = wp_parse_args( $options, $defaults );
		$options = apply_filters( 'bloglo_copyright_navigation_args', $options );

		if ( empty( $options['menu'] ) ) {
			if ( is_user_logged_in() && current_user_can( 'edit_theme_options' ) ) {
				?>
				<ul>
					<li class="bloglo-empty-nav">
						<?php
						if ( is_customize_preview() ) {
							esc_html_e( 'Menu not assigned', 'bloglo' );
						} else {
							?>
							<a href="<?php echo esc_url( admin_url( 'customize.php?autofocus[control]=bloglo_copyright_widgets' ) ); ?>"><?php echo esc_html__( 'Assign a menu', 'bloglo' ); ?></a>
						<?php } ?>
					</li>
				</ul>
				<?php
			}
			return;
		}

		$options['before_nav'] = '<nav role="navigation" class="bloglo-nav">';
		$options['after_nav']  = '</nav>';

		bloglo_navigation( $options );
	}
endif;

if ( ! function_exists( 'bloglo_copyright_widget_socials' ) ) :
	/**
	 * Outputs the copyright social links widget.
	 *
	 * @param array $options Array of widget options.
	 * @since 1.0.0
	 */
	function bloglo_copyright_widget_socials( $options ) {
		bloglo_social_links( $options );
	}
endif;

if ( ! function_exists( 'bloglo_footer_widgets' ) ) :
	/**
	 * Outputs the footer widgets.
	 *
	 * @since 1.0.0
	 */
	function bloglo_footer_widgets() {

		$footer_layout  = bloglo_option( 'footer_layout' );
		$column_classes = bloglo_get_footer_column_class( $footer_layout );

		if ( is_array( $column_classes ) && ! empty( $column_classes ) ) {
			foreach ( $column_classes as $i => $column_class ) {

				$sidebar_id = 'bloglo-footer-' . ( $i + 1 );
				?>
				<div class="bloglo-footer-column <?php echo esc_attr( $column_class ); ?>">
					<?php
					if ( is_active_sidebar( $sidebar_id ) ) {
						dynamic_sidebar( $sidebar_id );
					} else {

						if ( current_user_can( 'edit_theme_options' ) ) {

							$sidebar_name = bloglo_get_sidebar_name_by_id( $sidebar_id );
							?>
							<div class="bloglo-footer-widget bloglo-widget bloglo-no-widget">

								<div class='h4 widget-title'><?php echo esc_html( $sidebar_name ); ?></div>

								<p class='no-widget-text'>
									<?php if ( is_customize_preview() ) { ?>
										<a href='#' class="bloglo-set-widget" data-sidebar-id="<?php echo esc_attr( $sidebar_id ); ?>">
										<?php } else { ?>
											<a href='<?php echo esc_url( admin_url( 'widgets.php' ) ); ?>'>
											<?php } ?>
											<?php esc_html_e( 'Click here to assign a widget.', 'bloglo' ); ?>
											</a>
								</p>
							</div>
							<?php
						}
					}
					?>
				</div>
				<?php
			}
		}
	}
endif;

if ( ! function_exists( 'bloglo_comment' ) ) :
	/**
	 * Comment and pingback output function.
	 *
	 * @since 1.0.0
	 * @param string $comment Comment content.
	 * @param array  $args    Comment arguments.
	 * @param int    $depth   Comment depth.
	 */
	function bloglo_comment( $comment, $args, $depth ) {

		global $post;

		if ( 'pingback' === $comment->comment_type ) {
			?>
			<li <?php comment_class(); ?> id="comment-<?php comment_ID(); ?>">

				<article id="comment-<?php comment_ID(); ?>" class="bloglo-pingback">
					<p><?php esc_html_e( 'Pingback: ', 'bloglo' ); ?><span<?php bloglo_schema_markup( 'author_name' ); ?>><?php comment_author_link(); ?></span> <?php edit_comment_link( esc_html__( '(Edit)', 'bloglo' ), '<span class="edit-link">', '</span>' ); ?></p>
				</article>

			<?php } else { ?>
			<li <?php comment_class(); ?> id="comment-<?php comment_ID(); ?>">
				<article 
				<?php
							comment_class( 'comment-body' );
							bloglo_schema_markup( 'comment' );
				?>
							>

					<header class="comment-header">
						<div class="comment-author vcard">

							<span class="comment-author-avatar">
								<?php echo get_avatar( $comment, $args['avatar_size'] ); ?>

								<?php if ( $comment->user_id === $post->post_author ) { ?>
									<span class="bypostauthor-badge" aria-hidden="true" title="<?php esc_attr_e( 'The post author', 'bloglo' ); ?>"><?php echo esc_html_x( 'A', 'Post author badge on comments', 'bloglo' ); ?></span>
								<?php } ?>
							</span>

							<span class="comment-author-meta">
								<cite class="fn">
									<?php comment_author_link(); ?>
								</cite>
							</span>

						</div><!-- END .comment-author -->

						<div class="comment-actions">
							<?php
							$bloglo_comment_reply_link = get_comment_reply_link(
								array_merge(
									$args,
									array(
										'depth'      => $depth,
										'reply_text' => $args['reply_text'],
									)
								)
							);
							?>
							<div class="edit">
								<?php edit_comment_link( __( 'Edit', 'bloglo' ) ); ?>
							</div>

							<?php
							if ( current_user_can( 'edit_comment', get_comment_ID() ) && null !== $bloglo_comment_reply_link ) {
								?>
								<span class="bloglo-comment-sep"></span>
								<?php
							}
							?>

							<div class="reply">
								<?php
								echo $bloglo_comment_reply_link; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 
								?>
							</div>
						</div>
					</header><!-- END .comment-header -->

					<div class="comment-meta commentmetadata">
						<?php comment_date(); ?>,
						<a href="<?php echo esc_url( get_comment_link() ); ?>" class="comment-date">
							<time datetime="<?php echo esc_attr( get_comment_date( 'c' ) ); ?>"><?php comment_time(); ?></time>
						</a>
					</div><!-- END .comment-meta -->

					<div class="comment-content">
						<?php if ( '0' === $comment->comment_approved ) : ?>
							<p class="comment-awaiting-moderation"><em><?php esc_html_e( 'Your comment is awaiting moderation.', 'bloglo' ); ?></em></p>
						<?php endif; ?>

						<?php comment_text(); ?>
					</div><!-- END .comment-content -->

				</article><!-- END .comment-body -->
			<?php
			} // endif
			?>
		<?php
	}
endif;

if ( ! function_exists( 'bloglo_social_links' ) ) :
	/**
	 * The template tag for displaying social icons.
	 *
	 * @param  array $args Args for wp_nav_menu function.
	 * @since  1.0.0
	 * @return void
	 */
	function bloglo_social_links( $args = array() ) {

		$defaults = array(
			'fallback_cb'     => '',
			'menu'            => '',
			'container'       => 'nav',
			'container_class' => 'bloglo-social-nav',
			'menu_class'      => 'bloglo-socials-menu',
			'depth'           => 1,
			'link_before'     => '<span class="screen-reader-text">',
			'link_after'      => '</span>' . bloglo()->icons->get_svg( 'external-link', array( 'aria-hidden' => 'true' ) ) . bloglo()->icons->get_svg(
				'external-link',
				array(
					'aria-hidden' => 'true',
					'class'       => 'bottom-icon',
				)
			) . '</span>',
			'style'           => '',
			'size'            => '',
			'align'           => '',
		);

		$args = wp_parse_args( $args, $defaults );
		$args = apply_filters( 'bloglo_social_links_args', $args );

		// Add style class to container_class.
		if ( ! empty( $args['style'] ) ) {
			$args['container_class'] .= ' ' . esc_attr( $args['style'] );
		}

		// Add alignment class to container_class.
		if ( ! empty( $args['align'] ) ) {
			$args['menu_class'] .= ' ' . esc_attr( $args['align'] );
		}

		// Add size class to container_class.
		if ( ! empty( $args['size'] ) ) {
			$args['container_class'] .= ' bloglo-' . esc_attr( $args['size'] );
		}

		if ( ! empty( $args['menu'] ) && is_nav_menu( $args['menu'] ) ) {
			wp_nav_menu( $args );
		} else {
			echo '<nav class="bloglo-social-nav ' . esc_attr( $args['style'] ) . ' bloglo-' . esc_attr( $args['size'] ) . '">
			<ul id="menu-social-menu-default" class="bloglo-socials-menu">
				<li class="menu-item">
					<a href="https://www.facebook.com/">
						<span class="screen-reader-text">facebook.com</span>
						<span class="facebook">
						' . bloglo()->icons->get_svg( 'facebook', array( 'aria-hidden' => 'true' ) ) . '
						' . bloglo()->icons->get_svg(
							'facebook',
							array(
								'aria-hidden' => 'true',
								'class'       => 'bottom-icon',
							)
						) . '
						</span>
					</a>
				</li>
				<li class="menu-item">
					<a href="https://twitter.com/">
					<span class="screen-reader-text">twitter.com</span>
						<span class="twitter">
						' . bloglo()->icons->get_svg( 'twitter', array( 'aria-hidden' => 'true' ) ) . '
						' . bloglo()->icons->get_svg(
							'twitter',
							array(
								'aria-hidden' => 'true',
								'class'       => 'bottom-icon',
							)
						) . '
						</span>
					</a>
				</li>
				<li class="menu-item">
					<a href="https://t.me/">
						<span class="screen-reader-text">t.me</span>
						<span class="telegram">
						' . bloglo()->icons->get_svg( 'telegram', array( 'aria-hidden' => 'true' ) ) . '
						' . bloglo()->icons->get_svg(
							'telegram',
							array(
								'aria-hidden' => 'true',
								'class'       => 'bottom-icon',
							)
						) . '
						</span>
					</a>
				</li>
				<li class="menu-item">
					<a href="https://www.instagram.com/">
						<span class="screen-reader-text">instagram.com</span>
						<span class="instagram">
						' . bloglo()->icons->get_svg( 'instagram', array( 'aria-hidden' => 'true' ) ) . '
						' . bloglo()->icons->get_svg(
							'instagram',
							array(
								'aria-hidden' => 'true',
								'class'       => 'bottom-icon',
							)
						) . '
						</span>
					</a>
				</li>
				<li class="menu-item">
					<a href="https://youtube.com/">
						<span class="screen-reader-text">youtube.com</span>
						<span class="youtube">
						' . bloglo()->icons->get_svg( 'youtube', array( 'aria-hidden' => 'true' ) ) . '
						' . bloglo()->icons->get_svg(
							'youtube',
							array(
								'aria-hidden' => 'true',
								'class'       => 'bottom-icon',
							)
						) . '
						</span>
					</a>
				</li>
			</ul>
			</nav>';
		}
	}
endif;

if ( ! function_exists( 'bloglo_navigation' ) ) :
	/**
	 * The template tag for displaying social icons.
	 *
	 * @param  array $args Args for wp_nav_menu function.
	 * @since  1.0.0
	 * @return void
	 */
	function bloglo_navigation( $args = array() ) {

		$defaults = array(
			'before_nav' => '',
			'after_nav'  => '',
		);

		$args = wp_parse_args( $args, $defaults );

		$args['items_wrap'] = isset( $args['items_wrap'] ) ? $args['items_wrap'] : '<ul id="%1$s" class="%2$s">%3$s</ul>';
		$args['items_wrap'] = $args['before_nav'] . $args['items_wrap'] . $args['after_nav'];

		$args = apply_filters( 'bloglo_navigation_args', $args );

		if ( ! empty( $args['menu'] ) && is_nav_menu( $args['menu'] ) ) {
			wp_nav_menu( $args );
		}
	}
endif;

if ( ! function_exists( 'bloglo_breadcrumb' ) ) :
	/**
	 * Outputs breadcrumbs trail
	 *
	 * @param array $args Array of breadcrumb options.
	 */
	function bloglo_breadcrumb( $args = array() ) {

		$args = wp_parse_args(
			$args,
			array(
				'container_before' => '',
				'container_after'  => '',
			)
		);

		echo wp_kses_post( $args['container_before'] );

		bloglo_breadcrumb_trail(
			array(
				'show_browse' => false,
			)
		);

		echo wp_kses_post( $args['container_after'] );
	}
endif;


// maintenance enable function 'template redirect'
function bloglo_maintenance_template_redirect() {
	$maintenance_mode_enable = bloglo_option( 'enable_maintenance' );
	$make_site_live          = bloglo_option( 'maintenance_make_live' );
	$countdown               = bloglo_option( 'maintenance_date_time' );
	$timezone                = bloglo_option( 'maintenance_timezone' );

	if ( $maintenance_mode_enable ) {

		$date = new DateTime( $countdown . ' ' . $timezone );
		// $timeToString = $date->format('Y/m/d H:i:s');

		$date_now = new DateTime();

		// var_dump( $timeToString );
		if ( $date_now > $date && $make_site_live ) {
			bloglo()->options->set( 'bloglo_enable_maintenance', false );
			return;
		}
		if ( ! is_feed() ) {
			// if user not login page is redirect on coming soon template page
			if ( ! is_user_logged_in() ) {
				$file = get_template_directory() . '/inc/admin/maintenance.php';
				include $file;
				exit();
			}
		}
		// if user is log-in then we check role.
		if ( is_user_logged_in() ) {
			// get logined in user role
			global $current_user;
			wp_get_current_user();
			$LoggedInUserID = $current_user->ID;
			$UserData       = get_userdata( $LoggedInUserID );
			// if user role not 'administrator' redirect him to message page
			if ( $UserData->roles[0] != 'administrator' ) {
				if ( ! is_feed() ) {
					$file = get_template_directory() . '/inc/admin/maintenance.php';
					exit();
				}
			}
		}
	}
}
// add action to call function icare_maintenance_template_redirect
add_action( 'template_redirect', 'bloglo_maintenance_template_redirect' );
inc/breadcrumbs.php000064400000121613152425655560010342 0ustar00<?php
/**
 * Custom breadcrumbs.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! function_exists( 'bloglo_breadcrumb_trail' ) ) {

	/**
	 * Show a breadcrumb.
	 *
	 * @since  1.0.0
	 * @param  array $args Arguments to pass.
	 */
	function bloglo_breadcrumb_trail( $args = array() ) {

		// Check if breadcrumb is turned on from WPSEO option.
		$breadcrumb_enable = is_callable( 'WPSEO_Options::get' ) ? WPSEO_Options::get( 'breadcrumbs-enable' ) : false;
		$wpseo_option      = get_option( 'wpseo_internallinks' ) ? get_option( 'wpseo_internallinks' ) : $breadcrumb_enable;

		if ( ! is_array( $wpseo_option ) ) {
			unset( $wpseo_option );
			$wpseo_option = array(
				'breadcrumbs-enable' => $breadcrumb_enable,
			);
		}

		if ( function_exists( 'yoast_breadcrumb' ) && $wpseo_option && true === $wpseo_option['breadcrumbs-enable'] ) {

			// Yoast breadcrumb.
			return yoast_breadcrumb();
		} elseif ( function_exists( 'seopress_display_breadcrumbs' ) ) {

			// SEOPress breadcrumb.
			return seopress_display_breadcrumbs();
		} elseif ( function_exists( 'rank_math_the_breadcrumbs' ) ) {

			// Rank Math breadcrumbs.
			return rank_math_the_breadcrumbs();
		}

		// Bloglo breadcrumb trail.
		$breadcrumb = apply_filters( 'bloglo_breadcrumb_trail_object', null, $args );

		if ( ! is_object( $breadcrumb ) ) {
			$breadcrumb = new Bloglo_Breadcrumb_Trail( $args );
		}

		return $breadcrumb->trail();
	}

	/**
	 * Before HTML for SEOPress breadcrumbs.
	 *
	 * @since 1.0.0
	 */
	function bloglo_seopress_breadcrumbs_before_html() {
		echo '<div class="bloglo-breadcrumbs-wrapper">';
	}
	add_action( 'seopress_breadcrumbs_before_html', 'bloglo_seopress_breadcrumbs_before_html' );

	/**
	 * After HTML for SEOPress breadcrumbs.
	 *
	 * @since 1.0.0
	 */
	function bloglo_seopress_breadcrumbs_after_html() {
		echo '</div>';
	}
	add_action( 'seopress_breadcrumbs_after_html', 'bloglo_seopress_breadcrumbs_after_html' );

	/**
	 * Overwrite the items for the breadcrumb trail.
	 *
	 * @since 1.0.0
	 *
	 * @param array $items Array of items belonging to the current breadcrumb trail.
	 * @param array $args  Arguments used to build the breadcrumb trail.
	 */
	function bloglo_breadcrumb_trail_items( $items, $args ) {

		// Add link to the Blog page.
		if ( is_singular( 'post' ) ) {

			$page_for_posts = get_option( 'page_for_posts' );
			$front_page     = get_option( 'page_on_front' );

			if ( $page_for_posts && $front_page ) {
				$posts_page_url = sprintf( '<a href="%s">%s</a>', esc_url( get_permalink( $page_for_posts ) ), esc_html( get_the_title( $page_for_posts ) ) );

				array_splice( $items, 1, 0, $posts_page_url );
			}
		}

		return $items;
	}
	add_filter( 'bloglo_breadcrumb_trail_items', 'bloglo_breadcrumb_trail_items', 10, 2 );
}

/**
 * Creates a breadcrumbs menu for the site based on the current page that's being viewed by the user.
 *
 * @since  1.0.0
 * @access public
 */
class Bloglo_Breadcrumb_Trail {

	/**
	 * Array of items belonging to the current breadcrumb trail.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    array
	 */
	public $items = array();

	/**
	 * Arguments used to build the breadcrumb trail.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    array
	 */
	public $args = array();

	/**
	 * Array of text labels.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    array
	 */
	public $labels = array();

	/**
	 * Array of post types (key) and taxonomies (value) to use for single post views.
	 *
	 * @since  1.0.0
	 * @access public
	 * @var    array
	 */
	public $post_taxonomy = array();

	/* ====== Magic Methods ====== */

	/**
	 * Magic method to use in case someone tries to output the layout object as a string.
	 * We'll just return the trail HTML.
	 *
	 * @since  1.0.0
	 * @access public
	 * @return string
	 */
	public function __toString() {
		return $this->trail();
	}

	/**
	 * Sets up the breadcrumb trail properties.  Calls the `Breadcrumb_Trail::add_items()` method
	 * to creat the array of breadcrumb items.
	 *
	 * @since  1.0.0
	 * @access public
	 * @param  array $args Optional.
	 *                     @type string    $container      Container HTML element. nav|div.
	 *                     @type string    $before         String to output before breadcrumb menu.
	 *                     @type string    $after          String to output after breadcrumb menu.
	 *                     @type string    $browse_tag     The HTML tag to use to wrap the "Browse" header text.
	 *                     @type string    $list_tag       The HTML tag to use for the list wrapper.
	 *                     @type string    $item_tag       The HTML tag to use for the item wrapper.
	 *                     @type bool      $show_on_front  Whether to show when `is_front_page()`.
	 *                     @type bool      $network        Whether to link to the network main site (multisite only).
	 *                     @type bool      $show_title     Whether to show the title (last item) in the trail.
	 *                     @type bool      $show_browse    Whether to show the breadcrumb menu header.
	 *                     @type array     $labels         Text labels. @see Breadcrumb_Trail::set_labels()
	 *                     @type array     $post_taxonomy  Taxonomies to use for post types. @see Breadcrumb_Trail::set_post_taxonomy()
	 *                     @type bool      $echo           Whether to print or return the breadcrumbs.
	 * @return void
	 */
	public function __construct( $args = array() ) {

		$defaults = array(
			'container'     => 'nav',
			'before'        => '',
			'after'         => '',
			'browse_tag'    => 'h2',
			'list_tag'      => 'ul',
			'item_tag'      => 'li',
			'show_on_front' => true,
			'network'       => false,
			'show_title'    => true,
			'show_browse'   => true,
			'labels'        => array(),
			'post_taxonomy' => array(),
			'echo'          => true,
		);

		// Parse the arguments with the deaults.
		$this->args = apply_filters( 'bloglo_breadcrumb_trail_args', wp_parse_args( $args, $defaults ) );

		// Set the labels and post taxonomy properties.
		$this->set_labels();
		$this->set_post_taxonomy();

		// Let's find some items to add to the trail!
		$this->add_items();
	}

	/* ====== Public Methods ====== */

	/**
	 * Formats the HTML output for the breadcrumb trail.
	 *
	 * @since  1.0.0
	 * @access public
	 * @return string
	 */
	public function trail() {

		// Set up variables that we'll need.
		$breadcrumb    = '';
		$item_count    = count( $this->items );
		$item_position = 0;

		// Connect the breadcrumb trail if there are items in the trail.
		if ( 0 < $item_count ) {

			// Add 'browse' label if it should be shown.
			if ( true === $this->args['show_browse'] ) {

				$breadcrumb .= sprintf(
					'<%1$s class="trail-browse">%2$s</%1$s>',
					tag_escape( $this->args['browse_tag'] ),
					$this->labels['browse']
				);
			}

			// Open the unordered list.
			$breadcrumb .= sprintf(
				'<%s class="trail-items" itemscope itemtype="http://schema.org/BreadcrumbList">',
				tag_escape( $this->args['list_tag'] )
			);

			// Add the number of items and item list order schema.
			$breadcrumb .= sprintf( '<meta name="numberOfItems" content="%d" />', absint( $item_count ) );
			$breadcrumb .= '<meta name="itemListOrder" content="Ascending" />';

			// Loop through the items and add them to the list.
			foreach ( $this->items as $item ) {

				// Iterate the item position.
				++$item_position;

				// Check if the item is linked.
				preg_match( '/(<a.*?>)(.*?)(<\/a>)/i', $item, $matches );

				// Wrap the item text with appropriate itemprop.
				$item = ! empty( $matches ) ? sprintf( '%s<span itemprop="name">%s</span>%s', $matches[1], $matches[2], $matches[3] ) : sprintf( '<span itemprop="name">%s</span>', $item );

				// Wrap the item with its itemprop.
				$item = ! empty( $matches )
					? preg_replace( '/(<a.*?)([\'"])>/i', '$1$2 itemprop=$2item$2>', $item )
					: sprintf( '<span>%s</span>', $item );

				// Add list item classes.
				$item_class = 'trail-item';

				if ( 1 === $item_position && 1 < $item_count ) {
					$item_class .= ' trail-begin';

				} elseif ( $item_count === $item_position ) {
					$item_class .= ' trail-end';
				}

				// Create list item attributes.
				$attributes = 'itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" class="' . $item_class . '"';

				// Build the meta position HTML.
				$meta = sprintf( '<meta itemprop="position" content="%s" />', absint( $item_position ) );

				// Build the list item.
				$breadcrumb .= sprintf( '<%1$s %2$s>%3$s%4$s</%1$s>', tag_escape( $this->args['item_tag'] ), $attributes, $item, $meta );
			}

			// Close the unordered list.
			$breadcrumb .= sprintf( '</%s>', tag_escape( $this->args['list_tag'] ) );

			// Wrap the breadcrumb trail.
			$breadcrumb = sprintf(
				'<%1$s role="navigation" aria-label="%2$s" class="breadcrumb-trail breadcrumbs" itemprop="breadcrumb">%3$s%4$s%5$s</%1$s>',
				tag_escape( $this->args['container'] ),
				esc_attr( $this->labels['aria_label'] ),
				$this->args['before'],
				$breadcrumb,
				$this->args['after']
			);
		}

		// Allow developers to filter the breadcrumb trail HTML.
		$breadcrumb = apply_filters( 'bloglo_breadcrumb_trail', $breadcrumb, $this->args );

		if ( false === $this->args['echo'] ) {
			return $breadcrumb;
		}

		echo $breadcrumb; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	}

	/* ====== Protected Methods ====== */

	/**
	 * Sets the labels property.  Parses the inputted labels array with the defaults.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function set_labels() {

		$defaults = array(
			'browse'              => esc_html__( 'Browse:', 'bloglo' ),
			'aria_label'          => esc_attr_x( 'Breadcrumbs', 'breadcrumbs aria label', 'bloglo' ),
			'home'                => esc_html__( 'Home', 'bloglo' ),
			'error_404'           => esc_html__( '404 Not Found', 'bloglo' ),
			'archives'            => esc_html__( 'Archives', 'bloglo' ),
			// Translators: %s is the search query.
			'search'              => esc_html__( 'Search results for: %s', 'bloglo' ),
			// Translators: %s is the page number.
			'paged'               => esc_html__( 'Page %s', 'bloglo' ),
			// Translators: %s is the page number.
			'paged_comments'      => esc_html__( 'Comment Page %s', 'bloglo' ),
			// Translators: Minute archive title. %s is the minute time format.
			'archive_minute'      => esc_html__( 'Minute %s', 'bloglo' ),
			// Translators: Weekly archive title. %s is the week date format.
			'archive_week'        => esc_html__( 'Week %s', 'bloglo' ),

			// "%s" is replaced with the translated date/time format.
			'archive_minute_hour' => '%s',
			'archive_hour'        => '%s',
			'archive_day'         => '%s',
			'archive_month'       => '%s',
			'archive_year'        => '%s',
		);

		$this->labels = apply_filters( 'bloglo_breadcrumb_trail_labels', wp_parse_args( $this->args['labels'], $defaults ) );
	}

	/**
	 * Sets the `$post_taxonomy` property.  This is an array of post types (key) and taxonomies (value).
	 * The taxonomy's terms are shown on the singular post view if set.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function set_post_taxonomy() {

		$defaults = array();

		// If post permalink is set to `%postname%`, use the `category` taxonomy.
		if ( '%postname%' === trim( get_option( 'permalink_structure' ), '/' ) ) {
			$defaults['post'] = 'category';
		}

		$this->post_taxonomy = apply_filters( 'bloglo_breadcrumb_trail_post_taxonomy', wp_parse_args( $this->args['post_taxonomy'], $defaults ) );
	}

	/**
	 * Runs through the various WordPress conditional tags to check the current page being viewed.  Once
	 * a condition is met, a specific method is launched to add items to the `$items` array.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_items() {

		if ( is_front_page() ) {
			$this->add_front_page_items();
		} else {

			// Add the network and site home links.
			$this->add_network_home_link();
			$this->add_site_home_link();

			if ( is_home() ) {
				$this->add_blog_items();
			} elseif ( is_singular() ) {
				$this->add_singular_items();
			} elseif ( is_archive() ) {

				if ( is_post_type_archive() ) {
					$this->add_post_type_archive_items();

				} elseif ( is_category() || is_tag() || is_tax() ) {
					$this->add_term_archive_items();

				} elseif ( is_author() ) {
					$this->add_user_archive_items();

				} elseif ( get_query_var( 'minute' ) && get_query_var( 'hour' ) ) {
					$this->add_minute_hour_archive_items();

				} elseif ( get_query_var( 'minute' ) ) {
					$this->add_minute_archive_items();

				} elseif ( get_query_var( 'hour' ) ) {
					$this->add_hour_archive_items();

				} elseif ( is_day() ) {
					$this->add_day_archive_items();

				} elseif ( get_query_var( 'w' ) ) {
					$this->add_week_archive_items();

				} elseif ( is_month() ) {
					$this->add_month_archive_items();

				} elseif ( is_year() ) {
					$this->add_year_archive_items();

				} else {
					$this->add_default_archive_items();
				}
			} elseif ( is_search() ) {
				$this->add_search_items();
			} elseif ( is_404() ) {
				$this->add_404_items();
			}
		}

		// Add paged items if they exist.
		$this->add_paged_items();

		// Allow developers to overwrite the items for the breadcrumb trail.
		$this->items = array_unique( apply_filters( 'bloglo_breadcrumb_trail_items', $this->items, $this->args ) );
	}

	/**
	 * Gets front items based on $wp_rewrite->front.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_rewrite_front_items() {
		global $wp_rewrite;

		if ( $wp_rewrite->front ) {
			$this->add_path_parents( $wp_rewrite->front );
		}
	}

	/**
	 * Adds the page/paged number to the items array.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_paged_items() {

		if ( is_singular() && 1 < get_query_var( 'page' ) && true === $this->args['show_title'] ) {
			// If viewing a paged singular post.
			$this->items[] = sprintf( $this->labels['paged'], number_format_i18n( absint( get_query_var( 'page' ) ) ) );
		} elseif ( is_singular() && get_option( 'page_comments' ) && 1 < get_query_var( 'cpage' ) ) {
			// If viewing a singular post with paged comments.
			$this->items[] = sprintf( $this->labels['paged_comments'], number_format_i18n( absint( get_query_var( 'cpage' ) ) ) );
		} elseif ( is_paged() && true === $this->args['show_title'] ) {
			// If viewing a paged archive-type page.
			$this->items[] = sprintf( $this->labels['paged'], number_format_i18n( absint( get_query_var( 'paged' ) ) ) );
		}
	}

	/**
	 * Adds the network (all sites) home page link to the items array.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_network_home_link() {

		if ( is_multisite() && ! is_main_site() && true === $this->args['network'] ) {
			$this->items[] = sprintf( '<a href="%s" rel="home">%s</a>', esc_url( network_home_url() ), $this->labels['home'] );
		}
	}

	/**
	 * Adds the current site's home page link to the items array.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_site_home_link() {

		$network = is_multisite() && ! is_main_site() && true === $this->args['network'];
		$label   = $network ? get_bloginfo( 'name' ) : $this->labels['home'];
		$rel     = $network ? '' : ' rel="home"';

		$this->items[] = sprintf( '<a href="%s"%s>%s</a>', esc_url( user_trailingslashit( home_url() ) ), $rel, $label );
	}

	/**
	 * Adds items for the front page to the items array.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_front_page_items() {

		// Only show front items if the 'show_on_front' argument is set to 'true'.
		if ( true === $this->args['show_on_front'] || is_paged() || ( is_singular() && 1 < get_query_var( 'page' ) ) ) {

			// Add network home link.
			$this->add_network_home_link();

			if ( is_paged() ) {
				// If on a paged view, add the site home link.
				$this->add_site_home_link();
			} elseif ( true === $this->args['show_title'] ) {
				// If on the main front page, add the network home title.
				$this->items[] = is_multisite() && true === $this->args['network'] ? get_bloginfo( 'name' ) : $this->labels['home'];
			}
		}
	}

	/**
	 * Adds items for the posts page (i.e., is_home()) to the items array.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_blog_items() {

		// Get the post ID and post.
		$post_id = get_queried_object_id();
		$post    = get_post( $post_id );

		// If the post has parents, add them to the trail.
		if ( 0 < $post->post_parent ) {
			$this->add_post_parents( $post->post_parent );
		}

		// Get the page title.
		$title = get_the_title( $post_id );

		// Add the posts page item.
		if ( is_paged() ) {
			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_permalink( $post_id ) ), $title );

		} elseif ( $title && true === $this->args['show_title'] ) {
			$this->items[] = $title;
		}
	}

	/**
	 * Adds singular post items to the items array.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_singular_items() {

		// Get the queried post.
		$post    = get_queried_object();
		$post_id = get_queried_object_id();

		if ( 0 < $post->post_parent ) {
			// If the post has a parent, follow the parent trail.
			$this->add_post_parents( $post->post_parent );
		} else {
			// If the post doesn't have a parent, get its hierarchy based off the post type.
			$this->add_post_hierarchy( $post_id );
		}

		// Display terms for specific post type taxonomy if requested.
		if ( ! empty( $this->post_taxonomy[ $post->post_type ] ) ) {
			$this->add_post_terms( $post_id, $this->post_taxonomy[ $post->post_type ] );
		}

		// End with the post title.
		$post_title = single_post_title( '', false );

		if ( $post_title ) {

			if ( ( 1 < get_query_var( 'page' ) || is_paged() ) || ( get_option( 'page_comments' ) && 1 < absint( get_query_var( 'cpage' ) ) ) ) {
				$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_permalink( $post_id ) ), $post_title );

			} elseif ( true === $this->args['show_title'] ) {
				$this->items[] = $post_title;
			}
		}
	}

	/**
	 * Adds the items to the trail items array for taxonomy term archives.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @global object $wp_rewrite
	 * @return void
	 */
	protected function add_term_archive_items() {
		global $wp_rewrite;

		// Get some taxonomy and term variables.
		$term           = get_queried_object();
		$taxonomy       = get_taxonomy( $term->taxonomy );
		$done_post_type = false;

		// If there are rewrite rules for the taxonomy.
		if ( false !== $taxonomy->rewrite ) {

			// If 'with_front' is true, dd $wp_rewrite->front to the trail.
			if ( $taxonomy->rewrite['with_front'] && $wp_rewrite->front ) {
				$this->add_rewrite_front_items();
			}

			// Get parent pages by path if they exist.
			$this->add_path_parents( $taxonomy->rewrite['slug'] );

			// Add post type archive if its 'has_archive' matches the taxonomy rewrite 'slug'.
			if ( $taxonomy->rewrite['slug'] ) {

				$slug = trim( $taxonomy->rewrite['slug'], '/' );

				// Deals with the situation if the slug has a '/' between multiple
				// strings. For example, "movies/genres" where "movies" is the post
				// type archive.
				$matches = explode( '/', $slug );

				// If matches are found for the path.
				if ( isset( $matches ) ) {

					// Reverse the array of matches to search for posts in the proper order.
					$matches = array_reverse( $matches );

					// Loop through each of the path matches.
					foreach ( $matches as $match ) {

						// Get public post types that match the rewrite slug.
						$post_types = $this->get_post_types_by_slug( $match );

						if ( ! empty( $post_types ) ) {

							$post_type_object = $post_types[0];

							// Add support for a non-standard label of 'archive_title' (special use case).
							$label = ! empty( $post_type_object->labels->archive_title ) ? $post_type_object->labels->archive_title : $post_type_object->labels->name;

							// Core filter hook.
							$label = apply_filters( 'bloglo_post_type_archive_title', $label, $post_type_object->name );

							// Add the post type archive link to the trail.
							$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_post_type_archive_link( $post_type_object->name ) ), $label );

							$done_post_type = true;

							// Break out of the loop.
							break;
						}
					}
				}
			}
		}

		// If there's a single post type for the taxonomy, use it.
		if ( false === $done_post_type && 1 === count( $taxonomy->object_type ) && post_type_exists( $taxonomy->object_type[0] ) ) {

			// If the post type is 'post'.
			if ( 'post' === $taxonomy->object_type[0] ) {
				$post_id = get_option( 'page_for_posts' );

				if ( 'posts' !== get_option( 'show_on_front' ) && 0 < $post_id ) {
					$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_permalink( $post_id ) ), get_the_title( $post_id ) );
				}

				// If the post type is not 'post'.
			} else {
				$post_type_object = get_post_type_object( $taxonomy->object_type[0] );

				$label = ! empty( $post_type_object->labels->archive_title ) ? $post_type_object->labels->archive_title : $post_type_object->labels->name;

				// Core filter hook.
				$label = apply_filters( 'bloglo_post_type_archive_title', $label, $post_type_object->name );

				$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_post_type_archive_link( $post_type_object->name ) ), $label );
			}
		}

		// If the taxonomy is hierarchical, list its parent terms.
		if ( is_taxonomy_hierarchical( $term->taxonomy ) && $term->parent ) {
			$this->add_term_parents( $term->parent, $term->taxonomy );
		}

		// Add the term name to the trail end.
		if ( is_paged() ) {
			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_term_link( $term, $term->taxonomy ) ), single_term_title( '', false ) );

		} elseif ( true === $this->args['show_title'] ) {
			$this->items[] = single_term_title( '', false );
		}
	}

	/**
	 * Adds the items to the trail items array for post type archives.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_post_type_archive_items() {

		// Get the post type object.
		$post_type_object = get_post_type_object( get_query_var( 'post_type' ) );

		if ( false !== $post_type_object->rewrite ) {

			// If 'with_front' is true, add $wp_rewrite->front to the trail.
			if ( $post_type_object->rewrite['with_front'] ) {
				$this->add_rewrite_front_items();
			}

			// If there's a rewrite slug, check for parents.
			if ( ! empty( $post_type_object->rewrite['slug'] ) ) {
				$this->add_path_parents( $post_type_object->rewrite['slug'] );
			}
		}

		// Add the post type [plural] name to the trail end.
		if ( is_paged() || is_author() ) {
			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_post_type_archive_link( $post_type_object->name ) ), post_type_archive_title( '', false ) );

		} elseif ( true === $this->args['show_title'] ) {
			$this->items[] = post_type_archive_title( '', false );
		}

		// If viewing a post type archive by author.
		if ( is_author() ) {
			$this->add_user_archive_items();
		}
	}

	/**
	 * Adds the items to the trail items array for user (author) archives.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @global object $wp_rewrite
	 * @return void
	 */
	protected function add_user_archive_items() {
		global $wp_rewrite;

		// Add $wp_rewrite->front to the trail.
		$this->add_rewrite_front_items();

		// Get the user ID.
		$user_id = get_query_var( 'author' );

		// If $author_base exists, check for parent pages.
		if ( ! empty( $wp_rewrite->author_base ) && ! is_post_type_archive() ) {
			$this->add_path_parents( $wp_rewrite->author_base );
		}

		// Add the author's display name to the trail end.
		if ( is_paged() ) {
			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_author_posts_url( $user_id ) ), get_the_author_meta( 'display_name', $user_id ) );

		} elseif ( true === $this->args['show_title'] ) {
			$this->items[] = get_the_author_meta( 'display_name', $user_id );
		}
	}

	/**
	 * Adds the items to the trail items array for minute + hour archives.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_minute_hour_archive_items() {

		// Add $wp_rewrite->front to the trail.
		$this->add_rewrite_front_items();

		// Add the minute + hour item.
		if ( true === $this->args['show_title'] ) {
			$this->items[] = sprintf( $this->labels['archive_minute_hour'], get_the_time( esc_html_x( 'g:i a', 'minute and hour archives time format', 'bloglo' ) ) );
		}
	}

	/**
	 * Adds the items to the trail items array for minute archives.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_minute_archive_items() {

		// Add $wp_rewrite->front to the trail.
		$this->add_rewrite_front_items();

		// Add the minute item.
		if ( true === $this->args['show_title'] ) {
			$this->items[] = sprintf( $this->labels['archive_minute'], get_the_time( esc_html_x( 'i', 'minute archives time format', 'bloglo' ) ) );
		}
	}

	/**
	 * Adds the items to the trail items array for hour archives.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_hour_archive_items() {

		// Add $wp_rewrite->front to the trail.
		$this->add_rewrite_front_items();

		// Add the hour item.
		if ( true === $this->args['show_title'] ) {
			$this->items[] = sprintf( $this->labels['archive_hour'], get_the_time( esc_html_x( 'g a', 'hour archives time format', 'bloglo' ) ) );
		}
	}

	/**
	 * Adds the items to the trail items array for day archives.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_day_archive_items() {

		// Add $wp_rewrite->front to the trail.
		$this->add_rewrite_front_items();

		// Get year, month, and day.
		$year  = sprintf( $this->labels['archive_year'], get_the_time( esc_html_x( 'Y', 'yearly archives date format', 'bloglo' ) ) );
		$month = sprintf( $this->labels['archive_month'], get_the_time( esc_html_x( 'F', 'monthly archives date format', 'bloglo' ) ) );
		$day   = sprintf( $this->labels['archive_day'], get_the_time( esc_html_x( 'j', 'daily archives date format', 'bloglo' ) ) );

		// Add the year and month items.
		$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_year_link( get_the_time( 'Y' ) ) ), $year );
		$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_month_link( get_the_time( 'Y' ), get_the_time( 'm' ) ) ), $month );

		// Add the day item.
		if ( is_paged() ) {
			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_day_link( get_the_time( 'Y' ) ), get_the_time( 'm' ), get_the_time( 'd' ) ), $day );

		} elseif ( true === $this->args['show_title'] ) {
			$this->items[] = $day;
		}
	}

	/**
	 * Adds the items to the trail items array for week archives.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_week_archive_items() {

		// Add $wp_rewrite->front to the trail.
		$this->add_rewrite_front_items();

		// Get the year and week.
		$year = sprintf( $this->labels['archive_year'], get_the_time( esc_html_x( 'Y', 'yearly archives date format', 'bloglo' ) ) );
		$week = sprintf( $this->labels['archive_week'], get_the_time( esc_html_x( 'W', 'weekly archives date format', 'bloglo' ) ) );

		// Add the year item.
		$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_year_link( get_the_time( 'Y' ) ) ), $year );

		// Add the week item.
		if ( is_paged() ) {
			$this->items[] = esc_url(
				get_archives_link(
					add_query_arg(
						array(
							'm' => get_the_time( 'Y' ),
							'w' => get_the_time( 'W' ),
						),
						home_url()
					),
					$week,
					false
				)
			);

		} elseif ( true === $this->args['show_title'] ) {
			$this->items[] = $week;
		}
	}

	/**
	 * Adds the items to the trail items array for month archives.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_month_archive_items() {

		// Add $wp_rewrite->front to the trail.
		$this->add_rewrite_front_items();

		// Get the year and month.
		$year  = sprintf( $this->labels['archive_year'], get_the_time( esc_html_x( 'Y', 'yearly archives date format', 'bloglo' ) ) );
		$month = sprintf( $this->labels['archive_month'], get_the_time( esc_html_x( 'F', 'monthly archives date format', 'bloglo' ) ) );

		// Add the year item.
		$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_year_link( get_the_time( 'Y' ) ) ), $year );

		// Add the month item.
		if ( is_paged() ) {
			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_month_link( get_the_time( 'Y' ), get_the_time( 'm' ) ) ), $month );

		} elseif ( true === $this->args['show_title'] ) {
			$this->items[] = $month;
		}
	}

	/**
	 * Adds the items to the trail items array for year archives.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_year_archive_items() {

		// Add $wp_rewrite->front to the trail.
		$this->add_rewrite_front_items();

		// Get the year.
		$year = sprintf( $this->labels['archive_year'], get_the_time( esc_html_x( 'Y', 'yearly archives date format', 'bloglo' ) ) );

		// Add the year item.
		if ( is_paged() ) {
			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_year_link( get_the_time( 'Y' ) ) ), $year );

		} elseif ( true === $this->args['show_title'] ) {
			$this->items[] = $year;
		}
	}

	/**
	 * Adds the items to the trail items array for archives that don't have a more specific method
	 * defined in this class.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_default_archive_items() {

		// If this is a date-/time-based archive, add $wp_rewrite->front to the trail.
		if ( is_date() || is_time() ) {
			$this->add_rewrite_front_items();
		}

		if ( true === $this->args['show_title'] ) {
			$this->items[] = $this->labels['archives'];
		}
	}

	/**
	 * Adds the items to the trail items array for search results.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_search_items() {

		if ( is_paged() ) {
			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_search_link() ), sprintf( $this->labels['search'], get_search_query() ) );

		} elseif ( true === $this->args['show_title'] ) {
			$this->items[] = sprintf( $this->labels['search'], get_search_query() );
		}
	}

	/**
	 * Adds the items to the trail items array for 404 pages.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @return void
	 */
	protected function add_404_items() {

		if ( true === $this->args['show_title'] ) {
			$this->items[] = $this->labels['error_404'];
		}
	}

	/**
	 * Adds a specific post's parents to the items array.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @param  int $post_id Post ID.
	 * @return void
	 */
	protected function add_post_parents( $post_id ) {
		$parents = array();

		while ( $post_id ) {

			// Get the post by ID.
			$post = get_post( $post_id );

			// If we hit a page that's set as the front page, bail.
			if ( 'page' === $post->post_type && 'page' === get_option( 'show_on_front' ) && get_option( 'page_on_front' ) === $post_id ) {
				break;
			}

			// Add the formatted post link to the array of parents.
			$parents[] = sprintf( '<a href="%s">%s</a>', esc_url( get_permalink( $post_id ) ), get_the_title( $post_id ) );

			// If there's no longer a post parent, break out of the loop.
			if ( 0 >= $post->post_parent ) {
				break;
			}

			// Change the post ID to the parent post to continue looping.
			$post_id = $post->post_parent;
		}

		// Get the post hierarchy based off the final parent post.
		$this->add_post_hierarchy( $post_id );

		// Display terms for specific post type taxonomy if requested.
		if ( ! empty( $this->post_taxonomy[ $post->post_type ] ) ) {
			$this->add_post_terms( $post_id, $this->post_taxonomy[ $post->post_type ] );
		}

		// Merge the parent items into the items array.
		$this->items = array_merge( $this->items, array_reverse( $parents ) );
	}

	/**
	 * Adds a specific post's hierarchy to the items array.  The hierarchy is determined by post type's
	 * rewrite arguments and whether it has an archive page.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @param  int $post_id Post ID.
	 * @return void
	 */
	protected function add_post_hierarchy( $post_id ) {

		// Get the post type.
		$post_type        = get_post_type( $post_id );
		$post_type_object = get_post_type_object( $post_type );

		if ( 'post' === $post_type ) {

			// If this is the 'post' post type, get the rewrite front items and map the rewrite tags.

			// Add $wp_rewrite->front to the trail.
			$this->add_rewrite_front_items();

			// Map the rewrite tags.
			$this->map_rewrite_tags( $post_id, get_option( 'permalink_structure' ) );
		} elseif ( false !== $post_type_object->rewrite ) {

			// If the post type has rewrite rules.

			// If 'with_front' is true, add $wp_rewrite->front to the trail.
			if ( $post_type_object->rewrite['with_front'] ) {
				$this->add_rewrite_front_items();
			}

			// If there's a path, check for parents.
			if ( ! empty( $post_type_object->rewrite['slug'] ) ) {
				$this->add_path_parents( $post_type_object->rewrite['slug'] );
			}
		}

		// If there's an archive page, add it to the trail.
		if ( $post_type_object->has_archive ) {

			// Add support for a non-standard label of 'archive_title' (special use case).
			$label = ! empty( $post_type_object->labels->archive_title ) ? $post_type_object->labels->archive_title : $post_type_object->labels->name;

			// Core filter hook.
			$label = apply_filters( 'bloglo_post_type_archive_title', $label, $post_type_object->name );

			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_post_type_archive_link( $post_type ) ), $label );
		}

		// Map the rewrite tags if there's a `%` in the slug.
		if ( 'post' !== $post_type && ! empty( $post_type_object->rewrite['slug'] ) && false !== strpos( $post_type_object->rewrite['slug'], '%' ) ) {
			$this->map_rewrite_tags( $post_id, $post_type_object->rewrite['slug'] );
		}
	}

	/**
	 * Gets post types by slug.  This is needed because the get_post_types() function doesn't exactly
	 * match the 'has_archive' argument when it's set as a string instead of a boolean.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @param  int $slug  The post type archive slug to search for.
	 * @return array
	 */
	protected function get_post_types_by_slug( $slug ) {

		$return = array();

		$post_types = get_post_types( array(), 'objects' );

		foreach ( $post_types as $type ) {

			if ( $slug === $type->has_archive || ( true === $type->has_archive && $slug === $type->rewrite['slug'] ) ) {
				$return[] = $type;
			}
		}

		return $return;
	}

	/**
	 * Adds a post's terms from a specific taxonomy to the items array.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @param  int    $post_id  The ID of the post to get the terms for.
	 * @param  string $taxonomy The taxonomy to get the terms from.
	 * @return void
	 */
	protected function add_post_terms( $post_id, $taxonomy ) {

		// Get the post categories.
		$terms = get_the_terms( $post_id, $taxonomy );

		// Check that categories were returned.
		if ( $terms && ! is_wp_error( $terms ) ) {

			// Sort the terms by ID and get the first category.
			if ( function_exists( 'wp_list_sort' ) ) {
				$terms = wp_list_sort( $terms, 'term_id' );

			} else {
				usort( $terms, '_usort_terms_by_ID' );
			}

			$term = get_term( $terms[0], $taxonomy );

			// If the category has a parent, add the hierarchy to the trail.
			if ( 0 < $term->parent ) {
				$this->add_term_parents( $term->parent, $taxonomy );
			}

			// Add the category archive link to the trail.
			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_term_link( $term, $taxonomy ) ), $term->name );
		}
	}

	/**
	 * Get parent posts by path.  Currently, this method only supports getting parents of the 'page'
	 * post type.  The goal of this function is to create a clear path back to home given what would
	 * normally be a "ghost" directory.  If any page matches the given path, it'll be added.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @param  string $path The path (slug) to search for posts by.
	 * @return void
	 */
	protected function add_path_parents( $path ) {

		// Trim '/' off $path in case we just got a simple '/' instead of a real path.
		$path = trim( $path, '/' );

		// If there's no path, return.
		if ( empty( $path ) ) {
			return;
		}

		// Get parent post by the path.
		$post = get_page_by_path( $path );

		if ( ! empty( $post ) ) {
			$this->add_post_parents( $post->ID );
		} elseif ( is_null( $post ) ) {

			// Separate post names into separate paths by '/'.
			$path = trim( $path, '/' );
			preg_match_all( '/\/.*?\z/', $path, $matches );

			// If matches are found for the path.
			if ( isset( $matches ) ) {

				// Reverse the array of matches to search for posts in the proper order.
				$matches = array_reverse( $matches );

				// Loop through each of the path matches.
				foreach ( $matches as $match ) {

					// If a match is found.
					if ( isset( $match[0] ) ) {

						// Get the parent post by the given path.
						$path = str_replace( $match[0], '', $path );
						$post = get_page_by_path( trim( $path, '/' ) );

						// If a parent post is found, set the $post_id and break out of the loop.
						if ( ! empty( $post ) && 0 < $post->ID ) {
							$this->add_post_parents( $post->ID );
							break;
						}
					}
				}
			}
		}
	}

	/**
	 * Searches for term parents of hierarchical taxonomies.  This function is similar to the WordPress
	 * function get_category_parents() but handles any type of taxonomy.
	 *
	 * @since  1.0.0
	 * @param  int    $term_id  ID of the term to get the parents of.
	 * @param  string $taxonomy Name of the taxonomy for the given term.
	 * @return void
	 */
	protected function add_term_parents( $term_id, $taxonomy ) {

		// Set up some default arrays.
		$parents = array();

		// While there is a parent ID, add the parent term link to the $parents array.
		while ( $term_id ) {

			// Get the parent term.
			$term = get_term( $term_id, $taxonomy );

			// Add the formatted term link to the array of parent terms.
			$parents[] = sprintf( '<a href="%s">%s</a>', esc_url( get_term_link( $term, $taxonomy ) ), $term->name );

			// Set the parent term's parent as the parent ID.
			$term_id = $term->parent;
		}

		// If we have parent terms, reverse the array to put them in the proper order for the trail.
		if ( ! empty( $parents ) ) {
			$this->items = array_merge( $this->items, array_reverse( $parents ) );
		}
	}

	/**
	 * Turns %tag% from permalink structures into usable links for the breadcrumb trail.  This feels kind of
	 * hackish for now because we're checking for specific %tag% examples and only doing it for the 'post'
	 * post type.  In the future, maybe it'll handle a wider variety of possibilities, especially for custom post
	 * types.
	 *
	 * @since  1.0.0
	 * @access protected
	 * @param  int    $post_id ID of the post whose parents we want.
	 * @param  string $path    Path of a potential parent page.
	 * @return void
	 */
	protected function map_rewrite_tags( $post_id, $path ) {

		$post = get_post( $post_id );

		// Trim '/' from both sides of the $path.
		$path = trim( $path, '/' );

		// Split the $path into an array of strings.
		$matches = explode( '/', $path );

		// If matches are found for the path.
		if ( is_array( $matches ) ) {

			// Loop through each of the matches, adding each to the $trail array.
			foreach ( $matches as $match ) {

				// Trim any '/' from the $match.
				$tag = trim( $match, '/' );

				if ( '%year%' === $tag ) {
					// If using the %year% tag, add a link to the yearly archive.
					$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_year_link( get_the_time( 'Y', $post_id ) ) ), sprintf( $this->labels['archive_year'], get_the_time( esc_html_x( 'Y', 'yearly archives date format', 'bloglo' ) ) ) );
				} elseif ( '%monthnum%' === $tag ) {
					// If using the %monthnum% tag, add a link to the monthly archive.
					$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_month_link( get_the_time( 'Y', $post_id ), get_the_time( 'm', $post_id ) ) ), sprintf( $this->labels['archive_month'], get_the_time( esc_html_x( 'F', 'monthly archives date format', 'bloglo' ) ) ) );
				} elseif ( '%day%' === $tag ) {
					// If using the %day% tag, add a link to the daily archive.
					$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_day_link( get_the_time( 'Y', $post_id ), get_the_time( 'm', $post_id ), get_the_time( 'd', $post_id ) ) ), sprintf( $this->labels['archive_day'], get_the_time( esc_html_x( 'j', 'daily archives date format', 'bloglo' ) ) ) );
				} elseif ( '%author%' === $tag ) {
					// If using the %author% tag, add a link to the post author archive.
					$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_author_posts_url( $post->post_author ) ), get_the_author_meta( 'display_name', $post->post_author ) );
				} elseif ( taxonomy_exists( trim( $tag, '%' ) ) ) {

					// If using the %category% tag, add a link to the first category archive to match permalinks.

					// Force override terms in this post type.
					$this->post_taxonomy[ $post->post_type ] = false;

					// Add the post categories.
					$this->add_post_terms( $post_id, trim( $tag, '%' ) );
				}
			}
		}
	}
}
inc/template-parts.php000064400000051526152425655560011020 0ustar00<?php

/**
 * Template parts.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Adds the meta tag to the site header.
 *
 * @since 1.0.0
 */
function bloglo_meta_viewport() {
	echo '<meta name="viewport" content="width=device-width, initial-scale=1">';
}
add_action( 'wp_head', 'bloglo_meta_viewport', 1 );

/**
 * Add a pingback url auto-discovery header for singularly identifiable articles.
 *
 * @since 1.0.0
 */
function bloglo_pingback_header() {
	if ( is_singular() && pings_open() ) {
		printf( '<link rel="pingback" href="%s">' . "\n", esc_url( get_bloginfo( 'pingback_url' ) ) );
	}
}
add_action( 'wp_head', 'bloglo_pingback_header' );

/**
 * Adds the meta tag for website accent color.
 *
 * @since 1.0.0
 */
function bloglo_meta_theme_color() {

	$color = bloglo_option( 'accent_color' );

	if ( $color ) {
		printf( '<meta name="theme-color" content="%s">', esc_attr( $color ) );
	}
}
add_action( 'wp_head', 'bloglo_meta_theme_color' );

/**
 * Outputs the theme top bar area.
 *
 * @since 1.0.0
 */
function bloglo_topbar_output() {

	if ( ! bloglo_is_top_bar_displayed() ) {
		return;
	}

	get_template_part( 'template-parts/topbar/topbar' );
}
add_action( 'bloglo_header', 'bloglo_topbar_output', 10 );

/**
 * Outputs the top bar widgets.
 *
 * @since 1.0.0
 * @param string $location Widget location in top bar.
 */
function bloglo_topbar_widgets_output( $location ) {

	do_action( 'bloglo_top_bar_widgets_before_' . $location );

	$bloglo_top_bar_widgets = bloglo_option( 'top_bar_widgets' );

	if ( is_array( $bloglo_top_bar_widgets ) && ! empty( $bloglo_top_bar_widgets ) ) {
		foreach ( $bloglo_top_bar_widgets as $widget ) {

			if ( ! isset( $widget['values'] ) ) {
				continue;
			}

			if ( $location !== $widget['values']['location'] ) {
				continue;
			}

			if ( function_exists( 'bloglo_top_bar_widget_' . $widget['type'] ) ) {

				$classes   = array();
				$classes[] = 'bloglo-topbar-widget__' . esc_attr( $widget['type'] );
				$classes[] = 'bloglo-topbar-widget';

				if ( isset( $widget['values']['visibility'] ) && $widget['values']['visibility'] ) {
					$classes[] = 'bloglo-' . esc_attr( $widget['values']['visibility'] );
				}

				$classes = apply_filters( 'bloglo_topbar_widget_classes', $classes, $widget );
				$classes = trim( implode( ' ', $classes ) );

				printf( '<div class="%s">', esc_attr( $classes ) );
				call_user_func( 'bloglo_top_bar_widget_' . $widget['type'], $widget['values'] );
				printf( '</div><!-- END .bloglo-topbar-widget -->' );
			}
		}
	}

	do_action( 'bloglo_top_bar_widgets_after_' . $location );
}
add_action( 'bloglo_topbar_widgets', 'bloglo_topbar_widgets_output' );

/**
 * Outputs the theme header area.
 *
 * @since 1.0.0
 */
function bloglo_header_output() {

	if ( ! bloglo_is_header_displayed() ) {
		return;
	}

	get_template_part( 'template-parts/header/base' );
}
add_action( 'bloglo_header', 'bloglo_header_output', 20 );

/**
 * Outputs the header widgets in Header Widget Locations.
 *
 * @since 1.0.0
 * @param string $locations Widget location.
 */
function bloglo_header_widgets( $locations ) {

	$locations   = (array) $locations;
	$all_widgets = (array) bloglo_option( 'header_widgets' );

	$header_widgets = $all_widgets;
	$header_class   = '';

	if ( ! empty( $locations ) ) {

		$header_widgets = array();

		foreach ( $locations as $location ) {

			$header_class = ' bloglo-widget-location-' . $location;

			$header_widgets[ $location ] = array();

			if ( ! empty( $all_widgets ) ) {
				foreach ( $all_widgets as $i => $widget ) {
					if ( $location === $widget['values']['location'] ) {
						$header_widgets[ $location ][] = $widget;
					}
				}
			}
		}
	}

	echo '<div class="bloglo-header-widgets bloglo-header-element' . esc_attr( $header_class ) . '">';

	if ( ! empty( $header_widgets ) ) {
		foreach ( $header_widgets as $location => $widgets ) {

			do_action( 'bloglo_header_widgets_before_' . $location );

			if ( ! empty( $widgets ) ) {
				foreach ( $widgets as $widget ) {
					if ( function_exists( 'bloglo_header_widget_' . $widget['type'] ) ) {

						$classes   = array();
						$classes[] = 'bloglo-header-widget__' . esc_attr( $widget['type'] );
						$classes[] = 'bloglo-header-widget';

						if ( isset( $widget['values']['visibility'] ) && $widget['values']['visibility'] ) {
							$classes[] = 'bloglo-' . esc_attr( $widget['values']['visibility'] );
						}

						$classes = apply_filters( 'bloglo_header_widget_classes', $classes, $widget );
						$classes = trim( implode( ' ', $classes ) );

						printf( '<div class="%s"><div class="bloglo-widget-wrapper">', esc_attr( $classes ) );
						call_user_func( 'bloglo_header_widget_' . $widget['type'], $widget['values'] );
						printf( '</div></div><!-- END .bloglo-header-widget -->' );
					}
				}
			}

			do_action( 'bloglo_header_widgets_after_' . $location );
		}
	}

	echo '</div><!-- END .bloglo-header-widgets -->';
}
add_action( 'bloglo_header_widget_location', 'bloglo_header_widgets', 1 );

/**
 * Outputs the content of theme header.
 *
 * @since 1.0.0
 */
function bloglo_header_content_output() {

	// Get the selected header layout from Customizer.
	$header_layout = bloglo_option( 'header_layout' );

	?>
	<div id="bloglo-header-inner">
		<?php

		// Load header layout template.
		get_template_part( 'template-parts/header/header', $header_layout );

		?>
	</div><!-- END #bloglo-header-inner -->
	<?php
}
add_action( 'bloglo_header_content', 'bloglo_header_content_output' );

/**
 * Outputs the main footer area.
 *
 * @since 1.0.0
 */
function bloglo_footer_output() {

	if ( ! bloglo_is_footer_displayed() ) {
		return;
	}

	get_template_part( 'template-parts/footer/base' );
}
add_action( 'bloglo_footer', 'bloglo_footer_output', 20 );

/**
 * Outputs the copyright area.
 *
 * @since 1.0.0
 */
function bloglo_copyright_bar_output() {

	if ( ! bloglo_is_copyright_bar_displayed() ) {
		return;
	}

	get_template_part( 'template-parts/footer/copyright/copyright' );
}
add_action( 'bloglo_footer', 'bloglo_copyright_bar_output', 30 );

/**
 * Outputs the copyright widgets.
 *
 * @since 1.0.0
 * @param string $location Widget location in copyright.
 */
function bloglo_copyright_widgets_output( $location ) {

	do_action( 'bloglo_copyright_widgets_before_' . $location );

	$bloglo_widgets = bloglo_option( 'copyright_widgets' );

	if ( is_array( $bloglo_widgets ) && ! empty( $bloglo_widgets ) ) {
		foreach ( $bloglo_widgets as $widget ) {

			if ( ! isset( $widget['values'] ) ) {
				continue;
			}

			if ( isset( $widget['values'], $widget['values']['location'] ) && $location !== $widget['values']['location'] ) {
				continue;
			}

			if ( function_exists( 'bloglo_copyright_widget_' . $widget['type'] ) ) {

				$classes   = array();
				$classes[] = 'bloglo-copyright-widget__' . esc_attr( $widget['type'] );
				$classes[] = 'bloglo-copyright-widget';

				if ( isset( $widget['values']['visibility'] ) && $widget['values']['visibility'] ) {
					$classes[] = 'bloglo-' . esc_attr( $widget['values']['visibility'] );
				}

				$classes = apply_filters( 'bloglo_copyright_widget_classes', $classes, $widget );
				$classes = trim( implode( ' ', $classes ) );

				printf( '<div class="%s">', esc_attr( $classes ) );
				call_user_func( 'bloglo_copyright_widget_' . $widget['type'], $widget['values'] );
				printf( '</div><!-- END .bloglo-copyright-widget -->' );
			}
		}
	}

	do_action( 'bloglo_copyright_widgets_after_' . $location );
}
add_action( 'bloglo_copyright_widgets', 'bloglo_copyright_widgets_output' );

/**
 * Outputs the theme sidebar area.
 *
 * @since 1.0.0
 */
function bloglo_sidebar_output() {

	if ( bloglo_is_sidebar_displayed() ) {
		get_sidebar();
	}
}
add_action( 'bloglo_sidebar', 'bloglo_sidebar_output' );

/**
 * Outputs the back to top button.
 *
 * @since 1.0.0
 */
function bloglo_back_to_top_output() {

	if ( ! bloglo_option( 'enable_scroll_top' ) ) {
		return;
	}

	get_template_part( 'template-parts/misc/back-to-top' );
}
add_action( 'bloglo_after_page_wrapper', 'bloglo_back_to_top_output' );

/**
 * Outputs the cursor dot.
 *
 * @since 1.0.0
 */
function bloglo_cursor_dot_output() {

	if ( ! bloglo_option( 'enable_cursor_dot' ) ) {
		return;
	}

	get_template_part( 'template-parts/misc/cursor-dot' );
}
add_action( 'bloglo_after_page_wrapper', 'bloglo_cursor_dot_output' );

/**
 * Outputs the theme page content.
 *
 * @since 1.0.0
 */
function bloglo_page_header_template() {

	do_action( 'bloglo_before_page_header' );

	if ( bloglo_is_page_header_displayed() ) {
		if ( is_singular( 'post' ) ) {
			get_template_part( 'template-parts/header-page-title-single' );
		} else {
			get_template_part( 'template-parts/header-page-title' );
		}
	}

	do_action( 'bloglo_after_page_header' );
}
add_action( 'bloglo_page_header', 'bloglo_page_header_template' );

/**
 * Outputs the theme hero content.
 *
 * @since 1.0.0
 */
function bloglo_blog_hero() {

	if ( ! bloglo_is_hero_displayed() ) {
		return;
	}

	// Hero type.
	$hero_type = bloglo_option( 'hero_type' );

	do_action( 'bloglo_before_hero' );

	// Enqueue Bloglo Slider script.
	wp_enqueue_script( 'bloglo-slider' );

	?>
	<div id="hero" <?php bloglo_hero_classes(); ?>>
		<?php get_template_part( 'template-parts/hero/hero', $hero_type ); ?>
	</div><!-- END #hero -->
	<?php

	do_action( 'bloglo_after_hero' );
}
add_action( 'bloglo_after_masthead', 'bloglo_blog_hero', 30 );


/**
 * Outputs the theme Blog Featured Links content.
 *
 * @since 1.1.0
 */
function bloglo_blog_featured_links() {

	if ( ! bloglo_is_featured_links_displayed() ) {
		return;
	}

	$bloglo_featured_links = bloglo_option('featured_links');

	// No items found.
	if ( !$bloglo_featured_links ) {
		return;
	}

	$features = array();
	$bloglo_featured_links = array_slice($bloglo_featured_links, 0, 3);
	foreach ($bloglo_featured_links as $bloglo_featured_link) {
		$features[] = array(
			'btn_text' 		=> $bloglo_featured_link['btn_text'],
			'btn_url' 		=> $bloglo_featured_link['btn_url'],
			'btn_target' 	=> $bloglo_featured_link['btn_target'],
			'image' 		=> $bloglo_featured_link['image'],
		);
	}

	do_action( 'bloglo_before_featured_links' );

	?>
	<div id="featured_links" <?php bloglo_featured_links_classes(); ?>>
		<?php get_template_part( 'template-parts/featured-links/featured', 'links', array('features' => $features) ); ?>
	</div><!-- END #featured_links -->
	<?php

	do_action( 'bloglo_after_featured_links' );
}
add_action( 'bloglo_after_masthead', 'bloglo_blog_featured_links', 31 );


/**
 * Outputs the theme PYML content.
 *
 * @since 1.0.0
 */
function bloglo_blog_pyml() {

	if ( ! bloglo_is_pyml_displayed() ) {
		return;
	}

	do_action( 'bloglo_before_pyml' );

	?>
	<div id="pyml" <?php bloglo_pyml_classes(); ?>>
		<?php get_template_part( 'template-parts/pyml/pyml' ); ?>
	</div><!-- END #pyml -->
	<?php

	do_action( 'bloglo_after_pyml' );
}
add_action( 'bloglo_after_container', 'bloglo_blog_pyml', 30 );


/**
 * Outputs the theme Ticker News content.
 *
 * @since 1.0.0
 */
function bloglo_blog_ticker() {

	if ( ! bloglo_is_ticker_displayed() ) {
		return;
	}

	do_action( 'bloglo_before_ticker' );

	// Enqueue Bloglo Marquee script.
	wp_enqueue_script( 'bloglo-marquee' );

	?>
	<div id="ticker" <?php bloglo_ticker_classes(); ?>>
		<?php get_template_part( 'template-parts/ticker/ticker' ); ?>
	</div><!-- END #ticker -->
	<?php

	do_action( 'bloglo_after_ticker' );
}
add_action( 'bloglo_after_masthead', 'bloglo_blog_ticker', 29 );


/**
 * Outputs the queried articles.
 *
 * @since 1.0.0
 */
function bloglo_content() {

	$bloglo_blog_layout        = bloglo()->options->get( 'bloglo_blog_layout' ) == 'blog-masonry' ? 'masonries' : '';
	$bloglo_blog_layout_column = 12;

	if ( bloglo()->options->get( 'bloglo_blog_layout' ) != 'blog-horizontal' ) :
		$bloglo_blog_layout_column = bloglo()->options->get( 'bloglo_blog_layout_column' );
	endif;

	if ( have_posts() ) :

		echo '<div class="bloglo-flex-row g-4 ' . $bloglo_blog_layout . '">';
		while ( have_posts() ) :
			the_post();

			echo '<div class="col-md-' . $bloglo_blog_layout_column . ' col-sm-' . $bloglo_blog_layout_column . ' col-xs-12">';
			get_template_part( 'template-parts/content/content', bloglo_get_article_feed_layout() );
			echo '</div>';
		endwhile;
		echo '</div>';
		bloglo_pagination();

	else :
		get_template_part( 'template-parts/content/content', 'none' );
	endif;
}
add_action( 'bloglo_content', 'bloglo_content' );
add_action( 'bloglo_content_archive', 'bloglo_content' );
add_action( 'bloglo_content_search', 'bloglo_content' );

/**
 * Outputs the theme single content.
 *
 * @since 1.0.0
 */
function bloglo_content_singular() {

	if ( have_posts() ) :
		while ( have_posts() ) :
			the_post();

			if ( is_singular( 'post' ) ) {
				do_action( 'bloglo_content_single' );
			} else {
				do_action( 'bloglo_content_page' );
			}

		endwhile;
	else :
		get_template_part( 'template-parts/content/content', 'none' );
	endif;
}
add_action( 'bloglo_content_singular', 'bloglo_content_singular' );


/**
 * Outputs the theme 404 page content.
 *
 * @since 1.0.0
 */
function bloglo_404_page_content() {

	get_template_part( 'template-parts/content/content', '404' );
}
add_action( 'bloglo_content_404', 'bloglo_404_page_content' );

/**
 * Outputs the theme page content.
 *
 * @since 1.0.0
 */
function bloglo_content_page() {

	get_template_part( 'template-parts/content/content', 'page' );
}
add_action( 'bloglo_content_page', 'bloglo_content_page' );

/**
 * Outputs the theme single post content.
 *
 * @since 1.0.0
 */
function bloglo_content_single() {

	get_template_part( 'template-parts/content/content', 'single' );
}
add_action( 'bloglo_content_single', 'bloglo_content_single' );

/**
 * Outputs the comments template.
 *
 * @since 1.0.0
 */
function bloglo_output_comments() {
	comments_template();
}
add_action( 'bloglo_after_singular', 'bloglo_output_comments' );

/**
 * Outputs the theme archive page info.
 *
 * @since 1.0.0
 */
function bloglo_archive_info() {

	// Author info.
	if ( is_author() ) {
		get_template_part( 'template-parts/entry/entry', 'about-author' );
	}
}
add_action( 'bloglo_before_content', 'bloglo_archive_info' );

/**
 * Outputs more posts button to author description box.
 *
 * @since 1.0.0
 */
function bloglo_add_author_posts_button() {
	if ( ! is_author() ) {
		get_template_part( 'template-parts/entry/entry', 'author-posts-button' );
	}
}
add_action( 'bloglo_entry_after_author_description', 'bloglo_add_author_posts_button' );

/**
 * Outputs Comments Toggle button.
 *
 * @since 1.0.0
 */
function bloglo_comments_toggle() {

	if ( bloglo_comments_toggle_displayed() ) {
		get_template_part( 'template-parts/entry/entry-show-comments' );
	}
}
add_action( 'bloglo_before_comments', 'bloglo_comments_toggle' );

/**
 * Outputs Pre-Footer area.
 *
 * @since 1.0.0
 */
function bloglo_pre_footer() {

	if ( ! bloglo_is_pre_footer_displayed() ) {
		return;
	}

	get_template_part( 'template-parts/pre-footer/base' );
}
add_action( 'bloglo_before_colophon', 'bloglo_pre_footer' );

/**
 * Outputs Page Preloader.
 *
 * @since 1.0.0
 */
function bloglo_preloader() {

	if ( ! bloglo_is_preloader_displayed() ) {
		return;
	}

	get_template_part( 'template-parts/preloader/base' );
}
add_action( 'bloglo_before_page_wrapper', 'bloglo_preloader' );

/**
 * Outputs breadcrumbs after header.
 *
 * @since  1.0.0
 * @return void
 */
function bloglo_breadcrumb_after_header_output() {

	if ( 'below-header' === bloglo_option( 'breadcrumbs_position' ) && bloglo_has_breadcrumbs() ) {

		$alignment = 'bloglo-text-align-' . bloglo_option( 'breadcrumbs_alignment' );

		$args = array(
			'container_before' => '<div class="bloglo-breadcrumbs"><div class="bloglo-container ' . $alignment . '">',
			'container_after'  => '</div></div>',
		);

		bloglo_breadcrumb( $args );
	}
}
add_action( 'bloglo_main_start', 'bloglo_breadcrumb_after_header_output' );

/**
 * Outputs breadcumbs in page header.
 *
 * @since  1.0.0
 * @return void
 */
function bloglo_breadcrumb_page_header_output() {

	if ( bloglo_page_header_has_breadcrumbs() ) {

		if ( is_singular( 'post' ) ) {
			$args = array(
				'container_before' => '<div class="bloglo-container bloglo-breadcrumbs">',
				'container_after'  => '</div>',
			);
		} else {
			$args = array(
				'container_before' => '<div class="bloglo-breadcrumbs">',
				'container_after'  => '</div>',
			);
		}

		bloglo_breadcrumb( $args );
	}
}
add_action( 'bloglo_page_header_end', 'bloglo_breadcrumb_page_header_output' );

/**
 * Replace tranparent header logo.
 *
 * @since  1.0.0
 * @param  string $output Current logo markup.
 * @return string         Update logo markup.
 */
function bloglo_transparent_header_logo( $output ) {

	// Check if transparent header is displayed.
	if ( bloglo_is_header_transparent() ) {

		// Check if transparent logo is set.
		$logo = bloglo_option( 'tsp_logo' );
		$logo = isset( $logo['background-image-id'] ) ? $logo['background-image-id'] : false;

		$retina = bloglo_option( 'tsp_logo_retina' );
		$retina = isset( $retina['background-image-id'] ) ? $retina['background-image-id'] : false;

		if ( $logo ) {
			$output = bloglo_get_logo_img_output( $logo, $retina, 'bloglo-tsp-logo' );
		}
	}

	return $output;
}
add_filter( 'bloglo_logo_img_output', 'bloglo_transparent_header_logo' );
add_filter( 'bloglo_site_title_markup', 'bloglo_transparent_header_logo' );

/**
 * Output the main navigation template.
 */
function bloglo_main_navigation_template() {
	get_template_part( 'template-parts/header/navigation' );
}

/**
 * Output the Header logo template.
 */
function bloglo_header_logo_template() {
	get_template_part( 'template-parts/header/logo' );
}


if ( ! function_exists( 'bloglo_display_customizer_shortcut' ) ) {
	/**
	 * This function display a shortcut to a customizer control.
	 *
	 * @param string $class_name The name of control we want to link this shortcut with.
	 * @param bool   $is_section_toggle Tells function to display eye icon if it's true.
	 */
	function bloglo_display_customizer_shortcut( $class_name, $is_section_toggle = false, $should_return = false ) {
		if ( ! is_customize_preview() ) {
			return;
		}
		$icon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
				<path d="M13.89 3.39l2.71 2.72c.46.46.42 1.24.03 1.64l-8.01 8.02-5.56 1.16 1.16-5.58s7.6-7.63 7.99-8.03c.39-.39 1.22-.39 1.68.07zm-2.73 2.79l-5.59 5.61 1.11 1.11 5.54-5.65zm-2.97 8.23l5.58-5.6-1.07-1.08-5.59 5.6z"></path>
			</svg>';
		if ( $is_section_toggle ) {
			$icon = '<i class="far fa-eye"></i>';
		}

		$data = '<span class="bloglo-hide-section-shortcut customize-partial-edit-shortcut customize-partial-edit-shortcut-' . esc_attr( $class_name ) . '">
		<button class="customize-partial-edit-shortcut-button">
			' . $icon . '
		</button>
	</span>';
		if ( $should_return === true ) {
			return $data;
		}
		echo $data;
	}
}

function bloglo_about_button() {
	$button_widgets = bloglo_option( 'about_widgets' );

	if ( empty( $button_widgets ) ) {
		return;
	}
	foreach ( $button_widgets as $widget ) {
		call_user_func( 'bloglo_about_widget_' . $widget['type'], $widget['values'] );
	}
}

function bloglo_cta_widgets() {
	$widgets = bloglo_option( 'cta_widgets' );

	if ( empty( $widgets ) ) {
		return;
	}
	foreach ( $widgets as $widget ) {
		call_user_func( 'bloglo_cta_widget_' . $widget['type'], $widget['values'] );
	}
}

/**
 * Outputs the content of theme Service.
 *
 * @since 1.0.0
 */
function bloglo_service_content_output( $args ) {
	$args = (object) $args;
	// Get the selected service layout from Customizer.
	$services_style = bloglo_option( 'services_style' );

	// Load service layout template.
	get_template_part( 'template-parts/components/service/service-layout', $services_style, $args );

}
add_action( 'bloglo_service_content', 'bloglo_service_content_output', 10, 1 );

/**
 * Outputs the content of theme Info.
 *
 * @since 1.0.0
 */
function bloglo_info_content_output( $args ) {
	$args = (object) $args;
	// Get the selected info layout from Customizer.
	$info_style = bloglo_option( 'info_style' );

	// Load info layout template.
	get_template_part( 'template-parts/components/info/info-layout', $info_style, $args );

}
add_action( 'bloglo_info_content', 'bloglo_info_content_output', 10, 1 );

/**
 * Outputs the content of theme Team.
 *
 * @since 1.0.0
 */
function bloglo_team_content_output( $args ) {
	$args = (object) $args;
	// Get the selected team layout from Customizer.
	$team_style = bloglo_option( 'team_style' );

	// Load team layout template.
	get_template_part( 'template-parts/components/team/team-layout', $team_style, $args );

}
add_action( 'bloglo_team_content', 'bloglo_team_content_output', 10, 1 );

/**
 * Outputs the content of theme Features.
 *
 * @since 1.0.0
 */
function bloglo_features_content_output( $args ) {
	$args = (object) $args;
	// Get the selected features layout from Customizer.
	$features_style = bloglo_option( 'features_style' );

	// Load features layout template.
	get_template_part( 'template-parts/components/features/features-layout', $features_style, $args );

}
add_action( 'bloglo_features_content', 'bloglo_features_content_output', 10, 1 );
inc/admin/assets/css/bloglo-meta-boxes.min.css000064400000003633152425655560015337 0ustar00#side-sortables .bloglo-meta-box-field {margin: 15px 0;}#side-sortables .bloglo-meta-box-field select {min-width: 100%;-webkit-box-sizing: border-box;box-sizing: border-box;}#side-sortables .bloglo-meta-box-field:last-child {margin-bottom: 0;}#side-sortables .bloglo-checkbox-row {margin-top: 0;--checkbox-input-size: 16px;line-height: 1.2;}#side-sortables .bloglo-checkbox-row .bloglo-checkbox-wrapper .bloglo-checked-icon {display: none;left: 50%;top: 50%;fill: #FFF;cursor: pointer;position: absolute;width: 16px;height: 16px;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;pointer-events: none;}#side-sortables .bloglo-checkbox-row input[type='checkbox'] {border: 1px solid #1e1e1e;border-radius: 2px;-webkit-appearance: none;-moz-appearance: none;appearance: none;}#side-sortables .bloglo-checkbox-row input[type='checkbox']:checked {background: #007cba;background: var(--wp-admin-theme-color);border-color: #007cba;border-color: var(--wp-admin-theme-color);}#side-sortables .bloglo-checkbox-row input[type='checkbox']:checked+.bloglo-checked-icon {display: none;}.block-editor-page #side-sortables .bloglo-meta-box-field input[type='checkbox']+.bloglo-checked-icon {display: block;}.block-editor-page #side-sortables .bloglo-meta-box-field .bloglo-checkbox-row {min-height: 30px;}body:not(.block-editor-page) #side-sortables .bloglo-meta-box-field .components-base-control__label {display: block;font-weight: 600;}body:not(.block-editor-page) #side-sortables .bloglo-meta-box-field input[type='checkbox'] {margin-right: 10px;}body:not(.block-editor-page) #side-sortables .bloglo-meta-box-field .bloglo-checkbox-row {min-height: 26px;}body:not(.block-editor-page) #side-sortables .bloglo-meta-box-field .bloglo-checkbox-row .components-base-control__field {-js-display: flex;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}inc/admin/assets/css/bloglo-admin.min.css000064400000045525152425655560014371 0ustar00.hester-toggle{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box}.hester-toggle *,.hester-toggle :before,.hester-toggle :after{-webkit-box-sizing:inherit;box-sizing:inherit}.hester-toggle input[type="checkbox"]{display:none}.hester-toggle input[type="checkbox"]:checked + label .hester-toggle-switch{background-color:#0554f2!important}.hester-toggle input[type="checkbox"]:checked + label .hester-toggle-switch:after{-webkit-transform:translateX(11px);-ms-transform:translateX(11px);transform:translateX(11px)}.hester-toggle .hester-toggle-switch{background-color:#c7d5df;border-radius:8px;padding:2px;-webkit-transition:all .2s;transition:all .2s;outline:0;display:block;width:27px;height:16px;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0 10px 0 0}.hester-toggle .hester-toggle-switch:after{position:relative;display:block;content:'';width:12px;height:12px;left:0;border-radius:50%;background:#fff;-webkit-transition:all .15s ease;transition:all .15s ease;-webkit-transform:translateX(0px);-ms-transform:translateX(0px);transform:translateX(0px)}.hester-toggle label{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#232323}.hester-toggle label:hover .hester-toggle-switch{background-color:#86a4ba}.hester-toggle.large-toggle .hester-toggle-switch{border-radius:20px;width:36px;height:20px}.hester-toggle.large-toggle .hester-toggle-switch:after{width:16px;height:16px}.hester-toggle.large-toggle input[type="checkbox"]:checked + label .hester-toggle-switch:after{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}#wpcontent{padding:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;line-height:1.8;color:#232323;min-height:calc(100vh - 190px)}#wpbody-content{padding:0 35px}#wpbody-content h2{-js-display:inline-flex;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:0;margin-bottom:0;font-size:18px;font-weight:400;color:#232323;line-height:1.2}#wpbody-content h2 svg{width:22px;height:22px;margin-left:7px}#wpcontent *,#wp-content *,#wp-content :before,#wp-content :after{-webkit-box-sizing:inherit;box-sizing:inherit}#wpbody{padding:0}#wpfooter{position:relative;padding:0 35px 10px}body{background-color:#f1f3f5;color:#232323}.spinner{display:none}.spinner.activated,.spinner.visible{display:inline-block;visibility:visible}.hester-container{width:100%;max-width:940px;margin:0 auto}.notice,.update-nag,div.error,div.updated{margin:5px auto!important;border-top:solid 1px #d6e1e8;border-right:solid 1px #d6e1e8;border-bottom:solid 1px #d6e1e8;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;max-width:940px;display:none}.notice.notice-info,.update-nag.notice-info,div.error.notice-info,div.updated.notice-info{border-left-color:#0554f2}.notice.notice-warning,.update-nag.notice-warning,div.error.notice-warning,div.updated.notice-warning{border-left-color:#f0b849}.notice.hester-notice,.update-nag.hester-notice,div.error.hester-notice,div.updated.hester-notice{display:block}.notice p a,.update-nag p a,div.error p a,div.updated p a{color:#0554f2}.notice p a:hover,.update-nag p a:hover,div.error p a:hover,div.updated p a:hover{color:#401EA1}.hester-info-icon{cursor:default}.hester-info-icon:hover svg{fill:#95b1c3}.hester-warning-icon svg{fill:#f0b849;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.hester-buttons{margin-top:18px}.hester-btn,body.wp-core-ui .hester-btn{text-decoration:none;font-weight:500;border-radius:2px;font-size:13px;padding:3px 12px;border:1px solid rgba(0,0,0,0.15);-js-display:inline-flex;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:1.8;height:auto;-webkit-box-shadow:none;box-shadow:none;text-shadow:none}.hester-btn.large-button,body.wp-core-ui .hester-btn.large-button{padding:8px 18px;font-size:14px}.hester-btn.primary,body.wp-core-ui .hester-btn.primary{background-color:#0554f2;color:#FFF;margin-right:5px}.hester-btn.secondary,body.wp-core-ui .hester-btn.secondary{color:#66717f;border-color:#c7d5df;background-color:rgba(0,0,0,0);font-weight:400}.hester-btn.secondary:hover,.hester-btn.secondary:focus,body.wp-core-ui .hester-btn.secondary:hover,body.wp-core-ui .hester-btn.secondary:focus{border-color:#728191;color:#232323;background-color:rgba(0,0,0,0)}.hester-btn:hover,.hester-btn:focus,body.wp-core-ui .hester-btn:hover,body.wp-core-ui .hester-btn:focus{background-color:#401EA1;-webkit-box-shadow:none!important;box-shadow:none!important;border-color:rgba(0,0,0,0.15)}.hester-btn:active,body.wp-core-ui .hester-btn:active{-webkit-transform:none;-ms-transform:none;transform:none}.hester-btn[disabled="disabled"],body.wp-core-ui .hester-btn[disabled="disabled"]{opacity:.25;pointer-events:none}.hester-btn svg,body.wp-core-ui .hester-btn svg{width:16px;height:16px;margin-right:7px}.hester-filters{margin-left:auto;padding-left:18px}.hester-dropdown-filter{text-decoration:none;color:#66717f;position:relative;padding:7px 0;-webkit-box-shadow:none;box-shadow:none;-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hester-dropdown-filter:hover,.hester-dropdown-filter:focus{color:#232323;-webkit-box-shadow:none;box-shadow:none}.hester-dropdown-filter.open > ul{display:block}.hester-dropdown-filter > ul{display:none;margin:0;padding:10px 0;position:absolute;top:100%;right:-6px;background-color:#fff;border-radius:4px;width:180px;z-index:99;-webkit-box-shadow:0 0 40px rgba(51,59,72,0.2);box-shadow:0 0 40px rgba(51,59,72,0.2)}.hester-dropdown-filter > ul > li{display:block;padding:5px 25px;margin-bottom:5px;color:#66717f;line-height:1.4}.hester-dropdown-filter > ul > li:last-child{margin-bottom:0}.hester-dropdown-filter > ul > li:hover,.hester-dropdown-filter > ul > li:focus{color:#fff;background-color:#0554f2}.hester-dropdown-filter > ul > li.current{background-color:rgba(0,0,0,0.05);color:#232323}.hester-section-title{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hester-modal{position:fixed;display:none;top:0;left:0;right:0;bottom:0;background-color:rgba(44,46,58,0.75);z-index:99999;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow-y:scroll;opacity:0;-webkit-transition:all .2s ease-out .2s;transition:all .2s ease-out .2s}.hester-modal .hester-modal-container{opacity:0;-webkit-transition:all .2s ease-out 0;transition:all .2s ease-out 0;-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.hester-modal.hester-block{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex}.hester-modal.hester-visible{opacity:1;-webkit-transition-delay:0;transition-delay:0}.hester-modal.hester-visible .hester-modal-container{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition-delay:.2s;transition-delay:.2s}.hester-info-icon,.hester-warning-icon{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:5px;position:relative}.hester-info-icon svg,.hester-warning-icon svg{fill:#b5c9d6}.hester-info-icon:hover svg,.hester-info-icon:focus svg,.hester-warning-icon:hover svg,.hester-warning-icon:focus svg{fill:#648da8}.hester-info-icon:hover .hester-tooltip,.hester-info-icon:focus .hester-tooltip,.hester-warning-icon:hover .hester-tooltip,.hester-warning-icon:focus .hester-tooltip{display:block}.hester-tooltip{display:none;position:absolute;background-color:#232323;color:#d6e1e8;font-size:13px;font-style:normal;width:300px;padding:16px 18px;z-index:991;border-radius:3px;line-height:1.6;bottom:100%;-webkit-transform:translate(0,-13px);-ms-transform:translate(0,-13px);transform:translate(0,-13px)}.hester-tooltip:after{content:'';width:10px;height:10px;background-color:#232323;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;top:calc(100% - 5px);left:var(--tooltip-left);margin-left:14px}.hester-tooltip.right-tooltip{left:100%;top:50%;-webkit-transform:translate(13px,-50%);-ms-transform:translate(13px,-50%);transform:translate(13px,-50%)}.hester-tooltip.top-right-tooltip{right:0;bottom:100%;-webkit-transform:translate(0,13px);-ms-transform:translate(0,13px);transform:translate(0,13px)}.hester-tooltip.top-right-tooltip:after{top:calc(100% - 6px);left:calc(100% - 25px);margin-left:0}.hester-tooltip.small-tooltip{top:5px;bottom:auto;left:50%;width:auto;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);padding:6px 10px;font-size:11px;line-height:1.5;white-space:nowrap;font-weight:400}.hester-tooltip.small-tooltip:after{display:none}#hester-header{padding:12px 35px;background-color:#fff;position:relative;border-bottom:1px solid #d6e1e8;margin-bottom:9px}#hester-header > .hester-container{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}#hester-header .hester-logo img{height:35px;width:auto;display:block}#hester-header .hester-logo:focus{-webkit-box-shadow:none;box-shadow:none;outline:thin dotted #7f8a99;outline-offset:6px}#hester-header .hester-header-action{margin-left:auto;-js-display:inline-flex;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:13px}#hester-header .hester-header-action > a{padding:5px 13px;text-decoration:none;font-weight:500}#hester-header .hester-header-action > a:focus{-webkit-box-shadow:none;box-shadow:none}#hester-header .hester-header-action > a:first-child{border-radius:2px;background-color:#0554f2;color:#fff;border:1px solid rgba(0,0,0,0.15)}#hester-header .hester-header-action > a:first-child:hover,#hester-header .hester-header-action > a:first-child:focus{background-color:#401EA1}#hester-header .hester-header-action > a:first-child.secondary{background-color:rgba(0,0,0,0)}#hester-header .hester-header-action > a:last-child{margin-left:12px;border-radius:2px;border:1px solid #d6e1e8;color:#66717f}#hester-header .hester-header-action > a:last-child:hover,#hester-header .hester-header-action > a:last-child:focus{border-color:#728191;color:#232323;background-color:rgba(0,0,0,0)}.hester-tabs{position:relative;width:100%;padding:0;margin:9px 0 18px;background-color:#fff;border:1px solid #d6e1e8;border-radius:3px}.hester-tabs > ul{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;overflow:hidden;margin:0;padding:0 20px}.hester-tabs > ul > li{width:auto;-webkit-box-flex:0;-ms-flex:none;flex:none;border-bottom:2px solid transparent;border-top:2px solid transparent;text-align:center;margin:0 10px}.hester-tabs > ul > li:first-child{margin-left:0}.hester-tabs > ul > li:last-child{margin-right:0}.hester-tabs > ul > li:hover > a{color:#232323}.hester-tabs > ul > li.current-item{border-bottom-color:#0554f2}.hester-tabs > ul > li.current-item > a{color:#0554f2;font-weight:500}.hester-tabs > ul > li > a{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-decoration:none;width:auto;padding:10px 0;color:#66717f;font-weight:400}.hester-tabs > ul > li > a:focus{-webkit-box-shadow:none;box-shadow:none;outline:thin dotted #7f8a99}#wpbody-content .hester-section-title{margin:19px 0 8px}#wpbody-content h2.hester-section-title{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#wpbody-content .hester-section{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;padding:15px 35px;margin-bottom:50px!important}#wpbody-content .hester-section.large-section{padding:40px 35px;-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:3px;border:1px solid #d6e1e8;background-color:#fff;margin:38px 0}#wpbody-content .hester-section.large-section h2{padding-top:18px;text-align:center;line-height:1.4}#wpbody-content .hester-section.large-section p{max-width:480px;font-size:15px;line-height:1.7;text-align:center;color:#79879a}#wpbody-content .hester-section .hester-hero img{height:140px}#wpbody-content .hester-columns{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0;margin:-12px -12px 50px;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}#wpbody-content .hester-columns .hester-column{width:33.33%;padding:12px}#wpbody-content .hester-columns .hester-column.column-6{width:50%}#wpbody-content .hester-columns .hester-column.column-12{width:100%}#wpbody-content .hester-columns .hester-changelog{max-height:500px;overflow:scroll}#wpbody-content .hester-columns.plugins .hester-box{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#wpbody-content .hester-columns.plugins .hester-box > div{-webkit-box-flex:1;-ms-flex:1;flex:1}#wpbody-content .hester-columns.plugins .plugin-image{position:absolute;top:5%;left:-10%;height:90%;opacity:.05;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#wpbody-content .hester-columns.plugins .plugin-image img{height:100%;pointer-events:none;border-radius:16px}#wpbody-content .hester-columns.plugins p{margin:5px 0 0}#wpbody-content .hester-columns.plugins .plugin-info{position:relative;z-index:2}#wpbody-content .hester-columns.plugins .hester-active-plugin{-js-display:inline-flex;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:auto;font-weight:400;color:#79ba49}#wpbody-content .hester-columns.plugins .hester-buttons{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-top:0;margin-top:1.2em}#wpbody-content .hester-columns.plugins .dashicons{height:18px;margin-right:5px}#wpbody-content .hester-box{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;border-radius:3px;border:1px solid #d6e1e8;background-color:#fff;padding:20px 30px;height:100%;overflow:hidden;position:relative}#wpbody-content .hester-box p{color:#66717f;line-height:1.7}#wpbody-content .hester-box p:last-child{margin-bottom:0}#wpbody-content .hester-box h4{-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:15px;font-weight:600;margin:0;color:#232323}#wpbody-content .hester-box h4 i{width:auto;height:auto;color:#66717f;font-size:24px;line-height:16px;vertical-align:middle;opacity:.5;display:inline-block;padding-right:12px}#wpbody-content .hester-box .hester-buttons{margin:auto 0 0;padding-top:9px}#wpbody-content .changelog-version{font-size:11px;font-weight:500;line-height:1;text-align:center;white-space:nowrap;vertical-align:middle;border-radius:16px;color:#55718c;background-color:#d6e1ec;margin:0 12px;padding:5px 7px;margin-top:1px}#wpbody-content .hester-core-changelog{margin-top:-30px!important}#wpfooter{-webkit-backface-visibility:hidden;backface-visibility:hidden}#hester-footer{border-top:1px #d6e1e8 solid;border-bottom:1px #d6e1e8 solid;text-align:center;font-size:13px;color:#66717f;margin:0 -35px 18px}#hester-footer ul{margin:0 35px;padding:0;-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#hester-footer ul li{margin:0}#hester-footer ul li a{text-decoration:none;-js-display:flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px 10px;color:inherit}#hester-footer ul li a:hover{color:#232323}#hester-footer ul li a:hover > span{text-decoration:underline}#hester-footer ul li a:focus{-webkit-box-shadow:none;box-shadow:none;outline:thin dotted #7f8a99}#hester-footer ul li a .dashicons{font-size:18px!important;height:18px;line-height:18px;margin-right:3px;text-decoration:none!important}#hester-footer ul li a .dashicons-heart{color:#e04b43}p#footer-upgrade{-webkit-backface-visibility:hidden;backface-visibility:hidden;float:none;text-align:center;font-size:11px;color:#8d98a7;text-transform:uppercase;letter-spacing:.1em;padding-bottom:1rem}p#footer-upgrade a{display:inline-block;text-decoration:none;padding:7px 5px;color:#66717f}p#footer-upgrade a:hover{color:#0554f2}p#footer-upgrade .dashicons{font-size:16px!important;height:16px;line-height:16px}@media screen and (max-width: 782px){.auto-fold #wpcontent{padding-left:0}#filter-container .theme,#wpbody-content .hester-columns .hester-column{width:50%}.plugin-image{display:none}}@media screen and (max-width: 600px){#wpbody-content .hester-section.large-section p{max-width:100%}.admin-bar #wpcontent{padding-top:46px}.hester-tabs > ul{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0}.hester-tabs > ul > li{padding-left:20px;padding-right:20px;margin:0;border-bottom:1px solid #d6e1e8!important}.hester-tabs > ul > li:last-child{border-bottom:none!important}#wpbody-content .hester-section-title{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%}#wpbody-content .hester-section-title .hester-filters{margin-left:0;padding-left:0}#wpbody-content .hester-section-title .hester-dropdown-filter > ul{right:auto;left:0}#wpbody-content .hester-section-title .hester-info-icon{display:none}#filter-container .theme,#wpbody-content .hester-columns .hester-column{width:100%!important}#wpbody{padding-top:0}#hester-header .hester-header-action > a:last-child{display:none}}inc/admin/assets/css/bloglo-meta-boxes.css000064400000004531152425655560014553 0ustar00/* ==========================================================================
*  Bloglo Meta Box Styles.
*  ========================================================================== */
#side-sortables .bloglo-meta-box-field {
    margin: 15px 0;
}

#side-sortables .bloglo-meta-box-field select {
    min-width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#side-sortables .bloglo-meta-box-field:last-child {
    margin-bottom: 0;
}

#side-sortables .bloglo-checkbox-row {
    margin-top: 0;
    --checkbox-input-size: 16px;
    line-height: 1.2;
}

#side-sortables .bloglo-checkbox-row .bloglo-checkbox-wrapper .bloglo-checked-icon {
    display: none;
    left: 50%;
    top: 50%;
    fill: #FFF;
    cursor: pointer;
    position: absolute;
    width: 16px;
    height: 16px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: none;
}

#side-sortables .bloglo-checkbox-row input[type='checkbox'] {
    border: 1px solid #1e1e1e;
    border-radius: 2px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#side-sortables .bloglo-checkbox-row input[type='checkbox']:checked {
    background: #007cba;
    background: var(--wp-admin-theme-color);
    border-color: #007cba;
    border-color: var(--wp-admin-theme-color);
}

#side-sortables .bloglo-checkbox-row input[type='checkbox']:checked+.bloglo-checked-icon {
    display: none;
}

.block-editor-page #side-sortables .bloglo-meta-box-field input[type='checkbox']+.bloglo-checked-icon {
    display: block;
}

.block-editor-page #side-sortables .bloglo-meta-box-field .bloglo-checkbox-row {
    min-height: 30px;
}

body:not(.block-editor-page) #side-sortables .bloglo-meta-box-field .components-base-control__label {
    display: block;
    font-weight: 600;
}

body:not(.block-editor-page) #side-sortables .bloglo-meta-box-field input[type='checkbox'] {
    margin-right: 10px;
}

body:not(.block-editor-page) #side-sortables .bloglo-meta-box-field .bloglo-checkbox-row {
    min-height: 26px;
}

body:not(.block-editor-page) #side-sortables .bloglo-meta-box-field .bloglo-checkbox-row .components-base-control__field {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}inc/admin/assets/css/select2.min.css000064400000035363152425655560013365 0ustar00.select2-container{max-width:100%;box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results > .select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top,white 50%,#eee 100%);background-image:-o-linear-gradient(top,white 50%,#eee 100%);background-image:linear-gradient(to bottom,white 50%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF',endColorstr='#FFEEEEEE',GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc 100%);background-image:-o-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE',endColorstr='#FFCCCCCC',GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,white 0%,#eee 50%);background-image:-o-linear-gradient(top,white 0%,#eee 50%);background-image:linear-gradient(to bottom,white 0%,#eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF',endColorstr='#FFEEEEEE',GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,white 100%);background-image:-o-linear-gradient(top,#eee 50%,white 100%);background-image:linear-gradient(to bottom,#eee 50%,white 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE',endColorstr='#FFFFFFFF',GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results > .select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}inc/admin/assets/css/bloglo-block-editor-styles.css000064400000000000152425655560016371 0ustar00inc/admin/assets/css/select2.css000064400000042312152425655560012573 0ustar00.select2-container {
  max-width: 100%;
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }
  .select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--single .select2-selection__rendered {
      display: block;
      padding-left: 8px;
      padding-right: 20px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
    .select2-container .select2-selection--single .select2-selection__clear {
      position: relative; }
  .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px; }
  .select2-container .select2-selection--multiple {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--multiple .select2-selection__rendered {
      display: inline-block;
      overflow: hidden;
      padding-left: 8px;
      text-overflow: ellipsis;
      white-space: nowrap; }
  .select2-container .select2-search--inline {
    float: left; }
    .select2-container .select2-search--inline .select2-search__field {
      box-sizing: border-box;
      border: none;
      font-size: 100%;
      margin-top: 5px;
      padding: 0; }
      .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
        -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0; }

.select2-results__option {
  padding: 6px;
  user-select: none;
  -webkit-user-select: none; }
  .select2-results__option[aria-selected] {
    cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }
  .select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    box-sizing: border-box; }
    .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
      -webkit-appearance: none; }
  .select2-search--dropdown.select2-search--hide {
    display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important; }

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold; }
  .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px; }
    .select2-container--default .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }
  .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text; }
  .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%; }
    .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
      list-style: none; }
  .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: #999;
    margin-top: 5px;
    float: left; }
  .select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-top: 5px;
    margin-right: 10px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #333; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option[role=group] {
  padding: 0; }

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em; }
    .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
      margin-left: -2em;
      padding-left: 3em; }
      .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
        margin-left: -3em;
        padding-left: 4em; }
        .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
          margin-left: -4em;
          padding-left: 5em; }
          .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
            margin-left: -5em;
            padding-left: 6em; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
  .select2-container--classic .select2-selection--single:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--classic .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-right: 10px; }
  .select2-container--classic .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: #ddd;
    border: none;
    border-left: 1px solid #aaa;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
    background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
    .select2-container--classic .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }
  .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
    background: transparent;
    border: none; }
    .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
      border-color: transparent transparent #888 transparent;
      border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0; }
  .select2-container--classic .select2-selection--multiple:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
    list-style: none;
    margin: 0;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__clear {
    display: none; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    color: #888;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #555; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right;
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option[role=group] {
  padding: 0; }

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }
inc/admin/assets/css/bloglo-admin.css000064400000057467152425655560013617 0ustar00/* ==========================================================================
*  Bloglo admin page related styles.
*  ========================================================================== */
/**
 * Import configuration file with variables.
 */
/**
 * Import base admin page styles.
 */
/*****************************************/
/* Admin page base styles
/*****************************************/
.hester-toggle {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.hester-toggle *,
.hester-toggle *:before,
.hester-toggle *:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

.hester-toggle input[type="checkbox"] {
  display: none;
}

.hester-toggle input[type="checkbox"]:checked + label .hester-toggle-switch {
  background-color: #0554f2 !important;
}

.hester-toggle
  input[type="checkbox"]:checked
  + label
  .hester-toggle-switch:after {
  -webkit-transform: translateX(11px);
  -ms-transform: translateX(11px);
  transform: translateX(11px);
}

.hester-toggle .hester-toggle-switch {
  background-color: #c7d5df;
  border-radius: 8px;
  padding: 2px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  outline: 0;
  display: block;
  width: 27px;
  height: 16px;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin: 0 10px 0 0;
}

.hester-toggle .hester-toggle-switch:after {
  position: relative;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  left: 0;
  border-radius: 50%;
  background: #ffffff;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  transform: translateX(0px);
}

.hester-toggle label {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #232323;
}

.hester-toggle label:hover .hester-toggle-switch {
  background-color: #86a4ba;
}

.hester-toggle.large-toggle .hester-toggle-switch {
  border-radius: 20px;
  width: 36px;
  height: 20px;
}

.hester-toggle.large-toggle .hester-toggle-switch:after {
  width: 16px;
  height: 16px;
}

.hester-toggle.large-toggle
  input[type="checkbox"]:checked
  + label
  .hester-toggle-switch:after {
  -webkit-transform: translateX(16px);
  -ms-transform: translateX(16px);
  transform: translateX(16px);
}

#wpcontent {
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 14px;
  line-height: 1.8;
  color: #232323;
  min-height: calc(100vh - 190px);
}

#wpbody-content {
  padding: 0 35px;
}

#wpbody-content h2 {
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 400;
  color: #232323;
  line-height: 1.2;
}

#wpbody-content h2 svg {
  width: 22px;
  height: 22px;
  margin-left: 7px;
}

#wpcontent *,
#wp-content *,
#wp-content *:before,
#wp-content *:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

#wpbody {
  padding: 0;
}

#wpfooter {
  position: relative;
  padding: 0 35px 10px 35px;
}

body {
  background-color: #f1f3f5;
  color: #232323;
}

.spinner {
  display: none;
}

.spinner.activated,
.spinner.visible {
  display: inline-block;
  visibility: visible;
}

.hester-container {
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
}

.notice,
.update-nag,
div.error,
div.updated {
  margin: 5px auto !important;
  border-top: solid 1px #d6e1e8;
  border-right: solid 1px #d6e1e8;
  border-bottom: solid 1px #d6e1e8;
  border-radius: 3px;
  -webkit-box-shadow: none;
  box-shadow: none;
  max-width: 940px;
  display: none;
}

.notice.notice-info,
.update-nag.notice-info,
div.error.notice-info,
div.updated.notice-info {
  border-left-color: #0554f2;
}

.notice.notice-warning,
.update-nag.notice-warning,
div.error.notice-warning,
div.updated.notice-warning {
  border-left-color: #f0b849;
}

.notice.hester-notice,
.update-nag.hester-notice,
div.error.hester-notice,
div.updated.hester-notice {
  display: block;
}

.notice p a,
.update-nag p a,
div.error p a,
div.updated p a {
  color: #0554f2;
}

.notice p a:hover,
.update-nag p a:hover,
div.error p a:hover,
div.updated p a:hover {
  color: #401ea1;
}

.hester-info-icon {
  cursor: default;
}

.hester-info-icon:hover svg {
  fill: #95b1c3;
}

.hester-warning-icon svg {
  fill: #f0b849;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.hester-buttons {
  margin-top: 18px;
}

.hester-btn,
body.wp-core-ui .hester-btn {
  text-decoration: none;
  font-weight: 500;
  border-radius: 2px;
  font-size: 13px;
  padding: 3px 12px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  line-height: 1.8;
  height: auto;
  -webkit-box-shadow: none;
  box-shadow: none;
  text-shadow: none;
}

.hester-btn.large-button,
body.wp-core-ui .hester-btn.large-button {
  padding: 8px 18px;
  font-size: 14px;
}

.hester-btn.primary,
body.wp-core-ui .hester-btn.primary {
  background-color: #0554f2;
  color: #fff;
  margin-right: 5px;
}

.hester-btn.secondary,
body.wp-core-ui .hester-btn.secondary {
  color: #66717f;
  border-color: #c7d5df;
  background-color: rgba(0, 0, 0, 0);
  font-weight: 400;
}

.hester-btn.secondary:hover,
.hester-btn.secondary:focus,
body.wp-core-ui .hester-btn.secondary:hover,
body.wp-core-ui .hester-btn.secondary:focus {
  border-color: #728191;
  color: #232323;
  background-color: rgba(0, 0, 0, 0);
}

.hester-btn:hover,
.hester-btn:focus,
body.wp-core-ui .hester-btn:hover,
body.wp-core-ui .hester-btn:focus {
  background-color: #401ea1;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border-color: rgba(0, 0, 0, 0.15);
}

.hester-btn:active,
body.wp-core-ui .hester-btn:active {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.hester-btn[disabled="disabled"],
body.wp-core-ui .hester-btn[disabled="disabled"] {
  opacity: 0.25;
  pointer-events: none;
}

.hester-btn svg,
body.wp-core-ui .hester-btn svg {
  width: 16px;
  height: 16px;
  margin-right: 7px;
}

.hester-filters {
  margin-left: auto;
  padding-left: 18px;
}

.hester-dropdown-filter {
  text-decoration: none;
  color: #66717f;
  position: relative;
  padding: 7px 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.hester-dropdown-filter:hover,
.hester-dropdown-filter:focus {
  color: #232323;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.hester-dropdown-filter.open > ul {
  display: block;
}

.hester-dropdown-filter > ul {
  display: none;
  margin: 0;
  padding: 10px 0;
  position: absolute;
  top: 100%;
  right: -6px;
  background-color: #ffffff;
  border-radius: 4px;
  width: 180px;
  z-index: 99;
  -webkit-box-shadow: 0 0 40px rgba(51, 59, 72, 0.2);
  box-shadow: 0 0 40px rgba(51, 59, 72, 0.2);
}

.hester-dropdown-filter > ul > li {
  display: block;
  padding: 5px 25px;
  margin-bottom: 5px;
  color: #66717f;
  line-height: 1.4;
}

.hester-dropdown-filter > ul > li:last-child {
  margin-bottom: 0;
}

.hester-dropdown-filter > ul > li:hover,
.hester-dropdown-filter > ul > li:focus {
  color: #ffffff;
  background-color: #0554f2;
}

.hester-dropdown-filter > ul > li.current {
  background-color: rgba(0, 0, 0, 0.05);
  color: #232323;
}

.hester-section-title {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.hester-modal {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(44, 46, 58, 0.75);
  z-index: 99999;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow-y: scroll;
  opacity: 0;
  -webkit-transition: all 0.2s ease-out 0.2s;
  transition: all 0.2s ease-out 0.2s;
}

.hester-modal .hester-modal-container {
  opacity: 0;
  -webkit-transition: all 0.2s ease-out 0s;
  transition: all 0.2s ease-out 0s;
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

.hester-modal.hester-block {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.hester-modal.hester-visible {
  opacity: 1;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.hester-modal.hester-visible .hester-modal-container {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

/**
   * Import tooltips and info icon.
   */
/*****************************************/
/* Bloglo tooltip and info icon.
  /*****************************************/
.hester-info-icon,
.hester-warning-icon {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 5px;
  position: relative;
}

.hester-info-icon svg,
.hester-warning-icon svg {
  fill: #b5c9d6;
}

.hester-info-icon:hover svg,
.hester-info-icon:focus svg,
.hester-warning-icon:hover svg,
.hester-warning-icon:focus svg {
  fill: #648da8;
}

.hester-info-icon:hover .hester-tooltip,
.hester-info-icon:focus .hester-tooltip,
.hester-warning-icon:hover .hester-tooltip,
.hester-warning-icon:focus .hester-tooltip {
  display: block;
}

.hester-tooltip {
  display: none;
  position: absolute;
  background-color: #232323;
  color: #d6e1e8;
  font-size: 13px;
  font-style: normal;
  width: 300px;
  padding: 16px 18px;
  z-index: 991;
  border-radius: 3px;
  line-height: 1.6;
  bottom: 100%;
  -webkit-transform: translate(0, -13px);
  -ms-transform: translate(0, -13px);
  transform: translate(0, -13px);
}

.hester-tooltip:after {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #232323;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: calc(100% - 5px);
  left: var(--tooltip-left);
  margin-left: 14px;
}

.hester-tooltip.right-tooltip {
  left: 100%;
  top: 50%;
  -webkit-transform: translate(13px, -50%);
  -ms-transform: translate(13px, -50%);
  transform: translate(13px, -50%);
}

.hester-tooltip.top-right-tooltip {
  right: 0;
  bottom: 100%;
  -webkit-transform: translate(0, 13px);
  -ms-transform: translate(0, 13px);
  transform: translate(0, 13px);
}

.hester-tooltip.top-right-tooltip:after {
  top: calc(100% - 6px);
  left: calc(100% - 25px);
  margin-left: 0;
}

.hester-tooltip.small-tooltip {
  top: 5px;
  bottom: auto;
  left: 50%;
  width: auto;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1.5;
  white-space: nowrap;
  font-weight: 400;
}

.hester-tooltip.small-tooltip:after {
  display: none;
}

/**
   * Import admin page header styles.
   */
/* ==========================================================================
  *  Bloglo admin page header styles.
  *  ========================================================================== */
#hester-header {
  padding: 12px 35px;
  background-color: #ffffff;
  position: relative;
  border-bottom: 1px solid #d6e1e8;
  margin-bottom: 9px;
}

#hester-header > .hester-container {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

#hester-header .hester-logo img {
  height: 35px;
  width: auto;
  display: block;
}

#hester-header .hester-logo:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: thin dotted #7f8a99;
  outline-offset: 6px;
}

#hester-header .hester-header-action {
  margin-left: auto;
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 13px;
}

#hester-header .hester-header-action > a {
  padding: 5px 13px;
  text-decoration: none;
  font-weight: 500;
}

#hester-header .hester-header-action > a:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

#hester-header .hester-header-action > a:first-child {
  border-radius: 2px;
  background-color: #0554f2;
  color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

#hester-header .hester-header-action > a:first-child:hover,
#hester-header .hester-header-action > a:first-child:focus {
  background-color: #401ea1;
}

#hester-header .hester-header-action > a:first-child.secondary {
  background-color: rgba(0, 0, 0, 0);
}

#hester-header .hester-header-action > a:last-child {
  margin-left: 12px;
  border-radius: 2px;
  border: 1px solid #d6e1e8;
  color: #66717f;
}

#hester-header .hester-header-action > a:last-child:hover,
#hester-header .hester-header-action > a:last-child:focus {
  border-color: #728191;
  color: #232323;
  background-color: rgba(0, 0, 0, 0);
}

/**
   * Import admin tabs styles.
   */
/* ==========================================================================
  *  Bloglo admin page tabs styles.
  *  ========================================================================== */
.hester-tabs {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 9px 0 18px 0;
  background-color: #ffffff;
  border: 1px solid #d6e1e8;
  border-radius: 3px;
}

.hester-tabs > ul {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0 20px;
}

.hester-tabs > ul > li {
  width: auto;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  border-bottom: 2px solid transparent;
  border-top: 2px solid transparent;
  text-align: center;
  margin: 0 10px;
}

.hester-tabs > ul > li:first-child {
  margin-left: 0;
}

.hester-tabs > ul > li:last-child {
  margin-right: 0;
}

.hester-tabs > ul > li:hover > a {
  color: #232323;
}

.hester-tabs > ul > li.current-item {
  border-bottom-color: #0554f2;
}

.hester-tabs > ul > li.current-item > a {
  color: #0554f2;
  font-weight: 500;
}

.hester-tabs > ul > li > a {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: none;
  width: auto;
  padding: 10px 0;
  color: #66717f;
  font-weight: 400;
}

.hester-tabs > ul > li > a:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: thin dotted #7f8a99;
}

/**
   * Import about page styles.
   */
#wpbody-content .hester-section-title {
  margin: 19px 0 8px;
}

#wpbody-content h2.hester-section-title {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#wpbody-content .hester-section {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 15px 35px;
  margin-bottom: 50px !important;
}

#wpbody-content .hester-section.large-section {
  padding: 40px 35px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 3px;
  border: 1px solid #d6e1e8;
  background-color: #ffffff;
  margin: 38px 0;
}

#wpbody-content .hester-section.large-section h2 {
  padding-top: 18px;
  text-align: center;
  line-height: 1.4;
}

#wpbody-content .hester-section.large-section p {
  max-width: 480px;
  font-size: 15px;
  line-height: 1.7;
  text-align: center;
  color: #79879a;
}

#wpbody-content .hester-section .hester-hero img {
  height: 140px;
}

#wpbody-content .hester-columns {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin: -12px -12px 50px -12px;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

#wpbody-content .hester-columns .hester-column {
  width: 33.33%;
  padding: 12px;
}

#wpbody-content .hester-columns .hester-column.column-6 {
  width: 50%;
}

#wpbody-content .hester-columns .hester-column.column-12 {
  width: 100%;
}

#wpbody-content .hester-columns .hester-changelog {
  max-height: 500px;
  overflow: scroll;
}

#wpbody-content .hester-columns.plugins .hester-box {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#wpbody-content .hester-columns.plugins .hester-box > div {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

#wpbody-content .hester-columns.plugins .plugin-image {
  position: absolute;
  top: 5%;
  left: -10%;
  height: 90%;
  opacity: 0.05;
  z-index: 1;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#wpbody-content .hester-columns.plugins .plugin-image img {
  height: 100%;
  pointer-events: none;
  border-radius: 16px;
}

#wpbody-content .hester-columns.plugins p {
  margin: 5px 0 0 0;
}

#wpbody-content .hester-columns.plugins .plugin-info {
  position: relative;
  z-index: 2;
}

#wpbody-content .hester-columns.plugins .hester-active-plugin {
  -js-display: inline-flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: auto;
  font-weight: 400;
  color: #79ba49;
}

#wpbody-content .hester-columns.plugins .hester-buttons {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 0;
  margin-top: 1.2em;
}

#wpbody-content .hester-columns.plugins .dashicons {
  height: 18px;
  margin-right: 5px;
}

#wpbody-content .hester-box {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-radius: 3px;
  border: 1px solid #d6e1e8;
  background-color: #ffffff;
  padding: 20px 30px;
  height: 100%;
  overflow: hidden;
  position: relative;
}

#wpbody-content .hester-box p {
  color: #66717f;
  line-height: 1.7;
}

#wpbody-content .hester-box p:last-child {
  margin-bottom: 0;
}

#wpbody-content .hester-box h4 {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 15px;
  font-weight: 600;
  margin: 0;
  color: #232323;
}

#wpbody-content .hester-box h4 i {
  width: auto;
  height: auto;
  color: #66717f;
  font-size: 24px;
  line-height: 16px;
  vertical-align: middle;
  opacity: 0.5;
  display: inline-block;
  padding-right: 12px;
}

#wpbody-content .hester-box .hester-buttons {
  margin: auto 0 0 0;
  padding-top: 9px;
}

#wpbody-content .changelog-version {
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  border-radius: 16px;
  color: #55718c;
  background-color: #d6e1ec;
  margin: 0 12px;
  padding: 5px 7px;
  margin-top: 1px;
}

#wpbody-content .hester-core-changelog {
  margin-top: -30px !important;
}

/**
   * Import admin page footer styles.
   */
#wpfooter {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#hester-footer {
  border-top: 1px #d6e1e8 solid;
  border-bottom: 1px #d6e1e8 solid;
  margin-top: 0;
  margin-bottom: 18px;
  margin-left: -35px;
  margin-right: -35px;
  text-align: center;
  font-size: 13px;
  color: #66717f;
}

#hester-footer ul {
  margin: 0 35px;
  padding: 0;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#hester-footer ul li {
  margin: 0;
}

#hester-footer ul li a {
  text-decoration: none;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 15px 10px;
  color: inherit;
}

#hester-footer ul li a:hover {
  color: #232323;
}

#hester-footer ul li a:hover > span {
  text-decoration: underline;
}

#hester-footer ul li a:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: thin dotted #7f8a99;
}

#hester-footer ul li a .dashicons {
  font-size: 18px !important;
  height: 18px;
  line-height: 18px;
  margin-right: 3px;
  text-decoration: none !important;
}

#hester-footer ul li a .dashicons-heart {
  color: #e04b43;
}

p#footer-upgrade {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  float: none;
  text-align: center;
  font-size: 11px;
  color: #8d98a7;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding-bottom: 1rem;
}

p#footer-upgrade a {
  display: inline-block;
  text-decoration: none;
  padding: 7px 5px;
  color: #66717f;
}

p#footer-upgrade a:hover {
  color: #0554f2;
}

p#footer-upgrade .dashicons {
  font-size: 16px !important;
  height: 16px;
  line-height: 16px;
}

/**
   * Import admin page responsive styles.
   */
/*****************************************/
/* Admin page responsive styles
  /*****************************************/
@media screen and (max-width: 782px) {
  .auto-fold #wpcontent {
    padding-left: 0;
  }
  #filter-container .theme,
  #wpbody-content .hester-columns .hester-column {
    width: 50%;
  }
  .plugin-image {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  #wpbody-content .hester-section.large-section p {
    max-width: 100%;
  }
  .admin-bar #wpcontent {
    padding-top: 46px;
  }
  .hester-tabs > ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0;
  }
  .hester-tabs > ul > li {
    padding-left: 20px;
    padding-right: 20px;
    margin: 0;
    border-bottom: 1px solid #d6e1e8 !important;
  }
  .hester-tabs > ul > li:last-child {
    border-bottom: none !important;
  }
  #wpbody-content .hester-section-title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%;
  }
  #wpbody-content .hester-section-title .hester-filters {
    margin-left: 0;
    padding-left: 0;
  }
  #wpbody-content .hester-section-title .hester-dropdown-filter > ul {
    right: auto;
    left: 0;
  }
  #wpbody-content .hester-section-title .hester-info-icon {
    display: none;
  }
  #filter-container .theme,
  #wpbody-content .hester-columns .hester-column {
    width: 100% !important;
  }
  #wpbody {
    padding-top: 0;
  }
  #hester-header .hester-header-action > a:last-child {
    display: none;
  }
}
inc/admin/assets/css/bloglo-block-editor-styles.min.css000064400000000000152425655560017153 0ustar00inc/admin/assets/js/dev/bloglo-admin.js000064400000011507152425655560014026 0ustar00//--------------------------------------------------------------------//
// Bloglo script that handles our admin functionality.
//--------------------------------------------------------------------//

(function ($) {
  "use strict";

  /**
   * Holds most important methods that bootstrap the whole admin area.
   *
   * @type {Object}
   */
  var BlogloAdmin = {
    /**
     * Start the engine.
     *
     * @since 1.0.0
     */
    init: function () {
      // Document ready
      $(document).ready(BlogloAdmin.ready);

      // Window load
      $(window).on("load", BlogloAdmin.load);

      // Bind UI actions
      BlogloAdmin.bindUIActions();

      // Trigger event when Bloglo fully loaded
      $(document).trigger("blogloReady");
    },

    //--------------------------------------------------------------------//
    // Events
    //--------------------------------------------------------------------//

    /**
     * Document ready.
     *
     * @since 1.0.0
     */
    ready: function () {},

    /**
     * Window load.
     *
     * @since 1.0.0
     */
    load: function () {
      // Trigger resize once everything loaded.
      window.dispatchEvent(new Event("resize"));
    },

    /**
     * Window resize.
     *
     * @since 1.0.0
     */
    resize: function () {},

    //--------------------------------------------------------------------//
    // Functions
    //--------------------------------------------------------------------//

    /**
     * Bind UI actions.
     *
     * @since 1.0.0
     */
    bindUIActions: function () {
      var $wrap = $("#wpwrap");
      var $body = $("body");
      var $this;

      $wrap.on("click", ".plugins .hester-btn:not(.active)", function (e) {
        e.preventDefault();

        if ($wrap.find(".plugins .hester-btn.in-progress").length) {
          return;
        }

        $this = $(this);

        BlogloAdmin.pluginAction($this);
      });

      $(document).on(
        "wp-plugin-install-success",
        BlogloAdmin.pluginInstallSuccess
      );
      $(document).on("wp-plugin-install-error", BlogloAdmin.pluginInstallError);
    },

    pluginAction: function ($button) {
      $button
        .addClass("in-progress")
        .attr("disabled", "disabled")
        .html(hester_strings.texts[$button.data("action") + "-inprogress"]);

      if ("install" === $button.data("action")) {
        if (
          wp.updates.shouldRequestFilesystemCredentials &&
          !wp.updates.ajaxLocked
        ) {
          wp.updates.requestFilesystemCredentials(event);

          $(document).on("credential-modal-cancel", function () {
            $button
              .removeAttr("disabled")
              .removeClass("in-progress")
              .html(hester_strings.texts.install);

            wp.a11y.speak(wp.updates.l10n.updateCancel, "polite");
          });
        }

        wp.updates.installPlugin({
          slug: $button.data("plugin"),
        });
      } else {
        var data = {
          _ajax_nonce: hester_strings.wpnonce, // eslint-disable-line camelcase
          plugin: $button.data("plugin"),
          action: "hester-plugin-" + $button.data("action"),
        };

        $.post(hester_strings.ajaxurl, data, function (response) {
          if (response.success) {
            if ($button.data("redirect")) {
              window.location.href = $button.data("redirect");
            } else {
              location.reload();
            }
          } else {
            $(".plugins .hester-btn.in-progress")
              .removeAttr("disabled")
              .removeClass("in-progress primary")
              .addClass("secondary")
              .html(hester_strings.texts.retry);
          }
        });
      }
    },

    pluginInstallSuccess: function (event, response) {
      event.preventDefault();

      var $message = jQuery(event.target);
      var $init = $message.data("init");
      var activatedSlug;

      if ("undefined" === typeof $init) {
        activatedSlug = response.slug;
      } else {
        activatedSlug = $init;
      }

      var $button = $('.plugins a[data-plugin="' + activatedSlug + '"]');

      $button.data("action", "activate");

      BlogloAdmin.pluginAction($button);
    },

    pluginInstallError: function (event, response) {
      event.preventDefault();

      var $message = jQuery(event.target);
      var $init = $message.data("init");
      var activatedSlug;

      if ("undefined" === typeof $init) {
        activatedSlug = response.slug;
      } else {
        activatedSlug = $init;
      }

      var $button = $('.plugins a[data-plugin="' + activatedSlug + '"]');

      $button
        .attr("disabled", "disabled")
        .removeClass("in-progress primary")
        .addClass("secondary")
        .html(wp.updates.l10n.installFailedShort);
    },
  }; // END var BlogloAdmin

  BlogloAdmin.init();
  window.blogloadmin = BlogloAdmin;
})(jQuery);
inc/admin/assets/js/bloglo-admin.min.js000064400000004013152425655560014024 0ustar00!function(t){"use strict";var e={init:function(){t(document).ready(e.ready),t(window).on("load",e.load),e.bindUIActions(),t(document).trigger("blogloReady")},ready:function(){},load:function(){window.dispatchEvent(new Event("resize"))},resize:function(){},bindUIActions:function(){var n,a=t("#wpwrap");t("body"),a.on("click",".plugins .hester-btn:not(.active)",function(s){s.preventDefault(),a.find(".plugins .hester-btn.in-progress").length||(n=t(this),e.pluginAction(n))}),t(document).on("wp-plugin-install-success",e.pluginInstallSuccess),t(document).on("wp-plugin-install-error",e.pluginInstallError)},pluginAction:function(e){if(e.addClass("in-progress").attr("disabled","disabled").html(hester_strings.texts[e.data("action")+"-inprogress"]),"install"===e.data("action"))wp.updates.shouldRequestFilesystemCredentials&&!wp.updates.ajaxLocked&&(wp.updates.requestFilesystemCredentials(event),t(document).on("credential-modal-cancel",function(){e.removeAttr("disabled").removeClass("in-progress").html(hester_strings.texts.install),wp.a11y.speak(wp.updates.l10n.updateCancel,"polite")})),wp.updates.installPlugin({slug:e.data("plugin")});else{var n={_ajax_nonce:hester_strings.wpnonce,plugin:e.data("plugin"),action:"hester-plugin-"+e.data("action")};t.post(hester_strings.ajaxurl,n,function(n){n.success?e.data("redirect")?window.location.href=e.data("redirect"):location.reload():t(".plugins .hester-btn.in-progress").removeAttr("disabled").removeClass("in-progress primary").addClass("secondary").html(hester_strings.texts.retry)})}},pluginInstallSuccess:function(n,a){n.preventDefault();var s,i=jQuery(n.target).data("init");s=void 0===i?a.slug:i;var l=t('.plugins a[data-plugin="'+s+'"]');l.data("action","activate"),e.pluginAction(l)},pluginInstallError:function(e,n){e.preventDefault();var a,s=jQuery(e.target).data("init");a=void 0===s?n.slug:s,t('.plugins a[data-plugin="'+a+'"]').attr("disabled","disabled").removeClass("in-progress primary").addClass("secondary").html(wp.updates.l10n.installFailedShort)}};e.init(),window.blogloadmin=e}(jQuery);inc/admin/assets/js/libs/select2.min.js000064400000224760152425655560013767 0ustar00/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.__cache={};var e=0;return c.GetUniqueElementId=function(a){var b=a.getAttribute("data-select2-id");return null==b&&(a.id?(b=a.id,a.setAttribute("data-select2-id",b)):(a.setAttribute("data-select2-id",++e),b=e.toString())),b},c.StoreData=function(a,b,d){var e=c.GetUniqueElementId(a);c.__cache[e]||(c.__cache[e]={}),c.__cache[e][b]=d},c.GetData=function(b,d){var e=c.GetUniqueElementId(b);return d?c.__cache[e]&&null!=c.__cache[e][d]?c.__cache[e][d]:a(b).data(d):c.__cache[e]},c.RemoveData=function(a){var b=c.GetUniqueElementId(a);null!=c.__cache[b]&&delete c.__cache[b]},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var c=this;this.data.current(function(d){var e=a.map(d,function(a){return a.id.toString()});c.$results.find(".select2-results__option[aria-selected]").each(function(){var c=a(this),d=b.GetData(this,"data"),f=""+d.id;null!=d.element&&d.element.selected||null==d.element&&a.inArray(f,e)>-1?c.attr("aria-selected","true"):c.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(c){var d=document.createElement("li");d.className="select2-results__option";var e={role:"treeitem","aria-selected":"false"};c.disabled&&(delete e["aria-selected"],e["aria-disabled"]="true"),null==c.id&&delete e["aria-selected"],null!=c._resultId&&(d.id=c._resultId),c.title&&(d.title=c.title),c.children&&(e.role="group",e["aria-label"]=c.text,delete e["aria-selected"]);for(var f in e){var g=e[f];d.setAttribute(f,g)}if(c.children){var h=a(d),i=document.createElement("strong");i.className="select2-results__group";a(i);this.template(c,i);for(var j=[],k=0;k<c.children.length;k++){var l=c.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});n.append(j),h.append(i),h.append(n)}else this.template(c,d);return b.StoreData(d,"data",c),d},c.prototype.bind=function(c,d){var e=this,f=c.id+"-results";this.$results.attr("id",f),c.on("results:all",function(a){e.clear(),e.append(a.data),c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("results:append",function(a){e.append(a.data),c.isOpen()&&e.setClasses()}),c.on("query",function(a){e.hideMessages(),e.showLoading(a)}),c.on("select",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("unselect",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("open",function(){e.$results.attr("aria-expanded","true"),e.$results.attr("aria-hidden","false"),e.setClasses(),e.ensureHighlightVisible()}),c.on("close",function(){e.$results.attr("aria-expanded","false"),e.$results.attr("aria-hidden","true"),e.$results.removeAttr("aria-activedescendant")}),c.on("results:toggle",function(){var a=e.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),c.on("results:select",function(){var a=e.getHighlightedResults();if(0!==a.length){var c=b.GetData(a[0],"data");"true"==a.attr("aria-selected")?e.trigger("close",{}):e.trigger("select",{data:c})}}),c.on("results:previous",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a);if(!(c<=0)){var d=c-1;0===a.length&&(d=0);var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top,h=f.offset().top,i=e.$results.scrollTop()+(h-g);0===d?e.$results.scrollTop(0):h-g<0&&e.$results.scrollTop(i)}}),c.on("results:next",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a),d=c+1;if(!(d>=b.length)){var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top+e.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=e.$results.scrollTop()+h-g;0===d?e.$results.scrollTop(0):h>g&&e.$results.scrollTop(i)}}),c.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),c.on("results:message",function(a){e.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=e.$results.scrollTop(),c=e.$results.get(0).scrollHeight-b+a.deltaY,d=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=e.$results.height();d?(e.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(e.$results.scrollTop(e.$results.get(0).scrollHeight-e.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(c){var d=a(this),f=b.GetData(this,"data");if("true"===d.attr("aria-selected"))return void(e.options.get("multiple")?e.trigger("unselect",{originalEvent:c,data:f}):e.trigger("close",{}));e.trigger("select",{originalEvent:c,data:f})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(c){var d=b.GetData(this,"data");e.getHighlightedResults().removeClass("select2-results__option--highlighted"),e.trigger("results:focus",{data:d,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var c=a('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=b.GetData(this.$element[0],"old-tabindex")?this._tabindex=b.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),c.attr("title",this.$element.attr("title")),c.attr("tabindex",this._tabindex),this.$selection=c,c},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),window.setTimeout(function(){d.$selection.focus()},0),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(c){a(document.body).on("mousedown.select2."+c.id,function(c){var d=a(c.target),e=d.closest(".select2");a(".select2.select2-container--open").each(function(){a(this),this!=e[0]&&b.GetData(this,"element").select2("close")})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()})},e.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.attr("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,e){var f=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){f.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!f.options.get("disabled")){var d=a(this),e=d.parent(),g=c.GetData(e[0],"data");f.trigger("unselect",{originalEvent:b,data:g})}})},d.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.attr("title",e.title||e.text),c.StoreData(f[0],"data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(a,b,c){function d(){}return d.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},d.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var d=this.$selection.find(".select2-selection__clear");if(0!==d.length){b.stopPropagation();var e=c.GetData(d[0],"data"),f=this.$element.val();this.$element.val(this.placeholder.id);var g={data:e};if(this.trigger("clear",g),g.prevented)return void this.$element.val(f);for(var h=0;h<e.length;h++)if(g={data:e[h]},this.trigger("unselect",g),g.prevented)return void this.$element.val(f);this.$element.trigger("change"),this.trigger("toggle",{})}}},d.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},d.prototype.update=function(b,d){if(b.call(this,d),!(this.$selection.find(".select2-selection__placeholder").length>0||0===d.length)){var e=a('<span class="select2-selection__clear">&times;</span>');c.StoreData(e[0],"data",d),this.$selection.find(".select2-selection__rendered").prepend(e)}},d}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;if(this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c){this.$element.find("[data-select2-tag]").length?this.$element.focus():this.$search.focus()}},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){b.RemoveData(this)})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var d;a.children?(d=document.createElement("optgroup"),d.label=a.text):(d=document.createElement("option"),void 0!==d.textContent?d.textContent=a.text:d.innerText=a.text),void 0!==a.id&&(d.value=a.id),a.disabled&&(d.disabled=!0),a.selected&&(d.selected=!0),a.title&&(d.title=a.title);var e=c(d),f=this._normalizeItem(a);return f.element=d,b.StoreData(d,"data",f),e},d.prototype.item=function(a){var d={};if(null!=(d=b.GetData(a[0],"data")))return d;if(a.is("option"))d={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){d={text:a.prop("label"),children:[],title:a.prop("title")};for(var e=a.children("option"),f=[],g=0;g<e.length;g++){var h=c(e[g]),i=this.item(h);f.push(i)}d.children=f}return d=this._normalizeItem(d),d.element=a[0],b.StoreData(a[0],"data",d),d},d.prototype._normalizeItem=function(a){a!==Object(a)&&(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",["../utils"],function(a){function b(){}return b.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},b.prototype._handleSelectOnClose=function(b,c){if(c&&null!=c.originalSelect2Event){var d=c.originalSelect2Event;if("select"===d._type||"unselect"===d._type)return}var e=this.getHighlightedResults();if(!(e.length<1)){var f=a.GetData(e[0],"data");null!=f.element&&f.element.selected||null==f.element&&f.selected||this.trigger("select",{data:f})}},b}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"Please enter "+(a.minimum-a.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,d.GetData(a[0])):d.GetData(a[0]);var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(f=d(this))&&g.push(f)})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;if(this._isInitialized)return void b.call(this,c);this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery","../utils"],function(a,b){function c(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),a.call(this,b,c)}return c.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},c.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},c.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},c.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},c.prototype.addOptions=function(c,d){var e=a.map(d,function(a){return b.GetData(a[0],"data")});this._currentData.push.apply(this._currentData,e)},c}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f];b(c.term,g.text,g)||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c,this.options.get("query").call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){c.find(".dropdown-wrapper").append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||n<f)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120==0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(a,b,c,d,e){if(null==a.fn.select2){var f=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,g=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=e.GetData(this,"select2");null==a&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=a[b].apply(a,g)}),a.inArray(b,f)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});inc/admin/assets/js/libs/select2.js000064400000504411152425655560013177 0ustar00/*!
 * Select2 4.0.6-rc.1
 * https://select2.github.io
 *
 * Released under the MIT license
 * https://github.com/select2/select2/blob/master/LICENSE.md
 */
;(function (factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module.
    define(['jquery'], factory);
  } else if (typeof module === 'object' && module.exports) {
    // Node/CommonJS
    module.exports = function (root, jQuery) {
      if (jQuery === undefined) {
        // require('jQuery') returns a factory that requires window to
        // build a jQuery instance, we normalize how we use modules
        // that require this pattern but the window provided is a noop
        // if it's defined (how jquery works)
        if (typeof window !== 'undefined') {
          jQuery = require('jquery');
        }
        else {
          jQuery = require('jquery')(root);
        }
      }
      factory(jQuery);
      return jQuery;
    };
  } else {
    // Browser globals
    factory(jQuery);
  }
} (function (jQuery) {
  // This is needed so we can catch the AMD loader configuration and use it
  // The inner file should be wrapped (by `banner.start.js`) in a function that
  // returns the AMD loader references.
  var S2 =(function () {
  // Restore the Select2 AMD loader so it can be used
  // Needed mostly in the language files, where the loader is not inserted
  if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
    var S2 = jQuery.fn.select2.amd;
  }
var S2;(function () { if (!S2 || !S2.requirejs) {
if (!S2) { S2 = {}; } else { require = S2; }
/**
 * @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
 * Released under MIT license, http://github.com/requirejs/almond/LICENSE
 */
//Going sloppy to avoid 'use strict' string cost, but strict practices should
//be followed.
/*global setTimeout: false */

var requirejs, require, define;
(function (undef) {
    var main, req, makeMap, handlers,
        defined = {},
        waiting = {},
        config = {},
        defining = {},
        hasOwn = Object.prototype.hasOwnProperty,
        aps = [].slice,
        jsSuffixRegExp = /\.js$/;

    function hasProp(obj, prop) {
        return hasOwn.call(obj, prop);
    }

    /**
     * Given a relative module name, like ./something, normalize it to
     * a real name that can be mapped to a path.
     * @param {String} name the relative name
     * @param {String} baseName a real name that the name arg is relative
     * to.
     * @returns {String} normalized name
     */
    function normalize(name, baseName) {
        var nameParts, nameSegment, mapValue, foundMap, lastIndex,
            foundI, foundStarMap, starI, i, j, part, normalizedBaseParts,
            baseParts = baseName && baseName.split("/"),
            map = config.map,
            starMap = (map && map['*']) || {};

        //Adjust any relative paths.
        if (name) {
            name = name.split('/');
            lastIndex = name.length - 1;

            // If wanting node ID compatibility, strip .js from end
            // of IDs. Have to do this here, and not in nameToUrl
            // because node allows either .js or non .js to map
            // to same file.
            if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
                name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
            }

            // Starts with a '.' so need the baseName
            if (name[0].charAt(0) === '.' && baseParts) {
                //Convert baseName to array, and lop off the last part,
                //so that . matches that 'directory' and not name of the baseName's
                //module. For instance, baseName of 'one/two/three', maps to
                //'one/two/three.js', but we want the directory, 'one/two' for
                //this normalization.
                normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
                name = normalizedBaseParts.concat(name);
            }

            //start trimDots
            for (i = 0; i < name.length; i++) {
                part = name[i];
                if (part === '.') {
                    name.splice(i, 1);
                    i -= 1;
                } else if (part === '..') {
                    // If at the start, or previous value is still ..,
                    // keep them so that when converted to a path it may
                    // still work when converted to a path, even though
                    // as an ID it is less than ideal. In larger point
                    // releases, may be better to just kick out an error.
                    if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') {
                        continue;
                    } else if (i > 0) {
                        name.splice(i - 1, 2);
                        i -= 2;
                    }
                }
            }
            //end trimDots

            name = name.join('/');
        }

        //Apply map config if available.
        if ((baseParts || starMap) && map) {
            nameParts = name.split('/');

            for (i = nameParts.length; i > 0; i -= 1) {
                nameSegment = nameParts.slice(0, i).join("/");

                if (baseParts) {
                    //Find the longest baseName segment match in the config.
                    //So, do joins on the biggest to smallest lengths of baseParts.
                    for (j = baseParts.length; j > 0; j -= 1) {
                        mapValue = map[baseParts.slice(0, j).join('/')];

                        //baseName segment has  config, find if it has one for
                        //this name.
                        if (mapValue) {
                            mapValue = mapValue[nameSegment];
                            if (mapValue) {
                                //Match, update name to the new value.
                                foundMap = mapValue;
                                foundI = i;
                                break;
                            }
                        }
                    }
                }

                if (foundMap) {
                    break;
                }

                //Check for a star map match, but just hold on to it,
                //if there is a shorter segment match later in a matching
                //config, then favor over this star map.
                if (!foundStarMap && starMap && starMap[nameSegment]) {
                    foundStarMap = starMap[nameSegment];
                    starI = i;
                }
            }

            if (!foundMap && foundStarMap) {
                foundMap = foundStarMap;
                foundI = starI;
            }

            if (foundMap) {
                nameParts.splice(0, foundI, foundMap);
                name = nameParts.join('/');
            }
        }

        return name;
    }

    function makeRequire(relName, forceSync) {
        return function () {
            //A version of a require function that passes a moduleName
            //value for items that may need to
            //look up paths relative to the moduleName
            var args = aps.call(arguments, 0);

            //If first arg is not require('string'), and there is only
            //one arg, it is the array form without a callback. Insert
            //a null so that the following concat is correct.
            if (typeof args[0] !== 'string' && args.length === 1) {
                args.push(null);
            }
            return req.apply(undef, args.concat([relName, forceSync]));
        };
    }

    function makeNormalize(relName) {
        return function (name) {
            return normalize(name, relName);
        };
    }

    function makeLoad(depName) {
        return function (value) {
            defined[depName] = value;
        };
    }

    function callDep(name) {
        if (hasProp(waiting, name)) {
            var args = waiting[name];
            delete waiting[name];
            defining[name] = true;
            main.apply(undef, args);
        }

        if (!hasProp(defined, name) && !hasProp(defining, name)) {
            throw new Error('No ' + name);
        }
        return defined[name];
    }

    //Turns a plugin!resource to [plugin, resource]
    //with the plugin being undefined if the name
    //did not have a plugin prefix.
    function splitPrefix(name) {
        var prefix,
            index = name ? name.indexOf('!') : -1;
        if (index > -1) {
            prefix = name.substring(0, index);
            name = name.substring(index + 1, name.length);
        }
        return [prefix, name];
    }

    //Creates a parts array for a relName where first part is plugin ID,
    //second part is resource ID. Assumes relName has already been normalized.
    function makeRelParts(relName) {
        return relName ? splitPrefix(relName) : [];
    }

    /**
     * Makes a name map, normalizing the name, and using a plugin
     * for normalization if necessary. Grabs a ref to plugin
     * too, as an optimization.
     */
    makeMap = function (name, relParts) {
        var plugin,
            parts = splitPrefix(name),
            prefix = parts[0],
            relResourceName = relParts[1];

        name = parts[1];

        if (prefix) {
            prefix = normalize(prefix, relResourceName);
            plugin = callDep(prefix);
        }

        //Normalize according
        if (prefix) {
            if (plugin && plugin.normalize) {
                name = plugin.normalize(name, makeNormalize(relResourceName));
            } else {
                name = normalize(name, relResourceName);
            }
        } else {
            name = normalize(name, relResourceName);
            parts = splitPrefix(name);
            prefix = parts[0];
            name = parts[1];
            if (prefix) {
                plugin = callDep(prefix);
            }
        }

        //Using ridiculous property names for space reasons
        return {
            f: prefix ? prefix + '!' + name : name, //fullName
            n: name,
            pr: prefix,
            p: plugin
        };
    };

    function makeConfig(name) {
        return function () {
            return (config && config.config && config.config[name]) || {};
        };
    }

    handlers = {
        require: function (name) {
            return makeRequire(name);
        },
        exports: function (name) {
            var e = defined[name];
            if (typeof e !== 'undefined') {
                return e;
            } else {
                return (defined[name] = {});
            }
        },
        module: function (name) {
            return {
                id: name,
                uri: '',
                exports: defined[name],
                config: makeConfig(name)
            };
        }
    };

    main = function (name, deps, callback, relName) {
        var cjsModule, depName, ret, map, i, relParts,
            args = [],
            callbackType = typeof callback,
            usingExports;

        //Use name if no relName
        relName = relName || name;
        relParts = makeRelParts(relName);

        //Call the callback to define the module, if necessary.
        if (callbackType === 'undefined' || callbackType === 'function') {
            //Pull out the defined dependencies and pass the ordered
            //values to the callback.
            //Default to [require, exports, module] if no deps
            deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
            for (i = 0; i < deps.length; i += 1) {
                map = makeMap(deps[i], relParts);
                depName = map.f;

                //Fast path CommonJS standard dependencies.
                if (depName === "require") {
                    args[i] = handlers.require(name);
                } else if (depName === "exports") {
                    //CommonJS module spec 1.1
                    args[i] = handlers.exports(name);
                    usingExports = true;
                } else if (depName === "module") {
                    //CommonJS module spec 1.1
                    cjsModule = args[i] = handlers.module(name);
                } else if (hasProp(defined, depName) ||
                           hasProp(waiting, depName) ||
                           hasProp(defining, depName)) {
                    args[i] = callDep(depName);
                } else if (map.p) {
                    map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
                    args[i] = defined[depName];
                } else {
                    throw new Error(name + ' missing ' + depName);
                }
            }

            ret = callback ? callback.apply(defined[name], args) : undefined;

            if (name) {
                //If setting exports via "module" is in play,
                //favor that over return value and exports. After that,
                //favor a non-undefined return value over exports use.
                if (cjsModule && cjsModule.exports !== undef &&
                        cjsModule.exports !== defined[name]) {
                    defined[name] = cjsModule.exports;
                } else if (ret !== undef || !usingExports) {
                    //Use the return value from the function.
                    defined[name] = ret;
                }
            }
        } else if (name) {
            //May just be an object definition for the module. Only
            //worry about defining if have a module name.
            defined[name] = callback;
        }
    };

    requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
        if (typeof deps === "string") {
            if (handlers[deps]) {
                //callback in this case is really relName
                return handlers[deps](callback);
            }
            //Just return the module wanted. In this scenario, the
            //deps arg is the module name, and second arg (if passed)
            //is just the relName.
            //Normalize module name, if it contains . or ..
            return callDep(makeMap(deps, makeRelParts(callback)).f);
        } else if (!deps.splice) {
            //deps is a config object, not an array.
            config = deps;
            if (config.deps) {
                req(config.deps, config.callback);
            }
            if (!callback) {
                return;
            }

            if (callback.splice) {
                //callback is an array, which means it is a dependency list.
                //Adjust args if there are dependencies
                deps = callback;
                callback = relName;
                relName = null;
            } else {
                deps = undef;
            }
        }

        //Support require(['a'])
        callback = callback || function () {};

        //If relName is a function, it is an errback handler,
        //so remove it.
        if (typeof relName === 'function') {
            relName = forceSync;
            forceSync = alt;
        }

        //Simulate async callback;
        if (forceSync) {
            main(undef, deps, callback, relName);
        } else {
            //Using a non-zero value because of concern for what old browsers
            //do, and latest browsers "upgrade" to 4 if lower value is used:
            //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
            //If want a value immediately, use require('id') instead -- something
            //that works in almond on the global level, but not guaranteed and
            //unlikely to work in other AMD implementations.
            setTimeout(function () {
                main(undef, deps, callback, relName);
            }, 4);
        }

        return req;
    };

    /**
     * Just drops the config on the floor, but returns req in case
     * the config return value is used.
     */
    req.config = function (cfg) {
        return req(cfg);
    };

    /**
     * Expose module registry for debugging and tooling
     */
    requirejs._defined = defined;

    define = function (name, deps, callback) {
        if (typeof name !== 'string') {
            throw new Error('See almond README: incorrect module build, no module name');
        }

        //This module may not have dependencies
        if (!deps.splice) {
            //deps is not an array, so probably means
            //an object literal or factory function for
            //the value. Adjust args.
            callback = deps;
            deps = [];
        }

        if (!hasProp(defined, name) && !hasProp(waiting, name)) {
            waiting[name] = [name, deps, callback];
        }
    };

    define.amd = {
        jQuery: true
    };
}());

S2.requirejs = requirejs;S2.require = require;S2.define = define;
}
}());
S2.define("almond", function(){});

/* global jQuery:false, $:false */
S2.define('jquery',[],function () {
  var _$ = jQuery || $;

  if (_$ == null && console && console.error) {
    console.error(
      'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
      'found. Make sure that you are including jQuery before Select2 on your ' +
      'web page.'
    );
  }

  return _$;
});

S2.define('select2/utils',[
  'jquery'
], function ($) {
  var Utils = {};

  Utils.Extend = function (ChildClass, SuperClass) {
    var __hasProp = {}.hasOwnProperty;

    function BaseConstructor () {
      this.constructor = ChildClass;
    }

    for (var key in SuperClass) {
      if (__hasProp.call(SuperClass, key)) {
        ChildClass[key] = SuperClass[key];
      }
    }

    BaseConstructor.prototype = SuperClass.prototype;
    ChildClass.prototype = new BaseConstructor();
    ChildClass.__super__ = SuperClass.prototype;

    return ChildClass;
  };

  function getMethods (theClass) {
    var proto = theClass.prototype;

    var methods = [];

    for (var methodName in proto) {
      var m = proto[methodName];

      if (typeof m !== 'function') {
        continue;
      }

      if (methodName === 'constructor') {
        continue;
      }

      methods.push(methodName);
    }

    return methods;
  }

  Utils.Decorate = function (SuperClass, DecoratorClass) {
    var decoratedMethods = getMethods(DecoratorClass);
    var superMethods = getMethods(SuperClass);

    function DecoratedClass () {
      var unshift = Array.prototype.unshift;

      var argCount = DecoratorClass.prototype.constructor.length;

      var calledConstructor = SuperClass.prototype.constructor;

      if (argCount > 0) {
        unshift.call(arguments, SuperClass.prototype.constructor);

        calledConstructor = DecoratorClass.prototype.constructor;
      }

      calledConstructor.apply(this, arguments);
    }

    DecoratorClass.displayName = SuperClass.displayName;

    function ctr () {
      this.constructor = DecoratedClass;
    }

    DecoratedClass.prototype = new ctr();

    for (var m = 0; m < superMethods.length; m++) {
      var superMethod = superMethods[m];

      DecoratedClass.prototype[superMethod] =
        SuperClass.prototype[superMethod];
    }

    var calledMethod = function (methodName) {
      // Stub out the original method if it's not decorating an actual method
      var originalMethod = function () {};

      if (methodName in DecoratedClass.prototype) {
        originalMethod = DecoratedClass.prototype[methodName];
      }

      var decoratedMethod = DecoratorClass.prototype[methodName];

      return function () {
        var unshift = Array.prototype.unshift;

        unshift.call(arguments, originalMethod);

        return decoratedMethod.apply(this, arguments);
      };
    };

    for (var d = 0; d < decoratedMethods.length; d++) {
      var decoratedMethod = decoratedMethods[d];

      DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
    }

    return DecoratedClass;
  };

  var Observable = function () {
    this.listeners = {};
  };

  Observable.prototype.on = function (event, callback) {
    this.listeners = this.listeners || {};

    if (event in this.listeners) {
      this.listeners[event].push(callback);
    } else {
      this.listeners[event] = [callback];
    }
  };

  Observable.prototype.trigger = function (event) {
    var slice = Array.prototype.slice;
    var params = slice.call(arguments, 1);

    this.listeners = this.listeners || {};

    // Params should always come in as an array
    if (params == null) {
      params = [];
    }

    // If there are no arguments to the event, use a temporary object
    if (params.length === 0) {
      params.push({});
    }

    // Set the `_type` of the first object to the event
    params[0]._type = event;

    if (event in this.listeners) {
      this.invoke(this.listeners[event], slice.call(arguments, 1));
    }

    if ('*' in this.listeners) {
      this.invoke(this.listeners['*'], arguments);
    }
  };

  Observable.prototype.invoke = function (listeners, params) {
    for (var i = 0, len = listeners.length; i < len; i++) {
      listeners[i].apply(this, params);
    }
  };

  Utils.Observable = Observable;

  Utils.generateChars = function (length) {
    var chars = '';

    for (var i = 0; i < length; i++) {
      var randomChar = Math.floor(Math.random() * 36);
      chars += randomChar.toString(36);
    }

    return chars;
  };

  Utils.bind = function (func, context) {
    return function () {
      func.apply(context, arguments);
    };
  };

  Utils._convertData = function (data) {
    for (var originalKey in data) {
      var keys = originalKey.split('-');

      var dataLevel = data;

      if (keys.length === 1) {
        continue;
      }

      for (var k = 0; k < keys.length; k++) {
        var key = keys[k];

        // Lowercase the first letter
        // By default, dash-separated becomes camelCase
        key = key.substring(0, 1).toLowerCase() + key.substring(1);

        if (!(key in dataLevel)) {
          dataLevel[key] = {};
        }

        if (k == keys.length - 1) {
          dataLevel[key] = data[originalKey];
        }

        dataLevel = dataLevel[key];
      }

      delete data[originalKey];
    }

    return data;
  };

  Utils.hasScroll = function (index, el) {
    // Adapted from the function created by @ShadowScripter
    // and adapted by @BillBarry on the Stack Exchange Code Review website.
    // The original code can be found at
    // http://codereview.stackexchange.com/q/13338
    // and was designed to be used with the Sizzle selector engine.

    var $el = $(el);
    var overflowX = el.style.overflowX;
    var overflowY = el.style.overflowY;

    //Check both x and y declarations
    if (overflowX === overflowY &&
        (overflowY === 'hidden' || overflowY === 'visible')) {
      return false;
    }

    if (overflowX === 'scroll' || overflowY === 'scroll') {
      return true;
    }

    return ($el.innerHeight() < el.scrollHeight ||
      $el.innerWidth() < el.scrollWidth);
  };

  Utils.escapeMarkup = function (markup) {
    var replaceMap = {
      '\\': '&#92;',
      '&': '&amp;',
      '<': '&lt;',
      '>': '&gt;',
      '"': '&quot;',
      '\'': '&#39;',
      '/': '&#47;'
    };

    // Do not try to escape the markup if it's not a string
    if (typeof markup !== 'string') {
      return markup;
    }

    return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
      return replaceMap[match];
    });
  };

  // Append an array of jQuery nodes to a given element.
  Utils.appendMany = function ($element, $nodes) {
    // jQuery 1.7.x does not support $.fn.append() with an array
    // Fall back to a jQuery object collection using $.fn.add()
    if ($.fn.jquery.substr(0, 3) === '1.7') {
      var $jqNodes = $();

      $.map($nodes, function (node) {
        $jqNodes = $jqNodes.add(node);
      });

      $nodes = $jqNodes;
    }

    $element.append($nodes);
  };

  // Cache objects in Utils.__cache instead of $.data (see #4346)
  Utils.__cache = {};

  var id = 0;
  Utils.GetUniqueElementId = function (element) {
    // Get a unique element Id. If element has no id, 
    // creates a new unique number, stores it in the id 
    // attribute and returns the new id. 
    // If an id already exists, it simply returns it.

    var select2Id = element.getAttribute('data-select2-id');
    if (select2Id == null) {
      // If element has id, use it.
      if (element.id) {
        select2Id = element.id;
        element.setAttribute('data-select2-id', select2Id);
      } else {
        element.setAttribute('data-select2-id', ++id);
        select2Id = id.toString();
      }
    }
    return select2Id;
  };

  Utils.StoreData = function (element, name, value) {
    // Stores an item in the cache for a specified element.
    // name is the cache key.    
    var id = Utils.GetUniqueElementId(element);
    if (!Utils.__cache[id]) {
      Utils.__cache[id] = {};
    }

    Utils.__cache[id][name] = value;
  };

  Utils.GetData = function (element, name) {
    // Retrieves a value from the cache by its key (name)
    // name is optional. If no name specified, return 
    // all cache items for the specified element.
    // and for a specified element.
    var id = Utils.GetUniqueElementId(element);
    if (name) {
      if (Utils.__cache[id]) {
        return Utils.__cache[id][name] != null ? 
	      Utils.__cache[id][name]:
	      $(element).data(name); // Fallback to HTML5 data attribs.
      }
      return $(element).data(name); // Fallback to HTML5 data attribs.
    } else {
      return Utils.__cache[id];			   
    }
  };

  Utils.RemoveData = function (element) {
    // Removes all cached items for a specified element.
    var id = Utils.GetUniqueElementId(element);
    if (Utils.__cache[id] != null) {
      delete Utils.__cache[id];
    }
  };

  return Utils;
});

S2.define('select2/results',[
  'jquery',
  './utils'
], function ($, Utils) {
  function Results ($element, options, dataAdapter) {
    this.$element = $element;
    this.data = dataAdapter;
    this.options = options;

    Results.__super__.constructor.call(this);
  }

  Utils.Extend(Results, Utils.Observable);

  Results.prototype.render = function () {
    var $results = $(
      '<ul class="select2-results__options" role="tree"></ul>'
    );

    if (this.options.get('multiple')) {
      $results.attr('aria-multiselectable', 'true');
    }

    this.$results = $results;

    return $results;
  };

  Results.prototype.clear = function () {
    this.$results.empty();
  };

  Results.prototype.displayMessage = function (params) {
    var escapeMarkup = this.options.get('escapeMarkup');

    this.clear();
    this.hideLoading();

    var $message = $(
      '<li role="treeitem" aria-live="assertive"' +
      ' class="select2-results__option"></li>'
    );

    var message = this.options.get('translations').get(params.message);

    $message.append(
      escapeMarkup(
        message(params.args)
      )
    );

    $message[0].className += ' select2-results__message';

    this.$results.append($message);
  };

  Results.prototype.hideMessages = function () {
    this.$results.find('.select2-results__message').remove();
  };

  Results.prototype.append = function (data) {
    this.hideLoading();

    var $options = [];

    if (data.results == null || data.results.length === 0) {
      if (this.$results.children().length === 0) {
        this.trigger('results:message', {
          message: 'noResults'
        });
      }

      return;
    }

    data.results = this.sort(data.results);

    for (var d = 0; d < data.results.length; d++) {
      var item = data.results[d];

      var $option = this.option(item);

      $options.push($option);
    }

    this.$results.append($options);
  };

  Results.prototype.position = function ($results, $dropdown) {
    var $resultsContainer = $dropdown.find('.select2-results');
    $resultsContainer.append($results);
  };

  Results.prototype.sort = function (data) {
    var sorter = this.options.get('sorter');

    return sorter(data);
  };

  Results.prototype.highlightFirstItem = function () {
    var $options = this.$results
      .find('.select2-results__option[aria-selected]');

    var $selected = $options.filter('[aria-selected=true]');

    // Check if there are any selected options
    if ($selected.length > 0) {
      // If there are selected options, highlight the first
      $selected.first().trigger('mouseenter');
    } else {
      // If there are no selected options, highlight the first option
      // in the dropdown
      $options.first().trigger('mouseenter');
    }

    this.ensureHighlightVisible();
  };

  Results.prototype.setClasses = function () {
    var self = this;

    this.data.current(function (selected) {
      var selectedIds = $.map(selected, function (s) {
        return s.id.toString();
      });

      var $options = self.$results
        .find('.select2-results__option[aria-selected]');

      $options.each(function () {
        var $option = $(this);

        var item = Utils.GetData(this, 'data');

        // id needs to be converted to a string when comparing
        var id = '' + item.id;

        if ((item.element != null && item.element.selected) ||
            (item.element == null && $.inArray(id, selectedIds) > -1)) {
          $option.attr('aria-selected', 'true');
        } else {
          $option.attr('aria-selected', 'false');
        }
      });

    });
  };

  Results.prototype.showLoading = function (params) {
    this.hideLoading();

    var loadingMore = this.options.get('translations').get('searching');

    var loading = {
      disabled: true,
      loading: true,
      text: loadingMore(params)
    };
    var $loading = this.option(loading);
    $loading.className += ' loading-results';

    this.$results.prepend($loading);
  };

  Results.prototype.hideLoading = function () {
    this.$results.find('.loading-results').remove();
  };

  Results.prototype.option = function (data) {
    var option = document.createElement('li');
    option.className = 'select2-results__option';

    var attrs = {
      'role': 'treeitem',
      'aria-selected': 'false'
    };

    if (data.disabled) {
      delete attrs['aria-selected'];
      attrs['aria-disabled'] = 'true';
    }

    if (data.id == null) {
      delete attrs['aria-selected'];
    }

    if (data._resultId != null) {
      option.id = data._resultId;
    }

    if (data.title) {
      option.title = data.title;
    }

    if (data.children) {
      attrs.role = 'group';
      attrs['aria-label'] = data.text;
      delete attrs['aria-selected'];
    }

    for (var attr in attrs) {
      var val = attrs[attr];

      option.setAttribute(attr, val);
    }

    if (data.children) {
      var $option = $(option);

      var label = document.createElement('strong');
      label.className = 'select2-results__group';

      var $label = $(label);
      this.template(data, label);

      var $children = [];

      for (var c = 0; c < data.children.length; c++) {
        var child = data.children[c];

        var $child = this.option(child);

        $children.push($child);
      }

      var $childrenContainer = $('<ul></ul>', {
        'class': 'select2-results__options select2-results__options--nested'
      });

      $childrenContainer.append($children);

      $option.append(label);
      $option.append($childrenContainer);
    } else {
      this.template(data, option);
    }

    Utils.StoreData(option, 'data', data);

    return option;
  };

  Results.prototype.bind = function (container, $container) {
    var self = this;

    var id = container.id + '-results';

    this.$results.attr('id', id);

    container.on('results:all', function (params) {
      self.clear();
      self.append(params.data);

      if (container.isOpen()) {
        self.setClasses();
        self.highlightFirstItem();
      }
    });

    container.on('results:append', function (params) {
      self.append(params.data);

      if (container.isOpen()) {
        self.setClasses();
      }
    });

    container.on('query', function (params) {
      self.hideMessages();
      self.showLoading(params);
    });

    container.on('select', function () {
      if (!container.isOpen()) {
        return;
      }

      self.setClasses();
      self.highlightFirstItem();
    });

    container.on('unselect', function () {
      if (!container.isOpen()) {
        return;
      }

      self.setClasses();
      self.highlightFirstItem();
    });

    container.on('open', function () {
      // When the dropdown is open, aria-expended="true"
      self.$results.attr('aria-expanded', 'true');
      self.$results.attr('aria-hidden', 'false');

      self.setClasses();
      self.ensureHighlightVisible();
    });

    container.on('close', function () {
      // When the dropdown is closed, aria-expended="false"
      self.$results.attr('aria-expanded', 'false');
      self.$results.attr('aria-hidden', 'true');
      self.$results.removeAttr('aria-activedescendant');
    });

    container.on('results:toggle', function () {
      var $highlighted = self.getHighlightedResults();

      if ($highlighted.length === 0) {
        return;
      }

      $highlighted.trigger('mouseup');
    });

    container.on('results:select', function () {
      var $highlighted = self.getHighlightedResults();

      if ($highlighted.length === 0) {
        return;
      }

      var data = Utils.GetData($highlighted[0], 'data');

      if ($highlighted.attr('aria-selected') == 'true') {
        self.trigger('close', {});
      } else {
        self.trigger('select', {
          data: data
        });
      }
    });

    container.on('results:previous', function () {
      var $highlighted = self.getHighlightedResults();

      var $options = self.$results.find('[aria-selected]');

      var currentIndex = $options.index($highlighted);

      // If we are already at te top, don't move further
      // If no options, currentIndex will be -1
      if (currentIndex <= 0) {
        return;
      }

      var nextIndex = currentIndex - 1;

      // If none are highlighted, highlight the first
      if ($highlighted.length === 0) {
        nextIndex = 0;
      }

      var $next = $options.eq(nextIndex);

      $next.trigger('mouseenter');

      var currentOffset = self.$results.offset().top;
      var nextTop = $next.offset().top;
      var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);

      if (nextIndex === 0) {
        self.$results.scrollTop(0);
      } else if (nextTop - currentOffset < 0) {
        self.$results.scrollTop(nextOffset);
      }
    });

    container.on('results:next', function () {
      var $highlighted = self.getHighlightedResults();

      var $options = self.$results.find('[aria-selected]');

      var currentIndex = $options.index($highlighted);

      var nextIndex = currentIndex + 1;

      // If we are at the last option, stay there
      if (nextIndex >= $options.length) {
        return;
      }

      var $next = $options.eq(nextIndex);

      $next.trigger('mouseenter');

      var currentOffset = self.$results.offset().top +
        self.$results.outerHeight(false);
      var nextBottom = $next.offset().top + $next.outerHeight(false);
      var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;

      if (nextIndex === 0) {
        self.$results.scrollTop(0);
      } else if (nextBottom > currentOffset) {
        self.$results.scrollTop(nextOffset);
      }
    });

    container.on('results:focus', function (params) {
      params.element.addClass('select2-results__option--highlighted');
    });

    container.on('results:message', function (params) {
      self.displayMessage(params);
    });

    if ($.fn.mousewheel) {
      this.$results.on('mousewheel', function (e) {
        var top = self.$results.scrollTop();

        var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;

        var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
        var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();

        if (isAtTop) {
          self.$results.scrollTop(0);

          e.preventDefault();
          e.stopPropagation();
        } else if (isAtBottom) {
          self.$results.scrollTop(
            self.$results.get(0).scrollHeight - self.$results.height()
          );

          e.preventDefault();
          e.stopPropagation();
        }
      });
    }

    this.$results.on('mouseup', '.select2-results__option[aria-selected]',
      function (evt) {
      var $this = $(this);

      var data = Utils.GetData(this, 'data');

      if ($this.attr('aria-selected') === 'true') {
        if (self.options.get('multiple')) {
          self.trigger('unselect', {
            originalEvent: evt,
            data: data
          });
        } else {
          self.trigger('close', {});
        }

        return;
      }

      self.trigger('select', {
        originalEvent: evt,
        data: data
      });
    });

    this.$results.on('mouseenter', '.select2-results__option[aria-selected]',
      function (evt) {
      var data = Utils.GetData(this, 'data');

      self.getHighlightedResults()
          .removeClass('select2-results__option--highlighted');

      self.trigger('results:focus', {
        data: data,
        element: $(this)
      });
    });
  };

  Results.prototype.getHighlightedResults = function () {
    var $highlighted = this.$results
    .find('.select2-results__option--highlighted');

    return $highlighted;
  };

  Results.prototype.destroy = function () {
    this.$results.remove();
  };

  Results.prototype.ensureHighlightVisible = function () {
    var $highlighted = this.getHighlightedResults();

    if ($highlighted.length === 0) {
      return;
    }

    var $options = this.$results.find('[aria-selected]');

    var currentIndex = $options.index($highlighted);

    var currentOffset = this.$results.offset().top;
    var nextTop = $highlighted.offset().top;
    var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);

    var offsetDelta = nextTop - currentOffset;
    nextOffset -= $highlighted.outerHeight(false) * 2;

    if (currentIndex <= 2) {
      this.$results.scrollTop(0);
    } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
      this.$results.scrollTop(nextOffset);
    }
  };

  Results.prototype.template = function (result, container) {
    var template = this.options.get('templateResult');
    var escapeMarkup = this.options.get('escapeMarkup');

    var content = template(result, container);

    if (content == null) {
      container.style.display = 'none';
    } else if (typeof content === 'string') {
      container.innerHTML = escapeMarkup(content);
    } else {
      $(container).append(content);
    }
  };

  return Results;
});

S2.define('select2/keys',[

], function () {
  var KEYS = {
    BACKSPACE: 8,
    TAB: 9,
    ENTER: 13,
    SHIFT: 16,
    CTRL: 17,
    ALT: 18,
    ESC: 27,
    SPACE: 32,
    PAGE_UP: 33,
    PAGE_DOWN: 34,
    END: 35,
    HOME: 36,
    LEFT: 37,
    UP: 38,
    RIGHT: 39,
    DOWN: 40,
    DELETE: 46
  };

  return KEYS;
});

S2.define('select2/selection/base',[
  'jquery',
  '../utils',
  '../keys'
], function ($, Utils, KEYS) {
  function BaseSelection ($element, options) {
    this.$element = $element;
    this.options = options;

    BaseSelection.__super__.constructor.call(this);
  }

  Utils.Extend(BaseSelection, Utils.Observable);

  BaseSelection.prototype.render = function () {
    var $selection = $(
      '<span class="select2-selection" role="combobox" ' +
      ' aria-haspopup="true" aria-expanded="false">' +
      '</span>'
    );

    this._tabindex = 0;

    if (Utils.GetData(this.$element[0], 'old-tabindex') != null) {
      this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex');
    } else if (this.$element.attr('tabindex') != null) {
      this._tabindex = this.$element.attr('tabindex');
    }

    $selection.attr('title', this.$element.attr('title'));
    $selection.attr('tabindex', this._tabindex);

    this.$selection = $selection;

    return $selection;
  };

  BaseSelection.prototype.bind = function (container, $container) {
    var self = this;

    var id = container.id + '-container';
    var resultsId = container.id + '-results';

    this.container = container;

    this.$selection.on('focus', function (evt) {
      self.trigger('focus', evt);
    });

    this.$selection.on('blur', function (evt) {
      self._handleBlur(evt);
    });

    this.$selection.on('keydown', function (evt) {
      self.trigger('keypress', evt);

      if (evt.which === KEYS.SPACE) {
        evt.preventDefault();
      }
    });

    container.on('results:focus', function (params) {
      self.$selection.attr('aria-activedescendant', params.data._resultId);
    });

    container.on('selection:update', function (params) {
      self.update(params.data);
    });

    container.on('open', function () {
      // When the dropdown is open, aria-expanded="true"
      self.$selection.attr('aria-expanded', 'true');
      self.$selection.attr('aria-owns', resultsId);

      self._attachCloseHandler(container);
    });

    container.on('close', function () {
      // When the dropdown is closed, aria-expanded="false"
      self.$selection.attr('aria-expanded', 'false');
      self.$selection.removeAttr('aria-activedescendant');
      self.$selection.removeAttr('aria-owns');

      self.$selection.focus();
      window.setTimeout(function () {
        self.$selection.focus();
      }, 0);

      self._detachCloseHandler(container);
    });

    container.on('enable', function () {
      self.$selection.attr('tabindex', self._tabindex);
    });

    container.on('disable', function () {
      self.$selection.attr('tabindex', '-1');
    });
  };

  BaseSelection.prototype._handleBlur = function (evt) {
    var self = this;

    // This needs to be delayed as the active element is the body when the tab
    // key is pressed, possibly along with others.
    window.setTimeout(function () {
      // Don't trigger `blur` if the focus is still in the selection
      if (
        (document.activeElement == self.$selection[0]) ||
        ($.contains(self.$selection[0], document.activeElement))
      ) {
        return;
      }

      self.trigger('blur', evt);
    }, 1);
  };

  BaseSelection.prototype._attachCloseHandler = function (container) {
    var self = this;

    $(document.body).on('mousedown.select2.' + container.id, function (e) {
      var $target = $(e.target);

      var $select = $target.closest('.select2');

      var $all = $('.select2.select2-container--open');

      $all.each(function () {
        var $this = $(this);

        if (this == $select[0]) {
          return;
        }

        var $element = Utils.GetData(this, 'element');

        $element.select2('close');
      });
    });
  };

  BaseSelection.prototype._detachCloseHandler = function (container) {
    $(document.body).off('mousedown.select2.' + container.id);
  };

  BaseSelection.prototype.position = function ($selection, $container) {
    var $selectionContainer = $container.find('.selection');
    $selectionContainer.append($selection);
  };

  BaseSelection.prototype.destroy = function () {
    this._detachCloseHandler(this.container);
  };

  BaseSelection.prototype.update = function (data) {
    throw new Error('The `update` method must be defined in child classes.');
  };

  return BaseSelection;
});

S2.define('select2/selection/single',[
  'jquery',
  './base',
  '../utils',
  '../keys'
], function ($, BaseSelection, Utils, KEYS) {
  function SingleSelection () {
    SingleSelection.__super__.constructor.apply(this, arguments);
  }

  Utils.Extend(SingleSelection, BaseSelection);

  SingleSelection.prototype.render = function () {
    var $selection = SingleSelection.__super__.render.call(this);

    $selection.addClass('select2-selection--single');

    $selection.html(
      '<span class="select2-selection__rendered"></span>' +
      '<span class="select2-selection__arrow" role="presentation">' +
        '<b role="presentation"></b>' +
      '</span>'
    );

    return $selection;
  };

  SingleSelection.prototype.bind = function (container, $container) {
    var self = this;

    SingleSelection.__super__.bind.apply(this, arguments);

    var id = container.id + '-container';

    this.$selection.find('.select2-selection__rendered')
      .attr('id', id)
      .attr('role', 'textbox')
      .attr('aria-readonly', 'true');
    this.$selection.attr('aria-labelledby', id);

    this.$selection.on('mousedown', function (evt) {
      // Only respond to left clicks
      if (evt.which !== 1) {
        return;
      }

      self.trigger('toggle', {
        originalEvent: evt
      });
    });

    this.$selection.on('focus', function (evt) {
      // User focuses on the container
    });

    this.$selection.on('blur', function (evt) {
      // User exits the container
    });

    container.on('focus', function (evt) {
      if (!container.isOpen()) {
        self.$selection.focus();
      }
    });
  };

  SingleSelection.prototype.clear = function () {
    var $rendered = this.$selection.find('.select2-selection__rendered');
    $rendered.empty();
    $rendered.removeAttr('title'); // clear tooltip on empty
  };

  SingleSelection.prototype.display = function (data, container) {
    var template = this.options.get('templateSelection');
    var escapeMarkup = this.options.get('escapeMarkup');

    return escapeMarkup(template(data, container));
  };

  SingleSelection.prototype.selectionContainer = function () {
    return $('<span></span>');
  };

  SingleSelection.prototype.update = function (data) {
    if (data.length === 0) {
      this.clear();
      return;
    }

    var selection = data[0];

    var $rendered = this.$selection.find('.select2-selection__rendered');
    var formatted = this.display(selection, $rendered);

    $rendered.empty().append(formatted);
    $rendered.attr('title', selection.title || selection.text);
  };

  return SingleSelection;
});

S2.define('select2/selection/multiple',[
  'jquery',
  './base',
  '../utils'
], function ($, BaseSelection, Utils) {
  function MultipleSelection ($element, options) {
    MultipleSelection.__super__.constructor.apply(this, arguments);
  }

  Utils.Extend(MultipleSelection, BaseSelection);

  MultipleSelection.prototype.render = function () {
    var $selection = MultipleSelection.__super__.render.call(this);

    $selection.addClass('select2-selection--multiple');

    $selection.html(
      '<ul class="select2-selection__rendered"></ul>'
    );

    return $selection;
  };

  MultipleSelection.prototype.bind = function (container, $container) {
    var self = this;

    MultipleSelection.__super__.bind.apply(this, arguments);

    this.$selection.on('click', function (evt) {
      self.trigger('toggle', {
        originalEvent: evt
      });
    });

    this.$selection.on(
      'click',
      '.select2-selection__choice__remove',
      function (evt) {
        // Ignore the event if it is disabled
        if (self.options.get('disabled')) {
          return;
        }

        var $remove = $(this);
        var $selection = $remove.parent();

        var data = Utils.GetData($selection[0], 'data');

        self.trigger('unselect', {
          originalEvent: evt,
          data: data
        });
      }
    );
  };

  MultipleSelection.prototype.clear = function () {
    var $rendered = this.$selection.find('.select2-selection__rendered');
    $rendered.empty();
    $rendered.removeAttr('title');
  };

  MultipleSelection.prototype.display = function (data, container) {
    var template = this.options.get('templateSelection');
    var escapeMarkup = this.options.get('escapeMarkup');

    return escapeMarkup(template(data, container));
  };

  MultipleSelection.prototype.selectionContainer = function () {
    var $container = $(
      '<li class="select2-selection__choice">' +
        '<span class="select2-selection__choice__remove" role="presentation">' +
          '&times;' +
        '</span>' +
      '</li>'
    );

    return $container;
  };

  MultipleSelection.prototype.update = function (data) {
    this.clear();

    if (data.length === 0) {
      return;
    }

    var $selections = [];

    for (var d = 0; d < data.length; d++) {
      var selection = data[d];

      var $selection = this.selectionContainer();
      var formatted = this.display(selection, $selection);

      $selection.append(formatted);
      $selection.attr('title', selection.title || selection.text);

      Utils.StoreData($selection[0], 'data', selection);

      $selections.push($selection);
    }

    var $rendered = this.$selection.find('.select2-selection__rendered');

    Utils.appendMany($rendered, $selections);
  };

  return MultipleSelection;
});

S2.define('select2/selection/placeholder',[
  '../utils'
], function (Utils) {
  function Placeholder (decorated, $element, options) {
    this.placeholder = this.normalizePlaceholder(options.get('placeholder'));

    decorated.call(this, $element, options);
  }

  Placeholder.prototype.normalizePlaceholder = function (_, placeholder) {
    if (typeof placeholder === 'string') {
      placeholder = {
        id: '',
        text: placeholder
      };
    }

    return placeholder;
  };

  Placeholder.prototype.createPlaceholder = function (decorated, placeholder) {
    var $placeholder = this.selectionContainer();

    $placeholder.html(this.display(placeholder));
    $placeholder.addClass('select2-selection__placeholder')
                .removeClass('select2-selection__choice');

    return $placeholder;
  };

  Placeholder.prototype.update = function (decorated, data) {
    var singlePlaceholder = (
      data.length == 1 && data[0].id != this.placeholder.id
    );
    var multipleSelections = data.length > 1;

    if (multipleSelections || singlePlaceholder) {
      return decorated.call(this, data);
    }

    this.clear();

    var $placeholder = this.createPlaceholder(this.placeholder);

    this.$selection.find('.select2-selection__rendered').append($placeholder);
  };

  return Placeholder;
});

S2.define('select2/selection/allowClear',[
  'jquery',
  '../keys',
  '../utils'
], function ($, KEYS, Utils) {
  function AllowClear () { }

  AllowClear.prototype.bind = function (decorated, container, $container) {
    var self = this;

    decorated.call(this, container, $container);

    if (this.placeholder == null) {
      if (this.options.get('debug') && window.console && console.error) {
        console.error(
          'Select2: The `allowClear` option should be used in combination ' +
          'with the `placeholder` option.'
        );
      }
    }

    this.$selection.on('mousedown', '.select2-selection__clear',
      function (evt) {
        self._handleClear(evt);
    });

    container.on('keypress', function (evt) {
      self._handleKeyboardClear(evt, container);
    });
  };

  AllowClear.prototype._handleClear = function (_, evt) {
    // Ignore the event if it is disabled
    if (this.options.get('disabled')) {
      return;
    }

    var $clear = this.$selection.find('.select2-selection__clear');

    // Ignore the event if nothing has been selected
    if ($clear.length === 0) {
      return;
    }

    evt.stopPropagation();

    var data = Utils.GetData($clear[0], 'data');

    var previousVal = this.$element.val();
    this.$element.val(this.placeholder.id);

    var unselectData = {
      data: data
    };
    this.trigger('clear', unselectData);
    if (unselectData.prevented) {
      this.$element.val(previousVal);
      return;
    }

    for (var d = 0; d < data.length; d++) {
      unselectData = {
        data: data[d]
      };

      // Trigger the `unselect` event, so people can prevent it from being
      // cleared.
      this.trigger('unselect', unselectData);

      // If the event was prevented, don't clear it out.
      if (unselectData.prevented) {
        this.$element.val(previousVal);
        return;
      }
    }

    this.$element.trigger('change');

    this.trigger('toggle', {});
  };

  AllowClear.prototype._handleKeyboardClear = function (_, evt, container) {
    if (container.isOpen()) {
      return;
    }

    if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) {
      this._handleClear(evt);
    }
  };

  AllowClear.prototype.update = function (decorated, data) {
    decorated.call(this, data);

    if (this.$selection.find('.select2-selection__placeholder').length > 0 ||
        data.length === 0) {
      return;
    }

    var $remove = $(
      '<span class="select2-selection__clear">' +
        '&times;' +
      '</span>'
    );
    Utils.StoreData($remove[0], 'data', data);

    this.$selection.find('.select2-selection__rendered').prepend($remove);
  };

  return AllowClear;
});

S2.define('select2/selection/search',[
  'jquery',
  '../utils',
  '../keys'
], function ($, Utils, KEYS) {
  function Search (decorated, $element, options) {
    decorated.call(this, $element, options);
  }

  Search.prototype.render = function (decorated) {
    var $search = $(
      '<li class="select2-search select2-search--inline">' +
        '<input class="select2-search__field" type="search" tabindex="-1"' +
        ' autocomplete="off" autocorrect="off" autocapitalize="none"' +
        ' spellcheck="false" role="textbox" aria-autocomplete="list" />' +
      '</li>'
    );

    this.$searchContainer = $search;
    this.$search = $search.find('input');

    var $rendered = decorated.call(this);

    this._transferTabIndex();

    return $rendered;
  };

  Search.prototype.bind = function (decorated, container, $container) {
    var self = this;

    decorated.call(this, container, $container);

    container.on('open', function () {
      self.$search.trigger('focus');
    });

    container.on('close', function () {
      self.$search.val('');
      self.$search.removeAttr('aria-activedescendant');
      self.$search.trigger('focus');
    });

    container.on('enable', function () {
      self.$search.prop('disabled', false);

      self._transferTabIndex();
    });

    container.on('disable', function () {
      self.$search.prop('disabled', true);
    });

    container.on('focus', function (evt) {
      self.$search.trigger('focus');
    });

    container.on('results:focus', function (params) {
      self.$search.attr('aria-activedescendant', params.id);
    });

    this.$selection.on('focusin', '.select2-search--inline', function (evt) {
      self.trigger('focus', evt);
    });

    this.$selection.on('focusout', '.select2-search--inline', function (evt) {
      self._handleBlur(evt);
    });

    this.$selection.on('keydown', '.select2-search--inline', function (evt) {
      evt.stopPropagation();

      self.trigger('keypress', evt);

      self._keyUpPrevented = evt.isDefaultPrevented();

      var key = evt.which;

      if (key === KEYS.BACKSPACE && self.$search.val() === '') {
        var $previousChoice = self.$searchContainer
          .prev('.select2-selection__choice');

        if ($previousChoice.length > 0) {
          var item = Utils.GetData($previousChoice[0], 'data');

          self.searchRemoveChoice(item);

          evt.preventDefault();
        }
      }
    });

    // Try to detect the IE version should the `documentMode` property that
    // is stored on the document. This is only implemented in IE and is
    // slightly cleaner than doing a user agent check.
    // This property is not available in Edge, but Edge also doesn't have
    // this bug.
    var msie = document.documentMode;
    var disableInputEvents = msie && msie <= 11;

    // Workaround for browsers which do not support the `input` event
    // This will prevent double-triggering of events for browsers which support
    // both the `keyup` and `input` events.
    this.$selection.on(
      'input.searchcheck',
      '.select2-search--inline',
      function (evt) {
        // IE will trigger the `input` event when a placeholder is used on a
        // search box. To get around this issue, we are forced to ignore all
        // `input` events in IE and keep using `keyup`.
        if (disableInputEvents) {
          self.$selection.off('input.search input.searchcheck');
          return;
        }

        // Unbind the duplicated `keyup` event
        self.$selection.off('keyup.search');
      }
    );

    this.$selection.on(
      'keyup.search input.search',
      '.select2-search--inline',
      function (evt) {
        // IE will trigger the `input` event when a placeholder is used on a
        // search box. To get around this issue, we are forced to ignore all
        // `input` events in IE and keep using `keyup`.
        if (disableInputEvents && evt.type === 'input') {
          self.$selection.off('input.search input.searchcheck');
          return;
        }

        var key = evt.which;

        // We can freely ignore events from modifier keys
        if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) {
          return;
        }

        // Tabbing will be handled during the `keydown` phase
        if (key == KEYS.TAB) {
          return;
        }

        self.handleSearch(evt);
      }
    );
  };

  /**
   * This method will transfer the tabindex attribute from the rendered
   * selection to the search box. This allows for the search box to be used as
   * the primary focus instead of the selection container.
   *
   * @private
   */
  Search.prototype._transferTabIndex = function (decorated) {
    this.$search.attr('tabindex', this.$selection.attr('tabindex'));
    this.$selection.attr('tabindex', '-1');
  };

  Search.prototype.createPlaceholder = function (decorated, placeholder) {
    this.$search.attr('placeholder', placeholder.text);
  };

  Search.prototype.update = function (decorated, data) {
    var searchHadFocus = this.$search[0] == document.activeElement;

    this.$search.attr('placeholder', '');

    decorated.call(this, data);

    this.$selection.find('.select2-selection__rendered')
                   .append(this.$searchContainer);

    this.resizeSearch();
    if (searchHadFocus) {
      var isTagInput = this.$element.find('[data-select2-tag]').length;
      if (isTagInput) {
        // fix IE11 bug where tag input lost focus
        this.$element.focus();
      } else {
        this.$search.focus();
      }
    }
  };

  Search.prototype.handleSearch = function () {
    this.resizeSearch();

    if (!this._keyUpPrevented) {
      var input = this.$search.val();

      this.trigger('query', {
        term: input
      });
    }

    this._keyUpPrevented = false;
  };

  Search.prototype.searchRemoveChoice = function (decorated, item) {
    this.trigger('unselect', {
      data: item
    });

    this.$search.val(item.text);
    this.handleSearch();
  };

  Search.prototype.resizeSearch = function () {
    this.$search.css('width', '25px');

    var width = '';

    if (this.$search.attr('placeholder') !== '') {
      width = this.$selection.find('.select2-selection__rendered').innerWidth();
    } else {
      var minimumWidth = this.$search.val().length + 1;

      width = (minimumWidth * 0.75) + 'em';
    }

    this.$search.css('width', width);
  };

  return Search;
});

S2.define('select2/selection/eventRelay',[
  'jquery'
], function ($) {
  function EventRelay () { }

  EventRelay.prototype.bind = function (decorated, container, $container) {
    var self = this;
    var relayEvents = [
      'open', 'opening',
      'close', 'closing',
      'select', 'selecting',
      'unselect', 'unselecting',
      'clear', 'clearing'
    ];

    var preventableEvents = [
      'opening', 'closing', 'selecting', 'unselecting', 'clearing'
    ];

    decorated.call(this, container, $container);

    container.on('*', function (name, params) {
      // Ignore events that should not be relayed
      if ($.inArray(name, relayEvents) === -1) {
        return;
      }

      // The parameters should always be an object
      params = params || {};

      // Generate the jQuery event for the Select2 event
      var evt = $.Event('select2:' + name, {
        params: params
      });

      self.$element.trigger(evt);

      // Only handle preventable events if it was one
      if ($.inArray(name, preventableEvents) === -1) {
        return;
      }

      params.prevented = evt.isDefaultPrevented();
    });
  };

  return EventRelay;
});

S2.define('select2/translation',[
  'jquery',
  'require'
], function ($, require) {
  function Translation (dict) {
    this.dict = dict || {};
  }

  Translation.prototype.all = function () {
    return this.dict;
  };

  Translation.prototype.get = function (key) {
    return this.dict[key];
  };

  Translation.prototype.extend = function (translation) {
    this.dict = $.extend({}, translation.all(), this.dict);
  };

  // Static functions

  Translation._cache = {};

  Translation.loadPath = function (path) {
    if (!(path in Translation._cache)) {
      var translations = require(path);

      Translation._cache[path] = translations;
    }

    return new Translation(Translation._cache[path]);
  };

  return Translation;
});

S2.define('select2/diacritics',[

], function () {
  var diacritics = {
    '\u24B6': 'A',
    '\uFF21': 'A',
    '\u00C0': 'A',
    '\u00C1': 'A',
    '\u00C2': 'A',
    '\u1EA6': 'A',
    '\u1EA4': 'A',
    '\u1EAA': 'A',
    '\u1EA8': 'A',
    '\u00C3': 'A',
    '\u0100': 'A',
    '\u0102': 'A',
    '\u1EB0': 'A',
    '\u1EAE': 'A',
    '\u1EB4': 'A',
    '\u1EB2': 'A',
    '\u0226': 'A',
    '\u01E0': 'A',
    '\u00C4': 'A',
    '\u01DE': 'A',
    '\u1EA2': 'A',
    '\u00C5': 'A',
    '\u01FA': 'A',
    '\u01CD': 'A',
    '\u0200': 'A',
    '\u0202': 'A',
    '\u1EA0': 'A',
    '\u1EAC': 'A',
    '\u1EB6': 'A',
    '\u1E00': 'A',
    '\u0104': 'A',
    '\u023A': 'A',
    '\u2C6F': 'A',
    '\uA732': 'AA',
    '\u00C6': 'AE',
    '\u01FC': 'AE',
    '\u01E2': 'AE',
    '\uA734': 'AO',
    '\uA736': 'AU',
    '\uA738': 'AV',
    '\uA73A': 'AV',
    '\uA73C': 'AY',
    '\u24B7': 'B',
    '\uFF22': 'B',
    '\u1E02': 'B',
    '\u1E04': 'B',
    '\u1E06': 'B',
    '\u0243': 'B',
    '\u0182': 'B',
    '\u0181': 'B',
    '\u24B8': 'C',
    '\uFF23': 'C',
    '\u0106': 'C',
    '\u0108': 'C',
    '\u010A': 'C',
    '\u010C': 'C',
    '\u00C7': 'C',
    '\u1E08': 'C',
    '\u0187': 'C',
    '\u023B': 'C',
    '\uA73E': 'C',
    '\u24B9': 'D',
    '\uFF24': 'D',
    '\u1E0A': 'D',
    '\u010E': 'D',
    '\u1E0C': 'D',
    '\u1E10': 'D',
    '\u1E12': 'D',
    '\u1E0E': 'D',
    '\u0110': 'D',
    '\u018B': 'D',
    '\u018A': 'D',
    '\u0189': 'D',
    '\uA779': 'D',
    '\u01F1': 'DZ',
    '\u01C4': 'DZ',
    '\u01F2': 'Dz',
    '\u01C5': 'Dz',
    '\u24BA': 'E',
    '\uFF25': 'E',
    '\u00C8': 'E',
    '\u00C9': 'E',
    '\u00CA': 'E',
    '\u1EC0': 'E',
    '\u1EBE': 'E',
    '\u1EC4': 'E',
    '\u1EC2': 'E',
    '\u1EBC': 'E',
    '\u0112': 'E',
    '\u1E14': 'E',
    '\u1E16': 'E',
    '\u0114': 'E',
    '\u0116': 'E',
    '\u00CB': 'E',
    '\u1EBA': 'E',
    '\u011A': 'E',
    '\u0204': 'E',
    '\u0206': 'E',
    '\u1EB8': 'E',
    '\u1EC6': 'E',
    '\u0228': 'E',
    '\u1E1C': 'E',
    '\u0118': 'E',
    '\u1E18': 'E',
    '\u1E1A': 'E',
    '\u0190': 'E',
    '\u018E': 'E',
    '\u24BB': 'F',
    '\uFF26': 'F',
    '\u1E1E': 'F',
    '\u0191': 'F',
    '\uA77B': 'F',
    '\u24BC': 'G',
    '\uFF27': 'G',
    '\u01F4': 'G',
    '\u011C': 'G',
    '\u1E20': 'G',
    '\u011E': 'G',
    '\u0120': 'G',
    '\u01E6': 'G',
    '\u0122': 'G',
    '\u01E4': 'G',
    '\u0193': 'G',
    '\uA7A0': 'G',
    '\uA77D': 'G',
    '\uA77E': 'G',
    '\u24BD': 'H',
    '\uFF28': 'H',
    '\u0124': 'H',
    '\u1E22': 'H',
    '\u1E26': 'H',
    '\u021E': 'H',
    '\u1E24': 'H',
    '\u1E28': 'H',
    '\u1E2A': 'H',
    '\u0126': 'H',
    '\u2C67': 'H',
    '\u2C75': 'H',
    '\uA78D': 'H',
    '\u24BE': 'I',
    '\uFF29': 'I',
    '\u00CC': 'I',
    '\u00CD': 'I',
    '\u00CE': 'I',
    '\u0128': 'I',
    '\u012A': 'I',
    '\u012C': 'I',
    '\u0130': 'I',
    '\u00CF': 'I',
    '\u1E2E': 'I',
    '\u1EC8': 'I',
    '\u01CF': 'I',
    '\u0208': 'I',
    '\u020A': 'I',
    '\u1ECA': 'I',
    '\u012E': 'I',
    '\u1E2C': 'I',
    '\u0197': 'I',
    '\u24BF': 'J',
    '\uFF2A': 'J',
    '\u0134': 'J',
    '\u0248': 'J',
    '\u24C0': 'K',
    '\uFF2B': 'K',
    '\u1E30': 'K',
    '\u01E8': 'K',
    '\u1E32': 'K',
    '\u0136': 'K',
    '\u1E34': 'K',
    '\u0198': 'K',
    '\u2C69': 'K',
    '\uA740': 'K',
    '\uA742': 'K',
    '\uA744': 'K',
    '\uA7A2': 'K',
    '\u24C1': 'L',
    '\uFF2C': 'L',
    '\u013F': 'L',
    '\u0139': 'L',
    '\u013D': 'L',
    '\u1E36': 'L',
    '\u1E38': 'L',
    '\u013B': 'L',
    '\u1E3C': 'L',
    '\u1E3A': 'L',
    '\u0141': 'L',
    '\u023D': 'L',
    '\u2C62': 'L',
    '\u2C60': 'L',
    '\uA748': 'L',
    '\uA746': 'L',
    '\uA780': 'L',
    '\u01C7': 'LJ',
    '\u01C8': 'Lj',
    '\u24C2': 'M',
    '\uFF2D': 'M',
    '\u1E3E': 'M',
    '\u1E40': 'M',
    '\u1E42': 'M',
    '\u2C6E': 'M',
    '\u019C': 'M',
    '\u24C3': 'N',
    '\uFF2E': 'N',
    '\u01F8': 'N',
    '\u0143': 'N',
    '\u00D1': 'N',
    '\u1E44': 'N',
    '\u0147': 'N',
    '\u1E46': 'N',
    '\u0145': 'N',
    '\u1E4A': 'N',
    '\u1E48': 'N',
    '\u0220': 'N',
    '\u019D': 'N',
    '\uA790': 'N',
    '\uA7A4': 'N',
    '\u01CA': 'NJ',
    '\u01CB': 'Nj',
    '\u24C4': 'O',
    '\uFF2F': 'O',
    '\u00D2': 'O',
    '\u00D3': 'O',
    '\u00D4': 'O',
    '\u1ED2': 'O',
    '\u1ED0': 'O',
    '\u1ED6': 'O',
    '\u1ED4': 'O',
    '\u00D5': 'O',
    '\u1E4C': 'O',
    '\u022C': 'O',
    '\u1E4E': 'O',
    '\u014C': 'O',
    '\u1E50': 'O',
    '\u1E52': 'O',
    '\u014E': 'O',
    '\u022E': 'O',
    '\u0230': 'O',
    '\u00D6': 'O',
    '\u022A': 'O',
    '\u1ECE': 'O',
    '\u0150': 'O',
    '\u01D1': 'O',
    '\u020C': 'O',
    '\u020E': 'O',
    '\u01A0': 'O',
    '\u1EDC': 'O',
    '\u1EDA': 'O',
    '\u1EE0': 'O',
    '\u1EDE': 'O',
    '\u1EE2': 'O',
    '\u1ECC': 'O',
    '\u1ED8': 'O',
    '\u01EA': 'O',
    '\u01EC': 'O',
    '\u00D8': 'O',
    '\u01FE': 'O',
    '\u0186': 'O',
    '\u019F': 'O',
    '\uA74A': 'O',
    '\uA74C': 'O',
    '\u01A2': 'OI',
    '\uA74E': 'OO',
    '\u0222': 'OU',
    '\u24C5': 'P',
    '\uFF30': 'P',
    '\u1E54': 'P',
    '\u1E56': 'P',
    '\u01A4': 'P',
    '\u2C63': 'P',
    '\uA750': 'P',
    '\uA752': 'P',
    '\uA754': 'P',
    '\u24C6': 'Q',
    '\uFF31': 'Q',
    '\uA756': 'Q',
    '\uA758': 'Q',
    '\u024A': 'Q',
    '\u24C7': 'R',
    '\uFF32': 'R',
    '\u0154': 'R',
    '\u1E58': 'R',
    '\u0158': 'R',
    '\u0210': 'R',
    '\u0212': 'R',
    '\u1E5A': 'R',
    '\u1E5C': 'R',
    '\u0156': 'R',
    '\u1E5E': 'R',
    '\u024C': 'R',
    '\u2C64': 'R',
    '\uA75A': 'R',
    '\uA7A6': 'R',
    '\uA782': 'R',
    '\u24C8': 'S',
    '\uFF33': 'S',
    '\u1E9E': 'S',
    '\u015A': 'S',
    '\u1E64': 'S',
    '\u015C': 'S',
    '\u1E60': 'S',
    '\u0160': 'S',
    '\u1E66': 'S',
    '\u1E62': 'S',
    '\u1E68': 'S',
    '\u0218': 'S',
    '\u015E': 'S',
    '\u2C7E': 'S',
    '\uA7A8': 'S',
    '\uA784': 'S',
    '\u24C9': 'T',
    '\uFF34': 'T',
    '\u1E6A': 'T',
    '\u0164': 'T',
    '\u1E6C': 'T',
    '\u021A': 'T',
    '\u0162': 'T',
    '\u1E70': 'T',
    '\u1E6E': 'T',
    '\u0166': 'T',
    '\u01AC': 'T',
    '\u01AE': 'T',
    '\u023E': 'T',
    '\uA786': 'T',
    '\uA728': 'TZ',
    '\u24CA': 'U',
    '\uFF35': 'U',
    '\u00D9': 'U',
    '\u00DA': 'U',
    '\u00DB': 'U',
    '\u0168': 'U',
    '\u1E78': 'U',
    '\u016A': 'U',
    '\u1E7A': 'U',
    '\u016C': 'U',
    '\u00DC': 'U',
    '\u01DB': 'U',
    '\u01D7': 'U',
    '\u01D5': 'U',
    '\u01D9': 'U',
    '\u1EE6': 'U',
    '\u016E': 'U',
    '\u0170': 'U',
    '\u01D3': 'U',
    '\u0214': 'U',
    '\u0216': 'U',
    '\u01AF': 'U',
    '\u1EEA': 'U',
    '\u1EE8': 'U',
    '\u1EEE': 'U',
    '\u1EEC': 'U',
    '\u1EF0': 'U',
    '\u1EE4': 'U',
    '\u1E72': 'U',
    '\u0172': 'U',
    '\u1E76': 'U',
    '\u1E74': 'U',
    '\u0244': 'U',
    '\u24CB': 'V',
    '\uFF36': 'V',
    '\u1E7C': 'V',
    '\u1E7E': 'V',
    '\u01B2': 'V',
    '\uA75E': 'V',
    '\u0245': 'V',
    '\uA760': 'VY',
    '\u24CC': 'W',
    '\uFF37': 'W',
    '\u1E80': 'W',
    '\u1E82': 'W',
    '\u0174': 'W',
    '\u1E86': 'W',
    '\u1E84': 'W',
    '\u1E88': 'W',
    '\u2C72': 'W',
    '\u24CD': 'X',
    '\uFF38': 'X',
    '\u1E8A': 'X',
    '\u1E8C': 'X',
    '\u24CE': 'Y',
    '\uFF39': 'Y',
    '\u1EF2': 'Y',
    '\u00DD': 'Y',
    '\u0176': 'Y',
    '\u1EF8': 'Y',
    '\u0232': 'Y',
    '\u1E8E': 'Y',
    '\u0178': 'Y',
    '\u1EF6': 'Y',
    '\u1EF4': 'Y',
    '\u01B3': 'Y',
    '\u024E': 'Y',
    '\u1EFE': 'Y',
    '\u24CF': 'Z',
    '\uFF3A': 'Z',
    '\u0179': 'Z',
    '\u1E90': 'Z',
    '\u017B': 'Z',
    '\u017D': 'Z',
    '\u1E92': 'Z',
    '\u1E94': 'Z',
    '\u01B5': 'Z',
    '\u0224': 'Z',
    '\u2C7F': 'Z',
    '\u2C6B': 'Z',
    '\uA762': 'Z',
    '\u24D0': 'a',
    '\uFF41': 'a',
    '\u1E9A': 'a',
    '\u00E0': 'a',
    '\u00E1': 'a',
    '\u00E2': 'a',
    '\u1EA7': 'a',
    '\u1EA5': 'a',
    '\u1EAB': 'a',
    '\u1EA9': 'a',
    '\u00E3': 'a',
    '\u0101': 'a',
    '\u0103': 'a',
    '\u1EB1': 'a',
    '\u1EAF': 'a',
    '\u1EB5': 'a',
    '\u1EB3': 'a',
    '\u0227': 'a',
    '\u01E1': 'a',
    '\u00E4': 'a',
    '\u01DF': 'a',
    '\u1EA3': 'a',
    '\u00E5': 'a',
    '\u01FB': 'a',
    '\u01CE': 'a',
    '\u0201': 'a',
    '\u0203': 'a',
    '\u1EA1': 'a',
    '\u1EAD': 'a',
    '\u1EB7': 'a',
    '\u1E01': 'a',
    '\u0105': 'a',
    '\u2C65': 'a',
    '\u0250': 'a',
    '\uA733': 'aa',
    '\u00E6': 'ae',
    '\u01FD': 'ae',
    '\u01E3': 'ae',
    '\uA735': 'ao',
    '\uA737': 'au',
    '\uA739': 'av',
    '\uA73B': 'av',
    '\uA73D': 'ay',
    '\u24D1': 'b',
    '\uFF42': 'b',
    '\u1E03': 'b',
    '\u1E05': 'b',
    '\u1E07': 'b',
    '\u0180': 'b',
    '\u0183': 'b',
    '\u0253': 'b',
    '\u24D2': 'c',
    '\uFF43': 'c',
    '\u0107': 'c',
    '\u0109': 'c',
    '\u010B': 'c',
    '\u010D': 'c',
    '\u00E7': 'c',
    '\u1E09': 'c',
    '\u0188': 'c',
    '\u023C': 'c',
    '\uA73F': 'c',
    '\u2184': 'c',
    '\u24D3': 'd',
    '\uFF44': 'd',
    '\u1E0B': 'd',
    '\u010F': 'd',
    '\u1E0D': 'd',
    '\u1E11': 'd',
    '\u1E13': 'd',
    '\u1E0F': 'd',
    '\u0111': 'd',
    '\u018C': 'd',
    '\u0256': 'd',
    '\u0257': 'd',
    '\uA77A': 'd',
    '\u01F3': 'dz',
    '\u01C6': 'dz',
    '\u24D4': 'e',
    '\uFF45': 'e',
    '\u00E8': 'e',
    '\u00E9': 'e',
    '\u00EA': 'e',
    '\u1EC1': 'e',
    '\u1EBF': 'e',
    '\u1EC5': 'e',
    '\u1EC3': 'e',
    '\u1EBD': 'e',
    '\u0113': 'e',
    '\u1E15': 'e',
    '\u1E17': 'e',
    '\u0115': 'e',
    '\u0117': 'e',
    '\u00EB': 'e',
    '\u1EBB': 'e',
    '\u011B': 'e',
    '\u0205': 'e',
    '\u0207': 'e',
    '\u1EB9': 'e',
    '\u1EC7': 'e',
    '\u0229': 'e',
    '\u1E1D': 'e',
    '\u0119': 'e',
    '\u1E19': 'e',
    '\u1E1B': 'e',
    '\u0247': 'e',
    '\u025B': 'e',
    '\u01DD': 'e',
    '\u24D5': 'f',
    '\uFF46': 'f',
    '\u1E1F': 'f',
    '\u0192': 'f',
    '\uA77C': 'f',
    '\u24D6': 'g',
    '\uFF47': 'g',
    '\u01F5': 'g',
    '\u011D': 'g',
    '\u1E21': 'g',
    '\u011F': 'g',
    '\u0121': 'g',
    '\u01E7': 'g',
    '\u0123': 'g',
    '\u01E5': 'g',
    '\u0260': 'g',
    '\uA7A1': 'g',
    '\u1D79': 'g',
    '\uA77F': 'g',
    '\u24D7': 'h',
    '\uFF48': 'h',
    '\u0125': 'h',
    '\u1E23': 'h',
    '\u1E27': 'h',
    '\u021F': 'h',
    '\u1E25': 'h',
    '\u1E29': 'h',
    '\u1E2B': 'h',
    '\u1E96': 'h',
    '\u0127': 'h',
    '\u2C68': 'h',
    '\u2C76': 'h',
    '\u0265': 'h',
    '\u0195': 'hv',
    '\u24D8': 'i',
    '\uFF49': 'i',
    '\u00EC': 'i',
    '\u00ED': 'i',
    '\u00EE': 'i',
    '\u0129': 'i',
    '\u012B': 'i',
    '\u012D': 'i',
    '\u00EF': 'i',
    '\u1E2F': 'i',
    '\u1EC9': 'i',
    '\u01D0': 'i',
    '\u0209': 'i',
    '\u020B': 'i',
    '\u1ECB': 'i',
    '\u012F': 'i',
    '\u1E2D': 'i',
    '\u0268': 'i',
    '\u0131': 'i',
    '\u24D9': 'j',
    '\uFF4A': 'j',
    '\u0135': 'j',
    '\u01F0': 'j',
    '\u0249': 'j',
    '\u24DA': 'k',
    '\uFF4B': 'k',
    '\u1E31': 'k',
    '\u01E9': 'k',
    '\u1E33': 'k',
    '\u0137': 'k',
    '\u1E35': 'k',
    '\u0199': 'k',
    '\u2C6A': 'k',
    '\uA741': 'k',
    '\uA743': 'k',
    '\uA745': 'k',
    '\uA7A3': 'k',
    '\u24DB': 'l',
    '\uFF4C': 'l',
    '\u0140': 'l',
    '\u013A': 'l',
    '\u013E': 'l',
    '\u1E37': 'l',
    '\u1E39': 'l',
    '\u013C': 'l',
    '\u1E3D': 'l',
    '\u1E3B': 'l',
    '\u017F': 'l',
    '\u0142': 'l',
    '\u019A': 'l',
    '\u026B': 'l',
    '\u2C61': 'l',
    '\uA749': 'l',
    '\uA781': 'l',
    '\uA747': 'l',
    '\u01C9': 'lj',
    '\u24DC': 'm',
    '\uFF4D': 'm',
    '\u1E3F': 'm',
    '\u1E41': 'm',
    '\u1E43': 'm',
    '\u0271': 'm',
    '\u026F': 'm',
    '\u24DD': 'n',
    '\uFF4E': 'n',
    '\u01F9': 'n',
    '\u0144': 'n',
    '\u00F1': 'n',
    '\u1E45': 'n',
    '\u0148': 'n',
    '\u1E47': 'n',
    '\u0146': 'n',
    '\u1E4B': 'n',
    '\u1E49': 'n',
    '\u019E': 'n',
    '\u0272': 'n',
    '\u0149': 'n',
    '\uA791': 'n',
    '\uA7A5': 'n',
    '\u01CC': 'nj',
    '\u24DE': 'o',
    '\uFF4F': 'o',
    '\u00F2': 'o',
    '\u00F3': 'o',
    '\u00F4': 'o',
    '\u1ED3': 'o',
    '\u1ED1': 'o',
    '\u1ED7': 'o',
    '\u1ED5': 'o',
    '\u00F5': 'o',
    '\u1E4D': 'o',
    '\u022D': 'o',
    '\u1E4F': 'o',
    '\u014D': 'o',
    '\u1E51': 'o',
    '\u1E53': 'o',
    '\u014F': 'o',
    '\u022F': 'o',
    '\u0231': 'o',
    '\u00F6': 'o',
    '\u022B': 'o',
    '\u1ECF': 'o',
    '\u0151': 'o',
    '\u01D2': 'o',
    '\u020D': 'o',
    '\u020F': 'o',
    '\u01A1': 'o',
    '\u1EDD': 'o',
    '\u1EDB': 'o',
    '\u1EE1': 'o',
    '\u1EDF': 'o',
    '\u1EE3': 'o',
    '\u1ECD': 'o',
    '\u1ED9': 'o',
    '\u01EB': 'o',
    '\u01ED': 'o',
    '\u00F8': 'o',
    '\u01FF': 'o',
    '\u0254': 'o',
    '\uA74B': 'o',
    '\uA74D': 'o',
    '\u0275': 'o',
    '\u01A3': 'oi',
    '\u0223': 'ou',
    '\uA74F': 'oo',
    '\u24DF': 'p',
    '\uFF50': 'p',
    '\u1E55': 'p',
    '\u1E57': 'p',
    '\u01A5': 'p',
    '\u1D7D': 'p',
    '\uA751': 'p',
    '\uA753': 'p',
    '\uA755': 'p',
    '\u24E0': 'q',
    '\uFF51': 'q',
    '\u024B': 'q',
    '\uA757': 'q',
    '\uA759': 'q',
    '\u24E1': 'r',
    '\uFF52': 'r',
    '\u0155': 'r',
    '\u1E59': 'r',
    '\u0159': 'r',
    '\u0211': 'r',
    '\u0213': 'r',
    '\u1E5B': 'r',
    '\u1E5D': 'r',
    '\u0157': 'r',
    '\u1E5F': 'r',
    '\u024D': 'r',
    '\u027D': 'r',
    '\uA75B': 'r',
    '\uA7A7': 'r',
    '\uA783': 'r',
    '\u24E2': 's',
    '\uFF53': 's',
    '\u00DF': 's',
    '\u015B': 's',
    '\u1E65': 's',
    '\u015D': 's',
    '\u1E61': 's',
    '\u0161': 's',
    '\u1E67': 's',
    '\u1E63': 's',
    '\u1E69': 's',
    '\u0219': 's',
    '\u015F': 's',
    '\u023F': 's',
    '\uA7A9': 's',
    '\uA785': 's',
    '\u1E9B': 's',
    '\u24E3': 't',
    '\uFF54': 't',
    '\u1E6B': 't',
    '\u1E97': 't',
    '\u0165': 't',
    '\u1E6D': 't',
    '\u021B': 't',
    '\u0163': 't',
    '\u1E71': 't',
    '\u1E6F': 't',
    '\u0167': 't',
    '\u01AD': 't',
    '\u0288': 't',
    '\u2C66': 't',
    '\uA787': 't',
    '\uA729': 'tz',
    '\u24E4': 'u',
    '\uFF55': 'u',
    '\u00F9': 'u',
    '\u00FA': 'u',
    '\u00FB': 'u',
    '\u0169': 'u',
    '\u1E79': 'u',
    '\u016B': 'u',
    '\u1E7B': 'u',
    '\u016D': 'u',
    '\u00FC': 'u',
    '\u01DC': 'u',
    '\u01D8': 'u',
    '\u01D6': 'u',
    '\u01DA': 'u',
    '\u1EE7': 'u',
    '\u016F': 'u',
    '\u0171': 'u',
    '\u01D4': 'u',
    '\u0215': 'u',
    '\u0217': 'u',
    '\u01B0': 'u',
    '\u1EEB': 'u',
    '\u1EE9': 'u',
    '\u1EEF': 'u',
    '\u1EED': 'u',
    '\u1EF1': 'u',
    '\u1EE5': 'u',
    '\u1E73': 'u',
    '\u0173': 'u',
    '\u1E77': 'u',
    '\u1E75': 'u',
    '\u0289': 'u',
    '\u24E5': 'v',
    '\uFF56': 'v',
    '\u1E7D': 'v',
    '\u1E7F': 'v',
    '\u028B': 'v',
    '\uA75F': 'v',
    '\u028C': 'v',
    '\uA761': 'vy',
    '\u24E6': 'w',
    '\uFF57': 'w',
    '\u1E81': 'w',
    '\u1E83': 'w',
    '\u0175': 'w',
    '\u1E87': 'w',
    '\u1E85': 'w',
    '\u1E98': 'w',
    '\u1E89': 'w',
    '\u2C73': 'w',
    '\u24E7': 'x',
    '\uFF58': 'x',
    '\u1E8B': 'x',
    '\u1E8D': 'x',
    '\u24E8': 'y',
    '\uFF59': 'y',
    '\u1EF3': 'y',
    '\u00FD': 'y',
    '\u0177': 'y',
    '\u1EF9': 'y',
    '\u0233': 'y',
    '\u1E8F': 'y',
    '\u00FF': 'y',
    '\u1EF7': 'y',
    '\u1E99': 'y',
    '\u1EF5': 'y',
    '\u01B4': 'y',
    '\u024F': 'y',
    '\u1EFF': 'y',
    '\u24E9': 'z',
    '\uFF5A': 'z',
    '\u017A': 'z',
    '\u1E91': 'z',
    '\u017C': 'z',
    '\u017E': 'z',
    '\u1E93': 'z',
    '\u1E95': 'z',
    '\u01B6': 'z',
    '\u0225': 'z',
    '\u0240': 'z',
    '\u2C6C': 'z',
    '\uA763': 'z',
    '\u0386': '\u0391',
    '\u0388': '\u0395',
    '\u0389': '\u0397',
    '\u038A': '\u0399',
    '\u03AA': '\u0399',
    '\u038C': '\u039F',
    '\u038E': '\u03A5',
    '\u03AB': '\u03A5',
    '\u038F': '\u03A9',
    '\u03AC': '\u03B1',
    '\u03AD': '\u03B5',
    '\u03AE': '\u03B7',
    '\u03AF': '\u03B9',
    '\u03CA': '\u03B9',
    '\u0390': '\u03B9',
    '\u03CC': '\u03BF',
    '\u03CD': '\u03C5',
    '\u03CB': '\u03C5',
    '\u03B0': '\u03C5',
    '\u03C9': '\u03C9',
    '\u03C2': '\u03C3'
  };

  return diacritics;
});

S2.define('select2/data/base',[
  '../utils'
], function (Utils) {
  function BaseAdapter ($element, options) {
    BaseAdapter.__super__.constructor.call(this);
  }

  Utils.Extend(BaseAdapter, Utils.Observable);

  BaseAdapter.prototype.current = function (callback) {
    throw new Error('The `current` method must be defined in child classes.');
  };

  BaseAdapter.prototype.query = function (params, callback) {
    throw new Error('The `query` method must be defined in child classes.');
  };

  BaseAdapter.prototype.bind = function (container, $container) {
    // Can be implemented in subclasses
  };

  BaseAdapter.prototype.destroy = function () {
    // Can be implemented in subclasses
  };

  BaseAdapter.prototype.generateResultId = function (container, data) {
    var id = container.id + '-result-';

    id += Utils.generateChars(4);

    if (data.id != null) {
      id += '-' + data.id.toString();
    } else {
      id += '-' + Utils.generateChars(4);
    }
    return id;
  };

  return BaseAdapter;
});

S2.define('select2/data/select',[
  './base',
  '../utils',
  'jquery'
], function (BaseAdapter, Utils, $) {
  function SelectAdapter ($element, options) {
    this.$element = $element;
    this.options = options;

    SelectAdapter.__super__.constructor.call(this);
  }

  Utils.Extend(SelectAdapter, BaseAdapter);

  SelectAdapter.prototype.current = function (callback) {
    var data = [];
    var self = this;

    this.$element.find(':selected').each(function () {
      var $option = $(this);

      var option = self.item($option);

      data.push(option);
    });

    callback(data);
  };

  SelectAdapter.prototype.select = function (data) {
    var self = this;

    data.selected = true;

    // If data.element is a DOM node, use it instead
    if ($(data.element).is('option')) {
      data.element.selected = true;

      this.$element.trigger('change');

      return;
    }

    if (this.$element.prop('multiple')) {
      this.current(function (currentData) {
        var val = [];

        data = [data];
        data.push.apply(data, currentData);

        for (var d = 0; d < data.length; d++) {
          var id = data[d].id;

          if ($.inArray(id, val) === -1) {
            val.push(id);
          }
        }

        self.$element.val(val);
        self.$element.trigger('change');
      });
    } else {
      var val = data.id;

      this.$element.val(val);
      this.$element.trigger('change');
    }
  };

  SelectAdapter.prototype.unselect = function (data) {
    var self = this;

    if (!this.$element.prop('multiple')) {
      return;
    }

    data.selected = false;

    if ($(data.element).is('option')) {
      data.element.selected = false;

      this.$element.trigger('change');

      return;
    }

    this.current(function (currentData) {
      var val = [];

      for (var d = 0; d < currentData.length; d++) {
        var id = currentData[d].id;

        if (id !== data.id && $.inArray(id, val) === -1) {
          val.push(id);
        }
      }

      self.$element.val(val);

      self.$element.trigger('change');
    });
  };

  SelectAdapter.prototype.bind = function (container, $container) {
    var self = this;

    this.container = container;

    container.on('select', function (params) {
      self.select(params.data);
    });

    container.on('unselect', function (params) {
      self.unselect(params.data);
    });
  };

  SelectAdapter.prototype.destroy = function () {
    // Remove anything added to child elements
    this.$element.find('*').each(function () {
      // Remove any custom data set by Select2
      Utils.RemoveData(this);
    });
  };

  SelectAdapter.prototype.query = function (params, callback) {
    var data = [];
    var self = this;

    var $options = this.$element.children();

    $options.each(function () {
      var $option = $(this);

      if (!$option.is('option') && !$option.is('optgroup')) {
        return;
      }

      var option = self.item($option);

      var matches = self.matches(params, option);

      if (matches !== null) {
        data.push(matches);
      }
    });

    callback({
      results: data
    });
  };

  SelectAdapter.prototype.addOptions = function ($options) {
    Utils.appendMany(this.$element, $options);
  };

  SelectAdapter.prototype.option = function (data) {
    var option;

    if (data.children) {
      option = document.createElement('optgroup');
      option.label = data.text;
    } else {
      option = document.createElement('option');

      if (option.textContent !== undefined) {
        option.textContent = data.text;
      } else {
        option.innerText = data.text;
      }
    }

    if (data.id !== undefined) {
      option.value = data.id;
    }

    if (data.disabled) {
      option.disabled = true;
    }

    if (data.selected) {
      option.selected = true;
    }

    if (data.title) {
      option.title = data.title;
    }

    var $option = $(option);

    var normalizedData = this._normalizeItem(data);
    normalizedData.element = option;

    // Override the option's data with the combined data
    Utils.StoreData(option, 'data', normalizedData);

    return $option;
  };

  SelectAdapter.prototype.item = function ($option) {
    var data = {};

    data = Utils.GetData($option[0], 'data');

    if (data != null) {
      return data;
    }

    if ($option.is('option')) {
      data = {
        id: $option.val(),
        text: $option.text(),
        disabled: $option.prop('disabled'),
        selected: $option.prop('selected'),
        title: $option.prop('title')
      };
    } else if ($option.is('optgroup')) {
      data = {
        text: $option.prop('label'),
        children: [],
        title: $option.prop('title')
      };

      var $children = $option.children('option');
      var children = [];

      for (var c = 0; c < $children.length; c++) {
        var $child = $($children[c]);

        var child = this.item($child);

        children.push(child);
      }

      data.children = children;
    }

    data = this._normalizeItem(data);
    data.element = $option[0];

    Utils.StoreData($option[0], 'data', data);

    return data;
  };

  SelectAdapter.prototype._normalizeItem = function (item) {
    if (item !== Object(item)) {
      item = {
        id: item,
        text: item
      };
    }

    item = $.extend({}, {
      text: ''
    }, item);

    var defaults = {
      selected: false,
      disabled: false
    };

    if (item.id != null) {
      item.id = item.id.toString();
    }

    if (item.text != null) {
      item.text = item.text.toString();
    }

    if (item._resultId == null && item.id && this.container != null) {
      item._resultId = this.generateResultId(this.container, item);
    }

    return $.extend({}, defaults, item);
  };

  SelectAdapter.prototype.matches = function (params, data) {
    var matcher = this.options.get('matcher');

    return matcher(params, data);
  };

  return SelectAdapter;
});

S2.define('select2/data/array',[
  './select',
  '../utils',
  'jquery'
], function (SelectAdapter, Utils, $) {
  function ArrayAdapter ($element, options) {
    var data = options.get('data') || [];

    ArrayAdapter.__super__.constructor.call(this, $element, options);

    this.addOptions(this.convertToOptions(data));
  }

  Utils.Extend(ArrayAdapter, SelectAdapter);

  ArrayAdapter.prototype.select = function (data) {
    var $option = this.$element.find('option').filter(function (i, elm) {
      return elm.value == data.id.toString();
    });

    if ($option.length === 0) {
      $option = this.option(data);

      this.addOptions($option);
    }

    ArrayAdapter.__super__.select.call(this, data);
  };

  ArrayAdapter.prototype.convertToOptions = function (data) {
    var self = this;

    var $existing = this.$element.find('option');
    var existingIds = $existing.map(function () {
      return self.item($(this)).id;
    }).get();

    var $options = [];

    // Filter out all items except for the one passed in the argument
    function onlyItem (item) {
      return function () {
        return $(this).val() == item.id;
      };
    }

    for (var d = 0; d < data.length; d++) {
      var item = this._normalizeItem(data[d]);

      // Skip items which were pre-loaded, only merge the data
      if ($.inArray(item.id, existingIds) >= 0) {
        var $existingOption = $existing.filter(onlyItem(item));

        var existingData = this.item($existingOption);
        var newData = $.extend(true, {}, item, existingData);

        var $newOption = this.option(newData);

        $existingOption.replaceWith($newOption);

        continue;
      }

      var $option = this.option(item);

      if (item.children) {
        var $children = this.convertToOptions(item.children);

        Utils.appendMany($option, $children);
      }

      $options.push($option);
    }

    return $options;
  };

  return ArrayAdapter;
});

S2.define('select2/data/ajax',[
  './array',
  '../utils',
  'jquery'
], function (ArrayAdapter, Utils, $) {
  function AjaxAdapter ($element, options) {
    this.ajaxOptions = this._applyDefaults(options.get('ajax'));

    if (this.ajaxOptions.processResults != null) {
      this.processResults = this.ajaxOptions.processResults;
    }

    AjaxAdapter.__super__.constructor.call(this, $element, options);
  }

  Utils.Extend(AjaxAdapter, ArrayAdapter);

  AjaxAdapter.prototype._applyDefaults = function (options) {
    var defaults = {
      data: function (params) {
        return $.extend({}, params, {
          q: params.term
        });
      },
      transport: function (params, success, failure) {
        var $request = $.ajax(params);

        $request.then(success);
        $request.fail(failure);

        return $request;
      }
    };

    return $.extend({}, defaults, options, true);
  };

  AjaxAdapter.prototype.processResults = function (results) {
    return results;
  };

  AjaxAdapter.prototype.query = function (params, callback) {
    var matches = [];
    var self = this;

    if (this._request != null) {
      // JSONP requests cannot always be aborted
      if ($.isFunction(this._request.abort)) {
        this._request.abort();
      }

      this._request = null;
    }

    var options = $.extend({
      type: 'GET'
    }, this.ajaxOptions);

    if (typeof options.url === 'function') {
      options.url = options.url.call(this.$element, params);
    }

    if (typeof options.data === 'function') {
      options.data = options.data.call(this.$element, params);
    }

    function request () {
      var $request = options.transport(options, function (data) {
        var results = self.processResults(data, params);

        if (self.options.get('debug') && window.console && console.error) {
          // Check to make sure that the response included a `results` key.
          if (!results || !results.results || !$.isArray(results.results)) {
            console.error(
              'Select2: The AJAX results did not return an array in the ' +
              '`results` key of the response.'
            );
          }
        }

        callback(results);
      }, function () {
        // Attempt to detect if a request was aborted
        // Only works if the transport exposes a status property
        if ('status' in $request &&
            ($request.status === 0 || $request.status === '0')) {
          return;
        }

        self.trigger('results:message', {
          message: 'errorLoading'
        });
      });

      self._request = $request;
    }

    if (this.ajaxOptions.delay && params.term != null) {
      if (this._queryTimeout) {
        window.clearTimeout(this._queryTimeout);
      }

      this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay);
    } else {
      request();
    }
  };

  return AjaxAdapter;
});

S2.define('select2/data/tags',[
  'jquery'
], function ($) {
  function Tags (decorated, $element, options) {
    var tags = options.get('tags');

    var createTag = options.get('createTag');

    if (createTag !== undefined) {
      this.createTag = createTag;
    }

    var insertTag = options.get('insertTag');

    if (insertTag !== undefined) {
        this.insertTag = insertTag;
    }

    decorated.call(this, $element, options);

    if ($.isArray(tags)) {
      for (var t = 0; t < tags.length; t++) {
        var tag = tags[t];
        var item = this._normalizeItem(tag);

        var $option = this.option(item);

        this.$element.append($option);
      }
    }
  }

  Tags.prototype.query = function (decorated, params, callback) {
    var self = this;

    this._removeOldTags();

    if (params.term == null || params.page != null) {
      decorated.call(this, params, callback);
      return;
    }

    function wrapper (obj, child) {
      var data = obj.results;

      for (var i = 0; i < data.length; i++) {
        var option = data[i];

        var checkChildren = (
          option.children != null &&
          !wrapper({
            results: option.children
          }, true)
        );

        var optionText = (option.text || '').toUpperCase();
        var paramsTerm = (params.term || '').toUpperCase();

        var checkText = optionText === paramsTerm;

        if (checkText || checkChildren) {
          if (child) {
            return false;
          }

          obj.data = data;
          callback(obj);

          return;
        }
      }

      if (child) {
        return true;
      }

      var tag = self.createTag(params);

      if (tag != null) {
        var $option = self.option(tag);
        $option.attr('data-select2-tag', true);

        self.addOptions([$option]);

        self.insertTag(data, tag);
      }

      obj.results = data;

      callback(obj);
    }

    decorated.call(this, params, wrapper);
  };

  Tags.prototype.createTag = function (decorated, params) {
    var term = $.trim(params.term);

    if (term === '') {
      return null;
    }

    return {
      id: term,
      text: term
    };
  };

  Tags.prototype.insertTag = function (_, data, tag) {
    data.unshift(tag);
  };

  Tags.prototype._removeOldTags = function (_) {
    var tag = this._lastTag;

    var $options = this.$element.find('option[data-select2-tag]');

    $options.each(function () {
      if (this.selected) {
        return;
      }

      $(this).remove();
    });
  };

  return Tags;
});

S2.define('select2/data/tokenizer',[
  'jquery'
], function ($) {
  function Tokenizer (decorated, $element, options) {
    var tokenizer = options.get('tokenizer');

    if (tokenizer !== undefined) {
      this.tokenizer = tokenizer;
    }

    decorated.call(this, $element, options);
  }

  Tokenizer.prototype.bind = function (decorated, container, $container) {
    decorated.call(this, container, $container);

    this.$search =  container.dropdown.$search || container.selection.$search ||
      $container.find('.select2-search__field');
  };

  Tokenizer.prototype.query = function (decorated, params, callback) {
    var self = this;

    function createAndSelect (data) {
      // Normalize the data object so we can use it for checks
      var item = self._normalizeItem(data);

      // Check if the data object already exists as a tag
      // Select it if it doesn't
      var $existingOptions = self.$element.find('option').filter(function () {
        return $(this).val() === item.id;
      });

      // If an existing option wasn't found for it, create the option
      if (!$existingOptions.length) {
        var $option = self.option(item);
        $option.attr('data-select2-tag', true);

        self._removeOldTags();
        self.addOptions([$option]);
      }

      // Select the item, now that we know there is an option for it
      select(item);
    }

    function select (data) {
      self.trigger('select', {
        data: data
      });
    }

    params.term = params.term || '';

    var tokenData = this.tokenizer(params, this.options, createAndSelect);

    if (tokenData.term !== params.term) {
      // Replace the search term if we have the search box
      if (this.$search.length) {
        this.$search.val(tokenData.term);
        this.$search.focus();
      }

      params.term = tokenData.term;
    }

    decorated.call(this, params, callback);
  };

  Tokenizer.prototype.tokenizer = function (_, params, options, callback) {
    var separators = options.get('tokenSeparators') || [];
    var term = params.term;
    var i = 0;

    var createTag = this.createTag || function (params) {
      return {
        id: params.term,
        text: params.term
      };
    };

    while (i < term.length) {
      var termChar = term[i];

      if ($.inArray(termChar, separators) === -1) {
        i++;

        continue;
      }

      var part = term.substr(0, i);
      var partParams = $.extend({}, params, {
        term: part
      });

      var data = createTag(partParams);

      if (data == null) {
        i++;
        continue;
      }

      callback(data);

      // Reset the term to not include the tokenized portion
      term = term.substr(i + 1) || '';
      i = 0;
    }

    return {
      term: term
    };
  };

  return Tokenizer;
});

S2.define('select2/data/minimumInputLength',[

], function () {
  function MinimumInputLength (decorated, $e, options) {
    this.minimumInputLength = options.get('minimumInputLength');

    decorated.call(this, $e, options);
  }

  MinimumInputLength.prototype.query = function (decorated, params, callback) {
    params.term = params.term || '';

    if (params.term.length < this.minimumInputLength) {
      this.trigger('results:message', {
        message: 'inputTooShort',
        args: {
          minimum: this.minimumInputLength,
          input: params.term,
          params: params
        }
      });

      return;
    }

    decorated.call(this, params, callback);
  };

  return MinimumInputLength;
});

S2.define('select2/data/maximumInputLength',[

], function () {
  function MaximumInputLength (decorated, $e, options) {
    this.maximumInputLength = options.get('maximumInputLength');

    decorated.call(this, $e, options);
  }

  MaximumInputLength.prototype.query = function (decorated, params, callback) {
    params.term = params.term || '';

    if (this.maximumInputLength > 0 &&
        params.term.length > this.maximumInputLength) {
      this.trigger('results:message', {
        message: 'inputTooLong',
        args: {
          maximum: this.maximumInputLength,
          input: params.term,
          params: params
        }
      });

      return;
    }

    decorated.call(this, params, callback);
  };

  return MaximumInputLength;
});

S2.define('select2/data/maximumSelectionLength',[

], function (){
  function MaximumSelectionLength (decorated, $e, options) {
    this.maximumSelectionLength = options.get('maximumSelectionLength');

    decorated.call(this, $e, options);
  }

  MaximumSelectionLength.prototype.query =
    function (decorated, params, callback) {
      var self = this;

      this.current(function (currentData) {
        var count = currentData != null ? currentData.length : 0;
        if (self.maximumSelectionLength > 0 &&
          count >= self.maximumSelectionLength) {
          self.trigger('results:message', {
            message: 'maximumSelected',
            args: {
              maximum: self.maximumSelectionLength
            }
          });
          return;
        }
        decorated.call(self, params, callback);
      });
  };

  return MaximumSelectionLength;
});

S2.define('select2/dropdown',[
  'jquery',
  './utils'
], function ($, Utils) {
  function Dropdown ($element, options) {
    this.$element = $element;
    this.options = options;

    Dropdown.__super__.constructor.call(this);
  }

  Utils.Extend(Dropdown, Utils.Observable);

  Dropdown.prototype.render = function () {
    var $dropdown = $(
      '<span class="select2-dropdown">' +
        '<span class="select2-results"></span>' +
      '</span>'
    );

    $dropdown.attr('dir', this.options.get('dir'));

    this.$dropdown = $dropdown;

    return $dropdown;
  };

  Dropdown.prototype.bind = function () {
    // Should be implemented in subclasses
  };

  Dropdown.prototype.position = function ($dropdown, $container) {
    // Should be implmented in subclasses
  };

  Dropdown.prototype.destroy = function () {
    // Remove the dropdown from the DOM
    this.$dropdown.remove();
  };

  return Dropdown;
});

S2.define('select2/dropdown/search',[
  'jquery',
  '../utils'
], function ($, Utils) {
  function Search () { }

  Search.prototype.render = function (decorated) {
    var $rendered = decorated.call(this);

    var $search = $(
      '<span class="select2-search select2-search--dropdown">' +
        '<input class="select2-search__field" type="search" tabindex="-1"' +
        ' autocomplete="off" autocorrect="off" autocapitalize="none"' +
        ' spellcheck="false" role="textbox" />' +
      '</span>'
    );

    this.$searchContainer = $search;
    this.$search = $search.find('input');

    $rendered.prepend($search);

    return $rendered;
  };

  Search.prototype.bind = function (decorated, container, $container) {
    var self = this;

    decorated.call(this, container, $container);

    this.$search.on('keydown', function (evt) {
      self.trigger('keypress', evt);

      self._keyUpPrevented = evt.isDefaultPrevented();
    });

    // Workaround for browsers which do not support the `input` event
    // This will prevent double-triggering of events for browsers which support
    // both the `keyup` and `input` events.
    this.$search.on('input', function (evt) {
      // Unbind the duplicated `keyup` event
      $(this).off('keyup');
    });

    this.$search.on('keyup input', function (evt) {
      self.handleSearch(evt);
    });

    container.on('open', function () {
      self.$search.attr('tabindex', 0);

      self.$search.focus();

      window.setTimeout(function () {
        self.$search.focus();
      }, 0);
    });

    container.on('close', function () {
      self.$search.attr('tabindex', -1);

      self.$search.val('');
      self.$search.blur();
    });

    container.on('focus', function () {
      if (!container.isOpen()) {
        self.$search.focus();
      }
    });

    container.on('results:all', function (params) {
      if (params.query.term == null || params.query.term === '') {
        var showSearch = self.showSearch(params);

        if (showSearch) {
          self.$searchContainer.removeClass('select2-search--hide');
        } else {
          self.$searchContainer.addClass('select2-search--hide');
        }
      }
    });
  };

  Search.prototype.handleSearch = function (evt) {
    if (!this._keyUpPrevented) {
      var input = this.$search.val();

      this.trigger('query', {
        term: input
      });
    }

    this._keyUpPrevented = false;
  };

  Search.prototype.showSearch = function (_, params) {
    return true;
  };

  return Search;
});

S2.define('select2/dropdown/hidePlaceholder',[

], function () {
  function HidePlaceholder (decorated, $element, options, dataAdapter) {
    this.placeholder = this.normalizePlaceholder(options.get('placeholder'));

    decorated.call(this, $element, options, dataAdapter);
  }

  HidePlaceholder.prototype.append = function (decorated, data) {
    data.results = this.removePlaceholder(data.results);

    decorated.call(this, data);
  };

  HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) {
    if (typeof placeholder === 'string') {
      placeholder = {
        id: '',
        text: placeholder
      };
    }

    return placeholder;
  };

  HidePlaceholder.prototype.removePlaceholder = function (_, data) {
    var modifiedData = data.slice(0);

    for (var d = data.length - 1; d >= 0; d--) {
      var item = data[d];

      if (this.placeholder.id === item.id) {
        modifiedData.splice(d, 1);
      }
    }

    return modifiedData;
  };

  return HidePlaceholder;
});

S2.define('select2/dropdown/infiniteScroll',[
  'jquery'
], function ($) {
  function InfiniteScroll (decorated, $element, options, dataAdapter) {
    this.lastParams = {};

    decorated.call(this, $element, options, dataAdapter);

    this.$loadingMore = this.createLoadingMore();
    this.loading = false;
  }

  InfiniteScroll.prototype.append = function (decorated, data) {
    this.$loadingMore.remove();
    this.loading = false;

    decorated.call(this, data);

    if (this.showLoadingMore(data)) {
      this.$results.append(this.$loadingMore);
    }
  };

  InfiniteScroll.prototype.bind = function (decorated, container, $container) {
    var self = this;

    decorated.call(this, container, $container);

    container.on('query', function (params) {
      self.lastParams = params;
      self.loading = true;
    });

    container.on('query:append', function (params) {
      self.lastParams = params;
      self.loading = true;
    });

    this.$results.on('scroll', function () {
      var isLoadMoreVisible = $.contains(
        document.documentElement,
        self.$loadingMore[0]
      );

      if (self.loading || !isLoadMoreVisible) {
        return;
      }

      var currentOffset = self.$results.offset().top +
        self.$results.outerHeight(false);
      var loadingMoreOffset = self.$loadingMore.offset().top +
        self.$loadingMore.outerHeight(false);

      if (currentOffset + 50 >= loadingMoreOffset) {
        self.loadMore();
      }
    });
  };

  InfiniteScroll.prototype.loadMore = function () {
    this.loading = true;

    var params = $.extend({}, {page: 1}, this.lastParams);

    params.page++;

    this.trigger('query:append', params);
  };

  InfiniteScroll.prototype.showLoadingMore = function (_, data) {
    return data.pagination && data.pagination.more;
  };

  InfiniteScroll.prototype.createLoadingMore = function () {
    var $option = $(
      '<li ' +
      'class="select2-results__option select2-results__option--load-more"' +
      'role="treeitem" aria-disabled="true"></li>'
    );

    var message = this.options.get('translations').get('loadingMore');

    $option.html(message(this.lastParams));

    return $option;
  };

  return InfiniteScroll;
});

S2.define('select2/dropdown/attachBody',[
  'jquery',
  '../utils'
], function ($, Utils) {
  function AttachBody (decorated, $element, options) {
    this.$dropdownParent = options.get('dropdownParent') || $(document.body);

    decorated.call(this, $element, options);
  }

  AttachBody.prototype.bind = function (decorated, container, $container) {
    var self = this;

    var setupResultsEvents = false;

    decorated.call(this, container, $container);

    container.on('open', function () {
      self._showDropdown();
      self._attachPositioningHandler(container);

      if (!setupResultsEvents) {
        setupResultsEvents = true;

        container.on('results:all', function () {
          self._positionDropdown();
          self._resizeDropdown();
        });

        container.on('results:append', function () {
          self._positionDropdown();
          self._resizeDropdown();
        });
      }
    });

    container.on('close', function () {
      self._hideDropdown();
      self._detachPositioningHandler(container);
    });

    this.$dropdownContainer.on('mousedown', function (evt) {
      evt.stopPropagation();
    });
  };

  AttachBody.prototype.destroy = function (decorated) {
    decorated.call(this);

    this.$dropdownContainer.remove();
  };

  AttachBody.prototype.position = function (decorated, $dropdown, $container) {
    // Clone all of the container classes
    $dropdown.attr('class', $container.attr('class'));

    $dropdown.removeClass('select2');
    $dropdown.addClass('select2-container--open');

    $dropdown.css({
      position: 'absolute',
      top: -999999
    });

    this.$container = $container;
  };

  AttachBody.prototype.render = function (decorated) {
    var $container = $('<span></span>');

    var $dropdown = decorated.call(this);
    $container.append($dropdown);

    this.$dropdownContainer = $container;

    return $container;
  };

  AttachBody.prototype._hideDropdown = function (decorated) {
    this.$dropdownContainer.detach();
  };

  AttachBody.prototype._attachPositioningHandler =
      function (decorated, container) {
    var self = this;

    var scrollEvent = 'scroll.select2.' + container.id;
    var resizeEvent = 'resize.select2.' + container.id;
    var orientationEvent = 'orientationchange.select2.' + container.id;

    var $watchers = this.$container.parents().filter(Utils.hasScroll);
    $watchers.each(function () {
      Utils.StoreData(this, 'select2-scroll-position', {
        x: $(this).scrollLeft(),
        y: $(this).scrollTop()
      });
    });

    $watchers.on(scrollEvent, function (ev) {
      var position = Utils.GetData(this, 'select2-scroll-position');
      $(this).scrollTop(position.y);
    });

    $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent,
      function (e) {
      self._positionDropdown();
      self._resizeDropdown();
    });
  };

  AttachBody.prototype._detachPositioningHandler =
      function (decorated, container) {
    var scrollEvent = 'scroll.select2.' + container.id;
    var resizeEvent = 'resize.select2.' + container.id;
    var orientationEvent = 'orientationchange.select2.' + container.id;

    var $watchers = this.$container.parents().filter(Utils.hasScroll);
    $watchers.off(scrollEvent);

    $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent);
  };

  AttachBody.prototype._positionDropdown = function () {
    var $window = $(window);

    var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above');
    var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below');

    var newDirection = null;

    var offset = this.$container.offset();

    offset.bottom = offset.top + this.$container.outerHeight(false);

    var container = {
      height: this.$container.outerHeight(false)
    };

    container.top = offset.top;
    container.bottom = offset.top + container.height;

    var dropdown = {
      height: this.$dropdown.outerHeight(false)
    };

    var viewport = {
      top: $window.scrollTop(),
      bottom: $window.scrollTop() + $window.height()
    };

    var enoughRoomAbove = viewport.top < (offset.top - dropdown.height);
    var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height);

    var css = {
      left: offset.left,
      top: container.bottom
    };

    // Determine what the parent element is to use for calciulating the offset
    var $offsetParent = this.$dropdownParent;

    // For statically positoned elements, we need to get the element
    // that is determining the offset
    if ($offsetParent.css('position') === 'static') {
      $offsetParent = $offsetParent.offsetParent();
    }

    var parentOffset = $offsetParent.offset();

    css.top -= parentOffset.top;
    css.left -= parentOffset.left;

    if (!isCurrentlyAbove && !isCurrentlyBelow) {
      newDirection = 'below';
    }

    if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {
      newDirection = 'above';
    } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {
      newDirection = 'below';
    }

    if (newDirection == 'above' ||
      (isCurrentlyAbove && newDirection !== 'below')) {
      css.top = container.top - parentOffset.top - dropdown.height;
    }

    if (newDirection != null) {
      this.$dropdown
        .removeClass('select2-dropdown--below select2-dropdown--above')
        .addClass('select2-dropdown--' + newDirection);
      this.$container
        .removeClass('select2-container--below select2-container--above')
        .addClass('select2-container--' + newDirection);
    }

    this.$dropdownContainer.css(css);
  };

  AttachBody.prototype._resizeDropdown = function () {
    var css = {
      width: this.$container.outerWidth(false) + 'px'
    };

    if (this.options.get('dropdownAutoWidth')) {
      css.minWidth = css.width;
      css.position = 'relative';
      css.width = 'auto';
    }

    this.$dropdown.css(css);
  };

  AttachBody.prototype._showDropdown = function (decorated) {
    this.$dropdownContainer.appendTo(this.$dropdownParent);

    this._positionDropdown();
    this._resizeDropdown();
  };

  return AttachBody;
});

S2.define('select2/dropdown/minimumResultsForSearch',[

], function () {
  function countResults (data) {
    var count = 0;

    for (var d = 0; d < data.length; d++) {
      var item = data[d];

      if (item.children) {
        count += countResults(item.children);
      } else {
        count++;
      }
    }

    return count;
  }

  function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
    this.minimumResultsForSearch = options.get('minimumResultsForSearch');

    if (this.minimumResultsForSearch < 0) {
      this.minimumResultsForSearch = Infinity;
    }

    decorated.call(this, $element, options, dataAdapter);
  }

  MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
    if (countResults(params.data.results) < this.minimumResultsForSearch) {
      return false;
    }

    return decorated.call(this, params);
  };

  return MinimumResultsForSearch;
});

S2.define('select2/dropdown/selectOnClose',[
  '../utils'
], function (Utils) {
  function SelectOnClose () { }

  SelectOnClose.prototype.bind = function (decorated, container, $container) {
    var self = this;

    decorated.call(this, container, $container);

    container.on('close', function (params) {
      self._handleSelectOnClose(params);
    });
  };

  SelectOnClose.prototype._handleSelectOnClose = function (_, params) {
    if (params && params.originalSelect2Event != null) {
      var event = params.originalSelect2Event;

      // Don't select an item if the close event was triggered from a select or
      // unselect event
      if (event._type === 'select' || event._type === 'unselect') {
        return;
      }
    }

    var $highlightedResults = this.getHighlightedResults();

    // Only select highlighted results
    if ($highlightedResults.length < 1) {
      return;
    }

    var data = Utils.GetData($highlightedResults[0], 'data');

    // Don't re-select already selected resulte
    if (
      (data.element != null && data.element.selected) ||
      (data.element == null && data.selected)
    ) {
      return;
    }

    this.trigger('select', {
        data: data
    });
  };

  return SelectOnClose;
});

S2.define('select2/dropdown/closeOnSelect',[

], function () {
  function CloseOnSelect () { }

  CloseOnSelect.prototype.bind = function (decorated, container, $container) {
    var self = this;

    decorated.call(this, container, $container);

    container.on('select', function (evt) {
      self._selectTriggered(evt);
    });

    container.on('unselect', function (evt) {
      self._selectTriggered(evt);
    });
  };

  CloseOnSelect.prototype._selectTriggered = function (_, evt) {
    var originalEvent = evt.originalEvent;

    // Don't close if the control key is being held
    if (originalEvent && originalEvent.ctrlKey) {
      return;
    }

    this.trigger('close', {
      originalEvent: originalEvent,
      originalSelect2Event: evt
    });
  };

  return CloseOnSelect;
});

S2.define('select2/i18n/en',[],function () {
  // English
  return {
    errorLoading: function () {
      return 'The results could not be loaded.';
    },
    inputTooLong: function (args) {
      var overChars = args.input.length - args.maximum;

      var message = 'Please delete ' + overChars + ' character';

      if (overChars != 1) {
        message += 's';
      }

      return message;
    },
    inputTooShort: function (args) {
      var remainingChars = args.minimum - args.input.length;

      var message = 'Please enter ' + remainingChars + ' or more characters';

      return message;
    },
    loadingMore: function () {
      return 'Loading more results…';
    },
    maximumSelected: function (args) {
      var message = 'You can only select ' + args.maximum + ' item';

      if (args.maximum != 1) {
        message += 's';
      }

      return message;
    },
    noResults: function () {
      return 'No results found';
    },
    searching: function () {
      return 'Searching…';
    }
  };
});

S2.define('select2/defaults',[
  'jquery',
  'require',

  './results',

  './selection/single',
  './selection/multiple',
  './selection/placeholder',
  './selection/allowClear',
  './selection/search',
  './selection/eventRelay',

  './utils',
  './translation',
  './diacritics',

  './data/select',
  './data/array',
  './data/ajax',
  './data/tags',
  './data/tokenizer',
  './data/minimumInputLength',
  './data/maximumInputLength',
  './data/maximumSelectionLength',

  './dropdown',
  './dropdown/search',
  './dropdown/hidePlaceholder',
  './dropdown/infiniteScroll',
  './dropdown/attachBody',
  './dropdown/minimumResultsForSearch',
  './dropdown/selectOnClose',
  './dropdown/closeOnSelect',

  './i18n/en'
], function ($, require,

             ResultsList,

             SingleSelection, MultipleSelection, Placeholder, AllowClear,
             SelectionSearch, EventRelay,

             Utils, Translation, DIACRITICS,

             SelectData, ArrayData, AjaxData, Tags, Tokenizer,
             MinimumInputLength, MaximumInputLength, MaximumSelectionLength,

             Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll,
             AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect,

             EnglishTranslation) {
  function Defaults () {
    this.reset();
  }

  Defaults.prototype.apply = function (options) {
    options = $.extend(true, {}, this.defaults, options);

    if (options.dataAdapter == null) {
      if (options.ajax != null) {
        options.dataAdapter = AjaxData;
      } else if (options.data != null) {
        options.dataAdapter = ArrayData;
      } else {
        options.dataAdapter = SelectData;
      }

      if (options.minimumInputLength > 0) {
        options.dataAdapter = Utils.Decorate(
          options.dataAdapter,
          MinimumInputLength
        );
      }

      if (options.maximumInputLength > 0) {
        options.dataAdapter = Utils.Decorate(
          options.dataAdapter,
          MaximumInputLength
        );
      }

      if (options.maximumSelectionLength > 0) {
        options.dataAdapter = Utils.Decorate(
          options.dataAdapter,
          MaximumSelectionLength
        );
      }

      if (options.tags) {
        options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);
      }

      if (options.tokenSeparators != null || options.tokenizer != null) {
        options.dataAdapter = Utils.Decorate(
          options.dataAdapter,
          Tokenizer
        );
      }

      if (options.query != null) {
        var Query = require(options.amdBase + 'compat/query');

        options.dataAdapter = Utils.Decorate(
          options.dataAdapter,
          Query
        );
      }

      if (options.initSelection != null) {
        var InitSelection = require(options.amdBase + 'compat/initSelection');

        options.dataAdapter = Utils.Decorate(
          options.dataAdapter,
          InitSelection
        );
      }
    }

    if (options.resultsAdapter == null) {
      options.resultsAdapter = ResultsList;

      if (options.ajax != null) {
        options.resultsAdapter = Utils.Decorate(
          options.resultsAdapter,
          InfiniteScroll
        );
      }

      if (options.placeholder != null) {
        options.resultsAdapter = Utils.Decorate(
          options.resultsAdapter,
          HidePlaceholder
        );
      }

      if (options.selectOnClose) {
        options.resultsAdapter = Utils.Decorate(
          options.resultsAdapter,
          SelectOnClose
        );
      }
    }

    if (options.dropdownAdapter == null) {
      if (options.multiple) {
        options.dropdownAdapter = Dropdown;
      } else {
        var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch);

        options.dropdownAdapter = SearchableDropdown;
      }

      if (options.minimumResultsForSearch !== 0) {
        options.dropdownAdapter = Utils.Decorate(
          options.dropdownAdapter,
          MinimumResultsForSearch
        );
      }

      if (options.closeOnSelect) {
        options.dropdownAdapter = Utils.Decorate(
          options.dropdownAdapter,
          CloseOnSelect
        );
      }

      if (
        options.dropdownCssClass != null ||
        options.dropdownCss != null ||
        options.adaptDropdownCssClass != null
      ) {
        var DropdownCSS = require(options.amdBase + 'compat/dropdownCss');

        options.dropdownAdapter = Utils.Decorate(
          options.dropdownAdapter,
          DropdownCSS
        );
      }

      options.dropdownAdapter = Utils.Decorate(
        options.dropdownAdapter,
        AttachBody
      );
    }

    if (options.selectionAdapter == null) {
      if (options.multiple) {
        options.selectionAdapter = MultipleSelection;
      } else {
        options.selectionAdapter = SingleSelection;
      }

      // Add the placeholder mixin if a placeholder was specified
      if (options.placeholder != null) {
        options.selectionAdapter = Utils.Decorate(
          options.selectionAdapter,
          Placeholder
        );
      }

      if (options.allowClear) {
        options.selectionAdapter = Utils.Decorate(
          options.selectionAdapter,
          AllowClear
        );
      }

      if (options.multiple) {
        options.selectionAdapter = Utils.Decorate(
          options.selectionAdapter,
          SelectionSearch
        );
      }

      if (
        options.containerCssClass != null ||
        options.containerCss != null ||
        options.adaptContainerCssClass != null
      ) {
        var ContainerCSS = require(options.amdBase + 'compat/containerCss');

        options.selectionAdapter = Utils.Decorate(
          options.selectionAdapter,
          ContainerCSS
        );
      }

      options.selectionAdapter = Utils.Decorate(
        options.selectionAdapter,
        EventRelay
      );
    }

    if (typeof options.language === 'string') {
      // Check if the language is specified with a region
      if (options.language.indexOf('-') > 0) {
        // Extract the region information if it is included
        var languageParts = options.language.split('-');
        var baseLanguage = languageParts[0];

        options.language = [options.language, baseLanguage];
      } else {
        options.language = [options.language];
      }
    }

    if ($.isArray(options.language)) {
      var languages = new Translation();
      options.language.push('en');

      var languageNames = options.language;

      for (var l = 0; l < languageNames.length; l++) {
        var name = languageNames[l];
        var language = {};

        try {
          // Try to load it with the original name
          language = Translation.loadPath(name);
        } catch (e) {
          try {
            // If we couldn't load it, check if it wasn't the full path
            name = this.defaults.amdLanguageBase + name;
            language = Translation.loadPath(name);
          } catch (ex) {
            // The translation could not be loaded at all. Sometimes this is
            // because of a configuration problem, other times this can be
            // because of how Select2 helps load all possible translation files.
            if (options.debug && window.console && console.warn) {
              console.warn(
                'Select2: The language file for "' + name + '" could not be ' +
                'automatically loaded. A fallback will be used instead.'
              );
            }

            continue;
          }
        }

        languages.extend(language);
      }

      options.translations = languages;
    } else {
      var baseTranslation = Translation.loadPath(
        this.defaults.amdLanguageBase + 'en'
      );
      var customTranslation = new Translation(options.language);

      customTranslation.extend(baseTranslation);

      options.translations = customTranslation;
    }

    return options;
  };

  Defaults.prototype.reset = function () {
    function stripDiacritics (text) {
      // Used 'uni range + named function' from http://jsperf.com/diacritics/18
      function match(a) {
        return DIACRITICS[a] || a;
      }

      return text.replace(/[^\u0000-\u007E]/g, match);
    }

    function matcher (params, data) {
      // Always return the object if there is nothing to compare
      if ($.trim(params.term) === '') {
        return data;
      }

      // Do a recursive check for options with children
      if (data.children && data.children.length > 0) {
        // Clone the data object if there are children
        // This is required as we modify the object to remove any non-matches
        var match = $.extend(true, {}, data);

        // Check each child of the option
        for (var c = data.children.length - 1; c >= 0; c--) {
          var child = data.children[c];

          var matches = matcher(params, child);

          // If there wasn't a match, remove the object in the array
          if (matches == null) {
            match.children.splice(c, 1);
          }
        }

        // If any children matched, return the new object
        if (match.children.length > 0) {
          return match;
        }

        // If there were no matching children, check just the plain object
        return matcher(params, match);
      }

      var original = stripDiacritics(data.text).toUpperCase();
      var term = stripDiacritics(params.term).toUpperCase();

      // Check if the text contains the term
      if (original.indexOf(term) > -1) {
        return data;
      }

      // If it doesn't contain the term, don't return anything
      return null;
    }

    this.defaults = {
      amdBase: './',
      amdLanguageBase: './i18n/',
      closeOnSelect: true,
      debug: false,
      dropdownAutoWidth: false,
      escapeMarkup: Utils.escapeMarkup,
      language: EnglishTranslation,
      matcher: matcher,
      minimumInputLength: 0,
      maximumInputLength: 0,
      maximumSelectionLength: 0,
      minimumResultsForSearch: 0,
      selectOnClose: false,
      sorter: function (data) {
        return data;
      },
      templateResult: function (result) {
        return result.text;
      },
      templateSelection: function (selection) {
        return selection.text;
      },
      theme: 'default',
      width: 'resolve'
    };
  };

  Defaults.prototype.set = function (key, value) {
    var camelKey = $.camelCase(key);

    var data = {};
    data[camelKey] = value;

    var convertedData = Utils._convertData(data);

    $.extend(true, this.defaults, convertedData);
  };

  var defaults = new Defaults();

  return defaults;
});

S2.define('select2/options',[
  'require',
  'jquery',
  './defaults',
  './utils'
], function (require, $, Defaults, Utils) {
  function Options (options, $element) {
    this.options = options;

    if ($element != null) {
      this.fromElement($element);
    }

    this.options = Defaults.apply(this.options);

    if ($element && $element.is('input')) {
      var InputCompat = require(this.get('amdBase') + 'compat/inputData');

      this.options.dataAdapter = Utils.Decorate(
        this.options.dataAdapter,
        InputCompat
      );
    }
  }

  Options.prototype.fromElement = function ($e) {
    var excludedData = ['select2'];

    if (this.options.multiple == null) {
      this.options.multiple = $e.prop('multiple');
    }

    if (this.options.disabled == null) {
      this.options.disabled = $e.prop('disabled');
    }

    if (this.options.language == null) {
      if ($e.prop('lang')) {
        this.options.language = $e.prop('lang').toLowerCase();
      } else if ($e.closest('[lang]').prop('lang')) {
        this.options.language = $e.closest('[lang]').prop('lang');
      }
    }

    if (this.options.dir == null) {
      if ($e.prop('dir')) {
        this.options.dir = $e.prop('dir');
      } else if ($e.closest('[dir]').prop('dir')) {
        this.options.dir = $e.closest('[dir]').prop('dir');
      } else {
        this.options.dir = 'ltr';
      }
    }

    $e.prop('disabled', this.options.disabled);
    $e.prop('multiple', this.options.multiple);

    if (Utils.GetData($e[0], 'select2Tags')) {
      if (this.options.debug && window.console && console.warn) {
        console.warn(
          'Select2: The `data-select2-tags` attribute has been changed to ' +
          'use the `data-data` and `data-tags="true"` attributes and will be ' +
          'removed in future versions of Select2.'
        );
      }

      Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags'));
      Utils.StoreData($e[0], 'tags', true);
    }

    if (Utils.GetData($e[0], 'ajaxUrl')) {
      if (this.options.debug && window.console && console.warn) {
        console.warn(
          'Select2: The `data-ajax-url` attribute has been changed to ' +
          '`data-ajax--url` and support for the old attribute will be removed' +
          ' in future versions of Select2.'
        );
      }

      $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl'));
      Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl'));
	  
    }

    var dataset = {};

    // Prefer the element's `dataset` attribute if it exists
    // jQuery 1.x does not correctly handle data attributes with multiple dashes
    if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {
      dataset = $.extend(true, {}, $e[0].dataset, Utils.GetData($e[0]));
    } else {
      dataset = Utils.GetData($e[0]);
    }

    var data = $.extend(true, {}, dataset);

    data = Utils._convertData(data);

    for (var key in data) {
      if ($.inArray(key, excludedData) > -1) {
        continue;
      }

      if ($.isPlainObject(this.options[key])) {
        $.extend(this.options[key], data[key]);
      } else {
        this.options[key] = data[key];
      }
    }

    return this;
  };

  Options.prototype.get = function (key) {
    return this.options[key];
  };

  Options.prototype.set = function (key, val) {
    this.options[key] = val;
  };

  return Options;
});

S2.define('select2/core',[
  'jquery',
  './options',
  './utils',
  './keys'
], function ($, Options, Utils, KEYS) {
  var Select2 = function ($element, options) {
    if (Utils.GetData($element[0], 'select2') != null) {
      Utils.GetData($element[0], 'select2').destroy();
    }

    this.$element = $element;

    this.id = this._generateId($element);

    options = options || {};

    this.options = new Options(options, $element);

    Select2.__super__.constructor.call(this);

    // Set up the tabindex

    var tabindex = $element.attr('tabindex') || 0;
    Utils.StoreData($element[0], 'old-tabindex', tabindex);
    $element.attr('tabindex', '-1');

    // Set up containers and adapters

    var DataAdapter = this.options.get('dataAdapter');
    this.dataAdapter = new DataAdapter($element, this.options);

    var $container = this.render();

    this._placeContainer($container);

    var SelectionAdapter = this.options.get('selectionAdapter');
    this.selection = new SelectionAdapter($element, this.options);
    this.$selection = this.selection.render();

    this.selection.position(this.$selection, $container);

    var DropdownAdapter = this.options.get('dropdownAdapter');
    this.dropdown = new DropdownAdapter($element, this.options);
    this.$dropdown = this.dropdown.render();

    this.dropdown.position(this.$dropdown, $container);

    var ResultsAdapter = this.options.get('resultsAdapter');
    this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
    this.$results = this.results.render();

    this.results.position(this.$results, this.$dropdown);

    // Bind events

    var self = this;

    // Bind the container to all of the adapters
    this._bindAdapters();

    // Register any DOM event handlers
    this._registerDomEvents();

    // Register any internal event handlers
    this._registerDataEvents();
    this._registerSelectionEvents();
    this._registerDropdownEvents();
    this._registerResultsEvents();
    this._registerEvents();

    // Set the initial state
    this.dataAdapter.current(function (initialData) {
      self.trigger('selection:update', {
        data: initialData
      });
    });

    // Hide the original select
    $element.addClass('select2-hidden-accessible');
    $element.attr('aria-hidden', 'true');

    // Synchronize any monitored attributes
    this._syncAttributes();

    Utils.StoreData($element[0], 'select2', this);

    // Ensure backwards compatibility with $element.data('select2').
    $element.data('select2', this);
  };

  Utils.Extend(Select2, Utils.Observable);

  Select2.prototype._generateId = function ($element) {
    var id = '';

    if ($element.attr('id') != null) {
      id = $element.attr('id');
    } else if ($element.attr('name') != null) {
      id = $element.attr('name') + '-' + Utils.generateChars(2);
    } else {
      id = Utils.generateChars(4);
    }

    id = id.replace(/(:|\.|\[|\]|,)/g, '');
    id = 'select2-' + id;

    return id;
  };

  Select2.prototype._placeContainer = function ($container) {
    $container.insertAfter(this.$element);

    var width = this._resolveWidth(this.$element, this.options.get('width'));

    if (width != null) {
      $container.css('width', width);
    }
  };

  Select2.prototype._resolveWidth = function ($element, method) {
    var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;

    if (method == 'resolve') {
      var styleWidth = this._resolveWidth($element, 'style');

      if (styleWidth != null) {
        return styleWidth;
      }

      return this._resolveWidth($element, 'element');
    }

    if (method == 'element') {
      var elementWidth = $element.outerWidth(false);

      if (elementWidth <= 0) {
        return 'auto';
      }

      return elementWidth + 'px';
    }

    if (method == 'style') {
      var style = $element.attr('style');

      if (typeof(style) !== 'string') {
        return null;
      }

      var attrs = style.split(';');

      for (var i = 0, l = attrs.length; i < l; i = i + 1) {
        var attr = attrs[i].replace(/\s/g, '');
        var matches = attr.match(WIDTH);

        if (matches !== null && matches.length >= 1) {
          return matches[1];
        }
      }

      return null;
    }

    return method;
  };

  Select2.prototype._bindAdapters = function () {
    this.dataAdapter.bind(this, this.$container);
    this.selection.bind(this, this.$container);

    this.dropdown.bind(this, this.$container);
    this.results.bind(this, this.$container);
  };

  Select2.prototype._registerDomEvents = function () {
    var self = this;

    this.$element.on('change.select2', function () {
      self.dataAdapter.current(function (data) {
        self.trigger('selection:update', {
          data: data
        });
      });
    });

    this.$element.on('focus.select2', function (evt) {
      self.trigger('focus', evt);
    });

    this._syncA = Utils.bind(this._syncAttributes, this);
    this._syncS = Utils.bind(this._syncSubtree, this);

    if (this.$element[0].attachEvent) {
      this.$element[0].attachEvent('onpropertychange', this._syncA);
    }

    var observer = window.MutationObserver ||
      window.WebKitMutationObserver ||
      window.MozMutationObserver
    ;

    if (observer != null) {
      this._observer = new observer(function (mutations) {
        $.each(mutations, self._syncA);
        $.each(mutations, self._syncS);
      });
      this._observer.observe(this.$element[0], {
        attributes: true,
        childList: true,
        subtree: false
      });
    } else if (this.$element[0].addEventListener) {
      this.$element[0].addEventListener(
        'DOMAttrModified',
        self._syncA,
        false
      );
      this.$element[0].addEventListener(
        'DOMNodeInserted',
        self._syncS,
        false
      );
      this.$element[0].addEventListener(
        'DOMNodeRemoved',
        self._syncS,
        false
      );
    }
  };

  Select2.prototype._registerDataEvents = function () {
    var self = this;

    this.dataAdapter.on('*', function (name, params) {
      self.trigger(name, params);
    });
  };

  Select2.prototype._registerSelectionEvents = function () {
    var self = this;
    var nonRelayEvents = ['toggle', 'focus'];

    this.selection.on('toggle', function () {
      self.toggleDropdown();
    });

    this.selection.on('focus', function (params) {
      self.focus(params);
    });

    this.selection.on('*', function (name, params) {
      if ($.inArray(name, nonRelayEvents) !== -1) {
        return;
      }

      self.trigger(name, params);
    });
  };

  Select2.prototype._registerDropdownEvents = function () {
    var self = this;

    this.dropdown.on('*', function (name, params) {
      self.trigger(name, params);
    });
  };

  Select2.prototype._registerResultsEvents = function () {
    var self = this;

    this.results.on('*', function (name, params) {
      self.trigger(name, params);
    });
  };

  Select2.prototype._registerEvents = function () {
    var self = this;

    this.on('open', function () {
      self.$container.addClass('select2-container--open');
    });

    this.on('close', function () {
      self.$container.removeClass('select2-container--open');
    });

    this.on('enable', function () {
      self.$container.removeClass('select2-container--disabled');
    });

    this.on('disable', function () {
      self.$container.addClass('select2-container--disabled');
    });

    this.on('blur', function () {
      self.$container.removeClass('select2-container--focus');
    });

    this.on('query', function (params) {
      if (!self.isOpen()) {
        self.trigger('open', {});
      }

      this.dataAdapter.query(params, function (data) {
        self.trigger('results:all', {
          data: data,
          query: params
        });
      });
    });

    this.on('query:append', function (params) {
      this.dataAdapter.query(params, function (data) {
        self.trigger('results:append', {
          data: data,
          query: params
        });
      });
    });

    this.on('keypress', function (evt) {
      var key = evt.which;

      if (self.isOpen()) {
        if (key === KEYS.ESC || key === KEYS.TAB ||
            (key === KEYS.UP && evt.altKey)) {
          self.close();

          evt.preventDefault();
        } else if (key === KEYS.ENTER) {
          self.trigger('results:select', {});

          evt.preventDefault();
        } else if ((key === KEYS.SPACE && evt.ctrlKey)) {
          self.trigger('results:toggle', {});

          evt.preventDefault();
        } else if (key === KEYS.UP) {
          self.trigger('results:previous', {});

          evt.preventDefault();
        } else if (key === KEYS.DOWN) {
          self.trigger('results:next', {});

          evt.preventDefault();
        }
      } else {
        if (key === KEYS.ENTER || key === KEYS.SPACE ||
            (key === KEYS.DOWN && evt.altKey)) {
          self.open();

          evt.preventDefault();
        }
      }
    });
  };

  Select2.prototype._syncAttributes = function () {
    this.options.set('disabled', this.$element.prop('disabled'));

    if (this.options.get('disabled')) {
      if (this.isOpen()) {
        this.close();
      }

      this.trigger('disable', {});
    } else {
      this.trigger('enable', {});
    }
  };

  Select2.prototype._syncSubtree = function (evt, mutations) {
    var changed = false;
    var self = this;

    // Ignore any mutation events raised for elements that aren't options or
    // optgroups. This handles the case when the select element is destroyed
    if (
      evt && evt.target && (
        evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP'
      )
    ) {
      return;
    }

    if (!mutations) {
      // If mutation events aren't supported, then we can only assume that the
      // change affected the selections
      changed = true;
    } else if (mutations.addedNodes && mutations.addedNodes.length > 0) {
      for (var n = 0; n < mutations.addedNodes.length; n++) {
        var node = mutations.addedNodes[n];

        if (node.selected) {
          changed = true;
        }
      }
    } else if (mutations.removedNodes && mutations.removedNodes.length > 0) {
      changed = true;
    }

    // Only re-pull the data if we think there is a change
    if (changed) {
      this.dataAdapter.current(function (currentData) {
        self.trigger('selection:update', {
          data: currentData
        });
      });
    }
  };

  /**
   * Override the trigger method to automatically trigger pre-events when
   * there are events that can be prevented.
   */
  Select2.prototype.trigger = function (name, args) {
    var actualTrigger = Select2.__super__.trigger;
    var preTriggerMap = {
      'open': 'opening',
      'close': 'closing',
      'select': 'selecting',
      'unselect': 'unselecting',
      'clear': 'clearing'
    };

    if (args === undefined) {
      args = {};
    }

    if (name in preTriggerMap) {
      var preTriggerName = preTriggerMap[name];
      var preTriggerArgs = {
        prevented: false,
        name: name,
        args: args
      };

      actualTrigger.call(this, preTriggerName, preTriggerArgs);

      if (preTriggerArgs.prevented) {
        args.prevented = true;

        return;
      }
    }

    actualTrigger.call(this, name, args);
  };

  Select2.prototype.toggleDropdown = function () {
    if (this.options.get('disabled')) {
      return;
    }

    if (this.isOpen()) {
      this.close();
    } else {
      this.open();
    }
  };

  Select2.prototype.open = function () {
    if (this.isOpen()) {
      return;
    }

    this.trigger('query', {});
  };

  Select2.prototype.close = function () {
    if (!this.isOpen()) {
      return;
    }

    this.trigger('close', {});
  };

  Select2.prototype.isOpen = function () {
    return this.$container.hasClass('select2-container--open');
  };

  Select2.prototype.hasFocus = function () {
    return this.$container.hasClass('select2-container--focus');
  };

  Select2.prototype.focus = function (data) {
    // No need to re-trigger focus events if we are already focused
    if (this.hasFocus()) {
      return;
    }

    this.$container.addClass('select2-container--focus');
    this.trigger('focus', {});
  };

  Select2.prototype.enable = function (args) {
    if (this.options.get('debug') && window.console && console.warn) {
      console.warn(
        'Select2: The `select2("enable")` method has been deprecated and will' +
        ' be removed in later Select2 versions. Use $element.prop("disabled")' +
        ' instead.'
      );
    }

    if (args == null || args.length === 0) {
      args = [true];
    }

    var disabled = !args[0];

    this.$element.prop('disabled', disabled);
  };

  Select2.prototype.data = function () {
    if (this.options.get('debug') &&
        arguments.length > 0 && window.console && console.warn) {
      console.warn(
        'Select2: Data can no longer be set using `select2("data")`. You ' +
        'should consider setting the value instead using `$element.val()`.'
      );
    }

    var data = [];

    this.dataAdapter.current(function (currentData) {
      data = currentData;
    });

    return data;
  };

  Select2.prototype.val = function (args) {
    if (this.options.get('debug') && window.console && console.warn) {
      console.warn(
        'Select2: The `select2("val")` method has been deprecated and will be' +
        ' removed in later Select2 versions. Use $element.val() instead.'
      );
    }

    if (args == null || args.length === 0) {
      return this.$element.val();
    }

    var newVal = args[0];

    if ($.isArray(newVal)) {
      newVal = $.map(newVal, function (obj) {
        return obj.toString();
      });
    }

    this.$element.val(newVal).trigger('change');
  };

  Select2.prototype.destroy = function () {
    this.$container.remove();

    if (this.$element[0].detachEvent) {
      this.$element[0].detachEvent('onpropertychange', this._syncA);
    }

    if (this._observer != null) {
      this._observer.disconnect();
      this._observer = null;
    } else if (this.$element[0].removeEventListener) {
      this.$element[0]
        .removeEventListener('DOMAttrModified', this._syncA, false);
      this.$element[0]
        .removeEventListener('DOMNodeInserted', this._syncS, false);
      this.$element[0]
        .removeEventListener('DOMNodeRemoved', this._syncS, false);
    }

    this._syncA = null;
    this._syncS = null;

    this.$element.off('.select2');
    this.$element.attr('tabindex',
    Utils.GetData(this.$element[0], 'old-tabindex'));

    this.$element.removeClass('select2-hidden-accessible');
    this.$element.attr('aria-hidden', 'false');
    Utils.RemoveData(this.$element[0]);
    this.$element.removeData('select2');

    this.dataAdapter.destroy();
    this.selection.destroy();
    this.dropdown.destroy();
    this.results.destroy();

    this.dataAdapter = null;
    this.selection = null;
    this.dropdown = null;
    this.results = null;
  };

  Select2.prototype.render = function () {
    var $container = $(
      '<span class="select2 select2-container">' +
        '<span class="selection"></span>' +
        '<span class="dropdown-wrapper" aria-hidden="true"></span>' +
      '</span>'
    );

    $container.attr('dir', this.options.get('dir'));

    this.$container = $container;

    this.$container.addClass('select2-container--' + this.options.get('theme'));

    Utils.StoreData($container[0], 'element', this.$element);

    return $container;
  };

  return Select2;
});

S2.define('select2/compat/utils',[
  'jquery'
], function ($) {
  function syncCssClasses ($dest, $src, adapter) {
    var classes, replacements = [], adapted;

    classes = $.trim($dest.attr('class'));

    if (classes) {
      classes = '' + classes; // for IE which returns object

      $(classes.split(/\s+/)).each(function () {
        // Save all Select2 classes
        if (this.indexOf('select2-') === 0) {
          replacements.push(this);
        }
      });
    }

    classes = $.trim($src.attr('class'));

    if (classes) {
      classes = '' + classes; // for IE which returns object

      $(classes.split(/\s+/)).each(function () {
        // Only adapt non-Select2 classes
        if (this.indexOf('select2-') !== 0) {
          adapted = adapter(this);

          if (adapted != null) {
            replacements.push(adapted);
          }
        }
      });
    }

    $dest.attr('class', replacements.join(' '));
  }

  return {
    syncCssClasses: syncCssClasses
  };
});

S2.define('select2/compat/containerCss',[
  'jquery',
  './utils'
], function ($, CompatUtils) {
  // No-op CSS adapter that discards all classes by default
  function _containerAdapter (clazz) {
    return null;
  }

  function ContainerCSS () { }

  ContainerCSS.prototype.render = function (decorated) {
    var $container = decorated.call(this);

    var containerCssClass = this.options.get('containerCssClass') || '';

    if ($.isFunction(containerCssClass)) {
      containerCssClass = containerCssClass(this.$element);
    }

    var containerCssAdapter = this.options.get('adaptContainerCssClass');
    containerCssAdapter = containerCssAdapter || _containerAdapter;

    if (containerCssClass.indexOf(':all:') !== -1) {
      containerCssClass = containerCssClass.replace(':all:', '');

      var _cssAdapter = containerCssAdapter;

      containerCssAdapter = function (clazz) {
        var adapted = _cssAdapter(clazz);

        if (adapted != null) {
          // Append the old one along with the adapted one
          return adapted + ' ' + clazz;
        }

        return clazz;
      };
    }

    var containerCss = this.options.get('containerCss') || {};

    if ($.isFunction(containerCss)) {
      containerCss = containerCss(this.$element);
    }

    CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter);

    $container.css(containerCss);
    $container.addClass(containerCssClass);

    return $container;
  };

  return ContainerCSS;
});

S2.define('select2/compat/dropdownCss',[
  'jquery',
  './utils'
], function ($, CompatUtils) {
  // No-op CSS adapter that discards all classes by default
  function _dropdownAdapter (clazz) {
    return null;
  }

  function DropdownCSS () { }

  DropdownCSS.prototype.render = function (decorated) {
    var $dropdown = decorated.call(this);

    var dropdownCssClass = this.options.get('dropdownCssClass') || '';

    if ($.isFunction(dropdownCssClass)) {
      dropdownCssClass = dropdownCssClass(this.$element);
    }

    var dropdownCssAdapter = this.options.get('adaptDropdownCssClass');
    dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter;

    if (dropdownCssClass.indexOf(':all:') !== -1) {
      dropdownCssClass = dropdownCssClass.replace(':all:', '');

      var _cssAdapter = dropdownCssAdapter;

      dropdownCssAdapter = function (clazz) {
        var adapted = _cssAdapter(clazz);

        if (adapted != null) {
          // Append the old one along with the adapted one
          return adapted + ' ' + clazz;
        }

        return clazz;
      };
    }

    var dropdownCss = this.options.get('dropdownCss') || {};

    if ($.isFunction(dropdownCss)) {
      dropdownCss = dropdownCss(this.$element);
    }

    CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter);

    $dropdown.css(dropdownCss);
    $dropdown.addClass(dropdownCssClass);

    return $dropdown;
  };

  return DropdownCSS;
});

S2.define('select2/compat/initSelection',[
  'jquery'
], function ($) {
  function InitSelection (decorated, $element, options) {
    if (options.get('debug') && window.console && console.warn) {
      console.warn(
        'Select2: The `initSelection` option has been deprecated in favor' +
        ' of a custom data adapter that overrides the `current` method. ' +
        'This method is now called multiple times instead of a single ' +
        'time when the instance is initialized. Support will be removed ' +
        'for the `initSelection` option in future versions of Select2'
      );
    }

    this.initSelection = options.get('initSelection');
    this._isInitialized = false;

    decorated.call(this, $element, options);
  }

  InitSelection.prototype.current = function (decorated, callback) {
    var self = this;

    if (this._isInitialized) {
      decorated.call(this, callback);

      return;
    }

    this.initSelection.call(null, this.$element, function (data) {
      self._isInitialized = true;

      if (!$.isArray(data)) {
        data = [data];
      }

      callback(data);
    });
  };

  return InitSelection;
});

S2.define('select2/compat/inputData',[
  'jquery',
  '../utils'
], function ($, Utils) {
  function InputData (decorated, $element, options) {
    this._currentData = [];
    this._valueSeparator = options.get('valueSeparator') || ',';

    if ($element.prop('type') === 'hidden') {
      if (options.get('debug') && console && console.warn) {
        console.warn(
          'Select2: Using a hidden input with Select2 is no longer ' +
          'supported and may stop working in the future. It is recommended ' +
          'to use a `<select>` element instead.'
        );
      }
    }

    decorated.call(this, $element, options);
  }

  InputData.prototype.current = function (_, callback) {
    function getSelected (data, selectedIds) {
      var selected = [];

      if (data.selected || $.inArray(data.id, selectedIds) !== -1) {
        data.selected = true;
        selected.push(data);
      } else {
        data.selected = false;
      }

      if (data.children) {
        selected.push.apply(selected, getSelected(data.children, selectedIds));
      }

      return selected;
    }

    var selected = [];

    for (var d = 0; d < this._currentData.length; d++) {
      var data = this._currentData[d];

      selected.push.apply(
        selected,
        getSelected(
          data,
          this.$element.val().split(
            this._valueSeparator
          )
        )
      );
    }

    callback(selected);
  };

  InputData.prototype.select = function (_, data) {
    if (!this.options.get('multiple')) {
      this.current(function (allData) {
        $.map(allData, function (data) {
          data.selected = false;
        });
      });

      this.$element.val(data.id);
      this.$element.trigger('change');
    } else {
      var value = this.$element.val();
      value += this._valueSeparator + data.id;

      this.$element.val(value);
      this.$element.trigger('change');
    }
  };

  InputData.prototype.unselect = function (_, data) {
    var self = this;

    data.selected = false;

    this.current(function (allData) {
      var values = [];

      for (var d = 0; d < allData.length; d++) {
        var item = allData[d];

        if (data.id == item.id) {
          continue;
        }

        values.push(item.id);
      }

      self.$element.val(values.join(self._valueSeparator));
      self.$element.trigger('change');
    });
  };

  InputData.prototype.query = function (_, params, callback) {
    var results = [];

    for (var d = 0; d < this._currentData.length; d++) {
      var data = this._currentData[d];

      var matches = this.matches(params, data);

      if (matches !== null) {
        results.push(matches);
      }
    }

    callback({
      results: results
    });
  };

  InputData.prototype.addOptions = function (_, $options) {
    var options = $.map($options, function ($option) {
      return Utils.GetData($option[0], 'data');
    });

    this._currentData.push.apply(this._currentData, options);
  };

  return InputData;
});

S2.define('select2/compat/matcher',[
  'jquery'
], function ($) {
  function oldMatcher (matcher) {
    function wrappedMatcher (params, data) {
      var match = $.extend(true, {}, data);

      if (params.term == null || $.trim(params.term) === '') {
        return match;
      }

      if (data.children) {
        for (var c = data.children.length - 1; c >= 0; c--) {
          var child = data.children[c];

          // Check if the child object matches
          // The old matcher returned a boolean true or false
          var doesMatch = matcher(params.term, child.text, child);

          // If the child didn't match, pop it off
          if (!doesMatch) {
            match.children.splice(c, 1);
          }
        }

        if (match.children.length > 0) {
          return match;
        }
      }

      if (matcher(params.term, data.text, data)) {
        return match;
      }

      return null;
    }

    return wrappedMatcher;
  }

  return oldMatcher;
});

S2.define('select2/compat/query',[

], function () {
  function Query (decorated, $element, options) {
    if (options.get('debug') && window.console && console.warn) {
      console.warn(
        'Select2: The `query` option has been deprecated in favor of a ' +
        'custom data adapter that overrides the `query` method. Support ' +
        'will be removed for the `query` option in future versions of ' +
        'Select2.'
      );
    }

    decorated.call(this, $element, options);
  }

  Query.prototype.query = function (_, params, callback) {
    params.callback = callback;

    var query = this.options.get('query');

    query.call(null, params);
  };

  return Query;
});

S2.define('select2/dropdown/attachContainer',[

], function () {
  function AttachContainer (decorated, $element, options) {
    decorated.call(this, $element, options);
  }

  AttachContainer.prototype.position =
    function (decorated, $dropdown, $container) {
    var $dropdownContainer = $container.find('.dropdown-wrapper');
    $dropdownContainer.append($dropdown);

    $dropdown.addClass('select2-dropdown--below');
    $container.addClass('select2-container--below');
  };

  return AttachContainer;
});

S2.define('select2/dropdown/stopPropagation',[

], function () {
  function StopPropagation () { }

  StopPropagation.prototype.bind = function (decorated, container, $container) {
    decorated.call(this, container, $container);

    var stoppedEvents = [
    'blur',
    'change',
    'click',
    'dblclick',
    'focus',
    'focusin',
    'focusout',
    'input',
    'keydown',
    'keyup',
    'keypress',
    'mousedown',
    'mouseenter',
    'mouseleave',
    'mousemove',
    'mouseover',
    'mouseup',
    'search',
    'touchend',
    'touchstart'
    ];

    this.$dropdown.on(stoppedEvents.join(' '), function (evt) {
      evt.stopPropagation();
    });
  };

  return StopPropagation;
});

S2.define('select2/selection/stopPropagation',[

], function () {
  function StopPropagation () { }

  StopPropagation.prototype.bind = function (decorated, container, $container) {
    decorated.call(this, container, $container);

    var stoppedEvents = [
      'blur',
      'change',
      'click',
      'dblclick',
      'focus',
      'focusin',
      'focusout',
      'input',
      'keydown',
      'keyup',
      'keypress',
      'mousedown',
      'mouseenter',
      'mouseleave',
      'mousemove',
      'mouseover',
      'mouseup',
      'search',
      'touchend',
      'touchstart'
    ];

    this.$selection.on(stoppedEvents.join(' '), function (evt) {
      evt.stopPropagation();
    });
  };

  return StopPropagation;
});

/*!
 * jQuery Mousewheel 3.1.13
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license
 * http://jquery.org/license
 */

(function (factory) {
    if ( typeof S2.define === 'function' && S2.define.amd ) {
        // AMD. Register as an anonymous module.
        S2.define('jquery-mousewheel',['jquery'], factory);
    } else if (typeof exports === 'object') {
        // Node/CommonJS style for Browserify
        module.exports = factory;
    } else {
        // Browser globals
        factory(jQuery);
    }
}(function ($) {

    var toFix  = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'],
        toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ?
                    ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'],
        slice  = Array.prototype.slice,
        nullLowestDeltaTimeout, lowestDelta;

    if ( $.event.fixHooks ) {
        for ( var i = toFix.length; i; ) {
            $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
        }
    }

    var special = $.event.special.mousewheel = {
        version: '3.1.12',

        setup: function() {
            if ( this.addEventListener ) {
                for ( var i = toBind.length; i; ) {
                    this.addEventListener( toBind[--i], handler, false );
                }
            } else {
                this.onmousewheel = handler;
            }
            // Store the line height and page height for this particular element
            $.data(this, 'mousewheel-line-height', special.getLineHeight(this));
            $.data(this, 'mousewheel-page-height', special.getPageHeight(this));
        },

        teardown: function() {
            if ( this.removeEventListener ) {
                for ( var i = toBind.length; i; ) {
                    this.removeEventListener( toBind[--i], handler, false );
                }
            } else {
                this.onmousewheel = null;
            }
            // Clean up the data we added to the element
            $.removeData(this, 'mousewheel-line-height');
            $.removeData(this, 'mousewheel-page-height');
        },

        getLineHeight: function(elem) {
            var $elem = $(elem),
                $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent']();
            if (!$parent.length) {
                $parent = $('body');
            }
            return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16;
        },

        getPageHeight: function(elem) {
            return $(elem).height();
        },

        settings: {
            adjustOldDeltas: true, // see shouldAdjustOldDeltas() below
            normalizeOffset: true  // calls getBoundingClientRect for each event
        }
    };

    $.fn.extend({
        mousewheel: function(fn) {
            return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');
        },

        unmousewheel: function(fn) {
            return this.unbind('mousewheel', fn);
        }
    });


    function handler(event) {
        var orgEvent   = event || window.event,
            args       = slice.call(arguments, 1),
            delta      = 0,
            deltaX     = 0,
            deltaY     = 0,
            absDelta   = 0,
            offsetX    = 0,
            offsetY    = 0;
        event = $.event.fix(orgEvent);
        event.type = 'mousewheel';

        // Old school scrollwheel delta
        if ( 'detail'      in orgEvent ) { deltaY = orgEvent.detail * -1;      }
        if ( 'wheelDelta'  in orgEvent ) { deltaY = orgEvent.wheelDelta;       }
        if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY;      }
        if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; }

        // Firefox < 17 horizontal scrolling related to DOMMouseScroll event
        if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
            deltaX = deltaY * -1;
            deltaY = 0;
        }

        // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy
        delta = deltaY === 0 ? deltaX : deltaY;

        // New school wheel delta (wheel event)
        if ( 'deltaY' in orgEvent ) {
            deltaY = orgEvent.deltaY * -1;
            delta  = deltaY;
        }
        if ( 'deltaX' in orgEvent ) {
            deltaX = orgEvent.deltaX;
            if ( deltaY === 0 ) { delta  = deltaX * -1; }
        }

        // No change actually happened, no reason to go any further
        if ( deltaY === 0 && deltaX === 0 ) { return; }

        // Need to convert lines and pages to pixels if we aren't already in pixels
        // There are three delta modes:
        //   * deltaMode 0 is by pixels, nothing to do
        //   * deltaMode 1 is by lines
        //   * deltaMode 2 is by pages
        if ( orgEvent.deltaMode === 1 ) {
            var lineHeight = $.data(this, 'mousewheel-line-height');
            delta  *= lineHeight;
            deltaY *= lineHeight;
            deltaX *= lineHeight;
        } else if ( orgEvent.deltaMode === 2 ) {
            var pageHeight = $.data(this, 'mousewheel-page-height');
            delta  *= pageHeight;
            deltaY *= pageHeight;
            deltaX *= pageHeight;
        }

        // Store lowest absolute delta to normalize the delta values
        absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) );

        if ( !lowestDelta || absDelta < lowestDelta ) {
            lowestDelta = absDelta;

            // Adjust older deltas if necessary
            if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
                lowestDelta /= 40;
            }
        }

        // Adjust older deltas if necessary
        if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
            // Divide all the things by 40!
            delta  /= 40;
            deltaX /= 40;
            deltaY /= 40;
        }

        // Get a whole, normalized value for the deltas
        delta  = Math[ delta  >= 1 ? 'floor' : 'ceil' ](delta  / lowestDelta);
        deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta);
        deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta);

        // Normalise offsetX and offsetY properties
        if ( special.settings.normalizeOffset && this.getBoundingClientRect ) {
            var boundingRect = this.getBoundingClientRect();
            offsetX = event.clientX - boundingRect.left;
            offsetY = event.clientY - boundingRect.top;
        }

        // Add information to the event object
        event.deltaX = deltaX;
        event.deltaY = deltaY;
        event.deltaFactor = lowestDelta;
        event.offsetX = offsetX;
        event.offsetY = offsetY;
        // Go ahead and set deltaMode to 0 since we converted to pixels
        // Although this is a little odd since we overwrite the deltaX/Y
        // properties with normalized deltas.
        event.deltaMode = 0;

        // Add event and delta to the front of the arguments
        args.unshift(event, delta, deltaX, deltaY);

        // Clearout lowestDelta after sometime to better
        // handle multiple device types that give different
        // a different lowestDelta
        // Ex: trackpad = 3 and mouse wheel = 120
        if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); }
        nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200);

        return ($.event.dispatch || $.event.handle).apply(this, args);
    }

    function nullLowestDelta() {
        lowestDelta = null;
    }

    function shouldAdjustOldDeltas(orgEvent, absDelta) {
        // If this is an older event and the delta is divisable by 120,
        // then we are assuming that the browser is treating this as an
        // older mouse wheel event and that we should divide the deltas
        // by 40 to try and get a more usable deltaFactor.
        // Side note, this actually impacts the reported scroll distance
        // in older browsers and can cause scrolling to be slower than native.
        // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false.
        return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0;
    }

}));

S2.define('jquery.select2',[
  'jquery',
  'jquery-mousewheel',

  './select2/core',
  './select2/defaults',
  './select2/utils'
], function ($, _, Select2, Defaults, Utils) {
  if ($.fn.select2 == null) {
    // All methods that should return the element
    var thisMethods = ['open', 'close', 'destroy'];

    $.fn.select2 = function (options) {
      options = options || {};

      if (typeof options === 'object') {
        this.each(function () {
          var instanceOptions = $.extend(true, {}, options);

          var instance = new Select2($(this), instanceOptions);
        });

        return this;
      } else if (typeof options === 'string') {
        var ret;
        var args = Array.prototype.slice.call(arguments, 1);

        this.each(function () {
          var instance = Utils.GetData(this, 'select2');

          if (instance == null && window.console && console.error) {
            console.error(
              'The select2(\'' + options + '\') method was called on an ' +
              'element that is not using Select2.'
            );
          }

          ret = instance[options].apply(instance, args);
        });

        // Check if we should be returning `this`
        if ($.inArray(options, thisMethods) > -1) {
          return this;
        }

        return ret;
      } else {
        throw new Error('Invalid arguments for Select2: ' + options);
      }
    };
  }

  if ($.fn.select2.defaults == null) {
    $.fn.select2.defaults = Defaults;
  }

  return Select2;
});

  // Return the AMD loader configuration so it can be used outside of this file
  return {
    define: S2.define,
    require: S2.require
  };
}());

  // Autoload the jQuery bindings
  // We know that all of the modules exist above this, so we're safe
  var select2 = S2.require('jquery.select2');

  // Hold the AMD module references on the jQuery function that was just loaded
  // This allows Select2 to use the internal loader outside of this file, such
  // as in the language files.
  jQuery.fn.select2.amd = S2;

  // Return the Select2 instance for anyone who is importing it.
  return select2;
}));
inc/admin/metabox/class-bloglo-meta-boxes.php000064400000047226152425655560015232 0ustar00<?php
/**
 * Meta Boxes class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Meta_Boxes' ) ) :

	/**
	 * Meta Boxes Class.
	 */
	class Bloglo_Meta_Boxes {

		/**
		 * Singleton instance.
		 *
		 * @since 1.0.0
		 * @var object
		 */
		private static $instance;

		/**
		 * Metabox settings array.
		 *
		 * @since 1.0.0
		 * @var array
		 */
		private $metabox = array();

		/**
		 * Whether this is a new post. Once the post is saved and we're
		 * no longer on the `post-new.php` screen, this is going to be
		 * `false`.
		 *
		 * @since 1.0.0
		 * @var   bool
		 */
		public $is_new_post = false;

		/**
		 * Returns the instance.
		 *
		 * @since  1.0.0
		 */
		public static function get_instance() {

			if ( is_null( self::$instance ) ) {
				self::$instance = new self();
				self::$instance->actions();
			}

			return self::$instance;
		}

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		private function __construct() {}

		/**
		 * Sets up initial actions.
		 *
		 * @since  1.0.0
		 */
		private function actions() {

			// Call the register function.
			add_action( 'load-post.php', array( $this, 'register' ) );
			add_action( 'load-post-new.php', array( $this, 'register' ) );

			// Load assets.
			add_action( 'admin_enqueue_scripts', array( $this, 'load_assets' ) );
		}

		/**
		 * Registration callback.
		 *
		 * @since  1.0.0
		 */
		public function register() {

			// If this is a new post, set the new post boolean.
			if ( 'load-post-new.php' === current_action() ) {
				$this->is_new_post = true;
			}

			// Add meta boxes.
			add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 1 );

			// Save settings.
			add_action( 'save_post', array( $this, 'update' ) );

			// Config.
			add_action( 'pre_get_posts', array( $this, 'metabox_config' ) );
		}

		/**
		 * Metabox config array
		 *
		 * @since  1.0.0
		 * @return void
		 */
		public function metabox_config() {

			/**
			 * Layout settings.
			 */
			$layout_settings = array();

			// Sidebar position.
			$layout_settings['bloglo_sidebar_position'] = array(
				'id'      => 'bloglo_sidebar_position',
				'name'    => esc_html__( 'Sidebar', 'bloglo' ),
				'type'    => 'select',
				'default' => 'default',
				'choices' => array(
					''              => esc_html__( 'Default (from Customizer)', 'bloglo' ),
					'no-sidebar'    => esc_html__( 'No Sidebar', 'bloglo' ),
					'left-sidebar'  => esc_html__( 'Left Sidebar', 'bloglo' ),
					'right-sidebar' => esc_html__( 'Right Sidebar', 'bloglo' ),
				),
			);

			// Content layout.
			$layout_settings['bloglo_content_layout'] = array(
				'id'      => 'bloglo_content_layout',
				'name'    => esc_html__( 'Content Layout', 'bloglo' ),
				'type'    => 'select',
				'default' => 'default',
				'choices' => array(
					''             => esc_html__( 'Default (from Customizer)', 'bloglo' ),
					'fw-contained' => esc_html__( 'Full Width: Contained', 'bloglo' ),
					'fw-stretched' => esc_html__( 'Full Width: Stretched', 'bloglo' ),
					'boxed'        => esc_html__( 'Boxed', 'bloglo' ),
				),
			);

			// Transparent header.
			$layout_settings['bloglo_transparent_header'] = array(
				'id'      => 'bloglo_transparent_header',
				'name'    => esc_html__( 'Transparent Header', 'bloglo' ),
				'type'    => 'select',
				'default' => '',
				'choices' => array(
					''        => esc_html__( 'Default (from Customizer)', 'bloglo' ),
					'enable'  => esc_html__( 'Enable', 'bloglo' ),
					'disable' => esc_html__( 'Disable', 'bloglo' ),
				),
			);

			// Start checkbox group.
			$layout_settings['bloglo_page_sections'] = array(
				'id'     => 'bloglo_page_sections',
				'type'   => 'group',
				'fields' => array(),
			);

			// Disable Top Bar.
			if ( bloglo_option( 'top_bar_enable' ) ) {
				$layout_settings['bloglo_page_sections']['fields']['bloglo_disable_topbar'] = array(
					'id'      => 'bloglo_disable_topbar',
					'name'    => esc_html__( 'Disable Top Bar', 'bloglo' ),
					'default' => false,
					'type'    => 'checkbox',
				);
			}

			// Disable Header.
			$layout_settings['bloglo_page_sections']['fields']['bloglo_disable_header'] = array(
				'id'      => 'bloglo_disable_header',
				'name'    => esc_html__( 'Disable Main Header', 'bloglo' ),
				'default' => false,
				'type'    => 'checkbox',
			);

			// Disable Page Title.
			if ( bloglo_option( 'page_header_enable' ) ) {
				$layout_settings['bloglo_page_sections']['fields']['bloglo_disable_page_title'] = array(
					'id'      => 'bloglo_disable_page_title',
					'name'    => esc_html__( 'Disable Page Title', 'bloglo' ),
					'default' => false,
					'type'    => 'checkbox',
				);
			}

			// Disable Page Breadcrumbs.
			if ( bloglo_option( 'page_header_enable' ) && bloglo_option( 'breadcrumbs_enable' ) && ! bloglo_is_section_disabled( bloglo_option( 'breadcrumbs_hide_on' ), get_the_ID() ) ) {
				$layout_settings['bloglo_page_sections']['fields']['bloglo_disable_breadcrumbs'] = array(
					'id'      => 'bloglo_disable_breadcrumbs',
					'name'    => esc_html__( 'Disable Breadcrumbs', 'bloglo' ),
					'default' => false,
					'type'    => 'checkbox',
				);
			}

			// Disable Featured Image.
			$layout_settings['bloglo_page_sections']['fields']['bloglo_disable_thumbnail'] = array(
				'id'      => 'bloglo_disable_thumbnail',
				'name'    => esc_html__( 'Disable Featured Image', 'bloglo' ),
				'default' => false,
				'type'    => 'checkbox',
			);

			// Disable Prefooter.
			if ( bloglo_option( 'enable_pre_footer_cta' ) && ! bloglo_is_section_disabled( bloglo_option( 'pre_footer_cta_hide_on' ), get_the_ID() ) ) {
				$layout_settings['bloglo_page_sections']['fields']['bloglo_disable_prefooter_cta'] = array(
					'id'      => 'bloglo_disable_prefooter_cta',
					'name'    => esc_html__( 'Disable Pre Footer CTA', 'bloglo' ),
					'default' => false,
					'type'    => 'checkbox',
				);
			}

			// Disable Footer.
			if ( bloglo_option( 'enable_footer' ) ) {
				$layout_settings['bloglo_page_sections']['fields']['bloglo_disable_footer'] = array(
					'id'      => 'bloglo_disable_footer',
					'name'    => esc_html__( 'Disable Main Footer', 'bloglo' ),
					'default' => false,
					'type'    => 'checkbox',
				);
			}

			// Disable Copyright.
			if ( bloglo_option( 'enable_copyright' ) ) {
				$layout_settings['bloglo_page_sections']['fields']['bloglo_disable_copyright'] = array(
					'id'      => 'bloglo_disable_copyright',
					'name'    => esc_html__( 'Disable Copyright Bar', 'bloglo' ),
					'default' => false,
					'type'    => 'checkbox',
				);
			}

			// Disable Post Card Border.
			if ( bloglo_option( 'blog_card_border' ) ) {
				$layout_settings['bloglo_page_sections']['fields']['bloglo_disable_blog_card_border'] = array(
					'id'      => 'bloglo_disable_blog_card_border',
					'name'    => esc_html__( 'Disable Post Card Border', 'bloglo' ),
					'default' => false,
					'type'    => 'checkbox',
				);
			}

			// Set metabox options.
			$this->metabox = array(
				'bloglo-theme-page-options' => array(
					'id'         => 'bloglo-theme-page-options',
					'post_type'  => $this->get_post_types(),
					'capability' => 'edit_posts',
					'label'      => esc_html__( 'Theme Page Options', 'bloglo' ),
					'context'    => 'side',
					'priority'   => 'core',
					'settings'   => $layout_settings,
				),
			);

			$this->metabox = apply_filters( 'bloglo_metabox_options', $this->metabox );
		}

		/**
		 * Register Metabox.
		 *
		 * @since 1.0.0
		 * @param string $post_type Post Type of the current post page.
		 */
		public function add_meta_boxes( $post_type ) {

			if ( ! is_array( $this->metabox ) ) {
				return;
			}

			foreach ( $this->metabox as $id => $metabox ) {

				// If the manager is registered for the current post type, add a meta box.
				if ( in_array( $post_type, (array) $metabox['post_type'], true ) && $this->check_capability( $metabox['capability'] ) ) {

					add_meta_box(
						$metabox['id'],
						$metabox['label'],
						array( $this, 'render' ),
						$post_type,
						$metabox['context'],
						$metabox['priority'],
						array( 'settings' => $metabox['settings'] )
					);
				}
			}
		}

		/**
		 * Update Metabox value.
		 *
		 * @since 1.0.0
		 * @param int $post_id Post ID.
		 */
		public function update( $post_id ) {

			$do_autosave = defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE;
			$is_autosave = wp_is_post_autosave( $post_id );
			$is_revision = wp_is_post_revision( $post_id );

			if ( $do_autosave || $is_autosave || $is_revision ) {
				return;
			}

			// Loop through all metaboxes.
			foreach ( $this->metabox as $id => $metabox ) {

				// Capability check.
				if ( $this->check_capability( $metabox['capability'] ) && isset( $_POST[ $metabox['id'] ] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST[ $metabox['id'] ] ) ), $metabox['id'] . '_nonce' ) ) { // phpcs:ignore

					// Loop through metabox settings.
					foreach ( $metabox['settings'] as $setting ) {

						// Group has nested settings.
						if ( 'group' === $setting['type'] ) {
							foreach ( $setting['fields'] as $id => $config ) {
								$this->save_value( $post_id, $config );
							}
						} else {
							$this->save_value( $post_id, $setting );
						}
					}
				}
			}
		}

		/**
		 * Save the new value to postmeta database.
		 *
		 * @since  1.0.0
		 * @param  object $post_id Post object ID.
		 * @param  array  $setting Metabox config array.
		 * @return void
		 */
		public function save_value( $post_id, $setting ) {

			// Get stored value.
			$old_value = $this->get_value( $post_id, $setting );

			// Get new value.
			$new_value = $this->get_posted_value( $setting );

			if ( ! $new_value && $old_value ) {
				delete_post_meta( $post_id, $setting['id'] );
			} elseif ( $new_value !== $old_value ) {
				update_post_meta( $post_id, $setting['id'], $new_value );
			}
		}

		/**
		 * Print the meta box HTML Markup.
		 *
		 * @since  1.0.0
		 * @param  object $post    Post object.
		 * @param  array  $metabox Metabox config array.
		 * @return void
		 */
		public function render( $post, $metabox ) {

			if ( empty( $metabox['args']['settings'] ) ) {
				return;
			}

			foreach ( $metabox['args']['settings'] as $setting ) {

				echo '<div class="bloglo-meta-box-field">';

				if ( isset( $setting['render_field_callback'] ) && function_exists( $setting['render_field_callback'] ) ) {
					call_user_func( $setting['render_field_callback'], $post, $setting );
				} elseif ( method_exists( $this, 'render_field_' . $setting['type'] ) ) {
					call_user_func( array( $this, 'render_field_' . $setting['type'] ), $post, $setting );
				}

				echo '</div>';
			}

			// Nonce field to validate on save.
			wp_nonce_field( $metabox['id'] . '_nonce', $metabox['id'] );
		}

		/**
		 * Render select field.
		 *
		 * @since 1.0.0
		 * @param object $post    Current post object.
		 * @param array  $setting Array of field settings.
		 */
		public function render_field_select( $post, $setting ) {

			$saved_value = get_post_meta( $post->ID, $setting['id'], true );
			?>

			<div class="components-base-control">
				<div class="components-base-control__field">

					<?php if ( isset( $setting['name'] ) ) { ?>
						<label class="post-attributes-label-wrapper components-base-control__label" for="<?php echo esc_attr( $setting['id'] ); ?>">
							<?php echo esc_html( $setting['name'] ); ?>
						</label>
					<?php } ?>

					<select name="<?php echo esc_attr( $setting['id'] ); ?>" id="<?php echo esc_attr( $setting['id'] ); ?>">
						<?php foreach ( $setting['choices'] as $key => $value ) { ?>
							<option value="<?php echo esc_attr( $key ); ?>" <?php selected( $saved_value, $key ); ?>><?php echo esc_html( $value ); ?></option>
						<?php } ?>
					</select>

				</div>
			</div>

			<?php if ( isset( $setting['desc'] ) ) { ?>
				<p class="post-attributes-description-wrapper components-base-control__help description">
					<?php echo esc_html( $setting['desc'] ); ?>
				</p>
			<?php } ?>
			<?php
		}

		/**
		 * Render group of fields.
		 *
		 * @since 1.0.0
		 * @param object $post    Current post object.
		 * @param array  $setting Array of field settings.
		 */
		public function render_field_group( $post, $setting ) {
			?>

			<?php if ( isset( $setting['name'] ) ) { ?>
				<p class="post-attributes-label-wrapper">
					<strong><?php echo esc_html( $setting['name'] ); ?></strong>
				</p>
			<?php } ?>

			<?php if ( isset( $setting['desc'] ) ) { ?>
				<p class="post-attributes-description-wrapper">
					<?php echo esc_html( $setting['desc'] ); ?>
				</p>
			<?php } ?>

			<?php
			foreach ( $setting['fields'] as $key => $value ) {
				if ( method_exists( $this, 'render_field_' . $value['type'] ) ) {
					call_user_func( array( $this, 'render_field_' . $value['type'] ), $post, $value );
				}
			}
		}

		/**
		 * Render checkbox group field.
		 *
		 * @since 1.0.0
		 * @param object $post    Current post object.
		 * @param array  $setting Array of field settings.
		 */
		public function render_field_checkbox( $post, $setting ) {

			$saved = $this->get_value( $post->ID, $setting );
			?>
			<div class="components-panel__row bloglo-checkbox-row">
				<div class="components-base-control">
					<div class="components-base-control__field">
						<span class="components-checkbox-control__input-container bloglo-checkbox-wrapper">
							<input type="checkbox" class="components-checkbox-control__input" id="<?php echo esc_attr( $setting['id'] ); ?>" name="<?php echo esc_attr( $setting['id'] ); ?>"<?php checked( $saved, true ); ?>>
							<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" role="img" class="bloglo-checked-icon components-checkbox-control__checked" aria-hidden="true" focusable="false"><path d="M9 18.6L3.5 13l1-1L9 16.4l9.5-9.9 1 1z"></path></svg>
						</span>
						<label class="components-checkbox-control__label" for="<?php echo esc_attr( $setting['id'] ); ?>"><?php echo esc_html( $setting['name'] ); ?></label>
					</div>
				</div>
			</div>
			<?php
		}

		/**
		 * Render textarea field.
		 *
		 * @since 1.0.0
		 * @param object $post    Current post object.
		 * @param array  $setting Array of field settings.
		 */
		public function render_field_textarea( $post, $setting ) {

			$saved = $this->get_value( $post->ID, $setting );
			?>

			<div class="components-base-control">
				<div class="components-base-control__field">

					<?php if ( isset( $setting['name'] ) ) { ?>
						<label class="post-attributes-label-wrapper components-base-control__label" for="<?php echo esc_attr( $setting['id'] ); ?>">
							<?php echo esc_html( $setting['name'] ); ?>
						</label>
					<?php } ?>

					<textarea class="widefat" id="<?php echo esc_attr( $setting['id'] ); ?>" name="<?php echo esc_attr( $setting['id'] ); ?>" rows="5"><?php echo wp_kses_post( $saved ); ?></textarea>

				</div>
			</div>

			<?php if ( isset( $setting['desc'] ) ) { ?>
				<p class="post-attributes-description-wrapper components-base-control__help description">
					<?php echo wp_kses_post( $setting['desc'] ); ?>
				</p>
			<?php } ?>

			<?php
		}

		/**
		 * Render text field.
		 *
		 * @since 1.0.0
		 * @param object $post    Current post object.
		 * @param array  $setting Array of field settings.
		 */
		public function render_field_text( $post, $setting ) {

			$saved = $this->get_value( $post->ID, $setting );
			?>

			<div class="components-base-control">
				<div class="components-base-control__field">

					<?php if ( isset( $setting['name'] ) ) { ?>
						<label class="post-attributes-label-wrapper components-base-control__label" for="<?php echo esc_attr( $setting['id'] ); ?>">
							<?php echo esc_html( $setting['name'] ); ?>
						</label>
					<?php } ?>

					<input type="text" class="widefat" id="<?php echo esc_attr( $setting['id'] ); ?>" name="<?php echo esc_attr( $setting['id'] ); ?>" value="<?php echo wp_kses_post( $saved ); ?>" />

				</div>
			</div>

			<?php if ( isset( $setting['desc'] ) ) { ?>
				<p class="post-attributes-description-wrapper components-base-control__help description">
					<?php echo wp_kses_post( $setting['desc'] ); ?>
				</p>
			<?php } ?>

			<?php
		}

		/**
		 * Load required assets on the admin page(s).
		 *
		 * @since 1.0.0
		 * @param string $hook Current page hook.
		 */
		public function load_assets( $hook ) {

			global $post;

			if ( 'post-new.php' === $hook || 'post.php' === $hook ) {

				$post_type  = $post->post_type;
				$post_types = array();

				foreach ( $this->metabox as $mb ) {
					$post_types = array_merge( $post_types, (array) $mb['post_type'] );
				}

				$post_types = array_unique( $post_types );

				if ( in_array( $post_type, $post_types, true ) ) {

					// Script debug.
					$bloglo_dir    = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? 'dev/' : '';
					$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

					// Enqueue editor style.
					wp_enqueue_style(
						'bloglo-metabox-style',
						BLOGLO_THEME_URI . '/inc/admin/assets/css/bloglo-meta-boxes' . $bloglo_suffix . '.css',
						false,
						BLOGLO_THEME_VERSION
					);
				}
			}
		}

		/**
		 * Gets the value of the setting.
		 *
		 * @since 1.0.0
		 * @param int   $post_id Post ID.
		 * @param array $setting Array of setting data.
		 */
		public function get_value( $post_id, $setting ) {

			$value = get_post_meta( $post_id, $setting['id'], true );

			return ! $value && $this->is_new_post ? $setting['default'] : $value;
		}

		/**
		 * Gets the posted value of the setting.
		 *
		 * @since 1.0.0
		 * @param array $setting Setting config array.
		 */
		public function get_posted_value( $setting ) {

			$value = '';

			if ( isset( $_POST[ $setting['id'] ] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
				$value = wp_unslash( $_POST[ $setting['id'] ] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
			}

			return $this->sanitize( $value, $setting );
		}

		/**
		 * Return array of post types for metabox.
		 *
		 * @since 1.0.0
		 * @param array $args Args for get_post_types function.
		 */
		public function get_post_types( $args = false ) {

			if ( ! $args ) {
				$args = array(
					'public' => true,
				);
			}

			$return = get_post_types( $args );

			return $return;
		}

		/**
		 * Sanitizes the value of the setting.
		 *
		 * @since 1.0.0
		 * @param mixed $value   Value of the field to be sanitized.
		 * @param arary $setting Setting config array.
		 */
		public function sanitize( $value, $setting ) {

			$filter = isset( $setting['type'] ) ? $setting['type'] : '';

			switch ( $filter ) {
				case 'select':
					// Ensure input is a slug.
					$value = sanitize_key( $value );

					// Get list of choices from the setting.
					$choices = $setting['choices'];

					// If the input is a valid key, return it; otherwise, return the default.
					$value = array_key_exists( $value, $choices ) ? $value : $setting['default'];
					break;
				case 'checkbox':
					// Ensure boolean value for $value.
					$value = (bool) $value;
					break;
				case 'text':
					$value = sanitize_text_field( $value );
					break;
				case 'textarea':
					$value = wp_kses_post( $value );
					break;
				case 'no_sanitize':
				default:
					break;
			}

			return $value;
		}

		/**
		 * Checks if the control should be allowed at all.
		 *
		 * @since 1.0.0
		 * @param string $cap Capability.
		 */
		public function check_capability( $cap ) {

			if ( ! current_user_can( $cap ) ) {
				return false;
			}

			return true;
		}
	}
endif;

/**
 * The function which returns the one Bloglo Meta Boxes instance.
 *
 * Use this function like you would a global variable, except without needing
 * to declare the global.
 *
 * @since  1.0.0
 * @access public
 * @return object
 */
function bloglo_meta_boxes() {
	return Bloglo_Meta_Boxes::get_instance();
}

bloglo_meta_boxes();
inc/admin/helpers.php000064400000015337152425655560010610 0ustar00<?php
/**
 * Contains various functions that may be potentially used throughout
 * the theme.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Check if we're on a Bloglo admin page.
 *
 * @since 1.0.0
 * @param boolean|string $base current screen base.
 * @param string         $slug page slug.
 * @return boolean
 */
function bloglo_is_admin_page( $base = false, $slug = 'bloglo' ) {

	if ( false === $base ) {
		$base = get_current_screen()->base;
	}

	return false !== strpos( $base, $slug );
}

/**
 * Print admin notice.
 *
 * @since 1.0.0
 * @param array $args array of options.
 * @return boolean|void
 */
function bloglo_print_notice( $args ) {

	$defaults = array(
		'type'           => 'success',
		'message'        => '',
		'is_dismissible' => true,
		'message_id'     => '',
		'expires'        => 0,
		'display_on'     => array(),
		'action_link'    => '',
		'action_text'    => '',
		'dismiss_text'   => esc_html__( 'Dismiss', 'bloglo' ),
	);

	$args = wp_parse_args( $args, $defaults );

	if ( bloglo_is_notice_dismissed( $args['message_id'] ) ) {
		return false;
	}

	if ( ! empty( $args['display_on'] ) ) {

		$base    = get_current_screen()->base;
		$display = false;

		foreach ( $args['display_on'] as $page ) {
			if ( false !== strpos( $base, $page ) ) {
				$display = true;
			}
		}

		if ( ! $display ) {
			return false;
		}
	}

	$bloglo_is_dismissible = $args['is_dismissible'] ? ' is-dismissible' : ''; ?>

	<div id="<?php echo esc_attr( $args['message_id'] ); ?>" class="notice bloglo-notice notice-<?php echo esc_attr( $args['type'] ); ?><?php echo esc_attr( $bloglo_is_dismissible ); ?>">
		<p><?php echo ( wp_kses( $args['message'], bloglo_get_allowed_html_tags() ) ); ?></p>

		<?php
		if ( $args['action_link'] && $args['action_text'] ) {
			?>
			<p class="bloglo-notice-action">
				<a href="<?php echo esc_url( $args['action_link'] ); ?>" class="bloglo-btn primary button button-primary" role="button"><?php echo esc_html( $args['action_text'] ); ?></a>

				<?php
				if ( $args['dismiss_text'] ) {
					?>
					<a href="#" class="bloglo-btn secondary button button-secondary bloglo-notice-dismiss" role="button"><?php echo esc_html( $args['dismiss_text'] ); ?></a>
					<?php
				}
				?>
			</p><!-- END .bloglo-notice-action -->
			<?php
		}
		?>
	</div>

	<script type="text/javascript">
		jQuery( document ).ready( function ( $ ) {

			var msgid = "<?php echo esc_attr( $args['message_id'] ); ?>";
			var $el   = $( '#' + msgid );

			$el.on( 'click', '.notice-dismiss, .bloglo-notice-dismiss', function ( event ) {

				var expires = "<?php echo esc_attr( $args['expires'] ); ?>";
				var nonce = "<?php echo esc_attr( wp_create_nonce( 'bloglo_dismiss_notice' ) ); ?>";

				$.post( ajaxurl, {
					action: 		'bloglo_dismiss_notice',
					msgid: 			msgid,
					expires: 		expires,
					_ajax_nonce: 	nonce,
				} );

				$el.fadeTo( 100, 0, function() {
					$el.slideUp( 100, function() {
						$el.remove();
					});
				});
			} );
		} );
	</script>
	<?php
}

/**
 * Check if admin notice is dismissed.
 *
 * @since 1.0.0
 * @param array $id Notice ID.
 * @return boolean
 */
function bloglo_is_notice_dismissed( $id ) {

	if ( false !== get_transient( 'bloglo_notice_' . $id ) ) {
		return true;
	}

	return false;
}

/**
 * Ajax handler to dismiss admin notice.
 *
 * @since 1.0.0
 * @return void
 */
function bloglo_dismiss_notice() {

	check_ajax_referer( 'bloglo_dismiss_notice' );

	if ( ! isset( $_POST['msgid'] ) ) {
		die;
	}

	$message_id = sanitize_text_field( wp_unslash( $_POST['msgid'] ) );
	$expires    = isset( $post['expires'] ) ? intval( $post['expires'] ) : 0;

	$message              = (array) get_transient( 'bloglo_notice_' . $message_id );
	$message['time']      = time();
	$message['dismissed'] = true;

	set_transient( 'bloglo_notice_' . $message_id, $message, $expires );
	die;
}
add_action( 'wp_ajax_bloglo_dismiss_notice', 'bloglo_dismiss_notice' );

/**
 * Print admin icon.
 *
 * @since 1.0.0
 * @param string $icon             Icon name.
 * @param string $tooltip          Tooltip text.
 * @param string $tooltip_position Position of the tooltip.
 * @return void
 */
function bloglo_print_admin_icon( $icon = 'info', $tooltip = '', $tooltip_position = 'right-tooltip' ) {

	$svg_icon = '<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2v2zm0 2h-2v6h2v-6zm-1-7c-4.41 0-8 3.59-8 8s3.59 8 8 8 8-3.59 8-8-3.59-8-8-8m0-2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2z"/></svg>';

	if ( '' !== $tooltip ) {
		$tooltip = '<span class="bloglo-tooltip ' . esc_attr( $tooltip_position ) . '">' . esc_html( $tooltip ) . '</span>';
	}

	if ( 'warning' === $icon ) {
		echo '<i class="bloglo-warning-icon">' . $svg_icon . $tooltip . '</i>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	} elseif ( 'info' === $icon ) {
		echo '<i class="bloglo-info-icon">' . $svg_icon . $tooltip . '</i>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	}
}

/**
 * Check if currently using block editor page.
 *
 * @since 1.0.0
 * @return boolean
 */
function bloglo_is_block_editor() {

	if ( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() ) {
		// The Gutenberg plugin is on.
		return true;
	}

	$current_screen = get_current_screen();
	if ( method_exists( $current_screen, 'is_block_editor' ) && $current_screen->is_block_editor() ) {
		// Gutenberg page on 5+.
		return true;
	}

	return false;
}

/**
 * Print help icon with a link to documentation.
 *
 * @param  array $args Optional parameters.
 * @param  bool  $echo Return or print the link.
 * @since  1.0.0
 * @return void|string
 */
function bloglo_help_link( $args = array(), $echo = true ) {

	if ( ! apply_filters( 'bloglo_display_help_links', true ) ) {
		return;
	}

	$defaults = array(
		'link'  => '',
		'class' => array(),
	);

	$args = wp_parse_args( $args, $defaults );

	$args['class']   = (array) $args['class'];
	$args['class'][] = 'bloglo-help-link';

	$class = trim( implode( ' ', $args['class'] ) );

	$icon = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"><path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6M15 3h6v6M10 14L21 3"/></svg>';

	$output = sprintf(
		'<a href="%1$s" rel="nofollow" target="_blank" class="%2$s"><span class="bloglo-help-icon">%4$s</span>%3$s</a>',
		esc_url( $args['link'] ),
		esc_attr( $class ),
		esc_html__( 'How to use', 'bloglo' ),
		$icon
	);

	if ( $echo ) {
		echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	} else {
		return $output;
	}
}
inc/admin/index.php000064400000000225152425655560010243 0ustar00<?php
/**
 * Index file
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/* Silence is golden, and we agree. */
inc/admin/class-bloglo-admin.php000064400000022517152425655560012613 0ustar00<?php
/**
 * Admin class.
 *
 * This class ties together all admin classes.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Admin' ) ) :

	/**
	 * Admin Class
	 */
	class Bloglo_Admin {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Include admin files.
			 */
			$this->includes();

			/**
			 * Load admin assets.
			 */
			add_action( 'admin_enqueue_scripts', array( $this, 'load_assets' ) );

			/**
			 * Add filters for WordPress header and footer text.
			 */
			add_filter( 'update_footer', array( $this, 'filter_update_footer' ), 50 );
			add_filter( 'admin_footer_text', array( $this, 'filter_admin_footer_text' ), 50 );

			/**
			 * Admin page header.
			 */
			add_action( 'in_admin_header', array( $this, 'admin_header' ), 100 );

			/**
			 * Admin page footer.
			 */
			add_action( 'in_admin_footer', array( $this, 'admin_footer' ), 100 );

			/**
			 * Add notices.
			 */
			add_action( 'admin_notices', array( $this, 'admin_notices' ) );

			/**
			 * After admin loaded
			 */
			do_action( 'bloglo_admin_loaded' );
		}

		/**
		 * Includes files.
		 *
		 * @since 1.0.0
		 */
		private function includes() {

			/**
			 * Include helper functions.
			 */
			require_once BLOGLO_THEME_PATH . '/inc/admin/helpers.php'; // phpcs:ignore

			/**
			 * Include Bloglo welcome page.
			 */
			require_once BLOGLO_THEME_PATH . '/inc/admin/class-bloglo-dashboard.php'; // phpcs:ignore

			/**
			 * Guten block
			 */
			// require_once BLOGLO_THEME_PATH . '/inc/admin/guten-block.php'; // phpcs:ignore

			/**
			 * Include Bloglo meta boxes.
			 */
			require_once BLOGLO_THEME_PATH . '/inc/admin/metabox/class-bloglo-meta-boxes.php'; // phpcs:ignore

		}

		/**
		 * Load our required assets on admin pages.
		 *
		 * @since 1.0.0
		 * @param string $hook it holds the information about the current page.
		 */
		public function load_assets( $hook ) {
			/**
			 * Do not enqueue if we are not on one of our pages.
			 */
			if ( ! bloglo_is_admin_page( $hook ) ) {
				return;
			}

			// Script debug.
			$prefix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? 'dev/' : '';
			$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			/**
			 * Enqueue admin pages stylesheet.
			 */
			wp_enqueue_style(
				'bloglo-admin-styles',
				BLOGLO_THEME_URI . '/inc/admin/assets/css/bloglo-admin' . $suffix . '.css',
				false,
				BLOGLO_THEME_VERSION
			);

			/**
			 * Enqueue admin pages script.
			 */
			wp_enqueue_script(
				'bloglo-admin-script',
				BLOGLO_THEME_URI . '/inc/admin/assets/js/' . $prefix . 'bloglo-admin' . $suffix . '.js',
				array( 'jquery', 'wp-util', 'updates' ),
				BLOGLO_THEME_VERSION,
				true
			);

			/**
			 * Localize admin strings.
			 */
			$texts = array(
				'install'               => esc_html__( 'Install', 'bloglo' ),
				'install-inprogress'    => esc_html__( 'Installing...', 'bloglo' ),
				'activate-inprogress'   => esc_html__( 'Activating...', 'bloglo' ),
				'deactivate-inprogress' => esc_html__( 'Deactivating...', 'bloglo' ),
				'active'                => esc_html__( 'Active', 'bloglo' ),
				'retry'                 => esc_html__( 'Retry', 'bloglo' ),
				'please_wait'           => esc_html__( 'Please Wait...', 'bloglo' ),
				'importing'             => esc_html__( 'Importing... Please Wait...', 'bloglo' ),
				'currently_processing'  => esc_html__( 'Currently processing: ', 'bloglo' ),
				'import'                => esc_html__( 'Import', 'bloglo' ),
				'import_demo'           => esc_html__( 'Import Demo', 'bloglo' ),
				'importing_notice'      => esc_html__( 'The demo importer is still working. Closing this window may result in failed import.', 'bloglo' ),
				'import_complete'       => esc_html__( 'Import Complete!', 'bloglo' ),
				'import_complete_desc'  => esc_html__( 'The demo has been imported.', 'bloglo' ) . ' <a href="' . esc_url( get_home_url() ) . '">' . esc_html__( 'Visit site.', 'bloglo' ) . '</a>',
			);

			$strings = array(
				'ajaxurl'       => admin_url( 'admin-ajax.php' ),
				'wpnonce'       => wp_create_nonce( 'bloglo_nonce' ),
				'texts'         => $texts,
				'color_pallete' => array( '#0554f2', '#06cca6', '#2c2e3a', '#e4e7ec', '#f0b849', '#ffffff', '#000000' ),
			);

			$strings = apply_filters( 'bloglo_admin_strings', $strings );

			wp_localize_script( 'bloglo-admin-script', 'hester_strings', $strings );
		}

		/**
		 * Filters WordPress footer right text to hide all text.
		 *
		 * @since 1.0.0
		 * @param string $text Text that we're going to replace.
		 */
		public function filter_update_footer( $text ) {

			$base = get_current_screen()->base;

			/**
			 * Only do this if we are on one of our plugin pages.
			 */
			if ( bloglo_is_admin_page( $base ) ) {
				return apply_filters( 'bloglo_footer_version', esc_html__( 'Bloglo Theme', 'bloglo' ) . ' ' . BLOGLO_THEME_VERSION . '<br/><a href="' . esc_url( 'https://twitter.com/peregrine-themes' ) . '" target="_blank" rel="noopener noreferrer"><span class="dashicons dashicons-twitter"></span></a><a href="' . esc_url( 'https://www.facebook.com/peregrinethemes' ) . '" target="_blank" rel="noopener noreferrer"><span class="dashicons dashicons-facebook"></span></a>' );
			} else {
				return $text;
			}
		}

		/**
		 * Filter WordPress footer left text to display our text.
		 *
		 * @since 1.0.0
		 * @param string $text Text that we're going to replace.
		 */
		public function filter_admin_footer_text( $text ) {

			if ( bloglo_is_admin_page() ) {
				return;
			}

			return $text;
		}

		/**
		 * Outputs the page admin header.
		 *
		 * @since 1.0.0
		 */
		public function admin_header() {

			$base = get_current_screen()->base;

			if ( ! bloglo_is_admin_page( $base ) ) {
				return;
			}
			?>

			<div id="hester-header">
				<div class="hester-container">

					<a href="<?php echo esc_url( admin_url( 'admin.php?page=bloglo-dashboard' ) ); ?>" class="hester-logo">
						<img src="<?php echo esc_url( BLOGLO_THEME_URI . '/assets/images/bloglo-logo.svg' ); ?>" alt="<?php echo esc_html( 'bloglo' ); ?>" />
					</a>

					<span class="hester-header-action">
						<a href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>"><?php esc_html_e( 'Customize', 'bloglo' ); ?></a>
						<a href="<?php echo esc_url( 'http://docs.peregrine-themes.com/' ); ?>" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Help Articles', 'bloglo' ); ?></a>
					</span>

				</div>
			</div><!-- END #hester-header -->
			<?php
		}

		/**
		 * Outputs the page admin footer.
		 *
		 * @since 1.0.0
		 */
		public function admin_footer() {

			$base = get_current_screen()->base;

			if ( ! bloglo_is_admin_page( $base ) || bloglo_is_admin_page( $base, 'hester_wizard' ) ) {
				return;
			}
			?>
			<div id="hester-footer">
			<ul>
				<li><a href="<?php echo esc_url( 'http://docs.peregrine-themes.com/' ); ?>" target="_blank" rel="noopener noreferrer"><span><?php esc_html_e( 'Help Articles', 'bloglo' ); ?></span></span></a></li>
				<li><a href="<?php echo esc_url( 'https://www.facebook.com/peregrinethemes' ); ?>" target="_blank" rel="noopener noreferrer"><span><?php esc_html_e( 'Follow Facebook page', 'bloglo' ); ?></span></span></a></li>
				<li><a href="<?php echo esc_url( 'https://wordpress.org/support/theme/bloglo/reviews/#new-post' ); ?>" target="_blank" rel="noopener noreferrer"><span class="dashicons dashicons-heart" aria-hidden="true"></span><span><?php esc_html_e( 'Leave a Review', 'bloglo' ); ?></span></a></li>
			</ul>
			</div><!-- END #hester-footer -->

			<?php
		}

		/**
		 * Admin Notices
		 *
		 * @since 1.0.0
		 */
		public function admin_notices() {

			$screen = get_current_screen();

			// Display on Dashboard, Themes and Bloglo admin pages.
			if ( ! in_array( $screen->base, array( 'dashboard', 'themes' ), true ) && ! bloglo_is_admin_page() ) {
				return;
			}

			// Display if not dismissed and not on Bloglo plugins page.
			if ( ! bloglo_is_notice_dismissed( 'bloglo_notice_recommended-plugins' ) && ! bloglo_is_admin_page( false, 'bloglo-plugins' ) ) {

				$plugins = bloglo_plugin_utilities()->get_recommended_plugins();
				$plugins = bloglo_plugin_utilities()->get_deactivated_plugins( $plugins );

				$plugin_list = '';

				if ( is_array( $plugins ) && ! empty( $plugins ) ) {

					foreach ( $plugins as $slug => $plugin ) {

						$url = admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . esc_attr( $slug ) . '&TB_iframe=true&width=990&height=500' );

						$plugin_list .= '<a href="' . esc_url( $url ) . '" class="thickbox">' . esc_html( $plugin['name'] ) . '</a>, ';
					}

					wp_enqueue_script( 'plugin-install' );
					add_thickbox();

					$plugin_list = trim( $plugin_list, ', ' );

					/* translators: %1$s <strong> tag, %2$s </strong> tag */
					$message = sprintf( wp_kses( __( 'Bloglo theme recommends the following plugins: %1$s.', 'bloglo' ), bloglo_get_allowed_html_tags() ), $plugin_list );

					$navigation_items = bloglo_dashboard()->get_navigation_items();

					bloglo_print_notice(
						array(
							'type'        => 'info',
							'message'     => $message,
							'message_id'  => 'recommended-plugins',
							'expires'     => 7 * 24 * 60 * 60,
							'action_link' => $navigation_items['plugins']['url'],
							'action_text' => esc_html__( 'Install Now', 'bloglo' ),
						)
					);
				}
			}

		}
	}
endif;
inc/admin/class-bloglo-dashboard.php000064400000042226152425655560013451 0ustar00<?php
/**
 * Bloglo About page class.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Dashboard' ) ) :
	/**
	 * Bloglo Dashboard page class.
	 */
	final class Bloglo_Dashboard {

		/**
		 * Singleton instance of the class.
		 *
		 * @since 1.0.0
		 * @var object
		 */
		private static $instance;

		/**
		 * Main Bloglo Dashboard Instance.
		 *
		 * @since 1.0.0
		 * @return Bloglo_Dashboard
		 */
		public static function instance() {

			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Dashboard ) ) {
				self::$instance = new self();
			}
			return self::$instance;
		}

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			/**
			 * Register admin menu item under Appearance menu item.
			 */
			add_action( 'admin_menu', array( $this, 'add_to_menu' ), 10 );
			add_filter( 'submenu_file', array( $this, 'highlight_submenu' ) );

			/**
			 * Ajax activate & deactivate plugins.
			 */
			add_action( 'wp_ajax_hester-plugin-activate', array( $this, 'activate_plugin' ) );
			add_action( 'wp_ajax_hester-plugin-deactivate', array( $this, 'deactivate_plugin' ) );
		}

		/**
		 * Register our custom admin menu item.
		 *
		 * @since 1.0.0
		 */
		public function add_to_menu() {

			/**
			 * Dashboard page.
			 */
			add_theme_page(
				esc_html__( 'Bloglo Theme', 'bloglo' ),
				'Bloglo Theme',
				apply_filters( 'bloglo_manage_cap', 'edit_theme_options' ),
				'bloglo-dashboard',
				array( $this, 'render_dashboard' )
			);

			/**
			 * Plugins page.
			 */
			add_theme_page(
				esc_html__( 'Plugins', 'bloglo' ),
				'Plugins',
				apply_filters( 'bloglo_manage_cap', 'edit_theme_options' ),
				'bloglo-plugins',
				array( $this, 'render_plugins' )
			);

			// Hide from admin navigation.
			remove_submenu_page( 'themes.php', 'bloglo-plugins' );

			/**
			 * Changelog page.
			 */
			add_theme_page(
				esc_html__( 'Changelog', 'bloglo' ),
				'Changelog',
				apply_filters( 'bloglo_manage_cap', 'edit_theme_options' ),
				'bloglo-changelog',
				array( $this, 'render_changelog' )
			);

			// Hide from admin navigation.
			remove_submenu_page( 'themes.php', 'bloglo-changelog' );
		}

		/**
		 * Render dashboard page.
		 *
		 * @since 1.0.0
		 */
		public function render_dashboard() {

			// Render dashboard navigation.
			$this->render_navigation();

			?>
			<div class="hester-container">

				<div class="hester-section-title">
					<h2 class="hester-section-title"><?php esc_html_e( 'Getting Started', 'bloglo' ); ?></h2>
				</div><!-- END .hester-section-title -->

				<div class="hester-section hester-columns">

					<div class="hester-column">
						<div class="hester-box">
							<h4><i class="dashicons dashicons-admin-plugins"></i><?php esc_html_e( 'Install Plugins', 'bloglo' ); ?></h4>
							<p><?php esc_html_e( 'Explore recommended plugins. These free plugins provide additional features and customization options.', 'bloglo' ); ?></p>

							<div class="hester-buttons">
								<a href="<?php echo esc_url( menu_page_url( 'bloglo-plugins', false ) ); ?>" class="hester-btn secondary" role="button"><?php esc_html_e( 'Install Plugins', 'bloglo' ); ?></a>
							</div><!-- END .hester-buttons -->
						</div>
					</div>

					<div class="hester-column">
						<div class="hester-box">
							<h4><i class="dashicons dashicons-layout"></i><?php esc_html_e( 'Start with a Template', 'bloglo' ); ?></h4>
							<p><?php esc_html_e( 'Don&rsquo;t want to start from scratch? Import a pre-built demo website in 1-click and get a head start.', 'bloglo' ); ?></p>

							<div class="hester-buttons plugins">

								<?php
								if ( file_exists( WP_PLUGIN_DIR . '/hester-core/hester-core.php' ) && is_plugin_inactive( 'hester-core/hester-core.php' ) ) {
									$class       = 'hester-btn secondary';
									$button_text = __( 'Activate Hester Core', 'bloglo' );
									$link        = '#';
									$data        = ' data-plugin="hester-core" data-action="activate" data-redirect="' . esc_url( admin_url( 'admin.php?page=bloglo-demo-library' ) ) . '"';
								} elseif ( ! file_exists( WP_PLUGIN_DIR . '/hester-core/hester-core.php' ) ) {
									$class       = 'hester-btn secondary';
									$button_text = __( 'Install Hester Core', 'bloglo' );
									$link        = '#';
									$data        = ' data-plugin="hester-core" data-action="install" data-redirect="' . esc_url( admin_url( 'admin.php?page=bloglo-demo-library' ) ) . '"';
								} else {
									$class       = 'hester-btn secondary active';
									$button_text = __( 'Browse Demos', 'bloglo' );
									$link        = admin_url( 'admin.php?page=bloglo-demo-library' );
									$data        = '';
								}

								printf(
									'<a class="%1$s" %2$s %3$s role="button"> %4$s </a>',
									esc_attr( $class ),
									isset( $link ) ? 'href="' . esc_url( $link ) . '"' : '',
									$data, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
									esc_html( $button_text )
								);
								?>

							</div><!-- END .hester-buttons -->
						</div>
					</div>

					<div class="hester-column">
						<div class="hester-box">
							<h4><i class="dashicons dashicons-palmtree"></i><?php esc_html_e( 'Upload Your Logo', 'bloglo' ); ?></h4>
							<p><?php esc_html_e( 'Kick off branding your new site by uploading your logo. Simply upload your logo and customize as you need.', 'bloglo' ); ?></p>

							<div class="hester-buttons">
								<a href="<?php echo esc_url( admin_url( 'customize.php?autofocus[control]=custom_logo' ) ); ?>" class="hester-btn secondary" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Upload Logo', 'bloglo' ); ?></a>
							</div><!-- END .hester-buttons -->
						</div>
					</div>

					<div class="hester-column">
						<div class="hester-box">
							<h4><i class="dashicons dashicons-welcome-widgets-menus"></i><?php esc_html_e( 'Change Menus', 'bloglo' ); ?></h4>
							<p><?php esc_html_e( 'Customize menu links and choose what&rsquo;s displayed in available theme menu locations.', 'bloglo' ); ?></p>

							<div class="hester-buttons">
								<a href="<?php echo esc_url( admin_url( 'nav-menus.php' ) ); ?>" class="hester-btn secondary" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Go to Menus', 'bloglo' ); ?></a>
							</div><!-- END .hester-buttons -->
						</div>
					</div>

					<div class="hester-column">
						<div class="hester-box">
							<h4><i class="dashicons dashicons-art"></i><?php esc_html_e( 'Change Colors', 'bloglo' ); ?></h4>
							<p><?php esc_html_e( 'Replace the default theme colors and make your website color scheme match your brand design.', 'bloglo' ); ?></p>

							<div class="hester-buttons">
								<a href="<?php echo esc_url( admin_url( 'customize.php?autofocus[section]=bloglo_section_colors' ) ); ?>" class="hester-btn secondary" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Change Colors', 'bloglo' ); ?></a>
							</div><!-- END .hester-buttons -->
						</div>
					</div>

					<div class="hester-column">
						<div class="hester-box">
							<h4><i class="dashicons dashicons-editor-help"></i><?php esc_html_e( 'Need Help?', 'bloglo' ); ?></h4>
							<p><?php esc_html_e( 'Head over to our site to learn more about the Bloglo theme, read help articles and get support.', 'bloglo' ); ?></p>

							<div class="hester-buttons">
								<a href="http://docs.peregrine-themes.com/" target="_blank" rel="noopener noreferrer" class="hester-btn secondary"><?php esc_html_e( 'Help Articles', 'bloglo' ); ?></a>
							</div><!-- END .hester-buttons -->
						</div>
					</div>
				</div><!-- END .hester-section -->

				<div class="hester-section large-section">
					<div class="hester-hero">
						<img src="<?php echo esc_url( BLOGLO_THEME_URI . '/assets/images/bloglo-customize.svg' ); ?>" alt="<?php echo esc_html( 'Customize' ); ?>" />
					</div>

					<h2><?php esc_html_e( 'Let‘s customize your website', 'bloglo' ); ?></h2>
					<p><?php esc_html_e( 'There are many changes you can make to customize your website. Explore Bloglo customization options and make it unique.', 'bloglo' ); ?></p>

					<div class="hester-buttons">
						<a href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>" class="hester-btn primary large-button"><?php esc_html_e( 'Start Customizing', 'bloglo' ); ?></a>
					</div><!-- END .hester-buttons -->

				</div><!-- END .hester-section -->

				<?php do_action( 'bloglo_about_content_after' ); ?>

			</div><!-- END .hester-container -->

			<?php
		}

		/**
		 * Render the recommended plugins page.
		 *
		 * @since 1.0.0
		 */
		public function render_plugins() {

			// Render dashboard navigation.
			$this->render_navigation();

			$plugins = bloglo_plugin_utilities()->get_recommended_plugins();
			?>
			<div class="hester-container">

				<div class="hester-section-title">
					<h2 class="hester-section-title"><?php esc_html_e( 'Recommended Plugins', 'bloglo' ); ?></h2>
				</div><!-- END .hester-section-title -->

				<div class="hester-section hester-columns plugins">

					<?php if ( is_array( $plugins ) && ! empty( $plugins ) ) { ?>
						<?php foreach ( $plugins as $plugin ) { ?>

							<?php
							// Check plugin status.
							if ( bloglo_plugin_utilities()->is_activated( $plugin['slug'] ) ) {
								$btn_class = 'hester-btn secondary';
								$btn_text  = esc_html__( 'Deactivate', 'bloglo' );
								$action    = 'deactivate';
								$notice    = '<span class="hester-active-plugin"><span class="dashicons dashicons-yes"></span>' . esc_html__( 'Plugin activated', 'bloglo' ) . '</span>';
							} elseif ( bloglo_plugin_utilities()->is_installed( $plugin['slug'] ) ) {
								$btn_class = 'hester-btn primary';
								$btn_text  = esc_html__( 'Activate', 'bloglo' );
								$action    = 'activate';
								$notice    = '';
							} else {
								$btn_class = 'hester-btn primary';
								$btn_text  = esc_html__( 'Install & Activate', 'bloglo' );
								$action    = 'install';
								$notice    = '';
							}
							?>

							<div class="hester-column column-6">
								<div class="hester-box">

									<div class="plugin-image">
										<img src="<?php echo esc_url( $plugin['thumb'] ); ?>" alt="<?php echo esc_html( $plugin['name'] ); ?>"/>					
									</div>

									<div class="plugin-info">
										<h4><?php echo esc_html( $plugin['name'] ); ?></h4>
										<p><?php echo esc_html( $plugin['desc'] ); ?></p>
										<div class="hester-buttons">
											<?php echo ( wp_kses_post( $notice ) ); ?>
											<a href="#" class="<?php echo esc_attr( $btn_class ); ?>" data-plugin="<?php echo esc_attr( $plugin['slug'] ); ?>" data-action="<?php echo esc_attr( $action ); ?>"><?php echo esc_html( $btn_text ); ?></a>
										</div>
									</div>

								</div>
							</div>
						<?php } ?>
					<?php } ?>

				</div><!-- END .hester-section -->

				<?php do_action( 'bloglo_recommended_plugins_after' ); ?>

			</div><!-- END .hester-container -->

			<?php
		}

		/**
		 * Render the changelog page.
		 *
		 * @since 1.0.0
		 */
		public function render_changelog() {

			// Render dashboard navigation.
			$this->render_navigation();

			$changelog = BLOGLO_THEME_PATH . '/changelog.txt';

			if ( ! file_exists( $changelog ) ) {
				$changelog = esc_html__( 'Changelog file not found.', 'bloglo' );
			} elseif ( ! is_readable( $changelog ) ) {
				$changelog = esc_html__( 'Changelog file not readable.', 'bloglo' );
			} else {
				global $wp_filesystem;

				// Check if the the global filesystem isn't setup yet.
				if ( is_null( $wp_filesystem ) ) {
					WP_Filesystem();
				}

				$changelog = $wp_filesystem->get_contents( $changelog );
			}

			?>
			<div class="hester-container">

				<div class="hester-section-title">
					<h2 class="hester-section-title">
						<span><?php esc_html_e( 'Bloglo Theme Changelog', 'bloglo' ); ?></span>
						<span class="changelog-version"><?php echo esc_html( sprintf( 'v%1$s', BLOGLO_THEME_VERSION ) ); ?></span>
					</h2>

				</div><!-- END .hester-section-title -->

				<div class="hester-section hester-columns">

					<div class="hester-column column-12">
						<div class="hester-box hester-changelog">
							<pre><?php echo esc_html( $changelog ); ?></pre>
						</div>
					</div>
				</div><!-- END .hester-columns -->

				<?php do_action( 'bloglo_after_changelog' ); ?>

			</div><!-- END .hester-container -->
			<?php
		}

		/**
		 * Render admin page navigation tabs.
		 *
		 * @since 1.0.0
		 */
		public function render_navigation() {

			// Get navigation items.
			$menu_items = $this->get_navigation_items();

			?>
			<div class="hester-container">

				<div class="hester-tabs">
					<ul>
						<?php
						// Determine current tab.
						$base = $this->get_current_page();

						// Display menu items.
						foreach ( $menu_items as $item ) {

							// Check if we're on a current item.
							$current = false !== strpos( $base, $item['id'] ) ? 'current-item' : '';
							?>

							<li class="<?php echo esc_attr( $current ); ?>">
								<a href="<?php echo esc_url( $item['url'] ); ?>">
									<?php echo esc_html( $item['name'] ); ?>

									<?php
									if ( isset( $item['icon'] ) && $item['icon'] ) {
										bloglo_print_admin_icon( $item['icon'] );
									}
									?>
								</a>
							</li>

						<?php } ?>
					</ul>
				</div><!-- END .hester-tabs -->

			</div><!-- END .hester-container -->
			<?php
		}

		/**
		 * Return the current Bloglo Dashboard page.
		 *
		 * @since 1.0.0
		 * @return string $page Current dashboard page slug.
		 */
		public function get_current_page() {

			$page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : 'dashboard'; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
			$page = str_replace( 'bloglo-', '', $page );
			$page = apply_filters( 'bloglo_dashboard_current_page', $page );

			return esc_html( $page );
		}

		/**
		 * Print admin page navigation items.
		 *
		 * @since 1.0.0
		 * @return array $items Array of navigation items.
		 */
		public function get_navigation_items() {

			$items = array(
				'dashboard' => array(
					'id'   => 'dashboard',
					'name' => esc_html__( 'About', 'bloglo' ),
					'icon' => '',
					'url'  => menu_page_url( 'bloglo-dashboard', false ),
				),
				'plugins'   => array(
					'id'   => 'plugins',
					'name' => esc_html__( 'Recommended Plugins', 'bloglo' ),
					'icon' => '',
					'url'  => menu_page_url( 'bloglo-plugins', false ),
				),
				'changelog' => array(
					'id'   => 'changelog',
					'name' => esc_html__( 'Changelog', 'bloglo' ),
					'icon' => '',
					'url'  => menu_page_url( 'bloglo-changelog', false ),
				),
			);

			return apply_filters( 'bloglo_dashboard_navigation_items', $items );
		}

		/**
		 * Activate plugin.
		 *
		 * @since 1.0.0
		 */
		public function activate_plugin() {

			// Security check.
			check_ajax_referer( 'bloglo_nonce' );

			// Plugin data.
			$plugin = isset( $_POST['plugin'] ) ? sanitize_text_field( wp_unslash( $_POST['plugin'] ) ) : '';

			if ( empty( $plugin ) ) {
				wp_send_json_error( esc_html__( 'Missing plugin data', 'bloglo' ) );
			}

			if ( $plugin ) {

				$response = bloglo_plugin_utilities()->activate_plugin( $plugin );

				if ( is_wp_error( $response ) ) {
					wp_send_json_error( $response->get_error_message(), $response->get_error_code() );
				}

				wp_send_json_success();
			}

			wp_send_json_error( esc_html__( 'Failed to activate plugin. Missing plugin data.', 'bloglo' ) );
		}

		/**
		 * Deactivate plugin.
		 *
		 * @since 1.0.0
		 */
		public function deactivate_plugin() {

			// Security check.
			check_ajax_referer( 'bloglo_nonce' );

			// Plugin data.
			$plugin = isset( $_POST['plugin'] ) ? sanitize_text_field( wp_unslash( $_POST['plugin'] ) ) : '';

			if ( empty( $plugin ) ) {
				wp_send_json_error( esc_html__( 'Missing plugin data', 'bloglo' ) );
			}

			if ( $plugin ) {
				$response = bloglo_plugin_utilities()->deactivate_plugin( $plugin );

				if ( is_wp_error( $response ) ) {
					wp_send_json_error( $response->get_error_message(), $response->get_error_code() );
				}

				wp_send_json_success();
			}

			wp_send_json_error( esc_html__( 'Failed to deactivate plugin. Missing plugin data.', 'bloglo' ) );
		}

		/**
		 * Highlight dashboard page for plugins page.
		 *
		 * @since 1.0.0
		 * @param string $submenu_file The submenu file.
		 */
		public function highlight_submenu( $submenu_file ) {

			global $pagenow;

			// Check if we're on bloglo plugins or changelog page.
			if ( 'themes.php' === $pagenow ) {
				if ( isset( $_GET['page'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
					if ( 'bloglo-plugins' === $_GET['page'] || 'bloglo-changelog' === $_GET['page'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
						$submenu_file = 'bloglo-dashboard';
					}
				}
			}

			return $submenu_file;
		}
	}
endif;

/**
 * The function which returns the one Bloglo_Dashboard instance.
 *
 * Use this function like you would a global variable, except without needing
 * to declare the global.
 *
 * Example: <?php $bloglo_dashboard = bloglo_dashboard(); ?>
 *
 * @since 1.0.0
 * @return object
 */
function bloglo_dashboard() {
	return Bloglo_Dashboard::instance();
}

bloglo_dashboard();
inc/compatibility/woocommerce/woocommerce-functions.php000064400000015152152425655560017566 0ustar00<?php
/**
 * Bloglo WooCommerce compatibility functions.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

if ( ! function_exists( 'bloglo_get_wc_version' ) ) :
	/**
	 * Get the version of the currently installed WooCommerce.
	 *
	 * @since 1.0.0
	 * @return woocommerce version number or null.
	 */
	function bloglo_get_wc_version() {
		return defined( 'WC_VERSION' ) && WC_VERSION ? WC_VERSION : null;
	}
endif;

if ( ! function_exists( 'bloglo_header_widget_cart' ) ) :
	/**
	 * Outputs the header cart widget.
	 *
	 * @since 1.0.0
	 * @param array $options Array of widget options.
	 */
	function bloglo_header_widget_cart( $options ) {

		// Cart widget.
		bloglo_wc_cart_icon();

		// Skip dropdown on checkout and cart.
		if ( is_checkout() || is_cart() ) {
			return;
		}

		// Cart dropdown contents.
		bloglo_wc_cart_dropdown();
	}
endif;

if ( ! function_exists( 'bloglo_wc_cart_icon' ) ) :
	/**
	 * Outputs the WooCommerce cart widget icon.
	 *
	 * @since 1.0.0
	 * @param boolean $echo Return or print.
	 */
	function bloglo_wc_cart_icon( $echo = true ) {

		ob_start();

		wc_get_template_part( 'cart/header-widget/icon' );

		$output = ob_get_clean();

		if ( true === $echo ) {
			echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		} else {
			return $output;
		}
	}
endif;

if ( ! function_exists( 'bloglo_wc_cart_dropdown' ) ) :
	/**
	 * Outputs the WooCommerce cart dropdown.
	 *
	 * @since 1.0.0
	 * @param bool $echo Print or return content.
	 */
	function bloglo_wc_cart_dropdown( $echo = true ) {

		ob_start();

		wc_get_template_part( 'cart/header-widget/dropdown' );

		$output = ob_get_clean();

		if ( true === $echo ) {
			echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		} else {
			return $output;
		}
	}
endif;

if ( ! function_exists( 'bloglo_wc_out_of_stock_badge' ) ) :
	/**
	 * Outputs out of stock (sold out) badge for product.
	 *
	 * @since 1.0.0
	 */
	function bloglo_wc_out_of_stock_badge() {

		global $product;

		if ( ! $product->is_in_stock() ) {
			esc_html( sprintf( apply_filters( 'bloglo_woocommerce_out_of_stock_badge', sprintf( '<span class="onsale sold-out">%s</span>', esc_html__( 'Sold Out', 'bloglo' ) ) ) ) );
		}
	}
endif;

if ( ! function_exists( 'bloglo_wc_add_percentage_to_sale_badge' ) ) :
	/**
	 * Outputs badge with percentage discount for product.
	 *
	 * @since 1.0.0
	 * @param string $html    Cart widget content.
	 * @param object $post    Post object.
	 * @param object $product Product object.
	 */
	function bloglo_wc_add_percentage_to_sale_badge( $html, $post, $product ) {

		$badge = bloglo_option( 'product_sale_badge' );

		if ( 'hide' === $badge ) {
			return '';
		}

		if ( ! $product->is_in_stock() && ! $product->backorders_allowed() ) {
			return '';
		}

		$text = '';

		if ( 'text' === $badge ) {

			$text = bloglo_option( 'product_sale_badge_text' );

		} elseif ( 'percentage' === $badge ) {

			if ( $product->is_type( 'variable' ) ) {

				$percentages = array();

				// Get all variation prices.
				$prices = $product->get_variation_prices();

				// Loop through variation prices.
				foreach ( $prices['price'] as $key => $price ) {

					// Only on sale variations.
					if ( $prices['regular_price'][ $key ] !== $price ) {

						// Prevent dividing by 0.
						if ( ! $prices['regular_price'][ $key ] ) {
							return $html;
						}

						// Calculate and set in the array the percentage for each variation on sale.
						$percentages[] = round( 100 - ( $prices['sale_price'][ $key ] / $prices['regular_price'][ $key ] * 100 ) );
					}
				}

				// We keep the highest value.
				$text = '-' . max( $percentages ) . '%';

			} else {

				$regular_price = (float) $product->get_regular_price();
				$sale_price    = (float) $product->get_sale_price();

				// Prevent dividing by 0.
				if ( ! $regular_price ) {
					return $html;
				}

				$text = '-' . round( 100 - ( $sale_price / $regular_price * 100 ) ) . '%';
			}
		}

		return $text || is_customize_preview() ? '<span class="onsale">' . esc_html( $text ) . '</span>' : '';
	}
endif;

if ( ! function_exists( 'bloglo_wc_empty_cart_button' ) ) :
	/**
	 * Add empty cart - button to return to cart page.
	 *
	 * @since 1.0.0
	 */
	function bloglo_wc_empty_cart_button() {

		if ( ! wc_get_page_id( 'shop' ) ) {
			return;
		}
		?>
		<p class="return-to-shop bloglo-woo-return">
			<a class="bloglo-btn btn-reveal btn-left-icon" href="<?php echo esc_url( apply_filters( 'woocommerce_return_to_shop_redirect', wc_get_page_permalink( 'shop' ) ) ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound ?>" role="button">
				<span><?php esc_html_e( 'Return to Shop', 'bloglo' ); ?></span>
				<?php echo bloglo()->icons->get_svg( 'arrow-left', array( 'aria-hidden' => 'true' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
			</a>
		</p>
		<?php
	}
endif;

if ( ! function_exists( 'bloglo_wc_widget_shopping_cart_buttons' ) ) :
	/**
	 * Mini cart buttons for Shopping Cart Widget.
	 *
	 * @since 1.0.0
	 */
	function bloglo_wc_widget_shopping_cart_buttons() {
		wc_get_template_part( 'cart/header-widget/buttons' );
	}
endif;

if ( ! function_exists( 'bloglo_wc_layered_count_filter' ) ) :
	/**
	 * Removes parentheses from WooCommerce layered filter count.
	 *
	 * @since 1.0.0
	 *
	 * @param string $output The count output.
	 * @param array  $count The count.
	 * @param array  $term The term.
	 * @return string
	 */
	function bloglo_wc_layered_count_filter( $output, $count, $term ) {

		$output = str_replace( '(', ' ', $output );
		$output = str_replace( ')', ' ', $output );

		return $output;
	}
endif;

if ( ! function_exists( 'bloglo_wc_rating_count_filter' ) ) :
	/**
	 * Removes parentheses from WooCommerce rating filter count.
	 *
	 * @since 1.0.0
	 *
	 * @param string $output The count output.
	 * @param array  $count  The count.
	 * @param array  $rating The term.
	 * @return  string
	 */
	function bloglo_wc_rating_count_filter( $output, $count, $rating ) {

		$output = str_replace( '(', '<em>', $output );
		$output = str_replace( ')', '</em>', $output );

		return $output;
	}
endif;

if ( ! function_exists( 'bloglo_wc_cat_count_filter' ) ) :
	/**
	 * Filters product category subtitle (count).
	 *
	 * @since 1.0.0
	 *
	 * @param string $output   The count output.
	 * @param array  $category The category.
	 * @return  string
	 */
	function bloglo_wc_cat_count_filter( $output, $category ) {

		$count = $category->count;

		/* translators: %s is category count */
		$text = sprintf( _n( '%s product', '%s products', $count, 'bloglo' ), $count );

		return '<span class="count">' . esc_html( $text ) . '</span>';
	}
endif;
inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php000064400000035543152425655560022347 0ustar00<?php
/**
 * Bloglo WooCommerce section in Customizer.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_WooCommerce' ) ) :
	/**
	 * Bloglo WooCommerce section in Customizer.
	 */
	class Bloglo_Customizer_WooCommerce {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			// Registers our custom options in Customizer.
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ), 20 );
			add_action( 'customize_register', array( $this, 'customizer_tweak' ), 20 );

			// Add default values for WooCommerce options.
			add_filter( 'bloglo_default_option_values', array( $this, 'default_customizer_values' ) );

			// Add localized strings to script.
			add_filter( 'bloglo_customizer_localized', array( $this, 'customizer_localized_strings' ) );
		}

		/**
		 * Add defaults for new WooCommerce customizer options.
		 *
		 * @param  array $defaults Array of default values.
		 * @return array           Array of default values.
		 */
		public function default_customizer_values( $defaults ) {

			$defaults['bloglo_wc_product_gallery_lightbox'] = true;
			$defaults['bloglo_wc_product_gallery_zoom']     = true;
			$defaults['bloglo_shop_product_hover']          = 'none';
			$defaults['bloglo_product_sale_badge']          = 'percentage';
			$defaults['bloglo_product_sale_badge_text']     = esc_html__( 'Sale!', 'bloglo' );
			$defaults['bloglo_wc_product_slider_arrows']    = true;
			$defaults['bloglo_wc_product_gallery_style']    = 'default';
			$defaults['bloglo_wc_product_sidebar_position'] = 'no-sidebar';
			$defaults['bloglo_wc_sidebar_position']         = 'no-sidebar';
			$defaults['bloglo_wc_upsell_products']          = true;
			$defaults['bloglo_wc_upsells_columns']          = 4;
			$defaults['bloglo_wc_upsells_rows']             = 1;
			$defaults['bloglo_wc_related_products']         = true;
			$defaults['bloglo_wc_related_columns']          = 4;
			$defaults['bloglo_wc_related_rows']             = 1;
			$defaults['bloglo_wc_cross_sell_products']      = true;
			$defaults['bloglo_wc_cross_sell_rows']          = 1;
			$defaults['bloglo_product_catalog_elements']    = array(
				'category' => true,
				'title'    => true,
				'ratings'  => true,
				'price'    => true,
			);

			return $defaults;
		}

		/**
		 * Tweak Customizer.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $customizer Instance of WP_Customize_Manager class.
		 */
		public function customizer_tweak( $customizer ) {
			// Move WooCommerce panel.
			$customizer->get_panel( 'woocommerce' )->priority = 10;

			return $customizer;
		}

		/**
		 * Registers our custom options in Customizer.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			// Shop image hover effect.
			$options['setting']['bloglo_shop_product_hover'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'section'     => 'woocommerce_product_catalog',
					'label'       => esc_html__( 'Product image hover', 'bloglo' ),
					'description' => esc_html__( 'Effect for product image on hover', 'bloglo' ),
					'choices'     => array(
						'none'       => esc_html__( 'No Effect', 'bloglo' ),
						'image-swap' => esc_html__( 'Image Swap', 'bloglo' ),
					),
				),
			);

			// Sale badge.
			$options['setting']['bloglo_product_sale_badge'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'section'     => 'woocommerce_product_catalog',
					'label'       => esc_html__( 'Product sale badge', 'bloglo' ),
					'description' => esc_html__( 'Choose what to display on the product sale badge.', 'bloglo' ),
					'choices'     => array(
						'hide'       => esc_html__( 'Hide badge', 'bloglo' ),
						'percentage' => esc_html__( 'Show percentage', 'bloglo' ),
						'text'       => esc_html__( 'Show text', 'bloglo' ),
					),
				),
			);

			// Sale badge text.
			$options['setting']['bloglo_product_sale_badge_text'] = array(
				'transport'         => 'postMessage',
				'sanitize_callback' => 'sanitize_text_field',
				'control'           => array(
					'type'        => 'bloglo-text',
					'label'       => esc_html__( 'Sale badge text', 'bloglo' ),
					'description' => esc_html__( 'Add custom text for the product sale badge.', 'bloglo' ),
					'placeholder' => esc_html__( 'Sale!', 'bloglo' ),
					'section'     => 'woocommerce_product_catalog',
					'required'    => array(
						array(
							'control'  => 'bloglo_product_sale_badge',
							'value'    => 'text',
							'operator' => '==',
						),
					),
				),
			);

			// Catalog product elements.
			$options['setting']['bloglo_product_catalog_elements'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_sortable',
				'control'           => array(
					'type'        => 'bloglo-sortable',
					'section'     => 'woocommerce_product_catalog',
					'label'       => esc_html__( 'Product details', 'bloglo' ),
					'description' => esc_html__( 'Set order and visibility for product details.', 'bloglo' ),
					'choices'     => array(
						'title'    => esc_html__( 'Title', 'bloglo' ),
						'ratings'  => esc_html__( 'Ratings', 'bloglo' ),
						'price'    => esc_html__( 'Price', 'bloglo' ),
						'category' => esc_html__( 'Category', 'bloglo' ),
					),
				),
			);

			// Section.
			$options['section']['bloglo_woocommerce_single_product'] = array(
				'title'    => esc_html__( 'Single Product', 'bloglo' ),
				'priority' => 50,
				'panel'    => 'woocommerce',
			);

			// Product Gallery Zoom.
			$options['setting']['bloglo_wc_product_gallery_zoom'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Gallery Zoom', 'bloglo' ),
					'description' => esc_html__( 'Enable zoom effect when hovering product gallery.', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'space'       => true,
				),
			);

			// Product Gallery Lightbox.
			$options['setting']['bloglo_wc_product_gallery_lightbox'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Gallery Lightbox', 'bloglo' ),
					'description' => esc_html__( 'Open product gallery images in lightbox.', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'space'       => true,
				),
			);

			// Product slider arrows.
			$options['setting']['bloglo_wc_product_slider_arrows'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Slider Arrows', 'bloglo' ),
					'description' => esc_html__( 'Enable left and right arrows on product gallery slider.', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'space'       => true,
				),
			);

			// Related Products.
			$options['setting']['bloglo_wc_related_products'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Related Products', 'bloglo' ),
					'description' => esc_html__( 'Display related products.', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'space'       => true,
				),
			);

			// Related product column count.
			$options['setting']['bloglo_wc_related_columns'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'label'       => esc_html__( 'Related Products Columns', 'bloglo' ),
					'description' => esc_html__( 'How many related products should be shown per row?', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'min'         => 1,
					'max'         => 6,
					'step'        => 1,
					'required'    => array(
						array(
							'control'  => 'bloglo_wc_related_products',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Related product row count.
			$options['setting']['bloglo_wc_related_rows'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'label'       => esc_html__( 'Related Products Rows', 'bloglo' ),
					'description' => esc_html__( 'How many rows of related products should be shown?', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'min'         => 1,
					'max'         => 5,
					'step'        => 1,
					'required'    => array(
						array(
							'control'  => 'bloglo_wc_related_products',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Up-Sell Products.
			$options['setting']['bloglo_wc_upsell_products'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Up-Sell Products', 'bloglo' ),
					'description' => esc_html__( 'Display linked upsell products.', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'space'       => true,
				),
			);

			// Up-Sells column count.
			$options['setting']['bloglo_wc_upsells_columns'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'label'       => esc_html__( 'Up-Sell Products Columns', 'bloglo' ),
					'description' => esc_html__( 'How many up-sell products should be shown per row?', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'min'         => 1,
					'max'         => 6,
					'step'        => 1,
					'required'    => array(
						array(
							'control'  => 'bloglo_wc_upsell_products',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Up-Sells rows count.
			$options['setting']['bloglo_wc_upsells_rows'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'label'       => esc_html__( 'Up-Sell Products Rows', 'bloglo' ),
					'description' => esc_html__( 'How many rows of up-sell products should be shown?', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'min'         => 1,
					'max'         => 6,
					'step'        => 1,
					'required'    => array(
						array(
							'control'  => 'bloglo_wc_upsell_products',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			// Cross-Sell Products.
			$options['setting']['bloglo_wc_cross_sell_products'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_toggle',
				'control'           => array(
					'type'        => 'bloglo-toggle',
					'label'       => esc_html__( 'Cross-Sell Products', 'bloglo' ),
					'description' => esc_html__( 'Display linked cross-sell products on cart page.', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'space'       => true,
				),
			);

			// Cross-Sells rows count.
			$options['setting']['bloglo_wc_cross_sell_rows'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_range',
				'control'           => array(
					'type'        => 'bloglo-range',
					'label'       => esc_html__( 'Cross-Sell Products Rows', 'bloglo' ),
					'description' => esc_html__( 'How many rows of cross-sell products should be shown?', 'bloglo' ),
					'section'     => 'bloglo_woocommerce_single_product',
					'min'         => 1,
					'max'         => 6,
					'step'        => 1,
					'required'    => array(
						array(
							'control'  => 'bloglo_wc_cross_sells_products',
							'value'    => true,
							'operator' => '==',
						),
					),
				),
			);

			$sidebar_options = array();

			$sidebar_options['bloglo_wc_sidebar_position'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'label'       => esc_html__( 'WooCommerce', 'bloglo' ),
					'description' => esc_html__( 'Choose default sidebar position for cart, checkout and catalog pages. You can change this setting per page via metabox settings.', 'bloglo' ),
					'section'     => 'bloglo_section_sidebar',
					'choices'     => array(
						'default'       => esc_html__( 'Default', 'bloglo' ),
						'no-sidebar'    => esc_html__( 'No Sidebar', 'bloglo' ),
						'left-sidebar'  => esc_html__( 'Left Sidebar', 'bloglo' ),
						'right-sidebar' => esc_html__( 'Right Sidebar', 'bloglo' ),
					),
				),
			);

			$sidebar_options['bloglo_wc_product_sidebar_position'] = array(
				'transport'         => 'refresh',
				'sanitize_callback' => 'bloglo_sanitize_select',
				'control'           => array(
					'type'        => 'bloglo-select',
					'label'       => esc_html__( 'WooCommerce - Single Product', 'bloglo' ),
					'description' => esc_html__( 'Choose default sidebar position layout for product pages. You can change this setting per product via metabox settings.', 'bloglo' ),
					'section'     => 'bloglo_section_sidebar',
					'choices'     => array(
						'default'       => esc_html__( 'Default', 'bloglo' ),
						'no-sidebar'    => esc_html__( 'No Sidebar', 'bloglo' ),
						'left-sidebar'  => esc_html__( 'Left Sidebar', 'bloglo' ),
						'right-sidebar' => esc_html__( 'Right Sidebar', 'bloglo' ),
					),
				),
			);

			$options['setting'] = hester_array_insert( $options['setting'], $sidebar_options, 'bloglo_archive_sidebar_position' );

			return $options;
		}

		/**
		 * Add localize strings.
		 *
		 * @param  array $strings Array of strings to be localized.
		 * @return array          Modified string array.
		 */
		public function customizer_localized_strings( $strings ) {

			// Preview a random single product for WooCommerce > Single Product section.
			$products = get_posts(
				array(
					'post_type'      => 'product',
					'posts_per_page' => 1,
					'orderby'        => 'rand',
				)
			);

			if ( count( $products ) ) {
				$strings['preview_url_for_section']['bloglo_woocommerce_single_product'] = get_permalink( $products[0] );
			}

			return $strings;
		}
	}
endif;
new Bloglo_Customizer_WooCommerce();
inc/compatibility/woocommerce/class-bloglo-customizer-widget-cart.php000064400000001745152425655560022237 0ustar00<?php
/**
 * Bloglo Customizer widgets class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Widget_Cart' ) ) :

	/**
	 * Bloglo Customizer widget class
	 */
	class Bloglo_Customizer_Widget_Cart extends Bloglo_Customizer_Widget {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @param array $args An array of the values for this widget.
		 */
		public function __construct( $args = array() ) {

			parent::__construct( $args );

			$this->name        = esc_html__( 'Cart', 'bloglo' );
			$this->description = esc_html__( 'Displays WooCommerce cart.', 'bloglo' );
			$this->icon        = 'dashicons dashicons-cart';
			$this->type        = 'cart';
		}

		/**
		 * Displays the form for this widget on the Widgets page of the WP Admin area.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function form() {}
	}
endif;
inc/compatibility/woocommerce/class-bloglo-woocommerce.php000064400000105655152425655560020147 0ustar00<?php
/**
 * WooCommerce Compatibility File.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

// If WooCommerce is not activated then return.
if ( ! bloglo_is_woocommerce_activated() ) {
	add_action( 'activate_woocommerce/woocommerce.php', array( bloglo_dynamic_styles(), 'delete_dynamic_file' ) );
	return;
}

/**
 * Bloglo WooCommerce Compatibility.
 */
if ( ! class_exists( 'Bloglo_Woocommerce' ) ) :

	/**
	 * Bloglo WooCommerce Compatibility
	 *
	 * @since 1.0.0
	 */
	class Bloglo_Woocommerce {

		/**
		 * Singleton instance of the class.
		 *
		 * @since 1.0.0
		 * @var object
		 */
		private static $instance;

		/**
		 * Main Instance.
		 *
		 * @since 1.0.0
		 * @return Bloglo_Woocommerce
		 */
		public static function instance() {

			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Woocommerce ) ) {
				self::$instance = new Bloglo_Woocommerce();

				self::$instance->includes();
				self::$instance->actions();
			}

			return self::$instance;
		}

		/**
		 * Include files.
		 *
		 * @since 1.0.0
		 */
		private function includes() {

			require BLOGLO_THEME_PATH . '/inc/compatibility/woocommerce/woocommerce-functions.php'; // phpcs:ignore
			require BLOGLO_THEME_PATH . '/inc/compatibility/woocommerce/class-bloglo-customizer-woocommerce.php'; // phpcs:ignore
		}

		/**
		 * WooCommerce actions.
		 *
		 * @since 1.0.0
		 */
		private function actions() {

			// Cart fragment.
			if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '2.3', '>=' ) ) {
				add_filter( 'woocommerce_add_to_cart_fragments', array( $this, 'cart_widget_count_fragment' ) );
				add_filter( 'woocommerce_add_to_cart_fragments', array( $this, 'cart_widget_dropdown_fragment' ) );
			} else {
				add_filter( 'add_to_cart_fragments', array( $this, 'cart_widget_count_fragment' ) );
				add_filter( 'add_to_cart_fragments', array( $this, 'cart_widget_dropdown_fragment' ) );
			}

			// Frontend actions only.
			if ( ! is_admin() ) {

				add_action( 'wp', array( $this, 'product_catalog_elements' ) );

				// Disable WooCommerce shop title.
				add_filter( 'woocommerce_show_page_title', '__return_false' );

				// Disable Bloglo page description.
				add_filter( 'bloglo_page_header_description', array( $this, 'shop_remove_page_description' ) );

				// Remove WooCommerce content wrappers.
				remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
				remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );

				// Remove WooCommerce breadcrumbs.
				remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 );

				// Extend Bloglo breadcrumb trail.
				add_filter( 'bloglo_breadcrumb_trail_items', array( $this, 'breadcrumbs' ), 20, 2 );
				add_filter( 'bloglo_post_type_archive_title', array( $this, 'breadcrumb_post_type_archive_title' ), 10, 2 );

				// Remove WooCommerce sidebar.
				remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar' );
				add_action( 'bloglo_woocommerce_sidebar', 'woocommerce_get_sidebar' );

				// Add our content wrappers.
				add_action( 'woocommerce_before_main_content', array( $this, 'content_wrapper_start' ), 10 );
				add_action( 'woocommerce_after_main_content', array( $this, 'content_wrapper_end' ), 10 );

				// Replace WooCommerce pagination with Bloglo pagination.
				remove_action( 'woocommerce_after_shop_loop', 'woocommerce_pagination', 10 );
				add_action( 'woocommerce_after_shop_loop', 'bloglo_pagination' );

				// Add back to shop button to Empty Cart.
				add_action( 'woocommerce_cart_is_empty', 'bloglo_wc_empty_cart_button' );

				// Add wrapper to result count and catalog ordering.
				add_action( 'woocommerce_before_shop_loop', array( $this, 'result_wrapper_start' ), 19 );
				add_action( 'woocommerce_before_shop_loop', array( $this, 'result_wrapper_end' ), 31 );

				// Remove opening link tag.
				remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );

				// Add thumbnail wrapper.
				add_action( 'woocommerce_before_shop_loop_item_title', array( $this, 'loop_product_thumb_wrap_start' ), 5 );
				add_action( 'woocommerce_before_shop_loop_item_title', array( $this, 'loop_product_thumb_wrap_end' ), 15 );

				// Add product link to thumnail.
				add_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_link_open', 6 );
				add_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_link_close', 13 );

				// Add alternative image to display on hover.
				add_action( 'woocommerce_before_shop_loop_item_title', array( $this, 'product_image_swap' ), 11 );

				// Add to cart button to display on hover.
				add_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 14 );

				// Add wrapper to product meta details.
				add_action( 'woocommerce_before_shop_loop_item_title', array( $this, 'loop_product_details_wrap_open' ), 19 );
				add_action( 'woocommerce_after_shop_loop_item_title', array( $this, 'loop_product_details_wrap_end' ), 10 );

				add_action( 'woocommerce_before_single_product_summary', array( $this, 'single_product_wrapper_start' ), 5 );
				add_action( 'woocommerce_after_single_product_summary', array( $this, 'single_product_wrapper_end' ), 5 );

				// Remove add to cart button from catalog pages.
				remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );

				// Percentage sale badge.
				add_filter( 'woocommerce_sale_flash', 'bloglo_wc_add_percentage_to_sale_badge', 20, 3 );

				// Out of stock product badge.
				add_action( 'woocommerce_before_shop_loop_item_title', 'bloglo_wc_out_of_stock_badge', 10 );
				add_action( 'woocommerce_before_single_product_summary', 'bloglo_wc_out_of_stock_badge', 10 );

				// Additional classes for add to cart button.
				add_filter( 'woocommerce_loop_add_to_cart_args', array( $this, 'loop_add_to_cart_args' ) );

				// Heading for checkout page order.
				add_action( 'woocommerce_review_order_before_payment', array( $this, 'review_order_heading' ) );

				// Remove mini cart buttons and replace with ours.
				remove_action( 'woocommerce_widget_shopping_cart_buttons', 'woocommerce_widget_shopping_cart_button_view_cart', 10 );
				remove_action( 'woocommerce_widget_shopping_cart_buttons', 'woocommerce_widget_shopping_cart_proceed_to_checkout', 20 );
				add_action( 'woocommerce_widget_shopping_cart_buttons', 'bloglo_wc_widget_shopping_cart_buttons', 10 );

				// Hide Yith wishlist - we show it in our page title anyway.
				add_filter( 'yith_wcwl_wishlist_title', '__return_false', 20 );

				// Remove checkout heading.
				add_action( 'woocommerce_checkout_shipping', array( $this, 'checkout_shipping_heading' ), 9 );

				add_filter( 'woocommerce_subcategory_count_html', 'bloglo_wc_cat_count_filter', 10, 2 );
				add_filter( 'woocommerce_rating_filter_count', 'bloglo_wc_rating_count_filter', 10, 3 );
				add_filter( 'woocommerce_layered_nav_count', 'bloglo_wc_layered_count_filter', 10, 3 );

				// Upsell Products.
				remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
				add_action( 'woocommerce_after_single_product_summary', array( $this, 'woocommerce_upsell_display' ), 15 );

				// Related Products.
				remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 );
				add_action( 'woocommerce_after_single_product_summary', array( $this, 'woocommerce_related_products' ), 15 );

				// Related products columns/count.
				add_filter( 'woocommerce_output_related_products_args', array( $this, 'single_product_related_products_args' ) );

				add_filter( 'woocommerce_single_product_carousel_options', array( $this, 'single_product_slider_options' ) );

				// Cross-Sell products.
				remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
				add_action( 'woocommerce_cart_collaterals', array( $this, 'woocommerce_cross_sell_display' ) );

				// Product gallery thumbnail columns.
				add_filter( 'woocommerce_product_thumbnails_columns', array( $this, 'product_thumbnails_columns' ) );
			}

			// Enqueue styles.
			add_action( 'bloglo_enqueue_scripts', array( $this, 'enqueue' ) );

			// Single product actions.
			add_action( 'wp_head', array( $this, 'product_actions' ), 9 );

			// Register WooCommerce sidebars.
			add_action( 'widgets_init', array( $this, 'register_wc_sidebars' ) );

			// Add correct sidebar.
			add_filter( 'bloglo_sidebar_name', array( $this, 'set_sidebar' ) );

			// Set sidebar position.
			add_filter( 'bloglo_default_sidebar_position', array( $this, 'set_default_sidebar_position' ) );

			// Remove item from cart.
			add_action( 'wp_ajax_bloglo_remove_wc_cart_item', array( $this, 'remove_item_from_cart' ) );
			add_action( 'wp_ajax_nopriv_bloglo_remove_wc_cart_item', array( $this, 'remove_item_from_cart' ) );

			// Add theme supports.
			add_action( 'after_setup_theme', array( $this, 'theme_supports' ), 20 );

			// Add customizer cart widget.
			add_filter( 'bloglo_customizer_widgets', array( $this, 'add_customizer_cart_widget' ) );
			add_filter( 'bloglo_main_header_widgets', array( $this, 'add_cart_to_main_header_widgets' ) );

			// Loads Cart Customizer widgets class.
			add_action( 'customize_register', array( $this, 'load_customizer_widget' ), 20 );

			// Handle admin redirects.
			add_action( 'admin_init', array( $this, 'admin_redirects' ), 9 );

			// Add dynamic CSS.
			add_filter( 'bloglo_dynamic_styles', array( $this, 'dynamic_css' ), 5 );

			// Update dynamic styles on deactivation.
			add_action( 'deactivate_woocommerce/woocommerce.php', array( bloglo_dynamic_styles(), 'delete_dynamic_file' ) );

			// Return Shop page ID.
			add_filter( 'bloglo_get_the_id', array( $this, 'get_the_id' ) );

			add_filter( 'woocommerce_product_related_products_heading', array( $this, 'related_products_heading' ) );
		}

		/**
		 * Declare WooCommerce support.
		 *
		 * @since 1.0.0
		 */
		public function theme_supports() {

			// Declare WooCommerce compatibility.
			add_theme_support(
				'woocommerce',
				array(
					'gallery_thumbnail_image_width' => 150,
				)
			);

			// Product Gallery Slider.
			add_theme_support( 'wc-product-gallery-slider' );

			// Product Gallery Zoom.
			if ( bloglo_option( 'wc_product_gallery_zoom' ) ) {
				add_theme_support( 'wc-product-gallery-zoom' );
			}

			// Product Gallery Lightbox.
			if ( bloglo_option( 'wc_product_gallery_lightbox' ) ) {
				add_theme_support( 'wc-product-gallery-lightbox' );
			}
		}

		/**
		 * Enqueue WooCommerce styles.
		 *
		 * @since 1.0.0
		 */
		public function enqueue() {

			// Script debug.
			$bloglo_dir    = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? 'dev/' : '';
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			// Enqueue WooCommerce compatibility stylesheet.
			wp_enqueue_style(
				'bloglo-woocommerce',
				BLOGLO_THEME_URI . '/assets/css/compatibility/woocommerce' . $bloglo_suffix . '.css',
				false,
				BLOGLO_THEME_VERSION,
				'all'
			);

			// Enqueue WooCommerce compatibility script.
			wp_enqueue_script(
				'bloglo-wc',
				BLOGLO_THEME_URI . '/assets/js/' . $bloglo_dir . 'bloglo-wc' . $bloglo_suffix . '.js',
				array( 'jquery' ),
				BLOGLO_THEME_VERSION,
				true
			);
		}

		/**
		 * Add or remove actions depending on enabled product catalog elements.
		 *
		 * @return void
		 */
		public function product_catalog_elements() {

			$elements = bloglo_option( 'product_catalog_elements' );

			$hook     = 'woocommerce_before_shop_loop_item_title';
			$priority = 20;

			if ( ! empty( $elements ) ) {
				foreach ( $elements as $element => $enabled ) {

					if ( 'title' === $element ) {

						if ( ! $enabled ) {
							remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title' );
						} else {
							remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_product_link_close' );

							add_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_link_open', $priority );
							add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_product_link_close', 4 );
						}

						$hook     = 'woocommerce_after_shop_loop_item_title';
						$priority = 5;

					} elseif ( 'ratings' === $element ) {

						remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating', 5 );

						if ( $enabled ) {
							add_action( $hook, 'woocommerce_template_loop_rating', $priority );
							$priority++;
						}
					} elseif ( 'price' === $element ) {

						remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );

						if ( $enabled ) {
							add_action( $hook, 'woocommerce_template_loop_price', $priority );
							$priority++;
						}
					} elseif ( 'category' === $element ) {

						if ( $enabled ) {
							add_action( $hook, array( $this, 'template_loop_category' ), $priority );
							$priority++;
						}
					}
				}
			}
		}

		/**
		 * Print product categories in loop template.
		 *
		 * @return void
		 */
		public function template_loop_category() {

			global $product;

			$product_cats = wp_get_post_terms( $product->get_id(), 'product_cat' );
			$cats         = array();

			if ( is_array( $product_cats ) && ! empty( $product_cats ) ) {
				foreach ( $product_cats as $product_cat ) {
					$cats[] = '<a class="bloglo-loop-product__category" href="' . esc_url( get_term_link( $product_cat, 'product_cat' ) ) . '">' . esc_html( $product_cat->name ) . '</a>';
				}
			}

			echo '<span class="bloglo-loop-product__category-wrap">' . wp_kses_post( implode( ', ', $cats ) ) . '</span>';
		}

		/**
		 * Add start wrapper to result count and catalog ordering.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function result_wrapper_start() {

			if ( ! woocommerce_products_will_display() ) {
				return;
			}

			echo '<div class="bloglo-woo-before-shop clearfix">';
		}

		/**
		 * Add end wrapper to result count and catalog ordering.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function result_wrapper_end() {

			if ( ! woocommerce_products_will_display() ) {
				return;
			}

			echo '</div>';
		}

		/**
		 * Update cart count in Cart Widget via AJAX.
		 *
		 * @param  array $fragments Fragments to refresh via AJAX.
		 * @return array            Fragments to refresh via AJAX
		 * @since  1.0.0
		 */
		public function cart_widget_count_fragment( $fragments ) {

			$fragments['.bloglo-header-widget__cart a.bloglo-cart'] = bloglo_wc_cart_icon( false );

			return $fragments;
		}

		/**
		 * Update Cart Widget dropdown via AJAX.
		 *
		 * @param  array $fragments Fragments to refresh via AJAX.
		 * @return array            Fragments to refresh via AJAX
		 * @since  1.0.0
		 */
		public function cart_widget_dropdown_fragment( $fragments ) {

			$fragments['.bloglo-header-widget__cart .dropdown-item'] = bloglo_wc_cart_dropdown( false );

			return $fragments;
		}

		/**
		 * Add start of WooCommerce content wrapper.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function content_wrapper_start() {
			?>
			<div class="bloglo-container">

				<div id="primary" class="content-area">

					<?php do_action( 'bloglo_before_content' ); ?>

					<main id="content" class="site-content" role="main">
			<?php
		}

		/**
		 * Add end of WooCommerce content wrapper.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function content_wrapper_end() {
			?>
					</main><!-- #content .site-content -->

					<?php do_action( 'bloglo_after_content' ); ?>

				</div><!-- #primary .content-area -->

				<?php do_action( 'bloglo_woocommerce_sidebar' ); ?>

			</div><!-- END .bloglo-container -->
			<?php
		}

		/**
		 * Add start of Single Product content wrapper.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function single_product_wrapper_start() {
			echo '<div class="bloglo-wc-product-wrap">';
		}

		/**
		 * Add end of Single Product content wrapper.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function single_product_wrapper_end() {
			echo '</div><!-- END .bloglo-wc-product-wrap -->';
		}

		/**
		 * Single product actions.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function product_actions() {

			if ( ! is_product() ) {
				return;
			}

			// Remove Bloglo page title on WooCommerce product pages.
			add_filter( 'bloglo_page_header_has_title', '__return_false' );

			// Disable Comments toggle.
			add_filter( 'bloglo_display_comments_toggle', '__return_false' );
		}

		/**
		 * Add support for Customizer cart widget.
		 *
		 * @since 1.0.0
		 * @param array $widgets Array of available customizer widgets.
		 * @return array
		 */
		public function add_customizer_cart_widget( $widgets ) {

			$widgets['cart'] = 'Bloglo_Customizer_Widget_Cart';

			return $widgets;
		}

		/**
		 * Add cart widget to Header widgets.
		 *
		 * @since 1.0.0
		 * @param array $widgets Array of available main header widgets.
		 * @return array
		 */
		public function add_cart_to_main_header_widgets( $widgets ) {

			$widgets['cart'] = array(
				'max_uses' => 1,
			);

			return $widgets;
		}

		/**
		 * Overwrite the items for the breadcrumb trail.
		 *
		 * @since 1.0.0
		 * @param array $items Array of items belonging to the current breadcrumb trail.
		 * @param array $args  Arguments used to build the breadcrumb trail.
		 * @return array
		 */
		public function breadcrumbs( $items, $args ) {

			if ( function_exists( 'is_shop' ) && is_shop() ) {
				$items[ count( $items ) - 1 ] = get_the_title( wc_get_page_id( 'shop' ) );
			}

			return $items;
		}

		/**
		 * Overwrite the items for the breadcrumb trail.
		 *
		 * @since 1.0.0
		 * @param string $label           Current archive label.
		 * @param string $post_type_name  Post Type name.
		 * @return array
		 */
		public function breadcrumb_post_type_archive_title( $label, $post_type_name ) {

			if ( 'product' === $post_type_name ) {
				return get_the_title( wc_get_page_id( 'shop' ) );
			}

			return $label;
		}

		/**
		 * Register WooCommerce sidebars.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function register_wc_sidebars() {
			// Register WooCommerce Sidebar.
			register_sidebar(
				apply_filters(
					'bloglo_woocommerce_sidebar_name',
					array(
						'name'          => esc_html__( 'WooCommerce Sidebar', 'bloglo' ),
						'id'            => 'bloglo-wc-sidebar',
						'description'   => __( 'Widgets in this area are displayed on WooCommerce pages except Product pages.', 'bloglo' ),
						'before_widget' => '<div id="%1$s" class="bloglo-sidebar-widget bloglo-widget widget %2$s">',
						'after_widget'  => '</div>',
						'before_title'  => '<h4 class="widget-title">',
						'after_title'   => '</h4>',
					)
				)
			);

			// Register Product Sidebar.
			register_sidebar(
				apply_filters(
					'bloglo_woocommerce_product_sidebar_name',
					array(
						'name'          => esc_html__( 'Product Sidebar', 'bloglo' ),
						'id'            => 'bloglo-wc-product-sidebar',
						'description'   => __( 'Widgets in this area are displayed on WooCommerce Product pages.', 'bloglo' ),
						'before_widget' => '<div id="%1$s" class="bloglo-sidebar-widget bloglo-widget widget %2$s">',
						'after_widget'  => '</div>',
						'before_title'  => '<h4 class="widget-title">',
						'after_title'   => '</h4>',
					)
				)
			);
		}

		/**
		 * Change sidebar name on WooCommerce pages.
		 *
		 * @since 1.0.0
		 * @param string $sidebar_name Sidebar name for woocmmerce pages.
		 * @return string
		 */
		public function set_sidebar( $sidebar_name ) {

			if ( is_product() ) {
				$sidebar_name = 'bloglo-wc-product-sidebar';
			} elseif ( is_woocommerce() || is_cart() || is_checkout() ) {
				$sidebar_name = 'bloglo-wc-sidebar';
			}

			return $sidebar_name;
		}

		/**
		 * Change default sidebar position on WooCommerce pages.
		 *
		 * @since 1.0.0
		 * @param string $position Sidebar position for woocmmerce pages.
		 * @return string
		 */
		public function set_default_sidebar_position( $position ) {

			if ( is_product() ) {
				$position = bloglo_option( 'wc_product_sidebar_position' );
			} elseif ( is_woocommerce() || is_cart() || is_checkout() ) {
				$position = bloglo_option( 'wc_sidebar_position' );
			}

			if ( is_product() || is_woocommerce() || is_cart() || is_checkout() ) {
				if ( 'default' === $position ) {
					return bloglo_option( 'sidebar_position' );
				} else {
					return $position;
				}
			}

			return $position;
		}

		/**
		 * Remove Bloglo page description on WooCommerce pages.
		 *
		 * @since 1.0.0
		 * @param string $description Page description.
		 * @return boolean|string
		 */
		public function shop_remove_page_description( $description ) {

			if ( is_woocommerce() ) {
				return false;
			}

			return $description;
		}

		/**
		 * Remove item from cart.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function remove_item_from_cart() {

			check_ajax_referer( 'bloglo-nonce' );

			if ( ! isset( $_POST['product_key'] ) ) {
				wp_send_json_error();
			}

			$product_key = sanitize_text_field( wp_unslash( $_POST['product_key'] ) );

			$cart         = WC()->instance()->cart;
			$cart_item_id = $cart->find_product_in_cart( $product_key );

			if ( $cart_item_id ) {
				$cart->set_quantity( $cart_item_id, 0 );
				wp_send_json_success();
			}

			wp_send_json_error();
		}

		/**
		 * Display an alternative image (from product gallery) when hovering product image on catalog pages.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function product_image_swap() {

			global $product;

			$hover_style = bloglo_option( 'shop_product_hover' );

			if ( 'image-swap' === $hover_style ) {

				$attachment_ids = $product->get_gallery_image_ids();

				if ( $attachment_ids ) {

					$image_size    = apply_filters( 'single_product_archive_thumbnail_size', 'shop_catalog' ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
					$attachment_id = reset( $attachment_ids );

					echo wp_kses_post( apply_filters( 'bloglo_woocommerce_product_image_swap', wp_get_attachment_image( $attachment_id, $image_size, false, array( 'class' => 'show-on-hover' ) ) ) );
				}
			}
		}

		/**
		 * Add start wrapper for loop product thumbnail.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function loop_product_thumb_wrap_start() {

			$class = 'bloglo-product-thumb';

			if ( 'image-swap' === bloglo_option( 'shop_product_hover' ) ) {

				global $product;
				$attachment_ids = $product->get_gallery_image_ids();

				if ( $attachment_ids ) {
					$class .= ' swap-on-hover';
				}
			}

			echo '<div class="' . esc_attr( $class ) . '">';
		}

		/**
		 * Add end wrapper for loop product thumbnail.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function loop_product_thumb_wrap_end() {
			echo '</div><!-- END .bloglo-product-thumb -->';
		}

		/**
		 * Add start wrapper for loop product details.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function loop_product_details_wrap_open() {
			echo '<div class="meta-wrap">';
		}

		/**
		 * Add end wrapper for loop product details.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function loop_product_details_wrap_end() {
			echo '</div>';
		}

		/**
		 * Additional classes for add to cart button on loop products.
		 *
		 * @since 1.0.0
		 * @param array $args Arguments for add to cart button in loop products.
		 * @return array
		 */
		public function loop_add_to_cart_args( $args ) {

			$args['class'] .= ' bloglo-btn';

			return $args;
		}

		/**
		 * Loads Customizer widgets classes.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function load_customizer_widget() {

			$path = BLOGLO_THEME_PATH . '/inc/compatibility/woocommerce/class-bloglo-customizer-widget-cart.php';

			if ( file_exists( $path ) ) {
				require $path; // phpcs:ignore
			}
		}

		/**
		 * Review order heading.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function review_order_heading() {

			echo wp_kses_post( apply_filters( 'bloglo_review_order_heading', '<h3>' . __( 'Payment', 'bloglo' ) . '</h3>' ) );
		}

		/**
		 * Display a heading on Checkout / Shipping.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function checkout_shipping_heading() {

			if ( true !== WC()->cart->needs_shipping_address() ) {
				return;
			}

			echo wp_kses_post( apply_filters( 'bloglo_checkout_shipping_heading', '<h3>' . __( 'Shipping', 'bloglo' ) . '</h3>' ) );
		}

		/**
		 * Related products column count.
		 *
		 * @since 1.0.0
		 * @param array $args Arguments for related products on single product page.
		 * @return array
		 */
		public function single_product_related_products_args( $args ) {

			$columns = intval( bloglo_option( 'wc_related_columns' ) );
			$rows    = intval( bloglo_option( 'wc_related_rows' ) );

			$args['posts_per_page'] = $columns * $rows;
			$args['columns']        = $columns;

			return $args;
		}

		/**
		 * Cross-Sell Products.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function woocommerce_cross_sell_display() {

			// Check if cross-sells are enabled.
			if ( bloglo_option( 'wc_cross_sell_products' ) ) {

				$rows = intval( bloglo_option( 'wc_cross_sell_rows' ) );

				woocommerce_cross_sell_display( 2 * $rows, 2 );
			}
		}

		/**
		 * Upsell Products.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function woocommerce_upsell_display() {

			// Check if upsells are enabled.
			if ( bloglo_option( 'wc_upsell_products' ) ) {

				$columns = intval( bloglo_option( 'wc_upsells_columns' ) );
				$rows    = intval( bloglo_option( 'wc_upsells_rows' ) );

				woocommerce_upsell_display( $columns * $rows, $columns );
			}
		}

		/**
		 * Related Products.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function woocommerce_related_products() {

			// Check if related products are enabled.
			if ( bloglo_option( 'wc_related_products' ) ) {
				woocommerce_output_related_products();
			}
		}

		/**
		 * Add arrows to product slider on single product.
		 *
		 * @since 1.0.0
		 * @param array $options Array of options for product slider.
		 * @return array
		 */
		public function single_product_slider_options( $options ) {

			if ( ! bloglo_option( 'wc_product_slider_arrows' ) ) {
				return $options;
			}

			$options['directionNav'] = true;
			$options['prevText']     = bloglo_animated_arrow( 'left', false );
			$options['nextText']     = bloglo_animated_arrow( 'right', false );

			return $options;
		}

		/**
		 * Product gallery thumbnail columns.
		 *
		 * @since 1.0.0
		 * @param integer $columns Number of product thumnail columns on single product page.
		 * @return integer
		 */
		public function product_thumbnails_columns( $columns ) {
			return 5;
		}

		/**
		 * Related products heading on single product pages.
		 *
		 * @since  1.0.0
		 * @param  string $heading Related products heading.
		 * @return string
		 */
		public function related_products_heading( $heading ) {
			return __( 'Related Products', 'bloglo' );
		}

		/**
		 * Handle redirects to setup/welcome page after install and updates.
		 *
		 * @since 1.0.0
		 *
		 * @return void
		 */
		public function admin_redirects() {

			$current_page = isset( $_GET['page'] ) ? wc_clean( wp_unslash( $_GET['page'] ) ) : false; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification

			// Prevent WooCommerce automatic wizard redirect.
			if ( false !== strpos( $current_page, 'bloglo' ) ) {
				add_filter( 'woocommerce_prevent_automatic_wizard_redirect', '__return_true' );
			}
		}

		/**
		 * Generates dynamic CSS code for woocommerce.
		 *
		 * @param  string $css Dynamic CSS code generated by the theme.
		 * @return string      Modified CSS code.
		 * @since  1.0.0
		 */
		public function dynamic_css( $css ) {

			// Accent Color.
			$accent_color = bloglo_option( 'accent_color' );

			$css .= '';

			// Content text color.
			$content_text_color = bloglo_option( 'content_text_color' );

			$css .= '
				.bloglo-cart-item .bloglo-x,
				.woocommerce form.login .lost_password a,
				.woocommerce form.register .lost_password a,
				.woocommerce a.remove,
				#add_payment_method .cart-collaterals .cart_totals .woocommerce-shipping-destination, 
				.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination, 
				.woocommerce-checkout .cart-collaterals .cart_totals .woocommerce-shipping-destination,
				.woocommerce ul.products li.product .bloglo-loop-product__category-wrap a,
				.woocommerce ul.products li.product .bloglo-loop-product__category-wrap,
				.woocommerce .woocommerce-checkout-review-order table.shop_table thead th,
				#add_payment_method #payment div.payment_box, 
				.woocommerce-cart #payment div.payment_box, 
				.woocommerce-checkout #payment div.payment_box,
				#add_payment_method #payment ul.payment_methods .about_paypal, 
				.woocommerce-cart #payment ul.payment_methods .about_paypal, 
				.woocommerce-checkout #payment ul.payment_methods .about_paypal,
				.woocommerce table dl,
				.woocommerce table .wc-item-meta,
				.widget.woocommerce .reviewer,
				.woocommerce.widget_shopping_cart .cart_list li a.remove:before,
				.woocommerce .widget_shopping_cart .cart_list li a.remove:before,
				.woocommerce .widget_shopping_cart .cart_list li .quantity, 
				.woocommerce.widget_shopping_cart .cart_list li .quantity,
				.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link,
				.woocommerce div.product .woocommerce-tabs table.shop_attributes td,
				.woocommerce div.product .product_meta > span span:not(.bloglo-woo-meta-title), 
				.woocommerce div.product .product_meta > span a,
				.woocommerce .star-rating::before,
				.woocommerce div.product #reviews #comments ol.commentlist li .comment-text p.meta,
				.ywar_review_count,
				.woocommerce .add_to_cart_inline del,
				.woocommerce div.product p.price del, 
				.woocommerce div.product span.price del,
				.woocommerce #yith-wcwl-form table.shop_table thead,
				.woocommerce .woocommerce-cart-form table.shop_table thead,
				.woocommerce .woocommerce-checkout-review-order table.shop_table thead,
				.woocommerce div.product .woocommerce-tabs ul.tabs li a {
					color: ' . bloglo_hex2rgba( $content_text_color, 0.73 ) . ';
				}

				.woocommerce-message,
				.woocommerce-error,
				.woocommerce-info,
				.woocommerce-message,
				.woocommerce div.product .woocommerce-tabs ul.tabs li:not(.active) a:hover {
					color: ' . $content_text_color . ';
				}

				.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav svg path {
					fill: ' . $content_text_color . ' !important;
				}
			';

			// Background Color - generated from text color.
			$background_color = bloglo_get_background_color();

			$css .= '
				.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav .flex-prev,
				.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav .flex-next,
				.woocommerce .quantity .bloglo-woo-minus,
				.woocommerce .quantity .bloglo-woo-plus {
					background-color: ' . $background_color . ';
				}
			';

			$content_text_color_offset = bloglo_light_or_dark( $background_color, bloglo_luminance( $background_color, -0.045 ), bloglo_luminance( $background_color, 0.2 ) );

			$css .= '
				.woocommerce #yith-wcwl-form table.shop_table thead th,
				.woocommerce .woocommerce-cart-form table.shop_table thead th,
				.woocommerce .woocommerce-checkout-review-order table.shop_table thead th,
				.woocommerce .cart_totals table.shop_table .order-total th,
				.woocommerce .cart_totals table.shop_table .order-total td,
				.woocommerce div.product .woocommerce-tabs .wc-tab,
				#page .woocommerce-error,
				#page .woocommerce-info,
				#page .woocommerce-message,
				.woocommerce div.product .woocommerce-tabs ul.tabs:before,
				.woocommerce div.product .woocommerce-tabs ul.tabs:after {
					background-color: ' . $content_text_color_offset . ';
				}
			';

			// Border color.
			$css .= '
				.woocommerce #yith-wcwl-form table.shop_table th:first-child,
				.woocommerce #yith-wcwl-form table.shop_table td:first-child,
				.woocommerce .woocommerce-cart-form table.shop_table th:first-child,
				.woocommerce .woocommerce-cart-form table.shop_table td:first-child,
				.woocommerce .woocommerce-checkout-review-order table.shop_table th:first-child,
				.woocommerce .woocommerce-checkout-review-order table.shop_table td:first-child,
				.woocommerce #yith-wcwl-form table.shop_table td,
				.woocommerce .woocommerce-cart-form table.shop_table td,
				.woocommerce .woocommerce-checkout-review-order table.shop_table td,
				.woocommerce #yith-wcwl-form table.shop_table tr:nth-last-child(2) td,
				.woocommerce .woocommerce-cart-form table.shop_table tr:nth-last-child(2) td,
				.woocommerce .cart_totals table.shop_table,
				.woocommerce .cart_totals table.shop_table th,
				.woocommerce .cart_totals table.shop_table td {
					border-color: ' . $content_text_color_offset . ';
				}
			';

			// Content link hover color.
			$css .= '
				#add_payment_method #payment ul.payment_methods .about_paypal:hover,
				.bloglo-woo-before-shop select.custom-select-loaded:hover ~ #bloglo-orderby, 
				.woocommerce-cart #payment ul.payment_methods .about_paypal:hover, 
				.woocommerce-checkout #payment ul.payment_methods .about_paypal:hover,
				.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link:hover,
				.woocommerce ul.products li.product .meta-wrap .woocommerce-loop-product__link:hover,
				.woocommerce ul.products li.product .bloglo-loop-product__category-wrap a:hover {
					color: ' . bloglo_option( 'content_link_hover_color' ) . ';
				}
			';

			/**
			 * Header.
			 */

			// Background.
			$header_background = bloglo_option( 'header_background' );

			if ( 'color' === $header_background['background-type'] && $header_background['background-color'] ) {
				$css .= '
					.bloglo-header-widget__cart .bloglo-cart .bloglo-cart-count { 
						border: 2px solid ' . $header_background['background-color'] . '; 
					}
				';
			}

			/**
			 * Typography.
			 */

			// Headings.
			$css .= bloglo_dynamic_styles()->get_typography_field_css( '.woocommerce div.product h1.product_title, .woocommerce #reviews #comments h2, .woocommerce .cart_totals h2, .woocommerce .cross-sells > h4, .woocommerce #reviews #respond .comment-reply-title', 'headings_font' );

			$css .= bloglo_dynamic_styles()->get_typography_field_css( '.woocommerce div.product h1.product_title', 'h2_font' );
			$css .= bloglo_dynamic_styles()->get_typography_field_css( '.woocommerce #reviews #comments h2', 'h3_font' );
			$css .= bloglo_dynamic_styles()->get_typography_field_css( '.woocommerce .cart_totals h2, .woocommerce .cross-sells > h4, .woocommerce #reviews #respond .comment-reply-title', 'h4_font' );

			return $css;
		}

		/**
		 * Return post ID.
		 *
		 * @param  int $post_id Post ID.
		 * @return int          Modified post ID.
		 */
		public function get_the_id( $post_id ) {

			if ( is_shop() ) {
				$post_id = wc_get_page_id( 'shop' );
			}

			return $post_id;
		}
	}

endif;

if ( ! function_exists( 'bloglo_woocommerce' ) ) :
	/**
	 * The function which returns the one Bloglo_Woocommerce instance.
	 *
	 * @since 1.0.0
	 * @return object
	 */
	function bloglo_woocommerce() {
		return Bloglo_Woocommerce::instance();
	}
endif;

bloglo_woocommerce();
inc/compatibility/class-bloglo-beaver-themer.php000064400000012104152425655560016021 0ustar00<?php
/**
 * Bloglo compatibility class for Beaver Themer.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

// Return if Beaver Themer not active.
if ( ! class_exists( 'FLThemeBuilderLoader' ) || ! class_exists( 'FLThemeBuilderLayoutData' ) ) {
	return;
}

// PHP 5.3+ is required.
if ( ! version_compare( PHP_VERSION, '5.3', '>=' ) ) {
	return;
}

if ( ! class_exists( 'Bloglo_Beaver_Themer' ) ) :

	/**
	 * Beaver Themer compatibility.
	 */
	class Bloglo_Beaver_Themer {

		/**
		 * Singleton instance of the class.
		 *
		 * @var object
		 */
		private static $instance;

		/**
		 * Instance.
		 *
		 * @since 1.0.0
		 * @return Bloglo_Beaver_Themer
		 */
		public static function instance() {
			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Beaver_Themer ) ) {
				self::$instance = new Bloglo_Beaver_Themer();
			}
			return self::$instance;
		}

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function __construct() {
			add_action( 'after_setup_theme', array( $this, 'add_theme_support' ) );
			add_action( 'wp', array( $this, 'header_footer_render' ) );
			add_action( 'wp', array( $this, 'page_header_render' ) );
			add_filter( 'fl_theme_builder_part_hooks', array( $this, 'register_part_hooks' ) );
		}

		/**
		 * Add theme support
		 *
		 * @since 1.0.0
		 */
		public function add_theme_support() {
			add_theme_support( 'fl-theme-builder-headers' );
			add_theme_support( 'fl-theme-builder-footers' );
			add_theme_support( 'fl-theme-builder-parts' );
		}

		/**
		 * Update header/footer with Beaver template
		 *
		 * @since 1.0.0
		 */
		public function header_footer_render() {

			// Get the header ID.
			$header_ids = FLThemeBuilderLayoutData::get_current_page_header_ids();

			// If we have a header, remove the theme header and hook in Theme Builder's.
			if ( ! empty( $header_ids ) ) {

				// Remove Top Bar.
				remove_action( 'bloglo_header', 'bloglo_topbar_output', 10 );

				// Remove Main Header.
				remove_action( 'bloglo_header', 'bloglo_header_output', 20 );

				// Replacement header.
				add_action( 'bloglo_header', 'FLThemeBuilderLayoutRenderer::render_header' );
			}

			// Get the footer ID.
			$footer_ids = FLThemeBuilderLayoutData::get_current_page_footer_ids();

			// If we have a footer, remove the theme footer and hook in Theme Builder's.
			if ( ! empty( $footer_ids ) ) {

				// Remove Main Footer.
				remove_action( 'bloglo_footer', 'bloglo_footer_output', 20 );

				// Remove Copyright Bar.
				remove_action( 'bloglo_footer', 'bloglo_copyright_bar_output', 30 );

				// Replacement footer.
				add_action( 'bloglo_footer', 'FLThemeBuilderLayoutRenderer::render_footer' );
			}
		}

		/**
		 * Remove page header if using Beaver Themer.
		 *
		 * @since 1.0.0
		 */
		public function page_header_render() {

			// Get the page ID.
			$page_ids = FLThemeBuilderLayoutData::get_current_page_content_ids();

			// If we have a content layout, remove the theme page header.
			if ( ! empty( $page_ids ) ) {
				remove_action( 'bloglo_page_header', 'bloglo_page_header_template' );
			}
		}

		/**
		 * Register hooks
		 *
		 * @since 1.0.0
		 */
		public function register_part_hooks() {
			return array(
				array(
					'label' => 'Header',
					'hooks' => array(
						'bloglo_before_masthead' => esc_html__( 'Before Header', 'bloglo' ),
						'bloglo_after_masthead'  => esc_html__( 'After Header', 'bloglo' ),
					),
				),
				array(
					'label' => 'Main',
					'hooks' => array(
						'bloglo_before_main' => esc_html__( 'Before Main', 'bloglo' ),
						'bloglo_after_main'  => esc_html__( 'After Main', 'bloglo' ),
					),
				),
				array(
					'label' => 'Content',
					'hooks' => array(
						'bloglo_before_page_content' => esc_html__( 'Before Content', 'bloglo' ),
						'bloglo_after_page_content'  => esc_html__( 'After Content', 'bloglo' ),
					),
				),
				array(
					'label' => 'Footer',
					'hooks' => array(
						'bloglo_before_colophon' => esc_html__( 'Before Footer', 'bloglo' ),
						'bloglo_after_colophon'  => esc_html__( 'After Footer', 'bloglo' ),
					),
				),
				array(
					'label' => 'Sidebar',
					'hooks' => array(
						'bloglo_before_sidebar' => esc_html__( 'Before Sidebar', 'bloglo' ),
						'bloglo_after_sidebar'  => esc_html__( 'After Sidebar', 'bloglo' ),
					),
				),
				array(
					'label' => 'Singular',
					'hooks' => array(
						'bloglo_before_singular'       => __( 'Before Singular', 'bloglo' ),
						'bloglo_after_singular'        => __( 'After Singular', 'bloglo' ),
						'bloglo_before_comments'       => __( 'Before Comments', 'bloglo' ),
						'bloglo_after_comments'        => __( 'After Comments', 'bloglo' ),
						'bloglo_before_single_content' => __( 'Before Single Content', 'bloglo' ),
						'bloglo_after_single_content'  => __( 'After Single Content', 'bloglo' ),
					),
				),
			);
		}

	}

endif;

/**
 * Returns the one Bloglo_Beaver_Themer instance.
 */
function bloglo_beaver_themer() {
	return Bloglo_Beaver_Themer::instance();
}

bloglo_beaver_themer();
inc/compatibility/class-bloglo-jetpack.php000064400000005312152425655560014717 0ustar00<?php
/**
 * Jetpack compatibility class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

// Check if Jetpack is installed & activated.
if ( ! class_exists( 'Jetpack' ) ) {
	return;
}

if ( ! class_exists( 'Bloglo_Jetpack' ) ) :
	/**
	 * Jetpack compatibility class.
	 */
	class Bloglo_Jetpack {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			add_action( 'after_setup_theme', array( $this, 'jetpack_supports' ) );

			add_filter( 'infinite_scroll_credit', array( $this, 'tweak_credits_link' ) );
			add_filter( 'infinite_scroll_js_settings', array( $this, 'filter_infinite_scroll_js_settings' ) );
		}

		/**
		 * Add Jetpack theme supports.
		 *
		 * @since 1.0.0
		 */
		public function jetpack_supports() {

			/**
			 * Add theme support for Infinite Scroll.
			 */
			add_theme_support(
				'infinite-scroll',
				array(
					'container'      => 'content',
					'render'         => array( $this, 'infinite_scroll_render' ),
					'footer'         => 'page',
					'posts_per_page' => get_option( 'posts_per_page' ), // phpcs:ignore WordPress.WP.PostsPerPage.posts_per_page_posts_per_page
					'type'           => 'click',
				)
			);

			/**
			 * Add theme support for Responsive Videos.
			 */
			add_theme_support( 'jetpack-responsive-videos' );

			/**
			 * Add theme support for geo-location.
			 */
			add_theme_support( 'jetpack-geo-location' );
		}

		/**
		 * Custom render function for Infinite Scroll.
		 *
		 * @since 1.0.0
		 */
		public function infinite_scroll_render() {

			// WooCommerce products.
			if ( function_exists( 'is_shop' ) && is_shop() || function_exists( 'is_product_taxonomy' ) && is_product_taxonomy() ) {

				// Shop & category pages handled by default.
				return;

			} else {

				while ( have_posts() ) :
					the_post();
					get_template_part( 'template-parts/content/content', bloglo_get_article_feed_layout() );
				endwhile;
			}
		}

		/**
		 * Tweak footer credits bar link.
		 *
		 * @since 1.0.0
		 */
		public function tweak_credits_link() {
			return '<a href="https://wordpress.org/" rel="noopener noreferrer" target="_blank">' . esc_html__( 'Proudly powered by WordPress', 'bloglo' ) . '</a> | <a href="https://peregrine-themes.com/" rel="noopener noreferrer" target="_blank">Peregrine Themes</a>';
		}

		/**
		 * Filter Jetpack infinite scroll JS settings.
		 *
		 * @since 1.0.0
		 * @param array $settings Infinite Scroll JS settings.
		 */
		public function filter_infinite_scroll_js_settings( $settings ) {

			$settings['text'] = esc_html__( 'Load More', 'bloglo' );

			return $settings;
		}

	}
endif;

new Bloglo_Jetpack();
inc/compatibility/socialsnap/socialsnap-functions.php000064400000001466152425655560017223 0ustar00<?php
/**
 * Bloglo Social Snap compatibility functions.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

if ( ! function_exists( 'bloglo_entry_meta_shares' ) ) :
	/**
	 * Add share count information to entry meta.
	 *
	 * @since 1.0.0
	 */
	function bloglo_entry_meta_shares() {

		$share_count = socialsnap_get_total_share_count();

		// Icon.
		$icon = bloglo()->icons->get_meta_icon( 'share', bloglo()->icons->get_svg( 'share-2', array( 'aria-hidden' => 'true' ) ) );

		$output = sprintf(
			'<span class="share-count">%3$s%1$s %2$s</span>',
			socialsnap_format_number( $share_count ),
			esc_html( _n( 'Share', 'Shares', $share_count, 'bloglo' ) ),
			$icon
		);

		echo wp_kses( apply_filters( 'bloglo_entry_share_count', $output ), bloglo_get_allowed_html_tags() );
	}
endif;
inc/compatibility/socialsnap/class-bloglo-socialsnap.php000064400000005201152425655560017563 0ustar00<?php
/**
 * Social Snap compatibility class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_SocialSnap' ) ) :
	/**
	 * Social Snap compatibility class.
	 */
	class Bloglo_SocialSnap {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			add_action( 'activate_socialsnap/socialsnap.php', array( $this, 'disable_redirect_on_activation' ), 20 );

			// If Social Snap is not activated then return.
			if ( ! class_exists( 'SocialSnap' ) ) {
				return;
			}

			// Filter Customizer options.
			add_filter( 'bloglo_customizer_options', array( $this, 'register_options' ), 20 );

			// Set default Customizer values.
			add_filter( 'bloglo_default_option_values', array( $this, 'default_customizer_values' ), 20 );

			// Remove Social Snap Lite from recommended plugins.
			add_filter( 'bloglo_recommended_plugins', array( $this, 'update_recommended_plugins' ) );

			// Include helper functions.
			require BLOGLO_THEME_PATH . '/inc/compatibility/socialsnap/socialsnap-functions.php'; // phpcs:ignore
		}

		/**
		 * Disable admin page redirect on plugin activation.
		 *
		 * @since 1.0.0
		 */
		public static function disable_redirect_on_activation() {
			delete_site_transient( 'socialsnap_activation_redirect' );
		}

		/**
		 * Filter options to include Social Snap.
		 *
		 * @since 1.0.0
		 * @param array $options Array of customizer options.
		 */
		public function register_options( $options ) {

			$options['setting']['bloglo_single_post_meta_elements']['control']['choices']['shares'] = esc_html__( 'Shares', 'bloglo' );

			$options['setting']['bloglo_blog_entry_meta_elements']['control']['choices']['shares'] = esc_html__( 'Shares', 'bloglo' );

			return $options;
		}

		/**
		 * Add defaults for Social Snap options.
		 *
		 * @param  array $defaults Array of default values.
		 * @return array           Array of default values.
		 */
		public function default_customizer_values( $defaults ) {

			$defaults['bloglo_single_post_meta_elements']['shares'] = false;
			$defaults['bloglo_blog_entry_meta_elements']['shares']  = false;

			return $defaults;
		}

		/**
		 * Removes Social Snap lite from recommended plugins if premium version of Social Snap is activated.
		 *
		 * @param  array $plugins Plugins array.
		 * @return array
		 */
		public function update_recommended_plugins( $plugins ) {

			// Check if pro version is installed.
			if ( socialsnap()->pro ) {
				unset( $plugins['socialsnap'] );
			}

			return $plugins;
		}
	}
endif;
new Bloglo_SocialSnap();
inc/compatibility/class-bloglo-hfe.php000064400000004165152425655560014045 0ustar00<?php
/**
 * Bloglo compatibility class for Header Footer Elementor plugin.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

// Return if Elementor not active.
if ( ! class_exists( '\Elementor\Plugin' ) ) {
	return;
}

// Return if HFE not active.
if ( ! class_exists( 'Header_Footer_Elementor' ) ) {
	return false;
}

if ( ! class_exists( 'Bloglo_HFE' ) ) :

	/**
	 * HFE compatibility.
	 */
	class Bloglo_HFE {

		/**
		 * Singleton instance of the class.
		 *
		 * @var object
		 */
		private static $instance;

		/**
		 * Instance.
		 *
		 * @since 1.0.0
		 * @return Bloglo_HFE
		 */
		public static function instance() {
			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_HFE ) ) {
				self::$instance = new Bloglo_HFE();
			}
			return self::$instance;
		}

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function __construct() {
			add_action( 'after_setup_theme', array( $this, 'add_theme_support' ) );
			add_action( 'bloglo_header', array( $this, 'do_header' ), 0 );
			add_action( 'bloglo_footer', array( $this, 'do_footer' ), 0 );
		}

		/**
		 * Add theme support
		 *
		 * @since 1.0.0
		 */
		public function add_theme_support() {
			add_theme_support( 'header-footer-elementor' );
		}

		/**
		 * Override Header
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function do_header() {
			if ( ! hfe_header_enabled() ) {
				return;
			}

			hfe_render_header();

			remove_action( 'bloglo_header', 'bloglo_topbar_output', 10 );
			remove_action( 'bloglo_header', 'bloglo_header_output', 20 );
		}

		/**
		 * Override Footer
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function do_footer() {
			if ( ! hfe_footer_enabled() ) {
				return;
			}

			hfe_render_footer();

			remove_action( 'bloglo_footer', 'bloglo_footer_output', 20 );
			remove_action( 'bloglo_footer', 'bloglo_copyright_bar_output', 30 );
		}

	}

endif;

/**
 * Returns the one Bloglo_HFE instance.
 */
function bloglo_hfe() {
	return Bloglo_HFE::instance();
}

bloglo_hfe();
inc/compatibility/back-compat.php000064400000005643152425655560013107 0ustar00<?php
/**
 * Theme back compatibility functionality
 *
 * Prevents Bloglo from running on WordPress versions prior to 4.7,
 * since this theme is not meant to be backward compatible beyond that and
 * relies on many newer functions and markup changes introduced in 4.7.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Prevent switching to Highend X on old versions of WordPress.
 *
 * Switches to the default theme.
 *
 * @since 1.0.0
 */
function bloglo_switch_theme() {
	switch_theme( WP_DEFAULT_THEME );
	unset( $_GET['activated'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
	add_action( 'admin_notices', 'bloglo_upgrade_notice' );
}
add_action( 'after_switch_theme', 'bloglo_switch_theme' );

/**
 * Adds a message for unsuccessful theme switch.
 *
 * Prints an update nag after an unsuccessful attempt to switch to
 * Bloglo on WordPress versions prior to 4.7.
 *
 * @since 1.0.0
 * @global string $wp_version WordPress version.
 */
function bloglo_upgrade_notice() {
	/* translators: %s WordPress version */
	$message = sprintf( esc_html__( 'Bloglo theme requires at least WordPress version 4.7. You are running version %s. Please upgrade and try again.', 'bloglo' ), $GLOBALS['wp_version'] );
	printf( '<div class="error"><p>%s</p></div>', esc_html( $message ) );
}

/**
 * Prevents the Customizer from being loaded on WordPress versions prior to 4.7.
 *
 * @since 1.0.0
 * @global string $wp_version WordPress version.
 */
function bloglo_customize_prevent() {

	/* translators: %s WordPress version */
	$message = sprintf( esc_html__( 'Bloglo theme requires at least WordPress version 4.7. You are running version %s. Please upgrade your WordPress and try again.', 'bloglo' ), $GLOBALS['wp_version'] );

	wp_die( esc_html( $message ), '', array( 'back_link' => true ) );
}
add_action( 'load-customize.php', 'bloglo_customize_prevent' );

/**
 * Prevents the Theme Preview from being loaded on WordPress versions prior to 4.7.
 *
 * @since 1.0.0
 * @global string $wp_version WordPress version.
 */
function bloglo_preview_prevent() {
	if ( isset( $_GET['preview'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
		/* translators: %s WordPress version */
		$message = sprintf( esc_html__( 'Bloglo theme requires at least WordPress version 4.7. You are running version %s. Please upgrade and try again.', 'bloglo' ), $GLOBALS['wp_version'] );
		wp_die( esc_html( $message ) );
	}
}
add_action( 'template_redirect', 'bloglo_preview_prevent' );

if ( ! function_exists( 'wp_body_open' ) ) {
	/**
	 * Backward compatibility for wp_body_open hook.
	 *
	 * @since 1.0.0
	 */
	function wp_body_open() { // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound
		do_action( 'wp_body_open' ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
	}
}
inc/compatibility/class-bloglo-wpforms.php000064400000001545152425655560014777 0ustar00<?php
/**
 * WP Forms compatibility class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_WPForms' ) ) :
	/**
	 * WPForms compatibility class.
	 */
	class Bloglo_WPForms {

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			add_action( 'activate_wpforms-lite/wpforms.php', array( $this, 'disable_redirect_on_activation' ), 20 );

			// If WPForms is not activated then return.
			if ( ! class_exists( 'WPForms' ) ) {
				return;
			}
		}

		/**
		 * Disable admin page redirect on plugin activation.
		 *
		 * @since 1.0.0
		 */
		public function disable_redirect_on_activation() {
			delete_transient( 'wpforms_activation_redirect' );
		}
	}
endif;
new Bloglo_WPForms();
inc/compatibility/class-bloglo-elementor-pro.php000064400000011016152425655560016064 0ustar00<?php
/**
 * Bloglo compatibility class for Elementor Pro.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

// Return if Elementor not active.
if ( ! class_exists( '\Elementor\Plugin' ) || ! class_exists( 'ElementorPro\Modules\ThemeBuilder\Module' ) ) {
	return;
}

// PHP 5.3+ is required.
if ( ! version_compare( PHP_VERSION, '5.3', '>=' ) ) {
	return;
}

if ( ! class_exists( 'Bloglo_Elementor_Pro' ) ) :

	/**
	 * Elementor compatibility.
	 */
	class Bloglo_Elementor_Pro {

		/**
		 * Singleton instance of the class.
		 *
		 * @var object
		 */
		private static $instance;

		/**
		 * Elementor location manager
		 *
		 * @var object
		 */
		public $elementor_location_manager;

		/**
		 * Instance.
		 *
		 * @since 1.0.0
		 * @return Bloglo_Elementor_Pro
		 */
		public static function instance() {
			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Elementor_Pro ) ) {
				self::$instance = new Bloglo_Elementor_Pro();
			}
			return self::$instance;
		}

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function __construct() {

			// Register theme locations.
			add_action( 'elementor/theme/register_locations', array( $this, 'register_locations' ) );

			// Override templates.
			add_action( 'bloglo_header', array( $this, 'do_header' ), 0 );
			add_action( 'bloglo_footer', array( $this, 'do_footer' ), 0 );
			add_action( 'bloglo_content_404', array( $this, 'do_content_none' ), 0 );
			add_action( 'bloglo_content_single', array( $this, 'do_content_single_post' ), 0 );
			add_action( 'bloglo_content_page', array( $this, 'do_content_single_page' ), 0 );
			add_action( 'bloglo_content_archive', array( $this, 'do_archive' ), 0 );
		}

		/**
		 * Register Theme Location for Elementor.
		 *
		 * @param object $manager Elementor object.
		 * @since 1.0.0
		 * @return void
		 */
		public function register_locations( $manager ) {
			$manager->register_all_core_location();

			$this->elementor_location_manager = \ElementorPro\Modules\ThemeBuilder\Module::instance()->get_locations_manager(); // phpcs:ignore PHPCompatibility.Syntax.NewDynamicAccessToStatic.Found
		}

		/**
		 * Override Header.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function do_header() {
			$did_location = $this->elementor_location_manager->do_location( 'header' );

			if ( $did_location ) {
				remove_action( 'bloglo_header', 'bloglo_topbar_output', 10 );
				remove_action( 'bloglo_header', 'bloglo_header_output', 20 );
			}
		}

		/**
		 * Override Footer.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function do_footer() {
			$did_location = $this->elementor_location_manager->do_location( 'footer' );

			if ( $did_location ) {
				remove_action( 'bloglo_footer', 'bloglo_footer_output', 20 );
				remove_action( 'bloglo_footer', 'bloglo_copyright_bar_output', 30 );
			}
		}

		/**
		 * Override Footer.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function do_content_none() {
			if ( ! is_404() ) {
				return;
			}

			$did_location = $this->elementor_location_manager->do_location( 'single' );

			if ( $did_location ) {
				remove_action( 'bloglo_content_404', 'bloglo_404_page_content' );
			}
		}

		/**
		 * Override Single Post.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function do_content_single_post() {
			$did_location = $this->elementor_location_manager->do_location( 'single' );

			if ( $did_location ) {
				remove_action( 'bloglo_content_single', 'bloglo_content_single' );
				remove_action( 'bloglo_after_singular', 'bloglo_output_comments' );
			}
		}

		/**
		 * Override Single Page.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function do_content_single_page() {
			$did_location = $this->elementor_location_manager->do_location( 'single' );

			if ( $did_location ) {
				remove_action( 'bloglo_content_page', 'bloglo_content_page' );
				remove_action( 'bloglo_after_singular', 'bloglo_output_comments' );
			}
		}

		/**
		 * Override Archive.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function do_archive() {
			$did_location = $this->elementor_location_manager->do_location( 'archive' );

			if ( $did_location ) {
				remove_action( 'bloglo_before_content', 'bloglo_archive_info' );
				remove_action( 'bloglo_content_archive', 'bloglo_content' );
			}
		}
	}

endif;

/**
 * Returns the one Bloglo_Elementor_Pro instance.
 */
function bloglo_elementor_pro() {
	return Bloglo_Elementor_Pro::instance();
}

bloglo_elementor_pro();
inc/compatibility/class-bloglo-elementor.php000064400000010666152425655560015300 0ustar00<?php
/**
 * Bloglo compatibility class for Elementor.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

namespace Elementor; // phpcs:ignore

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

// Return if Elementor not active.
if ( ! class_exists( '\Elementor\Plugin' ) ) {
	return;
}

if ( ! class_exists( 'Bloglo_Elementor' ) ) :

	/**
	 * Elementor compatibility.
	 */
	class Bloglo_Elementor {

		/**
		 * Singleton instance of the class.
		 *
		 * @var object
		 */
		private static $instance;

		/**
		 * Instance.
		 *
		 * @since 1.0.0
		 * @return Bloglo_Elementor
		 */
		public static function instance() {
			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Elementor ) ) {
				self::$instance = new Bloglo_Elementor();
			}
			return self::$instance;
		}

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function __construct() {

			// Enqueue Elementor editor styles.
			add_action( 'elementor/preview/enqueue_styles', array( $this, 'enqueue_editor_style' ) );

			// Setup postdata for Elementor pages.
			add_action( 'wp', array( $this, 'setup_postdata' ), 1 );
			add_action( 'elementor/preview/init', array( $this, 'setup_postdata' ), 5 );

			// Enqueue additional Elementor styles.
			add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_additional' ) );
		}

		/**
		 * Editor stylesheet.
		 *
		 * @since 1.0.0
		 */
		public function enqueue_editor_style() {

			// Script debug.
			$bloglo_dir    = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? 'dev/' : '';
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			wp_enqueue_style(
				'bloglo-elementor-editor',
				BLOGLO_THEME_URI . '/assets/css/compatibility/elementor-editor-style' . $bloglo_suffix . '.css',
				false,
				BLOGLO_THEME_VERSION,
				'all'
			);
		}

		/**
		 * Setup default postdata for Elementor pages.
		 *
		 * @since 1.0.0
		 *
		 * @return void
		 */
		public function setup_postdata() {

			// Page builder compatibility disabled.
			if ( ! bloglo_enable_page_builder_compatibility() ) {
				return;
			}

			// Skip posts.
			if ( 'post' === get_post_type() ) {
				return;
			}

			// Don't modify postdata if we are not on Elementor's edit page.
			if ( ! $this->is_elementor_editor() ) {
				return;
			}

			global $post;

			$id = bloglo_get_the_id();

			$setup = get_post_meta( $id, '_bloglo_page_builder_setup', true );

			if ( isset( $post ) && empty( $setup ) && ( is_admin() || is_singular() ) && empty( $post->post_content ) && $this->is_built_with_elementor( $id ) ) {

				update_post_meta( $id, '_bloglo_page_builder_setup', true );
				update_post_meta( $id, 'bloglo_disable_page_title', true );
				update_post_meta( $id, 'bloglo_disable_breadcrumbs', true );
				update_post_meta( $id, 'bloglo_disable_thumbnail', true );
				update_post_meta( $id, 'bloglo_sidebar_position', 'no-sidebar' );

				update_post_meta( $id, '_wp_page_template', 'page-templates/template-bloglo-fullwidth.php' );
			}

		}

		/**
		 * Additional Elementor styles.
		 *
		 * @since 1.0.0
		 */
		public function enqueue_additional() {

			// Script debug.
			$bloglo_dir    = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? 'dev/' : '';
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			// Enqueue theme stylesheet.
			wp_enqueue_style(
				'bloglo-elementor',
				BLOGLO_THEME_URI . '/assets/css/compatibility/elementor' . $bloglo_suffix . '.css',
				false,
				BLOGLO_THEME_VERSION,
				'all'
			);
		}

		/**
		 * Check if page is built with elementor.
		 *
		 * @param int $id Post/Page Id.
		 * @since 1.0.0
		 *
		 * @return boolean
		 */
		public function is_built_with_elementor( $id ) {
			if ( version_compare( ELEMENTOR_VERSION, '1.5.0', '<' ) ) {
				return ( 'builder' === Plugin::$instance->db->get_edit_mode( $id ) );
			} else {
				return Plugin::$instance->db->is_built_with_elementor( $id );
			}
		}

		/**
		 * Check if Elementor Editor is loaded.
		 *
		 * @since 1.0.0
		 *
		 * @return boolean Elementor editor is loaded.
		 */
		private function is_elementor_editor() {
			return ( isset( $_REQUEST['action'] ) && 'elementor' === $_REQUEST['action'] ) || isset( $_REQUEST['elementor-preview'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
		}
	}

endif;

/**
 * Returns the one Bloglo_Elementor instance.
 */
function bloglo_elementor() {
	return Bloglo_Elementor::instance();
}

bloglo_elementor();
inc/common.php000064400000067170152425655560007350 0ustar00<?php

/**
 * Common functions used in backend and frontend of the theme.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! function_exists( 'bloglo_get_allowed_html_tags' ) ) {
	/**
	 * Array of allowed HTML Tags.
	 *
	 * @since 1.0.0
	 * @param string $type predefined HTML tags group name.
	 * @return array, allowed HTML tags.
	 */
	function bloglo_get_allowed_html_tags( $type = 'post' ) {

		$tags = array();

		switch ( $type ) {

			case 'basic':
				$tags = array(
					'strong' => array(),
					'em'     => array(),
					'b'      => array(),
					'br'     => array(),
					'i'      => array(
						'class' => array(),
					),
					'img'    => array(
						'src'    => array(),
						'alt'    => array(),
						'width'  => array(),
						'height' => array(),
						'class'  => array(),
						'id'     => array(),
					),
					'span'   => array(
						'class' => array(),
					),
					'a'      => array(
						'href'   => array(),
						'rel'    => array(),
						'target' => array(),
						'class'  => array(),
						'role'   => array(),
						'id'     => array(),
					),
				);
				break;

			case 'button':
				$tags = array(
					'strong' => array(),
					'em'     => array(),
					'span'   => array(
						'class' => array(),
					),
					'i'      => array(
						'class' => array(),
					),
				);
				break;

			case 'span':
				$tags = array(
					'span' => array(
						'class' => array(),
					),
				);
				break;

			case 'icon':
				$tags = array(
					'i'    => array(),
					'span' => array(),
					'img'  => array(),
				);
				break;

			case 'post':
				$tags = wp_kses_allowed_html( 'post' );

				$tags = array_merge(
					$tags,
					array(
						'svg'            => array(
							'class'       => true,
							'xmlns'       => true,
							'width'       => true,
							'height'      => true,
							'viewbox'     => true,
							'aria-hidden' => true,
							'role'        => true,
							'focusable'   => true,
						),
						'path'           => array(
							'fill'      => true,
							'fill-rule' => true,
							'd'         => true,
							'transform' => true,
						),
						'polygon'        => array(
							'fill'      => true,
							'fill-rule' => true,
							'points'    => true,
							'transform' => true,
							'focusable' => true,
						),
						'title'          => array(),
						'data-mce-style' => '',
						'iframe'         => array(
							'title'       => true,
							'src'         => true,
							'width'       => true,
							'height'      => true,
							'loading'     => true,
							'frameborder' => true,
						),
						'time'			=> array(
							'datetime' 	=> true,
							'class' 	=> true
						)
					)
				);

				break;

			case 'svg':
				$tags = array(
					'svg'     => array(
						'class'       => true,
						'xmlns'       => true,
						'width'       => true,
						'height'      => true,
						'viewbox'     => true,
						'aria-hidden' => true,
						'role'        => true,
						'focusable'   => true,
					),
					'path'    => array(
						'fill'      => true,
						'fill-rule' => true,
						'd'         => true,
						'transform' => true,
					),
					'polygon' => array(
						'fill'      => true,
						'fill-rule' => true,
						'points'    => true,
						'transform' => true,
						'focusable' => true,
					),
					'title'   => array(),
				);
				break;

			default:
				$tags = array(
					'strong' => array(),
					'em'     => array(),
					'b'      => array(),
					'i'      => array(),
					'img'    => array(
						'src'    => array(),
						'alt'    => array(),
						'width'  => array(),
						'height' => array(),
						'class'  => array(),
						'id'     => array(),
					),
					'span'   => array(),
					'a'      => array(
						'href'   => array(),
						'rel'    => array(),
						'target' => array(),
						'class'  => array(),
						'role'   => array(),
						'id'     => array(),
					),
				);
				break;
		}

		return apply_filters( 'bloglo_allowed_html_tags', $tags, $type );
	}
}

/**
 * Returns the value for option.
 *
 * @since 1.0.0
 *
 * @param  string $id Option ID.
 * @param  string $prefix Theme prefix.
 * @param  string $type Option or Theme Mod.
 * @return mixed Option value.
 */
function bloglo_option( $id, $prefix = 'bloglo_', $type = 'theme_mod' ) {

	if ( 'theme_mod' === $type ) {
		return bloglo()->options->get( $prefix . $id );
	} else {
		return get_option( $prefix . $id, bloglo()->options->get( $prefix . $id ) );
	}
}

/**
 * Get default for option.
 *
 * @since 1.0.0
 *
 * @param  string $id Option ID.
 * @param  string $prefix Theme prefix.
 * @return mixed Option value.
 */
function bloglo_get_default( $id, $prefix = 'bloglo_' ) {
	return bloglo()->options->get_default( $prefix . $id );
}

/**
 * Checks to see if Top Bar is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean if Top Bar is enabled.
 */
function bloglo_is_top_bar_displayed( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$top_bar_displayed = bloglo_option( 'top_bar_enable' );

	if ( $post_id && $top_bar_displayed ) {
		$top_bar_displayed = ! get_post_meta( $post_id, 'bloglo_disable_topbar', true );
	}

	// Do not show top bar on 404 page.
	if ( is_404() ) {
		$top_bar_displayed = false;
	}

	return apply_filters( 'bloglo_is_top_bar_displayed', $top_bar_displayed, $post_id );
}

/**
 * Checks to see if Page Preloader is displayed.
 *
 * @since 1.0.0
 *
 * @return boolean, true if Preloader is displayed.
 */
function bloglo_is_preloader_displayed() {

	$displayed = (bool) bloglo_option( 'preloader' );

	return apply_filters( 'bloglo_is_preloader_displayed', $displayed );
}

/**
 * Checks to see if Header is displayed.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean true if Header is displayed.
 */
function bloglo_is_header_displayed( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$displayed = true;

	if ( $post_id ) {
		$displayed = ! get_post_meta( $post_id, 'bloglo_disable_header', true );
	}

	return apply_filters( 'bloglo_is_header_displayed', $displayed, $post_id );
}

/**
 * Checks to see if Transparent Header is enabled.
 *
 * @since 1.0.0
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean, true if Header is transparent.
 */
function bloglo_is_header_transparent( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$enabled = bloglo_option( 'tsp_header' );

	if ( $enabled && bloglo_is_section_disabled( bloglo_option( 'tsp_header_disable_on' ), $post_id ) ) {
		$enabled = false;
	}

	if ( $post_id ) {

		$_meta = get_post_meta( $post_id, 'bloglo_transparent_header', true );

		if ( 'enable' === $_meta ) {
			$enabled = true;
		} elseif ( 'disable' === $_meta ) {
			$enabled = false;
		}
	}

	return apply_filters( 'bloglo_transparent_header', $enabled, $post_id );
}

/**
 * Checks to see if Pre Footer is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean true if Pre Footer is enabled.
 */
function bloglo_is_pre_footer_displayed( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$displayed = false;

	// Customizer option to enable pre-footer.
	if ( bloglo_option( 'enable_pre_footer_cta' ) ) {
		$displayed = true;
	}

	// At least one pre-footer are has to be enabled.
	if ( ! bloglo_is_pre_footer_cta_displayed( $post_id ) ) {
		$displayed = false;
	}

	return apply_filters( 'bloglo_is_pre_footer_displayed', $displayed, $post_id );
}

/**
 * Checks to see if Pre Footer is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean True if Pre Footer is enabled.
 */
function bloglo_is_pre_footer_cta_displayed( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$displayed = false;

	if ( bloglo_option( 'enable_pre_footer_cta' ) ) {
		$displayed = true;
	}

	if ( $displayed && bloglo_is_section_disabled( bloglo_option( 'pre_footer_cta_hide_on' ), $post_id ) ) {
		$displayed = false;
	}

	if ( $post_id && $displayed ) {
		$displayed = ! get_post_meta( $post_id, 'bloglo_disable_prefooter_cta', true );
	}

	// Do not show pre footer widgets on 404 page.
	if ( is_404() ) {
		$displayed = false;
	}

	return apply_filters( 'bloglo_is_pre_footer_cta_displayed', $displayed, $post_id );
}

/**
 * Checks to see if Hero section is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean True if Hero is enabled.
 */
function bloglo_is_hero_displayed( $post_id = 0 ) {

	$displayed = true;

	if ( ! bloglo_option( 'enable_hero' ) ) {
		$displayed = false;
	}

	if ( $displayed && ! bloglo_is_section_disabled( bloglo_option( 'hero_enable_on' ), $post_id ) ) {
		$displayed = false;
	}

	return apply_filters( 'bloglo_is_hero_displayed', $displayed, $post_id );
}

/**
 * Checks to see if Featured Links section is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean True if Featured Links is enabled.
 */
function bloglo_is_featured_links_displayed( $post_id = 0 ) {

	$displayed = true;

	if ( ! bloglo_option( 'enable_featured_links' ) ) {
		$displayed = false;
	}

	if ( $displayed && ! bloglo_is_section_disabled( bloglo_option( 'featured_links_enable_on' ), $post_id ) ) {
		$displayed = false;
	}

	return apply_filters( 'bloglo_is_featured_links_displayed', $displayed, $post_id );
}

/**
 * Checks to see if PYML section is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean True if PYML is enabled.
 */
function bloglo_is_pyml_displayed( $post_id = 0 ) {

	$displayed = true;

	if ( ! bloglo_option( 'enable_pyml' ) ) {
		$displayed = false;
	}

	if ( $displayed && ! bloglo_is_section_disabled( bloglo_option( 'pyml_enable_on' ), $post_id ) ) {
		$displayed = false;
	}

	return apply_filters( 'bloglo_is_pyml_displayed', $displayed, $post_id );
}

/**
 * Checks to see if Ticker News section is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean True if Ticker News is enabled.
 */
function bloglo_is_ticker_displayed( $post_id = 0 ) {

	$displayed = true;

	if ( ! bloglo_option( 'enable_ticker' ) ) {
		$displayed = false;
	}

	if ( $displayed && ! bloglo_is_section_disabled( bloglo_option( 'ticker_enable_on' ), $post_id ) ) {
		$displayed = false;
	}

	return apply_filters( 'bloglo_is_ticker_displayed', $displayed, $post_id );
}

/**
 * Checks to see if Main Footer is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean, true if Main Footer is enabled.
 */
function bloglo_is_footer_displayed( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$footer_displayed = bloglo_option( 'enable_footer' );

	if ( $post_id && $footer_displayed ) {
		$footer_displayed = ! get_post_meta( $post_id, 'bloglo_disable_footer', true );
	}

	// Do not show footer widgets on 404 page.
	if ( is_404() ) {
		$footer_displayed = false;
	}

	if ( $footer_displayed && ! current_user_can( 'edit_theme_options' ) ) {

		$footer_columns = bloglo_get_footer_column_count();
		$footer_active  = false;

		for ( $i = 1; $i <= $footer_columns; $i++ ) {
			$footer_active = $footer_active || is_active_sidebar( 'bloglo-footer-' . $i );
		}

		$footer_displayed = $footer_displayed && $footer_active;
	}

	return apply_filters( 'bloglo_is_footer_displayed', $footer_displayed, $post_id );
}

/**
 * Checks to see if Copyright Bar is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean, true if Copyright bar is enabled.
 */
function bloglo_is_copyright_bar_displayed( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$displayed = bloglo_option( 'enable_copyright' );
	$widgets   = bloglo_option( 'copyright_widgets' );

	if ( $displayed && ! is_array( $widgets ) || empty( $widgets ) ) {
		$displayed = false;
	}

	if ( $post_id && $displayed ) {
		$displayed = ! get_post_meta( $post_id, 'bloglo_disable_copyright', true );
	}

	// Do not show copyright bar on 404 page.
	if ( is_404() ) {
		$displayed = false;
	}

	return apply_filters( 'bloglo_is_copyright_displayed', $displayed, $post_id );
}

/**
 * Checks to see if Post Card Border is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean, true if Post Card Border is enabled.
 */
function bloglo_is_blog_card_border_displayed( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$blog_card_border_displayed = bloglo_option( 'blog_card_border' );

	if ( $post_id && $blog_card_border_displayed ) {
		$blog_card_border_displayed = ! get_post_meta( $post_id, 'bloglo_disable_blog_card_border', true );
	}

	// Do not show footer widgets on 404 page.
	if ( is_404() ) {
		$blog_card_border_displayed = false;
	}

	return apply_filters( 'bloglo_is_blog_card_border_displayed', $blog_card_border_displayed, $post_id );
}

/**
 * Checks to see if Colophon section is enabled.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean, true if Colophon is enabled.
 */
function bloglo_is_colophon_displayed( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$displayed = true;

	// Do not show colophon if both footer and copyright bar are not displayed.
	if ( ! bloglo_is_footer_displayed( $post_id ) && ! bloglo_is_copyright_bar_displayed( $post_id ) ) {
		$displayed = false;
	}

	// Do not show colophon on 404 page.
	if ( is_404() ) {
		$displayed = false;
	}

	return apply_filters( 'bloglo_is_colophon_displayed', $displayed, $post_id );
}

/**
 * Checks to see if Page Header is displayed.
 *
 * @since 1.0.0
 *
 * @param  int $post_id Optional. The post ID to check.
 * @return boolean, if Page Header is displayed.
 */
function bloglo_is_page_header_displayed( $post_id = 0 ) {

	if ( ! $post_id ) {
		$post_id = bloglo_get_the_id();
	}

	$displayed = bloglo_option( 'page_header_enable' );

	if ( $post_id && $displayed ) {
		$displayed = bloglo_page_header_has_title( $post_id ) || bloglo_page_header_has_breadcrumbs( $post_id );
	} elseif ( is_404() ) {
		$displayed = false;
	}

	if ( is_front_page() ) {
		$displayed = false;
	}

	return apply_filters( 'bloglo_is_page_header_displayed', $displayed, $post_id );
}

/**
 * Checks to see if WooCommerce is installed & activated.
 *
 * @since 1.0.0
 * @return boolean, if Copyright bar is enabled.
 */
function bloglo_is_woocommerce_activated() {
	return class_exists( 'woocommerce' );
}

/**
 * Get registered sidebar name by sidebar ID.
 *
 * @since  1.0.0
 * @param  string $sidebar_id Sidebar ID.
 * @return string Sidebar name.
 */
function bloglo_get_sidebar_name_by_id( $sidebar_id = '' ) {

	if ( ! $sidebar_id ) {
		return;
	}

	global $wp_registered_sidebars;
	$sidebar_name = '';

	if ( isset( $wp_registered_sidebars[ $sidebar_id ] ) ) {
		$sidebar_name = $wp_registered_sidebars[ $sidebar_id ]['name'];
	}

	return $sidebar_name;
}

/**
 * Convert hexdec color string to rgb(a) string.
 *
 * @since  1.0.0
 * @param  string           $color Hex color code.
 * @param  string | boolean $opacity opacity value.
 * @return string color in rgba format.
 */
function bloglo_hex2rgba( $color, $opacity = false ) {

	$default = 'rgb(0,0,0)';

	// Return default if no color provided.
	if ( empty( $color ) ) {
		return $default;
	}

	if ( substr( $color, 0, 4 ) === 'rgba' ) {
		return $color;
	}

	// Sanitize $color if "#" is provided.
	if ( '#' === $color[0] ) {
		$color = substr( $color, 1 );
	}

	// Check if color has 6 or 3 characters and get values.
	if ( 6 === strlen( $color ) ) {
		$hex = array( $color[0] . $color[1], $color[2] . $color[3], $color[4] . $color[5] );
	} elseif ( 3 === strlen( $color ) ) {
		$hex = array( $color[0] . $color[0], $color[1] . $color[1], $color[2] . $color[2] );
	} else {
		return $default;
	}

	// Convert hexadec to rgb.
	$rgb = array_map( 'hexdec', $hex );

	// Check if opacity is set(rgba or rgb).
	if ( $opacity ) {

		if ( abs( $opacity ) > 1 ) {
			$opacity = 1;
		}

		$output = 'rgba(' . implode( ',', $rgb ) . ',' . $opacity . ')';
	} else {
		$output = 'rgb(' . implode( ',', $rgb ) . ')';
	}

	// Return rgb(a) color string.
	return $output;
}

/**
 * Convert rgb(a) color string to hex string.
 *
 * @since  1.0.0
 * @param  string $color rgb(a) color code.
 * @return string color in HEX format.
 */
function bloglo_rgba2hex( $color ) {

	preg_match( '/rgba?\(\s?([0-9]{1,3}),\s?([0-9]{1,3}),\s?([0-9]{1,3})/i', $color, $matches );

	if ( ! is_array( $matches ) || count( $matches ) < 3 ) {
		return false;
	}

	$hex = '';

	for ( $i = 1; $i <= 3; $i++ ) {
		$x = dechex( (int) $matches[ $i ] );

		$hex .= ( 1 === strlen( $x ) ) ? '0' . $x : $x;
	}

	if ( $hex ) {
		return '#' . $hex;
	}

	return false;
}

/**
 * Lightens/darkens a given colour (in hex format), returning the altered color in hex format.
 *
 * @since 1.0.0
 * @param string $hexcolor Color as hexadecimal (with or without hash).
 * @param float  $percent Decimal ( 0.2 = lighten by 20%, -0.4 = darken by 40% ).
 * @return string Lightened/Darkend color as hexadecimal (with hash)
 */
function bloglo_luminance( $hexcolor, $percent ) {

	if ( empty( $hexcolor ) ) {
		return;
	}

	// Check if color is in RGB format and convert to HEX.
	if ( false !== strpos( $hexcolor, 'rgb' ) ) {
		$hexcolor = bloglo_rgba2hex( $hexcolor );
	}

	if ( strlen( $hexcolor ) < 6 ) {
		$hexcolor = $hexcolor[0] . $hexcolor[0] . $hexcolor[1] . $hexcolor[1] . $hexcolor[2] . $hexcolor[2];
	}

	$hexcolor = array_map( 'hexdec', str_split( str_pad( str_replace( '#', '', $hexcolor ), 6, '0' ), 2 ) );

	foreach ( $hexcolor as $i => $color ) {
		$from           = $percent < 0 ? 0 : $color;
		$to             = $percent < 0 ? $color : 255;
		$pvalue         = ceil( ( $to - $from ) * $percent );
		$hexcolor[ $i ] = str_pad( dechex( $color + $pvalue ), 2, '0', STR_PAD_LEFT );
	}

	// Return hex color.
	return '#' . implode( $hexcolor );
}

/**
 * Determine whether a hex color is light.
 *
 * @param  mixed $color Color.
 * @return bool  True if a light color.
 */
function bloglo_is_light_color( $color ) {

	// Ensure we color is in hex format.
	if ( false !== strpos( $color, 'rgb' ) ) {
		$color = bloglo_rgba2hex( $color );
	}

	$hex = str_replace( '#', '', $color );

	$c_r = hexdec( substr( $hex, 0, 2 ) );
	$c_g = hexdec( substr( $hex, 2, 2 ) );
	$c_b = hexdec( substr( $hex, 4, 2 ) );

	$brightness = ( ( $c_r * 299 ) + ( $c_g * 587 ) + ( $c_b * 114 ) ) / 1000;

	return $brightness > 155;
}

/**
 * Detect if we should use a light or dark color on a background color.
 *
 * @param mixed  $color Color.
 * @param string $dark  Darkest reference. Defaults to '#000000'.
 * @param string $light Lightest reference. Defaults to '#FFFFFF'.
 * @return string
 */
function bloglo_light_or_dark( $color, $dark = '#000000', $light = '#FFFFFF' ) {
	return bloglo_is_light_color( $color ) ? $dark : $light;
}

if ( ! function_exists( 'bloglo_get_prop' ) ) :

	/**
	 * Get a specific property of an array without needing to check if that property exists.
	 *
	 * Provide a default value if you want to return a specific value if the property is not set.
	 *
	 * @since 1.0.0
	 *
	 * @param array  $array   Array from which the property's value should be retrieved.
	 * @param string $prop    Name of the property to be retrieved.
	 * @param string $default Optional. Value that should be returned if the property is not set or empty. Defaults to null.
	 *
	 * @return null|string|mixed The value
	 */
	function bloglo_get_prop( $array, $prop, $default = null ) {

		if ( ! is_array( $array ) && ! ( is_object( $array ) && $array instanceof ArrayAccess ) ) {
			return $default;
		}

		if ( isset( $array[ $prop ] ) ) {
			$value = $array[ $prop ];
		} else {
			$value = '';
		}

		return empty( $value ) && null !== $default ? $default : $value;
	}
endif;

/**
 * Print objects to error log.
 *
 * @since  1.0.0
 * @param  string $object Object to be printed.
 */
function bloglo_log( $object ) {
	// phpcs:disable
	ob_start();
	print_r($object);
	error_log(ob_get_clean());
	// phpcs:enable
}

/**
 * Returns blog page URL.
 *
 * @since 1.0.0
 * @return String, current page URL.
 */
function bloglo_get_blog_url() {

	$blog_url = '';

	// If front page is set to display a static page, get the URL of the posts page.
	if ( 'page' === get_option( 'show_on_front' ) ) {

		$page_for_posts = get_option( 'page_for_posts' );

		if ( $page_for_posts ) {
			$blog_url = get_permalink( $page_for_posts );
		}
	} else {

		// The front page IS the posts page. Get its URL.
		$blog_url = home_url( '/' );
	}

	return apply_filters( 'bloglo_site_url', $blog_url );
}

/**
 * Returns array of default values for Design Options field.
 *
 * @since  1.0.0
 * @param  array $options Default options.
 * @return array $defaults array of default values.
 */
function bloglo_design_options_defaults( $options = array() ) {

	$defaults = array();

	// Background options.
	if ( isset( $options['background'] ) ) {

		// Default background type.
		if ( isset( $options['background']['background-type'] ) && in_array( $options['background']['background-type'], array( 'color', 'image', 'gradient' ), true ) ) {
			$defaults['background-type'] = $options['background']['background-type'];
		} else {
			$defaults['background-type'] = 'color';
		}

		// Background color defaults.
		if ( isset( $options['background']['color'] ) ) {
			$defaults += wp_parse_args(
				(array) $options['background']['color'],
				array(
					'background-color' => '',
				)
			);
		}

		// Background image defaults.
		if ( isset( $options['background']['image'] ) ) {
			$defaults += wp_parse_args(
				(array) $options['background']['image'],
				array(
					'background-image'         => '',
					'background-repeat'        => 'no-repeat',
					'background-position-x'    => '50',
					'background-position-y'    => '50',
					'background-size'          => 'cover',
					'background-attachment'    => 'inherit',
					'background-image-id'      => '',
					'background-color-overlay' => 'rgba(0,0,0,0.5)',
				)
			);
		}

		// Background gradient defaults.
		if ( isset( $options['background']['gradient'] ) ) {
			$defaults += wp_parse_args(
				(array) $options['background']['gradient'],
				array(
					'gradient-color-1'          => '#16222A',
					'gradient-color-1-location' => '0',
					'gradient-color-2'          => '#3A6073',
					'gradient-color-2-location' => '100',
					'gradient-type'             => 'linear',
					'gradient-linear-angle'     => '45',
					'gradient-position'         => 'center center',
				)
			);
		}
	}

	// Border default.
	if ( isset( $options['border'] ) ) {
		$defaults += wp_parse_args(
			(array) $options['border'],
			array(
				'border-left-width'   => '',
				'border-top-width'    => '',
				'border-right-width'  => '',
				'border-bottom-width' => '',
				'border-color'        => '',
				'style'               => 'solid',
				'separator-color'     => '',
			)
		);
	}

	// Color default.
	if ( isset( $options['color'] ) ) {
		$defaults += wp_parse_args(
			(array) $options['color'],
			array(
				'text-color'       => '',
				'link-color'       => '',
				'link-hover-color' => '',
			)
		);
	}

	return apply_filters( 'bloglo_design_options_defaults', $defaults, $options );
}

/**
 * Returns array of default values for Typography field.
 *
 * @since  1.0.0
 * @param  array $options Default options.
 * @return array $defaults array of default values.
 */
function bloglo_typography_defaults( $options = array() ) {

	$defaults = apply_filters(
		'bloglo_typography_defaults',
		array(
			'font-family'         => 'inherit',
			'font-subsets'        => array(),
			'font-weight'         => '400',
			'font-style'          => 'inherit',
			'text-transform'      => 'inherit',
			'text-decoration'     => 'inherit',
			'font-size-desktop'   => '',
			'font-size-tablet'    => '',
			'font-size-mobile'    => '',
			'font-size-unit'      => 'px',
			'letter-spacing'      => '0',
			'letter-spacing-unit' => 'px',
			'line-height-desktop' => '',
			'line-height-tablet'  => '',
			'line-height-mobile'  => '',
			'line-height-unit'    => '',
		)
	);

	$options = wp_parse_args( $options, $defaults );

	return $options;
}

if ( ! function_exists( 'bloglo_enable_page_builder_compatibility' ) ) :

	/**
	 * Allow filter to enable/disable page builder compatibility.
	 *
	 * @since 1.0.0
	 *
	 * @return  bool True - If the page builder compatibility is enabled. False - IF the page builder compatibility is disabled.
	 */
	function bloglo_enable_page_builder_compatibility() {
		return apply_filters( 'bloglo_enable_page_builder_compatibility', true );
	}

endif;

/**
 * Insert into array before specified key.
 *
 * @since 1.0.0
 * @param array  $array     Array to be modified.
 * @param array  $pairs     Array of key => value pairs to insert.
 * @param mixed  $key       Key of $array to insert before or after.
 * @param string $position  Before or after $key.
 * @return array $result    Array with inserted $new value.
 */
function hester_array_insert( $array, $pairs, $key, $position = 'after' ) {

	$key_pos = array_search( $key, array_keys( $array ), true );

	if ( 'after' === $position ) {
		$key_pos++;
	}

	if ( false !== $key_pos ) {
		$result = array_slice( $array, 0, $key_pos );
		$result = array_merge( $result, $pairs );
		$result = array_merge( $result, array_slice( $array, $key_pos ) );
	} else {
		$result = array_merge( $array, $pairs );
	}

	return $result;
}

/**
 * Get background color based on site layout.
 *
 * @since  1.0.0
 * @return string Background color.
 */
function bloglo_get_background_color() {

	$background_color = '#' . get_background_color();

	return $background_color;
}

/**
 * Check if a section is disabled.
 *
 * @since 1.0.0
 *
 * @param  array $disabled_on Array of pages where the section is disabled.
 * @param  int   $post_id     Current page ID.
 * @return bool               Section is displayed.
 */
function bloglo_is_section_disabled( $disabled_on = array(), $post_id = 0 ) {

	$disabled = false;

	if ( is_front_page() && in_array( 'home', $disabled_on, true ) ) {
		$disabled = true;
	} elseif ( is_home() && in_array( 'posts_page', $disabled_on, true ) ) {
		$disabled = true;
	} elseif ( is_search() && in_array( 'search', $disabled_on, true ) ) {
		$disabled = true;
	} elseif ( is_archive() && in_array( 'archive', $disabled_on, true ) ) {
		$disabled = true;
	} elseif ( is_404() && in_array( 404, $disabled_on, true ) ) {
		$disabled = true;
	} elseif ( ( is_singular() || ! empty( $post_id ) ) && ! is_front_page() ) {

		if ( empty( $post_id ) ) {
			$post_id = bloglo_get_the_id();
		}

		if ( in_array( get_post_type( $post_id ), $disabled_on, true ) ) {
			$disabled = true;
		}
	}

	return $disabled;
}

/**
 * Get all the registered image sizes along with their dimensions.
 *
 * @since 1.0.0
 * @return array $image_sizes The image sizes
 */
function bloglo_get_image_sizes() {
	global $_wp_additional_image_sizes;

	$default_image_sizes = get_intermediate_image_sizes();

	foreach ( $default_image_sizes as $size ) {
		$image_sizes[ $size ]['width']  = intval( get_option( "{$size}_size_w" ) );
		$image_sizes[ $size ]['height'] = intval( get_option( "{$size}_size_h" ) );
		$image_sizes[ $size ]['crop']   = get_option( "{$size}_crop" ) ? get_option( "{$size}_crop" ) : false;
	}

	if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) ) {
		$image_sizes = array_merge( $image_sizes, $_wp_additional_image_sizes );
	}

	$image_sizes['full'] = array(
		'width'  => '',
		'height' => '',
		'crop'   => '',
	);

	return $image_sizes;
}

if ( ! function_exists( 'bloglo_display_notices' ) ) :
	/**
	 * Display notices.
	 */
	function bloglo_display_notices() {
		return defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG || defined( 'WP_DEBUG' ) && WP_DEBUG;
	}
endif;
inc/widgets.php000064400000006050152425655560007514 0ustar00<?php
/**
 * Widget customization and register sidebar widget areas.
 *
 * @package Bloglo
 * @author  Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! function_exists( 'bloglo_widgets_init' ) ) :
	/**
	 * Register widget area.
	 *
	 * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
	 * @since 1.0.0
	 */
	function bloglo_widgets_init() {

		// Default Sidebar.
		register_sidebar(
			array(
				'name'          => esc_html__( 'Default Sidebar', 'bloglo' ),
				'id'            => 'sidebar-1',
				'description'   => esc_html__( 'Widgets in this area are displayed in the left or right sidebar area based on your Default Sidebar Position settings.', 'bloglo' ),
				'before_widget' => '<div id="%1$s" class="bloglo-sidebar-widget bloglo-widget bloglo-entry widget %2$s">',
				'after_widget'  => '</div>',
				'before_title'  => '<div class="h4 widget-title">',
				'after_title'   => '</div>',
			)
		);

		// Footer 1.
		register_sidebar(
			array(
				'name'          => esc_html__( 'Footer 1', 'bloglo' ),
				'id'            => 'bloglo-footer-1',
				'description'   => esc_html__( 'Widgets in this area are displayed in the first footer column.', 'bloglo' ),
				'before_widget' => '<div id="%1$s" class="bloglo-footer-widget bloglo-widget bloglo-entry widget %2$s">',
				'after_widget'  => '</div>',
				'before_title'  => '<div class="h4 widget-title">',
				'after_title'   => '</div>',
			)
		);

		// Footer 2.
		register_sidebar(
			array(
				'name'          => esc_html__( 'Footer 2', 'bloglo' ),
				'id'            => 'bloglo-footer-2',
				'description'   => esc_html__( 'Widgets in this area are displayed in the second footer column.', 'bloglo' ),
				'before_widget' => '<div id="%1$s" class="bloglo-footer-widget bloglo-widget bloglo-entry widget %2$s">',
				'after_widget'  => '</div>',
				'before_title'  => '<div class="h4 widget-title">',
				'after_title'   => '</div>',
			)
		);

		// Footer 3.
		register_sidebar(
			array(
				'name'          => esc_html__( 'Footer 3', 'bloglo' ),
				'id'            => 'bloglo-footer-3',
				'description'   => esc_html__( 'Widgets in this area are displayed in the third footer column.', 'bloglo' ),
				'before_widget' => '<div id="%1$s" class="bloglo-footer-widget bloglo-widget bloglo-entry widget %2$s">',
				'after_widget'  => '</div>',
				'before_title'  => '<div class="h4 widget-title">',
				'after_title'   => '</div>',
			)
		);

		// Footer 4.
		register_sidebar(
			array(
				'name'          => esc_html__( 'Footer 4', 'bloglo' ),
				'id'            => 'bloglo-footer-4',
				'description'   => esc_html__( 'Widgets in this area are displayed in the fourth footer column.', 'bloglo' ),
				'before_widget' => '<div id="%1$s" class="bloglo-footer-widget bloglo-widget bloglo-entry widget %2$s clr">',
				'after_widget'  => '</div>',
				'before_title'  => '<div class="h4 widget-title">',
				'after_title'   => '</div>',
			)
		);
	}
endif;
add_action( 'widgets_init', 'bloglo_widgets_init' );
inc/utilities/class-bloglo-plugin-utilities.php000064400000017304152425655560015753 0ustar00<?php
/**
 * Plugin utilities class.
 *
 * This class has functions to install, activate & deactivate plugins.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Plugin utilities.
 * Class that contains methods for changing plugin status.
 *
 * @since 1.0.0
 */
class Bloglo_Plugin_Utilities {

	/**
	 * Singleton instance of the class.
	 *
	 * @since 1.0.0
	 * @var object
	 */
	private static $instance;

	/**
	 * Main Bloglo Plugin Utilities Instance.
	 *
	 * @since 1.0.0
	 * @return Bloglo_Plugin_Utilities
	 */
	public static function instance() {

		if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Plugin_Utilities ) ) {
			self::$instance = new self();
		}
		return self::$instance;
	}

	/**
	 * Primary class constructor.
	 *
	 * @since 1.0.0
	 */
	public function __construct() {
	}

	/**
	 * Activate array of plugins.
	 *
	 * @param array, $plugins Plugins to be activated.
	 * @since 1.0.0
	 */
	public function activate_plugins( $plugins ) {

		$status = array();

		wp_clean_plugins_cache( false );

		// Activate plugins.
		foreach ( $plugins as $plugin ) {
			$status[ $plugin['slug'] ]['activate'] = $this->activate_plugin( $plugin['slug'] );
		}

		return $status;
	}

	/**
	 * Activate individual plugin.
	 *
	 * @param array, $plugin Plugin to be activated.
	 * @return void|WP_Error
	 * @since 1.0.0
	 */
	public function activate_plugin( $plugin ) {

		// Check permissions.
		if ( ! current_user_can( 'activate_plugins' ) ) {
			return new WP_Error(
				'plugin_activation_failed',
				esc_html__( 'Current user can\'t activate plugins', 'bloglo' )
			);
		}

		// Validate plugin data.
		if ( empty( $plugin ) ) {
			return new WP_Error(
				'plugin_activation_failed',
				esc_html__( 'Missing plugin data.', 'bloglo' )
			);
		}

		if ( ! function_exists( 'get_plugins' ) ) {
			require_once ABSPATH . 'wp-admin/includes/plugin.php'; // phpcs:ignore
		}

		$plugin_data = get_plugins( '/' . $plugin );

		if ( empty( $plugin_data ) ) {
			return new WP_Error(
				'plugin_activation_failed',
				sprintf(
					// translators: %s is plugin name.
					esc_html__( 'Plugin %s is not installed.', 'bloglo' ),
					$plugin
				)
			);
		}

		$plugin_file_array  = array_keys( $plugin_data );
		$plugin_file        = $plugin_file_array[0];
		$plugin_to_activate = $plugin . '/' . $plugin_file;
		$activate           = activate_plugin( $plugin_to_activate );

		if ( is_wp_error( $activate ) ) {
			return $activate;
		}

		do_action( 'bloglo_plugin_activated_' . $plugin );
	}

	/**
	 * Deactivate individual plugin
	 *
	 * @param array, $plugin Plugin to be deactivated.
	 * @return void|WP_Error
	 * @since 1.0.0
	 */
	public function deactivate_plugin( $plugin ) {

		// Check permissions.
		if ( ! current_user_can( 'activate_plugins' ) ) {
			return new WP_Error(
				'plugin_activation_failed',
				esc_html__( 'Current user can\'t activate plugins', 'bloglo' )
			);
		}

		// Validate plugin data.
		if ( empty( $plugin ) ) {
			return new WP_Error(
				'plugin_activation_failed',
				esc_html__( 'Missing plugin data.', 'bloglo' )
			);
		}

		if ( ! function_exists( 'get_plugins' ) ) {
			require_once ABSPATH . 'wp-admin/includes/plugin.php'; // phpcs:ignore
		}

		$plugin_data = get_plugins( '/' . $plugin );

		if ( empty( $plugin_data ) ) {
			return new WP_Error(
				'plugin_deactivation_failed',
				sprintf(
					// translators: %s is plugin name.
					esc_html__( 'Plugin %s is not active.', 'bloglo' ),
					$plugin
				)
			);
		}

		$plugin_file_array    = array_keys( $plugin_data );
		$plugin_file          = $plugin_file_array[0];
		$plugin_to_deactivate = $plugin . '/' . $plugin_file;

		deactivate_plugins( $plugin_to_deactivate );

		do_action( 'bloglo_plugin_deactivated_' . $plugin );
	}

	/**
	 * Check if plugin has a pending update.
	 *
	 * @param array,   $plugin Plugin to be activated.
	 * @param boolean, $strict Force plugin to update. Optional. Default is false.
	 * @since 1.0.0
	 */
	public function has_update( $plugin, $strict = false ) {

		$installed_plugin = $this->is_installed( $plugin['slug'] );

		if ( is_array( $installed_plugin ) && ! empty( $installed_plugin ) ) {

			$plugin_name = array_keys( $installed_plugin );
			$plugin_name = $plugin_name[0];

			$plugin_version = $installed_plugin ? $installed_plugin[ $plugin_name ]['Version'] : null;

			if ( $plugin_name && ! empty( $plugin_version ) ) {
				if ( isset( $plugin['version'] ) ) {
					return version_compare( $plugin_version, $plugin['version'], '<' );
				} elseif ( $strict ) {
					return true;
				}
			}
		}

		return false;
	}

	/**
	 * Check if plugin is installed.
	 *
	 * @param array, $plugin Check if plugin is installed.
	 * @since 1.0.0
	 */
	public function is_installed( $plugin ) {

		if ( ! function_exists( 'get_plugins' ) ) {
			require_once ABSPATH . 'wp-admin/includes/plugin.php'; // phpcs:ignore
		}

		$installed = get_plugins( '/' . $plugin );

		if ( ! empty( $installed ) ) {
			return true;
		}

		return false;
	}

	/**
	 * Check if plugin is activated.
	 *
	 * @param array, $plugin Check if plugin is activated.
	 * @since 1.0.0
	 * @return bool Whether the plugin is activated.
	 */
	public function is_activated( $plugin ) {
		// Prevent a suppressed error within `get_plugins()` when the plugin is not installed.
		if ( ! file_exists( WP_PLUGIN_DIR . '/' . $plugin ) ) {
			return false;
		}

		if ( ! function_exists( 'get_plugins' ) ) {
			require_once ABSPATH . 'wp-admin/includes/plugin.php'; // phpcs:ignore
		}

		$installed_plugin = get_plugins( '/' . $plugin );

		if ( $installed_plugin ) {
			$plugin_name = array_keys( $installed_plugin );
			return is_plugin_active( $plugin . '/' . $plugin_name[0] );
		}

		return false;
	}

	/**
	 * Recommended plugins.
	 *
	 * @return array
	 * @since 1.0.0
	 */
	public function get_recommended_plugins() {

		$plugins = array(
			'hester-core' => array(
			'name'  => 'Hester Core',
			'slug'  => 'hester-core',
			'desc'  => 'The Hester Core plugin adds extra functionality to Bloglo theme, such as Demo Library, widgets, custom blocks and more.',
			'thumb' => 'https://ps.w.org/hester-core/assets/icon-256x256.png',
			),
			'socialsnap'  => array(
			'name'      => 'Social Snap',
			'slug'      => 'socialsnap',
			'desc'      => 'Social Snap is the leading WordPress social media plugin that helps you drive more traffic and increase engagement.',
			'endurance' => false,
			'thumb'     => 'https://ps.w.org/socialsnap/assets/icon-256x256.png',
			),
		);

		return apply_filters( 'bloglo_recommended_plugins', $plugins );
	}

	/**
	 * Get non activated plugins from an array.
	 *
	 * @param array, $plugins Filter non active plugins.
	 * @since 1.0.0
	 */
	public function get_deactivated_plugins( $plugins ) {

		if ( is_array( $plugins ) && ! empty( $plugins ) ) {
			foreach ( $plugins as $slug => $plugin ) {
				if ( $this->is_activated( $slug ) ) {
					unset( $plugins[ $slug ] );
				}
			}
		}

		return $plugins;
	}

	/**
	 * Get plugin object based on slug.
	 *
	 * @since 1.0.0
	 * @param string $slug Plugin slug.
	 * @param array  $plugins Array of available plugins.
	 */
	public function get_plugin_by_slug( $slug, $plugins ) {

		if ( ! empty( $plugins ) ) {
			foreach ( $plugins as $plugin ) {
				if ( $plugin['slug'] === $slug ) {
					return $plugin;
				}
			}
		}

		return false;
	}
}

/**
 * The function which returns the one Sintra_Plugin_Utilities instance.
 *
 * Use this function like you would a global variable, except without needing
 * to declare the global.
 *
 * Example: <?php $bloglo_plugin_utilities = bloglo_plugin_utilities(); ?>
 *
 * @since 1.0.0
 * @return object
 */
function bloglo_plugin_utilities() {
	return Bloglo_Plugin_Utilities::instance();
}
inc/icon-functions.php000064400000206403152425655560011010 0ustar00<?php
/**
 * SVG icons related functions and filters
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Filters the arguments for a single nav menu item to include dropdown indicators.
 *
 * @since 1.0.0
 *
 * @param stdClass $args  An object of wp_nav_menu() arguments.
 * @param WP_Post  $item  Menu item data object.
 * @param int      $depth Depth of menu item. Used for padding.
 */
function bloglo_nav_menu_item_args( $args, $item, $depth ) {

	if ( bloglo_option( 'main_nav_sub_indicators' ) ) {
		$dropdown_indicator = bloglo()->icons->get_svg( 'chevron-down' );
		if ( in_array( 'menu-item-has-children', $item->classes, true ) ) {
			if ( false === strpos( $args->link_after, $dropdown_indicator ) ) {
				$args->link_after .= $dropdown_indicator;
				$args->after       = '<button type="button" class="bloglo-mobile-toggen">' . $dropdown_indicator . '</button>';
			}
		} else {
			$args->link_after = str_replace( $dropdown_indicator, '', $args->link_after );
			$args->after      = '';
		}
	}

	return $args;
}
add_filter( 'nav_menu_item_args', 'bloglo_nav_menu_item_args', 10, 3 );


/**
 * Display social icons in social links menu.
 *
 * @param  string  $item_output The menu item output.
 * @param  WP_Post $item        Menu item object.
 * @param  int     $depth       Depth of the menu.
 * @param  array   $args        wp_nav_menu() arguments.
 * @return string  $item_output The menu item output with social icon.
 */
function bloglo_nav_menu_social_icons( $item_output, $item, $depth, $args ) {

	// Get supported social icons.
	$social_icons = bloglo_social_links_icons();

	// Change SVG icon inside social links menu if there is supported URL.
	if ( false !== strpos( $args->menu_class, 'bloglo-socials-menu' ) ) {

		foreach ( $social_icons as $attr => $value ) {
			if ( false !== strpos( $item_output, $attr ) ) {
				$item_output = str_replace(
					$args->link_after,
					'</span><span class="' . $value . '">' . bloglo()->icons->get_svg( $value, array( 'aria-hidden' => 'true' ) ) . bloglo()->icons->get_svg(
						$value,
						array(
							'class'       => 'bottom-icon',
							'aria-hidden' => 'true',
						)
					),
					$item_output
				);
			}
		}
	}

	return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'bloglo_nav_menu_social_icons', 10, 4 );

/**
 * Returns an array of supported social links (URL and icon name).
 *
 * @return array $social_links_icons
 */
function bloglo_social_links_icons() {

	// Supported social links icons.
	$social_links_icons = array(
		'500px.com'         => '500px',
		'amazon.com'        => 'amazon',
		'behance.net'       => 'behance',
		'digg.com'          => 'digg',
		'dribbble.com'      => 'dribbble',
		'deviantart'        => 'deviantart',
		'etsy.com'          => 'etsy',
		'facebook.com'      => 'facebook',
		'flipboard.com'     => 'flipboard',
		'flickr.com'        => 'flickr',
		'foursquare.com'    => 'foursquare',
		'github.com'        => 'github',
		'plus.google.com'   => 'google-plus',
		'instagram.com'     => 'instagram',
		'linkedin.com'      => 'linkedin',
		'mailto:'           => 'mail',
		'tel:'           	=> 'phone',
		'medium.com'        => 'medium',
		'pinterest.com'     => 'pinterest',
		'reddit.com'        => 'reddit',
		'skype.com'         => 'skype',
		'skype:'            => 'skype',
		'snapchat.com'      => 'snapchat',
		'soundcloud.com'    => 'soundcloud',
		'spotify.com'       => 'spotify',
		'tumblr.com'        => 'tumblr',
		'twitch.tv'         => 'twitch',
		'twitter.com'       => 'twitter',
		'x.com'       		=> 'twitter',
		'vimeo.com'         => 'vimeo',
		'xing.com'          => 'xing',
		'vk.com'            => 'vkontakte',
		'youtube.com'       => 'youtube',
		'yelp.com'          => 'yelp',
		'wa.me'             => 'whatsapp',
		'tiktok.com'        => 'tiktok',
		'stackoverflow.com' => 'stackoverflow',
		'rss.com'           => 'rss',
		't.me'           	=> 'telegram',
		'discord.com'       => 'discord',
		'wechat.com'     	=> 'wechat',
		'qq.com'       		=> 'qq',
		'bilibili.tv'       => 'bilibili',
		'threads.net'       => 'threads',
		'linktr.ee'       	=> 'linktree',
		'rumble.com'       	=> 'rumble',
		'mastodon.social'   => 'mastodon',
        'bsky.app'          => 'bluesky',
        'bluesky.app'       => 'bluesky',
        'bsky.social'       => 'bluesky',
        'gemspace.com'      =>  'gemspace',
        'lifegroupchat.com' =>  'lifegroupchat',
	);

	/**
	 * Filter Bloglo social links icons.
	 *
	 * @since 1.0.0
	 * @param array $social_links_icons Array of social links icons.
	 */
	return apply_filters( 'bloglo_social_links_icons', $social_links_icons );
}

if ( ! class_exists( 'Bloglo_Icons' ) ) :
	/**
	 * Bloglo Icons class.
	 *
	 * @since 1.0.0
	 */
	class Bloglo_Icons {
		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {
		}

		/**
		 * GET SVG CODE
		 * Get the SVG code for the specified icon
		 *
		 * @param string $icon Icon name.
		 * @param array  $args Parameters needed to display an SVG.
		 */
		public function get_svg( $icon = '', $args = array() ) {

			$arr = self::get();

			if ( ! array_key_exists( $icon, $arr ) ) {
				return null;
			}

			$args = wp_parse_args(
				$args,
				array(
					'class' => '',
				)
			);

			// .bloglo-icon is a required class.
			if ( false === strpos( $args['class'], 'bloglo-icon' ) ) {
				$args['class'] = trim( 'bloglo-icon ' . $args['class'] );
			}

			$repl = '<svg ';

			if ( ! empty( $args ) ) {
				foreach ( $args as $key => $value ) {
					if ( ! empty( $value ) ) {
						$repl .= esc_html( $key ) . '="' . esc_attr( $value ) . '" ';
					}
				}
			}

			$svg = preg_replace( '/^<svg /', $repl, trim( $arr[ $icon ] ) ); // Add extra attributes to SVG code.
			$svg = preg_replace( "/([\n\t]+)/", ' ', $svg ); // Remove newlines & tabs.
			$svg = preg_replace( '/>\s*</', '><', $svg );    // Remove whitespace between SVG tags.

			// Make sure that only our allowed tags and attributes are included.
			$svg = wp_kses(
				$svg,
				array(
					'svg'     => array(
						'class'       => true,
						'xmlns'       => true,
						'width'       => true,
						'height'      => true,
						'viewbox'     => true,
						'aria-hidden' => true,
						'aria-label'  => true,
						'role'        => true,
						'focusable'   => true,
					),
					'path'    => array(
						'fill'      => true,
						'fill-rule' => true,
						'd'         => true,
						'transform' => true,
					),
					'polygon' => array(
						'fill'      => true,
						'fill-rule' => true,
						'points'    => true,
						'transform' => true,
						'focusable' => true,
					),
				)
			);

			if ( ! $svg ) {
				return null;
			}

			return $svg;
		}

		/**
		 * Get SVG icons array.
		 *
		 * @return array
		 */
		public function get() {
			return apply_filters( 'bloglo_icons_svg', self::$icons );
		}

		/**
		 * Get all available SVG icons
		 *
		 * @return array
		 */
		public function get_all_svg_icons() {

			$arr = self::get();

			$return = array();

			foreach ( $arr as $icon => $svg ) {

				$svg = self::get_svg( $icon );

				if ( $svg ) {
					$return[ $icon ] = self::get_svg( $icon );
				}
			}

			return $return;
		}

		/**
		 * Get icon for post entry meta.
		 *
		 * @since  1.0.0
		 * @param  string $slug    Icon slug.
		 * @param  string $icon    Icon HTML markup.
		 * @param  string $post_id Current post ID.
		 * @return string          Icon HTML markup.
		 */
		public function get_meta_icon( $slug = '', $icon = '', $post_id = '' ) {

			$return = '';

			if ( is_single( $post_id ) ) {
				if ( bloglo_option( 'single_entry_meta_icons' ) ) {
					$return = $icon;
				}
			} elseif ( ! is_single() ) {
				if ( bloglo_option( 'entry_meta_icons' ) ) {
					$return = $icon;
				}
			}

			return apply_filters( 'bloglo_' . $slug . '_meta_icon', $return, $post_id );
		}

		/**
		 * Icons.
		 * Store the code for all SVGs in an array.
		 *
		 * @var array
		 */
		public static $icons = array(
            '500px'           => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M7.912 21.451c0 .032.16.48.256.705.512 1.249 1.281 2.37 2.242 3.331s2.082 1.73 3.331 2.242c1.281.545 2.659.833 4.068.833s2.787-.288 4.068-.833c1.249-.512 2.37-1.281 3.331-2.242s1.73-2.082 2.242-3.331c.545-1.281.833-2.659.833-4.068s-.288-2.787-.833-4.068c-.512-1.249-1.281-2.37-2.242-3.331s-2.082-1.73-3.331-2.242a10.376 10.376 0 00-4.068-.833c-1.441 0-2.851.288-4.132.833-1.025.416-2.755 1.537-3.748 2.595v-8.68h14.51c.512 0 .512-.737.512-.993s0-.993-.545-.993L8.775.408a.705.705 0 00-.705.673v12.14c0 .384.48.673.929.769.897.192 1.089-.096 1.313-.384l.032-.032c.32-.48 1.377-1.537 1.377-1.537 1.602-1.602 3.78-2.498 6.086-2.498s4.452.897 6.054 2.498c1.634 1.634 2.498 3.78 2.498 6.054s-.897 4.42-2.498 6.054c-1.602 1.602-3.812 2.498-6.086 2.498a8.428 8.428 0 01-4.324-1.185v-7.399c0-.993.416-2.05 1.153-2.851.833-.929 1.954-1.441 3.171-1.441 1.185 0 2.306.448 3.139 1.281a4.188 4.188 0 011.281 3.043c0 2.466-1.954 4.388-4.42 4.388-.48 0-1.345-.224-1.377-.224-.512-.16-.705.545-.769.769-.256.865.128 1.057.224 1.089.801.256 1.313.288 2.018.288 3.491 0 6.342-2.851 6.342-6.342 0-3.459-2.851-6.31-6.342-6.31-1.698 0-3.331.641-4.516 1.858-1.153 1.121-1.826 2.627-1.826 4.132v6.086c-.673-.737-1.313-1.858-1.73-2.979-.16-.448-.545-.352-1.057-.192-.288.096-.993.288-.833.801zm7.463-1.73c0 .224.192.384.32.512v.032c.192.192.384.288.577.288.16 0 .224-.064.256-.096l1.185-1.185 1.121 1.089c.096.128.224.16.352.192.192 0 .384-.096.577-.32.48-.48.224-.737.128-.865l-1.121-1.121 1.153-1.185c.256-.288.032-.577-.192-.801-.32-.32-.641-.416-.833-.224l-1.153 1.153-1.185-1.185a.29.29 0 00-.224-.096c-.16 0-.352.096-.545.32-.352.352-.448.609-.256.801l1.185 1.185-1.153 1.185a.356.356 0 00-.192.32zm2.563-15.887c-1.89 0-3.876.384-5.349 1.025-.16.064-.256.192-.256.352-.032.16.032.384.128.673.096.224.32.865.801.673 1.505-.577 3.171-.897 4.677-.897 1.73 0 3.363.32 4.933.993 1.249.513 2.402 1.281 3.684 2.402a.39.39 0 00.288.128c.256 0 .48-.256.705-.48.352-.384.577-.705.224-1.025-1.217-1.153-2.563-2.018-4.196-2.723a14.747 14.747 0 00-5.637-1.121zm10.089 23.191c-.224-.224-.416-.352-.577-.416s-.32 0-.448.096l-.096.128a12.823 12.823 0 01-4.036 2.723c-1.57.673-3.235.993-4.933.993s-3.363-.32-4.933-.993a12.66 12.66 0 01-4.036-2.723c-1.217-1.217-2.114-2.563-2.723-4.036-.577-1.409-.769-2.498-.833-2.851v-.064c-.064-.416-.448-.448-.993-.352-.224.032-.929.128-.865.641.192 1.153.512 2.274.961 3.363a14.653 14.653 0 003.107 4.613c1.345 1.345 2.883 2.402 4.612 3.107 1.794.769 3.716 1.153 5.67 1.153s3.876-.384 5.67-1.153a14.653 14.653 0 004.613-3.107l.128-.128c.192-.128.32-.416-.288-.993z"/></svg>',
            'amazon'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M27.724 27.076c.536-.268.947.143.393.858s-5.005 4.79-12.476 4.79S2.45 27.612.698 25.503c-.483-.554.072-.804.393-.59 5.237 3.182 13.424 8.419 26.633 2.163zm3.7-2.056c.268.358 0 1.93-.465 3.074-.465 1.126-1.144 1.913-1.519 2.216-.393.322-.679.197-.465-.268s1.376-3.325.912-3.932c-.465-.59-2.645-.304-3.432-.232-.769.072-.929.143-1.001-.018-.161-.411 1.555-1.108 2.681-1.251 1.126-.125 2.931-.054 3.289.411zm-7.043-7.918c0 1.966 2.306 3.772 2.306 3.772l-4.058 4.004c-1.591-1.501-2.788-2.753-2.788-2.753a3.397 3.397 0 01-.447-.59c-3.235 5.058-13.12 4.737-13.12-3.092 0-7.293 8.633-8.276 12.119-8.401v-2.27c0-.483.179-2.681-2.538-2.681 0 0-2.717 0-3.879 3.539l-5.255-.483c0-3.521 3.343-7.454 9.634-7.454 6.274 0 8.026 4.075 8.026 5.881v10.528zm-12.012.375c0 3.629 6.024 4.487 6.024-1.233v-2.896c-2.413.072-6.024.751-6.024 4.129z"/></svg>',
            'arrow-up'        => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M17.9137 25.3578L17.9137 9.8758L24.9877 16.9498C25.5217 17.4838 26.3227 17.4838 26.8557 16.9498C27.3887 16.4158 27.3897 15.6148 26.8557 15.0818L17.5137 5.7398C17.3807 5.6068 17.2467 5.4728 17.1137 5.4728C16.8467 5.3398 16.4467 5.3398 16.0457 5.4728C15.9127 5.6058 15.7787 5.6058 15.6457 5.7398L6.30373 15.0818C6.03673 15.3488 5.90373 15.7488 5.90373 16.0158C5.90373 16.2828 6.03673 16.6828 6.30373 16.9498C6.42421 17.0763 6.56912 17.1769 6.72967 17.2457C6.89022 17.3145 7.06307 17.35 7.23773 17.35C7.4124 17.35 7.58525 17.3145 7.7458 17.2457C7.90635 17.1769 8.05125 17.0763 8.17173 16.9498L15.2457 9.8758L15.2457 25.3578C15.2457 26.1588 15.7797 26.6928 16.5807 26.6928C17.3817 26.6928 17.9157 26.1588 17.9157 25.3578L17.9137 25.3578Z"/></svg>',
            'arrow-left'      => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.358 14.087H9.876l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0L5.74 14.487c-.133.133-.267.267-.267.4-.133.267-.133.667 0 1.068.133.133.133.267.267.4l9.342 9.342c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-7.074-7.074h15.482c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335z"/></svg>',
            'arrow-right'     => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M26.559 15.955c.133-.267.133-.667 0-1.068-.133-.133-.133-.267-.267-.4L16.95 5.145c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074H6.674c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h15.482l-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.667.4.934.4s.667-.133.934-.4l9.342-9.342c.133-.133.267-.267.267-.4z"/></svg>',
            'behance'         => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M28.841 9.666h-8.008V7.789h8.008zm-13.263 7.57c.626.876.938 1.877.938 3.128 0 1.001-.188 1.877-.563 2.565a6.298 6.298 0 01-1.564 1.814c-.688.438-1.439.751-2.252 1.001-.813.188-1.689.313-2.565.313H0V6.163h9.259c.938 0 1.814.188 2.628.375.751.188 1.376.5 1.939.876s1.001.938 1.314 1.564c.313.563.438 1.376.438 2.315s-.188 1.814-.688 2.44c-.438.688-1.126 1.251-2.002 1.627 1.251.375 2.127 1.001 2.69 1.877zM4.192 14.17h4.504c.813 0 1.439-.063 1.939-.438s.751-.876.751-1.752c0-.438-.063-.813-.25-1.126-.188-.25-.375-.501-.688-.688-.25-.125-.563-.313-.938-.375s-.751-.125-1.126-.125H4.192zm8.007 5.943c0-1.001-.313-1.689-.876-2.127s-1.314-.626-2.252-.626h-4.88v5.443h4.755c.438 0 .876-.063 1.251-.125.375-.125.688-.25 1.001-.438s.563-.438.688-.813c.188-.313.313-.751.313-1.314zm19.832-.187H21.708c0 1.001.375 2.19 1.001 2.753.563.563 1.439.876 2.502.876.813 0 1.501-.25 2.065-.688.563-.375.876-.688 1.064-1.314h3.441c-.563 1.939-1.439 3.003-2.565 3.754s-2.502 1.189-4.129 1.189c-1.126 0-2.127-.188-3.066-.563a7.094 7.094 0 01-2.252-1.501 7.983 7.983 0 01-1.501-2.44 8.877 8.877 0 01-.5-3.003c0-1.064.188-2.065.563-3.003.313-.938.813-1.689 1.439-2.377.688-.688 1.439-1.189 2.315-1.627a8.014 8.014 0 013.003-.563c1.189 0 2.252.25 3.191.688.876.501 1.627 1.126 2.19 1.877.626.813 1.001 1.752 1.251 2.753s.375 2.252.313 3.191zm-3.941-2.565c-.125-.938-.438-1.689-.876-2.19-.5-.563-1.314-.813-2.252-.813-.626 0-1.126.125-1.564.375-.375.188-.751.438-1.001.751s-.375.626-.5 1.001c-.125.313-.188.563-.188.876z"/></svg>',
            'bookmark'        => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M22.689 2.075H9.343c-2.269 0-4.004 1.735-4.004 4.004v21.354c0 .534.267.934.667 1.201s.934.133 1.335-.133l8.542-6.139 8.542 6.139c.267.133.534.267.801.267s.4 0 .667-.133c.4-.267.667-.667.667-1.201V6.08c.133-2.269-1.602-4.004-3.87-4.004zm1.334 22.822l-7.207-5.205c-.267-.133-.534-.267-.801-.267s-.534.133-.801.267l-7.207 5.205V6.079c0-.801.534-1.335 1.335-1.335h13.346c.801 0 1.335.534 1.335 1.335v18.818z"/></svg>',
            'chat'            => '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M512 160h-96V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64v160c0 35.3 28.7 64 64 64h32v52c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L224 288h128c35.3 0 64-28.7 64-64v-32h96c17.6 0 32 14.4 32 32v160c0 17.6-14.4 32-32 32h-64v49.6l-80.2-45.4-7.3-4.2H256c-17.6 0-32-14.4-32-32v-96l-32 18.1V384c0 35.3 28.7 64 64 64h96l108.9 61.6c2.2 1.6 4.7 2.4 7.1 2.4 6.2 0 12-4.9 12-12v-52h32c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64zm-128 64c0 17.6-14.4 32-32 32H215.6l-7.3 4.2-80.3 45.4V256H64c-17.6 0-32-14.4-32-32V64c0-17.6 14.4-32 32-32h288c17.6 0 32 14.4 32 32v160z"/></svg>',
            'chevron-down'    => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.958 10.483a1.29 1.29 0 00-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l8.008 8.008c.267.267.667.4.934.4s.667-.133.934-.4l8.008-8.008a1.29 1.29 0 000-1.868z"/></svg>',
            'chevron-up'      => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.958 18.491l-8.008-8.008a1.29 1.29 0 00-1.868 0l-8.008 8.008c-.534.534-.534 1.335 0 1.868s1.335.534 1.868 0l7.074-7.074 7.074 7.074c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868z"/></svg>',
            'clock'           => '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29.36 29.36"><g data-name="Layer 2"><path d="M14.68 0a14.68 14.68 0 1014.68 14.68A14.64 14.64 0 0014.68 0zm0 26.69a12 12 0 1112-12 12 12 0 01-12 12zm5.87-10.54L16 13.88V6.67a1.25 1.25 0 00-1.33-1.33 1.26 1.26 0 00-1.34 1.33v8a1.28 1.28 0 00.81 1.2l5.33 2.67c.14.13.27.13.54.13a1.28 1.28 0 001.2-.8 1.41 1.41 0 00-.67-1.73z" data-name="Layer 1"/></g></svg>',
            'calendar'        => '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z"/></svg>',
            'deviantart'      => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M30.217 17.548c-1.501-1.814-3.378-2.94-5.505-3.816-2.753-1.126-5.63-1.564-8.571-1.627h-.751V9.102c-1.314.125-2.565.313-4.192.438v2.69c.063.25-.063.375-.313.438-2.127.438-4.129 1.126-6.006 2.252-1.439.876-2.69 1.939-3.629 3.378C.124 19.987-.314 21.864.186 23.803h15.202v-9.196h1.939c1.627.125 3.253.375 4.755 1.001 2.002.938 3.378 2.377 3.941 4.504.063.125.063.5.125.5H20.83v-.438-3.691c0-.25-.063-.375-.313-.375a29.814 29.814 0 00-2.315-.438c-.5-.063-1.251-.063-1.564-.125v8.258H31.84c.063-.626.188-.938.188-1.376.063-1.877-.626-3.441-1.814-4.88zm-19.019 3.066H5.943c.125-2.252 2.69-5.067 5.255-5.38v5.38z"/></svg>',
            'digg'            => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M9.634 11.292h3.191v10.886H9.634zM5.13 6.788h3.191v15.39H0V11.292h5.13zm0 7.069H3.191v5.756H5.13zm4.504-3.816h3.191V6.788H9.634zm4.442 1.251h8.321v14.764h-8.321v-2.565h5.13v-1.314h-5.13zm3.191 8.321h1.939v-5.756h-1.939zm14.764-8.321v14.764H23.71v-2.565h5.13v-1.314h-5.13V11.291zm-3.19 2.565h-1.939v5.756h1.939z"/></svg>',
            'dribbble'        => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M15.953.532C7.132.532-.063 7.727-.063 16.548s7.195 16.016 16.016 16.016c8.884 0 16.016-7.195 16.016-16.016S24.837.532 15.953.532zm10.635 7.382c1.877 2.315 3.066 5.255 3.066 8.508-.438-.125-4.942-1.001-9.509-.438-.125-.25-.188-.501-.313-.688a19.291 19.291 0 00-.876-2.002c5.005-2.065 7.32-5.005 7.632-5.38zM15.953 2.847a13.58 13.58 0 019.071 3.441c-.188.375-2.252 3.128-7.132 4.942-2.252-4.066-4.755-7.445-5.13-8.008a13.905 13.905 0 013.191-.375zM10.197 4.16c.313.5 2.753 3.879 5.067 7.945-6.444 1.689-12.074 1.627-12.7 1.627.938-4.254 3.754-7.758 7.632-9.572zM2.315 16.547v-.438c.563.063 7.195.125 14.076-1.939.375.751.751 1.564 1.064 2.315-.188.063-.313.125-.5.188-7.069 2.252-10.823 8.508-11.136 9.009a13.602 13.602 0 01-3.503-9.134zm13.638 13.701c-3.128 0-6.068-1.126-8.383-2.878.25-.563 3.003-5.881 10.761-8.571 0 0 .063 0 .063-.063 1.939 5.005 2.753 9.196 2.94 10.385-1.627.688-3.441 1.126-5.38 1.126zm7.695-2.377c-.188-.813-.876-4.817-2.69-9.76 4.317-.688 8.07.438 8.508.626-.563 3.816-2.753 7.069-5.818 9.134z"/></svg>',
            'edit-3'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M4.004 23.429h5.339c.4 0 .667-.133.934-.4L24.958 8.348a1.29 1.29 0 000-1.868l-5.339-5.339a1.29 1.29 0 00-1.868 0L3.07 15.822c-.267.267-.4.534-.4.934v5.339c0 .801.534 1.335 1.335 1.335zm1.335-6.139L18.685 3.944l3.47 3.47L8.809 20.76h-3.47v-3.47zm22.688 10.143H4.004c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h24.023c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335z"/></svg>',
            'etsy'            => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M3.503 1.658c-.063-.438.125-.751.751-.751.563 0 6.631.188 10.698.188 8.383 0 10.448-.688 11.887-.688.751.063.938.626.938 1.001s-.375 1.126-.375 2.127.25 2.002.25 2.94c0 .876-.751 1.126-1.189 1.126-.375 0-.626-.125-.626-.876-.063-1.439 1.001-3.503-9.259-3.503-5.193 0-5.318.626-5.318 2.252v7.945c0 .876.25 1.126.938 1.126h7.445c1.439 0 2.94-.751 3.128-2.815.063-1.064.313-1.126.876-1.126s1.001.438.938 1.439c-.125 1.064-.313 2.127-.313 3.566 0 1.501.313 2.94.313 4.004s-1.439 1.314-1.689.125c-.25-1.064-.688-3.003-3.941-3.003h-6.631c-.751 0-1.064.438-1.064 1.627v8.446c0 1.501.438 3.066 3.378 3.066 3.003 0 8.383.313 10.886-1.627 1.001-.813 1.376-2.065 1.689-4.066.188-.876 2.19-.876 2.065 1.251-.063 1.001-1.001 3.066-1.001 4.442 0 1.064.25 2.628-.751 2.628-.876 0-.5-.5-4.379-.5s-17.204.125-19.456.125c-.813 0-1.001-.25-1.001-.751s.313-.876 1.001-.876 3.691 0 3.691-3.754V7.039c0-2.002-.438-4.066-2.94-4.317-1.001-.125-.938-.5-.938-1.064z"/></svg>',
            'external-link'   => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.023 15.421c-.801 0-1.335.534-1.335 1.335v8.008c0 .801-.534 1.335-1.335 1.335H6.672c-.801 0-1.335-.534-1.335-1.335V10.083c0-.801.534-1.335 1.335-1.335h8.008c.801 0 1.335-.534 1.335-1.335s-.534-1.335-1.335-1.335H6.672c-2.269 0-4.004 1.735-4.004 4.004v14.681c0 2.269 1.735 4.004 4.004 4.004h14.681c2.269 0 4.004-1.735 4.004-4.004v-8.008c0-.801-.534-1.335-1.335-1.335zm5.206-12.545a1.6 1.6 0 00-.667-.667c-.133-.133-.4-.133-.534-.133H20.02c-.801 0-1.335.534-1.335 1.335s.534 1.335 1.335 1.335h4.805L12.413 17.158a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4L26.693 6.614v4.805c0 .801.534 1.335 1.335 1.335s1.335-.534 1.335-1.335V3.411c0-.133 0-.4-.133-.534z"/></svg>',
            'facebook'        => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M18.518 32.438V17.799h4.88l.751-5.693h-5.631V8.477c0-1.627.438-2.753 2.815-2.753h3.003V.657c-.5-.125-2.315-.25-4.379-.25-4.379 0-7.32 2.628-7.32 7.507v4.192H7.695v5.693h4.942v14.639z"/></svg>',
            'flipboard'       => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M4.317 2.721v23.398h7.82v-7.82h7.758v-7.758h7.82v-7.82z"/></svg>',
            'flickr'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M7.257 23.679C3.253 23.679 0 20.426 0 16.422s3.253-7.257 7.257-7.257 7.257 3.253 7.257 7.257-3.253 7.257-7.257 7.257zm17.517 0c-4.004 0-7.257-3.253-7.257-7.257s3.253-7.257 7.257-7.257 7.257 3.253 7.257 7.257-3.253 7.257-7.257 7.257z"/></svg>',
            'foursquare'      => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.649.407H7.57c-2.315 0-3.003 1.752-3.003 2.878v27.151c0 1.251.626 1.752 1.001 1.877.438.188 1.439.313 2.065-.438 0 0 8.07-9.384 8.195-9.509.25-.188.25-.188.438-.188h5.255c2.19 0 2.502-1.564 2.753-2.502.188-.751 2.315-11.699 3.066-15.202.5-2.628-.125-4.066-2.69-4.066zm-.375 19.268c.188-.751 2.315-11.699 3.066-15.202zm-.626-14.639L22.96 8.79c-.125.375-.626.813-1.064.813h-6.694c-.751 0-1.251.501-1.251 1.251v.813c0 .751.501 1.251 1.251 1.251h5.693c.5 0 1.001.626.938 1.189-.125.563-.688 3.378-.751 3.691-.063.25-.375.813-1.064.813h-4.567c-.876 0-1.126.125-1.689.813s-5.568 6.757-5.568 6.757c-.063.063-.125.063-.125 0V4.973c0-.5.438-1.064 1.064-1.064h13.701c.5 0 .938.501.813 1.126z"/></svg>',
            'folder-open'     => '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z"/></svg>',
            'github'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M30.28 11.543c0-2.252-.751-4.129-2.127-5.568.25-.5.938-2.628-.188-5.505 0 0-1.752-.563-5.693 2.127a20.865 20.865 0 00-5.255-.688c-1.752 0-3.503.25-5.193.688C7.82-.093 6.131.47 6.131.47c-1.189 2.878-.438 5.005-.25 5.505-1.314 1.439-2.127 3.316-2.127 5.568 0 8.008 4.88 9.76 9.509 10.323-.626.5-1.189 1.439-1.376 2.753-1.189.563-4.192 1.439-6.006-1.752 0 0-1.126-1.939-3.191-2.127 0 0-2.065 0-.188 1.251 0 0 1.376.688 2.315 3.066 0 0 1.251 3.691 7.007 2.44.063 1.752.063 4.442.063 4.942H22.21v-6.757c0-1.939-.626-3.191-1.376-3.879 4.63-.5 9.447-2.252 9.447-10.26zM4.129 21.74c-.063.063-.25.125-.375.063s-.25-.25-.188-.313c.063-.125.188-.188.375-.063a.345.345 0 01.188.313zm.813.938c-.063.063-.313 0-.438-.125s-.125-.313-.063-.438a.33.33 0 01.438.125c.125.125.188.313.063.438zm.814 1.189c-.125.063-.313 0-.438-.188s-.125-.438 0-.5c.125-.063.313 0 .438.188s.125.375 0 .5zm1.126 1.126a.33.33 0 01-.5-.063c-.188-.188-.25-.375-.125-.5.125-.188.375-.125.5.063.188.125.25.375.125.5zm1.564.688c-.063.188-.313.25-.5.188-.25-.063-.438-.25-.375-.438s.313-.25.563-.188c.188.063.375.25.313.438zm1.251.438c-.25 0-.438-.125-.438-.313s.188-.313.438-.313.438.125.438.313-.188.313-.438.313zm1.627-.187c-.25.063-.438-.063-.501-.25 0-.125.188-.313.438-.375s.438.063.501.25c0 .125-.188.313-.438.375z"/></svg>',
            'google-plus'     => '<svg xmlns="http://www.w3.org/2000/svg" width="41" height="32" viewBox="0 0 32 32"><path d="M25.686 17.012c0 7.489-5.023 12.798-12.584 12.798C5.863 29.81 0 23.947 0 16.708S5.863 3.606 13.102 3.606c3.539 0 6.489 1.287 8.776 3.432l-3.557 3.414c-.965-.929-2.663-2.02-5.219-2.02-4.469 0-8.115 3.7-8.115 8.276s3.646 8.276 8.115 8.276c5.184 0 7.132-3.736 7.436-5.648h-7.436v-4.504h12.369c.125.661.215 1.323.215 2.181zm15.497-2.181v3.754h-3.736v3.736h-3.754v-3.736h-3.736v-3.754h3.736v-3.736h3.754v3.736h3.736z"/></svg>',
            'instagram'       => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M16.016 3.284c4.317 0 4.755.063 6.444.125 1.627.063 2.44.313 3.003.5.751.313 1.314.688 1.814 1.189.563.563.938 1.126 1.189 1.814.25.626.5 1.439.563 3.003.063 1.752.125 2.19.125 6.506s-.063 4.755-.125 6.444c-.063 1.627-.313 2.44-.5 3.003-.313.751-.688 1.314-1.189 1.814-.563.563-1.126.938-1.814 1.189-.626.25-1.439.5-3.003.563-1.752.063-2.19.125-6.506.125s-4.755-.063-6.444-.125c-1.627-.063-2.44-.313-3.003-.5-.751-.313-1.314-.688-1.814-1.189-.563-.563-.938-1.126-1.189-1.814-.25-.626-.5-1.439-.563-3.003-.063-1.752-.125-2.19-.125-6.506s.063-4.755.125-6.444c.063-1.627.313-2.44.5-3.003.313-.751.688-1.314 1.189-1.814.563-.563 1.126-.938 1.814-1.189.626-.25 1.439-.5 3.003-.563 1.752-.063 2.19-.125 6.506-.125m0-2.877c-4.379 0-4.88.063-6.569.125-1.752.063-2.94.313-3.879.688-1.064.438-2.002 1.001-2.878 1.877S1.251 4.911.813 5.975C.438 6.976.187 8.102.125 9.854.062 11.543 0 12.044 0 16.423s.063 4.88.125 6.569c.063 1.752.313 2.94.688 3.879.438 1.064 1.001 2.002 1.877 2.878s1.814 1.439 2.878 1.877c1.001.375 2.127.626 3.879.688 1.689.063 2.19.125 6.569.125s4.88-.063 6.569-.125c1.752-.063 2.94-.313 3.879-.688 1.064-.438 2.002-1.001 2.878-1.877s1.439-1.814 1.877-2.878c.375-1.001.626-2.127.688-3.879.063-1.689.125-2.19.125-6.569s-.063-4.88-.125-6.569c-.063-1.752-.313-2.94-.688-3.879-.438-1.064-1.001-2.002-1.877-2.878s-1.814-1.439-2.878-1.877C25.463.845 24.337.594 22.585.532c-1.689-.063-2.19-.125-6.569-.125zm0 7.757c-4.567 0-8.258 3.691-8.258 8.258s3.691 8.258 8.258 8.258c4.567 0 8.258-3.691 8.258-8.258s-3.691-8.258-8.258-8.258zm0 13.639c-2.94 0-5.38-2.44-5.38-5.38s2.44-5.38 5.38-5.38 5.38 2.44 5.38 5.38-2.44 5.38-5.38 5.38zM26.463 7.851c0 1.064-.813 1.939-1.877 1.939s-1.939-.876-1.939-1.939c0-1.064.876-1.877 1.939-1.877s1.877.813 1.877 1.877z"/></svg>',
            'linkedin'        => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M23.961 16.798c-.438-.5-1.189-.751-2.252-.751-1.376 0-2.315.438-2.878 1.189-.563.813-.813 1.939-.813 3.378v10.948c0 .188-.063.375-.25.563-.125.125-.375.25-.563.25h-5.756c-.188 0-.375-.125-.563-.25-.125-.188-.25-.375-.25-.563V11.355c0-.188.125-.375.25-.563.188-.125.375-.25.563-.25h5.568c.188 0 .375.063.5.125s.188.25.25.438c0 .188.063.375.063.438v.501c1.439-1.376 3.378-2.002 5.693-2.002 2.69 0 4.755.626 6.256 1.939 1.501 1.376 2.252 3.316 2.252 5.943v13.638c0 .188-.063.375-.25.563-.125.125-.375.25-.563.25h-5.881c-.188 0-.375-.125-.563-.25-.125-.188-.25-.375-.25-.563V19.237c0-1.064-.188-1.877-.563-2.44zM6.631 7.101c-.751.751-1.689 1.126-2.753 1.126s-2.002-.375-2.753-1.126C.374 6.35-.001 5.474-.001 4.348c0-1.064.375-1.939 1.126-2.69S2.814.469 3.878.469 5.88.907 6.631 1.658s1.126 1.627 1.126 2.69c0 1.126-.375 2.002-1.126 2.753zm.939 4.254v20.207c0 .188-.125.375-.25.563-.188.125-.375.25-.563.25H1.001c-.188 0-.375-.125-.563-.25-.125-.188-.25-.375-.25-.563V11.355c0-.188.125-.375.25-.563.188-.125.375-.25.563-.25h5.756c.188 0 .375.125.563.25.125.188.25.375.25.563z"/></svg>',
            'mail'            => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M26.693 3.41H5.339c-2.269 0-4.004 1.735-4.004 4.004V23.43c0 2.269 1.735 4.004 4.004 4.004h21.354c2.269 0 4.004-1.735 4.004-4.004V7.414c0-2.269-1.735-4.004-4.004-4.004zM5.339 6.079h21.354c.534 0 .934.267 1.201.801l-11.878 8.275L4.138 6.88c.267-.534.667-.801 1.201-.801zm21.354 18.685H5.339c-.801 0-1.335-.534-1.335-1.335V9.949l11.211 7.874c.267.133.534.267.801.267s.534-.133.801-.267l11.211-7.874v13.48c0 .801-.534 1.335-1.335 1.335z"/></svg>',
            'phone'           => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M27.227 17.957c-1.201-.133-2.402-.4-3.47-.801-1.468-.534-3.07-.133-4.271.934l-.934.934c-2.402-1.602-4.538-3.604-6.139-6.139l.934-.934c1.068-1.068 1.468-2.803.934-4.271-.4-1.068-.667-2.269-.801-3.47C13.213 2.208 11.478.74 9.476.74H5.072c-1.068.133-2.002.667-2.669 1.468s-.934 1.868-.934 2.936c.4 4.271 2.002 8.542 4.271 12.145a28.055 28.055 0 0 0 8.408 8.408c3.604 2.402 7.874 3.87 12.145 4.271h.4c1.068 0 2.135-.4 2.803-1.201s1.201-1.735 1.201-2.803V21.96c0-2.002-1.468-3.737-3.47-4.004zm.8 4.004v4.004c0 .4-.133.667-.4.934s-.534.4-1.068.4c-3.87-.4-7.607-1.735-10.944-3.87-3.07-1.868-5.605-4.538-7.607-7.607-2.135-3.337-3.47-7.074-3.87-10.944 0-.4.133-.667.267-.934.267-.267.667-.534 1.068-.534h4.004c.667 0 1.201.534 1.335 1.201a13.644 13.644 0 0 0 1.068 4.004c.133.534 0 1.068-.267 1.468l-1.735 1.602c-.4.4-.534 1.068-.267 1.602a21.896 21.896 0 0 0 8.542 8.542c.534.267 1.201.267 1.602-.267l1.735-1.735c.4-.4.934-.534 1.468-.267 1.335.534 2.669.801 4.004 1.068.534.133 1.068.667 1.068 1.335z"/></svg>',
            'medium'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M31.781 7.726L21.646 2.659h-.125c-.125 0-.313.063-.375.125l-6.194 10.197 6.944 11.324 10.01-16.203c.063-.125 0-.313-.125-.375zM11.636 9.415v10.948l9.76 4.88zm10.573 16.204l8.946 4.504c.438.25.876 0 .876-.563V9.666zM10.51 7.789l-9.322-4.63-.626-.375c-.063 0-.125-.063-.188-.063-.125 0-.188.063-.25.125s-.125.188-.125.375v21.333c0 .375.25.813.563.938l9.196 4.63c.125.063.25.125.375.125.313 0 .501-.25.501-.688V7.975c0-.063 0-.125-.125-.188z"/></svg>',
            'message-square'  => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.358 2.075H6.673c-2.269 0-4.004 1.735-4.004 4.004v21.354c0 .534.267 1.068.801 1.201.133.133.4.133.534.133.4 0 .667-.133.934-.4l4.938-4.938h15.482c2.269 0 4.004-1.735 4.004-4.004V6.079c0-2.269-1.735-4.004-4.004-4.004zm1.335 17.35c0 .801-.534 1.335-1.335 1.335H9.342c-.4 0-.667.133-.934.4l-3.07 3.07V6.079c0-.801.534-1.335 1.335-1.335h18.685c.801 0 1.335.534 1.335 1.335v13.346z"/></svg>',
            'pinterest'       => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M10.635 12.669c0-1.376.313-2.502 1.064-3.441.688-.938 1.564-1.439 2.565-1.439.813 0 1.439.25 1.877.813s.688 1.251.688 2.065c0 .501-.125 1.126-.313 1.814-.188.751-.375 1.627-.688 2.565-.313 1.001-.563 1.752-.688 2.315-.25 1.001-.063 1.877.563 2.628.626.688 1.439 1.064 2.44 1.064 1.752 0 3.191-1.001 4.317-2.94 1.126-2.002 1.689-4.379 1.689-7.195 0-2.127-.688-3.879-2.065-5.255-1.376-1.314-3.316-2.002-5.818-2.002-2.815 0-5.067.876-6.757 2.69-1.752 1.752-2.628 3.879-2.628 6.381 0 1.501.438 2.753 1.251 3.754.313.313.375.688.313 1.064-.125.313-.25.813-.375 1.501-.063.25-.188.438-.375.5s-.375.063-.563 0c-1.314-.563-2.252-1.439-2.94-2.753s-1.001-2.815-1.001-4.504c0-1.126.188-2.19.563-3.316s.876-2.19 1.627-3.191c.751-1.064 1.689-1.939 2.69-2.753 1.064-.813 2.315-1.439 3.879-1.939a17.23 17.23 0 014.817-.688c1.814 0 3.441.313 4.942.938 1.501.563 2.815 1.376 3.816 2.377 1.064 1.064 1.814 2.19 2.44 3.503.563 1.314.876 2.69.876 4.066 0 3.754-.938 6.882-2.878 9.322-1.939 2.502-4.379 3.691-7.382 3.691-1.001 0-1.939-.188-2.815-.688-.876-.438-1.501-1.001-1.877-1.689-.688 2.94-1.126 4.692-1.314 5.255-.375 1.439-1.251 3.191-2.69 5.255H8.571c-.25-2.565-.188-4.692.188-6.381l2.44-10.323c-.375-.813-.563-1.814-.563-3.066z"/></svg>',
            'play'            => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M26.025 14.354L7.34 2.342a1.213 1.213 0 00-1.335 0c-.4.133-.667.534-.667 1.068v24.023c0 .534.267.934.667 1.201.267.133.4.133.667.133s.534-.133.667-.267l18.685-12.012c.4-.267.667-.667.667-1.068s-.267-.934-.667-1.068zM8.008 25.031V5.812l14.948 9.609L8.008 25.03z"/></svg>',
            'play-2'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="currentColor" fill-rule="evenodd" d="M8.893.016A6.8 6.8 0 0 0 4.136 2.6c-1.254 1.58-1.958 3.694-2.11 6.34-.035.601-.035 13.524 0 14.126.17 2.935 1.023 5.234 2.535 6.822 1.084 1.139 2.36 1.806 3.923 2.05.333.052.504.062 1.051.063.684 0 .956-.022 1.582-.135.718-.13 1.585-.399 2.352-.73.8-.345 1.54-.777 6.78-3.956a1556.03 1556.03 0 0 0 5.445-3.313c2.643-1.688 4.382-3.969 4.86-6.372a8.38 8.38 0 0 0 .131-.953c.004-.082.013 1.29.02 3.046.008 2.045.013.745.013-3.612 0-4.374-.005-5.66-.013-3.6a315.685 315.685 0 0 1-.02 3.074 7.82 7.82 0 0 0-.055-.487c-.367-2.623-2.136-5.051-5.003-6.867-.438-.278-.575-.324-.92-.31-.248.009-.283.017-.468.111a1.224 1.224 0 0 0-.569.592 1.28 1.28 0 0 0-.002 1.14c.121.258.29.43.635.647 1.34.84 2.417 1.86 3.078 2.915.684 1.091.967 2.25.825 3.384-.217 1.745-1.379 3.404-3.345 4.778-.597.418-10.824 6.627-11.546 7.01-1.26.67-2.388 1.008-3.524 1.055-2 .085-3.556-.896-4.473-2.818-.414-.869-.665-1.847-.798-3.104-.044-.419-.047-.843-.047-7.52 0-7.793-.01-7.269.155-8.273.254-1.544.8-2.801 1.6-3.68 1.497-1.642 3.773-1.894 6.431-.711.611.272 1.005.497 3.078 1.759 1.093.665 2.044 1.236 2.115 1.27.53.256 1.197.035 1.527-.505.226-.37.237-.872.03-1.302-.145-.303-.198-.34-2.39-1.674C14.424 1.281 13.873.987 12.752.584a10.357 10.357 0 0 0-2.153-.53A11.868 11.868 0 0 0 8.893.016Zm-6.88 15.986c0 3.744.003 5.275.006 3.403.004-1.872.004-4.935 0-6.807-.003-1.872-.006-.34-.006 3.404Z" clip-rule="evenodd"/></svg>',
            'reddit'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M32.031 16.172a3.097 3.097 0 00-3.128-3.128c-1.001 0-1.877.438-2.44 1.189-2.502-1.814-6.006-2.94-9.947-3.003l2.315-6.882 5.756 1.376h.25c.063 1.314 1.126 2.377 2.502 2.377s2.44-1.126 2.44-2.502a2.405 2.405 0 00-2.44-2.44c-1.064 0-1.877.563-2.315 1.439 0 0-.063-.063-.125-.063L18.58 3.034c-.313-.063-.626.125-.688.375l-2.69 7.82c-3.816.125-7.195 1.189-9.697 2.94a3 3 0 00-2.377-1.126A3.097 3.097 0 000 16.171c0 1.251.751 2.377 1.877 2.878a5.336 5.336 0 00-.188 1.439c0 5.13 6.381 9.322 14.264 9.322s14.264-4.192 14.264-9.322c0-.438-.063-.938-.188-1.376 1.189-.5 2.002-1.627 2.002-2.94zM8.696 18.674c0-1.251 1.064-2.315 2.315-2.315s2.315 1.064 2.315 2.315-1.064 2.315-2.315 2.315-2.315-1.064-2.315-2.315zm12.512 6.382c-1.064 1.064-2.753 1.564-5.193 1.564s-4.129-.5-5.193-1.564c-.125-.125-.125-.375 0-.563.125-.125.375-.125.501 0 .938.938 2.44 1.376 4.692 1.376 2.19 0 3.754-.438 4.692-1.376a.38.38 0 01.5 0c.125.188.125.438 0 .563zm-.125-4.067c-1.314 0-2.377-1.001-2.377-2.315 0-1.251 1.064-2.315 2.377-2.315 1.251 0 2.252 1.064 2.252 2.315 0 1.314-1.001 2.315-2.252 2.315z"/></svg>',
            'search'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M28.962 26.499l-4.938-4.938c1.602-2.002 2.669-4.671 2.669-7.474 0-6.673-5.339-12.012-12.012-12.012S2.669 7.414 2.669 14.087a11.962 11.962 0 0012.012 12.012c2.803 0 5.472-.934 7.474-2.669l4.938 4.938c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868zM5.339 14.087c0-5.205 4.137-9.342 9.342-9.342s9.342 4.137 9.342 9.342c0 2.536-1.068 4.938-2.669 6.54-1.735 1.735-4.004 2.669-6.54 2.669-5.339.133-9.476-4.004-9.476-9.209z"/></svg>',
            'share-2'         => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M24.023 19.425c-1.468 0-2.803.667-3.737 1.602l-7.074-4.137c0-.534.133-.934.133-1.468s-.133-.934-.267-1.468l7.074-4.137c1.068.934 2.402 1.602 3.87 1.602 2.936 0 5.339-2.402 5.339-5.339S26.959.741 24.022.741s-5.339 2.402-5.339 5.339c0 .534.133.934.267 1.468l-7.207 4.137c-.934-.934-2.269-1.602-3.737-1.602-2.936 0-5.339 2.402-5.339 5.339s2.402 5.339 5.339 5.339c1.468 0 2.803-.667 3.737-1.602l7.074 4.137c0 .534-.133.934-.133 1.468 0 2.936 2.402 5.339 5.339 5.339s5.339-2.402 5.339-5.339-2.402-5.339-5.339-5.339zm0-16.015c1.468 0 2.669 1.201 2.669 2.669s-1.201 2.669-2.669 2.669-2.669-1.201-2.669-2.669 1.201-2.669 2.669-2.669zM8.008 18.091c-1.468 0-2.669-1.201-2.669-2.669s1.201-2.669 2.669-2.669 2.669 1.201 2.669 2.669a2.677 2.677 0 01-2.669 2.669zm16.015 9.342a2.677 2.677 0 01-2.669-2.669c0-.534.133-.934.4-1.335.4-.801 1.335-1.335 2.269-1.335 1.468 0 2.669 1.201 2.669 2.669s-1.201 2.669-2.669 2.669z"/></svg>',
            'shopping-bag'    => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 20 20"><path d="M3 2h14a1 1 0 011 1v14a1 1 0 01-1 1H3a1 1 0 01-1-1V3a1 1 0 011-1zM0 3a3 3 0 013-3h14a3 3 0 013 3v14a3 3 0 01-3 3H3a3 3 0 01-3-3zm10 7c-2.761 0-5-2.686-5-6h2c0 2.566 1.669 4 3 4s3-1.434 3-4h2c0 3.314-2.239 6-5 6z"></path></svg>',
            'shopping-empty'  => '<svg xmlns="http://www.w3.org/2000/svg" width="52" height="32" viewBox="0 0 640 512"><path d="M632 416H128V8c0-4.4-3.6-8-8-8H8C3.6 0 0 3.6 0 8v16c0 4.4 3.6 8 8 8h88v408c0 4.4 3.6 8 8 8h58.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H632c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8zm-408 48c0 8.8-7.2 16-16 16s-16-7.2-16-16 7.2-16 16-16 16 7.2 16 16zm288 0c0 8.8-7.2 16-16 16s-16-7.2-16-16 7.2-16 16-16 16 7.2 16 16z"></path></svg>',
            'shopping-cart'   => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M14.681 27.433a2.67 2.67 0 11-5.338 0 2.67 2.67 0 015.338 0zm14.681 0a2.67 2.67 0 11-5.338 0 2.67 2.67 0 015.338 0zm2.402-20.82c-.267-.4-.667-.534-1.068-.534H9.075L8.007.474C7.874-.193 7.34-.594 6.672-.594H1.333C.532-.594-.002-.06-.002.741s.534 1.335 1.335 1.335h4.271l1.068 5.605v.133l2.269 11.077c.4 1.868 2.002 3.203 3.87 3.203H25.89c2.002 0 3.604-1.335 4.004-3.203L32.029 7.68c0-.4 0-.801-.267-1.068zm-4.537 11.745c-.133.667-.667 1.068-1.335 1.068H12.946c-.667 0-1.201-.4-1.335-1.068L9.609 8.749h19.486l-1.868 9.609z"/></svg>',
            'shopping-cart-2' => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="1.5" d="M2 2h1.74c1.08 0 1.93.93 1.84 2l-.83 9.96a2.796 2.796 0 0 0 2.79 3.03h10.65c1.44 0 2.7-1.18 2.81-2.61l.54-7.5c.12-1.66-1.14-3.01-2.81-3.01H5.82M16.25 22a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM8.25 22a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM9 8h12"/></svg>',
            'skype'           => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M30.905 19.801c.25-1.001.313-2.127.313-3.191 0-8.321-6.694-15.077-15.015-15.077-.876 0-1.752.063-2.565.188C12.262.908 10.698.407 8.946.407 4.129.407.25 4.348.25 9.166c0 1.564.438 3.128 1.189 4.379-.188 1.001-.313 2.002-.313 3.065 0 8.321 6.757 15.015 15.077 15.015.938 0 1.814-.063 2.753-.25 1.189.688 2.628 1.064 4.129 1.064 4.817 0 8.696-3.941 8.696-8.759 0-1.376-.313-2.69-.876-3.879zm-7.132 3.941c-.688 1.001-1.689 1.752-3.066 2.315-1.314.563-2.878.813-4.692.813-2.127 0-3.941-.375-5.38-1.126-1.001-.5-1.877-1.251-2.502-2.19s-.938-1.814-.938-2.69c0-.563.188-1.064.626-1.439s.938-.563 1.564-.563c.501 0 .938.125 1.314.438s.688.751.876 1.314c.313.563.563 1.126.876 1.501s.751.751 1.251 1.001c.563.25 1.314.375 2.19.375 1.251 0 2.315-.25 3.066-.813.751-.5 1.126-1.126 1.126-1.877 0-.563-.188-1.064-.626-1.439-.375-.375-.938-.626-1.564-.876a57.515 57.515 0 00-2.753-.688c-1.564-.313-2.94-.688-4.004-1.189-1.064-.438-1.939-1.064-2.565-1.877s-1.001-1.814-1.001-3.003c0-1.126.375-2.19 1.064-3.066s1.627-1.564 2.94-2.002c1.251-.5 2.69-.688 4.379-.688 1.376 0 2.565.125 3.503.438 1.001.313 1.877.751 2.502 1.251.688.501 1.189 1.064 1.501 1.627s.438 1.189.438 1.752c0 .501-.188 1.001-.626 1.439-.375.438-.938.626-1.564.626-.5 0-.938-.125-1.251-.375s-.563-.688-.938-1.189c-.375-.751-.813-1.314-1.314-1.689s-1.376-.563-2.502-.563-2.002.188-2.628.626c-.626.375-.938.876-.938 1.439 0 .313.063.626.313.876.188.25.501.501.876.688s.813.375 1.189.438c.438.125 1.126.313 2.127.563 1.189.25 2.315.501 3.316.813 1.001.375 1.877.751 2.565 1.189.751.501 1.314 1.064 1.689 1.814.438.688.626 1.627.626 2.628a5.847 5.847 0 01-1.064 3.378z"/></svg>',
            'snapchat'        => '<svg xmlns="http://www.w3.org/2000/svg" width="30" height="32" viewBox="0 0 32 32"><path d="M15.158 2.981c3.217-.036 5.881 1.77 7.221 4.665.411.876.483 2.234.483 3.2 0 1.144-.089 2.27-.161 3.414.143.072.34.125.5.125.643 0 1.18-.483 1.823-.483.608 0 1.484.429 1.484 1.144 0 1.716-3.593 1.394-3.593 2.896 0 .268.107.518.215.769.858 1.877 2.485 3.682 4.415 4.487.465.197.929.304 1.43.411.322.072.5.304.5.626 0 1.215-3.092 1.716-3.915 1.841-.358.554-.089 1.859-1.037 1.859-.733 0-1.466-.232-2.252-.232-.375 0-.751.018-1.108.089-2.127.358-2.842 2.645-6.328 2.645-3.36 0-4.165-2.288-6.238-2.645a5.938 5.938 0 00-1.126-.089c-.804 0-1.573.268-2.216.268-1.001 0-.697-1.323-1.072-1.895-.822-.125-3.915-.626-3.915-1.841 0-.322.179-.554.5-.626.5-.107.965-.215 1.43-.411 1.913-.787 3.575-2.61 4.415-4.487.107-.25.215-.5.215-.769 0-1.501-3.611-1.215-3.611-2.878 0-.697.822-1.144 1.448-1.144.554 0 1.108.465 1.805.465.197 0 .393-.036.572-.125-.072-1.126-.161-2.252-.161-3.396 0-.965.072-2.342.483-3.217 1.573-3.396 4.236-4.63 7.793-4.665z"/></svg>',
            'soundcloud'      => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M.626 21.552H0v-3.879h.626zm1.626 1.252h-.626v-6.068h.626zm1.251.375h-.626V16.11h.626zm1.314.313h-.626v-7.069h.626zm1.564 0h-.626V14.17h.626zm1.314 0h-.626V12.919h.626zm1.564 0h-.626V12.231h.626zm1.314 0h-.626V11.918h.626zm1.626 0h-.688V12.231h.688zm1.252 0h-.626V12.606h.626zm1.313 0h-.688V11.293h.688zm1.564 0h-.626V10.354h.626zm11.762-.125H17.142c-.25 0-.5-.188-.5-.438V10.417c0-.25.125-.375.438-.501.751-.313 1.627-.438 2.502-.438 3.629 0 6.631 2.753 6.944 6.319.5-.188 1.001-.313 1.564-.313 2.19 0 3.941 1.752 3.941 3.941s-1.752 3.941-3.941 3.941z"/></svg>',
            'spotify'         => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.838 26.369c-.375.626-1.251.876-1.877.438-5.318-3.191-11.949-3.941-19.769-2.127-.751.125-1.501-.313-1.689-1.064s.313-1.501 1.064-1.689c8.571-1.939 15.891-1.126 21.834 2.502.688.375.876 1.251.438 1.939zm2.752-6.131a1.726 1.726 0 01-2.377.563c-6.068-3.691-15.265-4.755-22.459-2.628-.876.313-1.877-.25-2.19-1.126-.25-.938.25-1.939 1.189-2.19 8.195-2.502 18.33-1.314 25.275 2.94.813.563 1.126 1.627.563 2.44zm3.128-7.131c-.563 1.001-1.877 1.314-2.878.751C21.583 9.541 9.634 9.166 2.689 11.23c-1.064.375-2.252-.25-2.628-1.376C-.252 8.728.374 7.539 1.5 7.226c7.945-2.44 21.146-1.939 29.529 3.003 1.001.626 1.314 1.877.688 2.878z"/></svg>',
            'star'            => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M30.697 11.417c-.133-.534-.534-.801-1.068-.934l-8.542-1.201-3.87-7.741c-.4-.934-2.002-.934-2.402 0l-3.87 7.607-8.408 1.335c-.534 0-.934.4-1.201.934-.133.534 0 1.068.4 1.335l6.139 6.006L6.407 27.3c-.133.534.133 1.068.534 1.335s.934.4 1.468.133l7.607-4.004 7.607 4.004h.667c.267 0 .534-.133.801-.267.4-.267.667-.801.534-1.335l-1.468-8.542 6.139-6.006c.4-.267.534-.801.4-1.201zm-8.942 5.873c-.267.4-.4.801-.4 1.201l1.068 6.54-5.872-3.07c-.4-.267-.801-.267-1.201 0l-5.872 3.07 1.201-6.54c0-.4-.133-.801-.4-1.201l-4.805-4.538 6.54-.934c.4 0 .801-.4 1.068-.667l2.936-6.006 2.936 5.872c.133.4.534.667 1.068.667l6.54.934-4.805 4.671z"/></svg>',
            'tag'             => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M28.428 12.619L16.95 1.141c-.267-.267-.534-.4-.934-.4H2.67c-.801 0-1.335.534-1.335 1.335v13.346c0 .4.133.667.4.934l11.478 11.478c.801.801 1.868 1.201 2.803 1.201 1.068 0 2.002-.4 2.803-1.201l9.609-9.609c1.602-1.602 1.602-4.004 0-5.605zm-1.869 3.737l-9.609 9.609a1.29 1.29 0 01-1.868 0L4.005 14.888V3.41h11.478L26.56 14.487a1.29 1.29 0 010 1.868zM8.408 7.814c-.267.267-.4.534-.4.934s.133.667.4.934.534.4.934.4.667-.133.934-.4.4-.534.4-.934-.133-.667-.4-.934a1.29 1.29 0 00-1.868 0z"/></svg>',
            'tumblr'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M6.131 13.544V8.977c1.251-.375 2.377-1.001 3.253-1.752s1.627-1.689 2.127-2.753c.563-1.064.938-2.44 1.126-4.066h4.567v8.07h7.632v5.067h-7.632v8.195c0 1.877.125 3.066.313 3.566.188.563.563.938 1.064 1.251.751.438 1.564.688 2.44.688 1.627 0 3.253-.563 4.88-1.627v5.067c-1.376.626-2.628 1.126-3.754 1.376-1.064.25-2.315.375-3.566.375-1.501 0-2.753-.188-3.879-.563s-2.127-.876-2.878-1.564c-.813-.688-1.376-1.439-1.689-2.19s-.438-1.877-.438-3.378V13.541z"/></svg>',
            'twitch'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M22.96 28.246h-6.256l-4.192 4.192H8.383v-4.192H.688V5.974L2.815.406h28.528v19.519zm5.568-9.759V3.16H5.568v20.207h6.256v4.192l4.192-4.192h7.632zM20.895 8.79v8.321h2.753V8.79zM13.2 17.11h2.815V8.789H13.2z"/></svg>',
            'twitter'         => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path d="M14.258 10.152 23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0"/></svg>',
            'vimeo'           => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M20.708 9.541c-.751 0-1.564.188-2.377.563 1.564-5.193 4.567-7.695 9.009-7.507 3.316.063 4.88 2.19 4.692 6.381-.188 3.128-2.315 7.382-6.569 12.825-4.317 5.63-8.008 8.508-11.011 8.508-1.877 0-3.441-1.752-4.755-5.193-.876-3.191-1.752-6.319-2.565-9.509-1.001-3.441-2.002-5.13-3.128-5.13-.25 0-1.064.501-2.502 1.501L.001 10.041c1.564-1.439 3.128-2.815 4.692-4.192 2.065-1.814 3.691-2.753 4.755-2.878 2.44-.25 4.004 1.439 4.567 5.13.626 3.941 1.064 6.381 1.314 7.32.688 3.253 1.501 4.88 2.377 4.88.688 0 1.689-1.064 3.003-3.128 1.314-2.127 2.065-3.754 2.19-4.88.188-1.814-.563-2.753-2.19-2.753z"/></svg>',
            'vkontakte'       => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M30.968 22.491c-.938-1.251-1.752-2.002-2.94-3.128-.5-.5-1.189-1.001-1.251-1.689-.063-.938.813-1.814 1.251-2.44l.188-.188.125-.125c0-.063.063-.063.063-.125.063-.063.063-.125.125-.125 0-.063.063-.063.063-.063.063-.063.063-.125.125-.188.813-1.064 1.627-2.002 2.44-3.253.25-.438 1.064-2.002.813-2.628-.375-.751-2.315-.501-3.378-.501-1.314 0-2.753-.25-3.691.125-.563.188-.938 1.439-1.251 2.127-.5 1.064-.938 1.939-1.439 2.753 0 .063-.063.125-.125.188 0 .063-.063.125-.125.188-.063.125-.125.25-.188.313 0 .063-.063.063-.063.063 0 .063-.063.063-.063.125-.063.063-.063.063-.063.125-.063 0-.063.063-.125.125 0 0-.063.063-.063.125-.063 0-.063.063-.063.063-.063.063-.125.125-.188.25-.438.626-.876 1.376-1.689 1.501-.063-.063-.063-.063-.125-.063v-.063h-.063c0-.063-.063-.063-.063-.063l-.063-.063s0-.063-.063-.063c0-.063-.063-.063-.063-.063v-.063s-.063 0-.063-.063 0-.063-.063-.063v-.063-.063h-.063v-.125l-.063-.063v-.063-.063s0-.063-.063-.063v-.063-.063-.063c0-.063 0-.063-.063-.063v-.063-.063-.063-.063-.063-.125-.125-.125s-.063 0-.063-.063v-.063-.063-.063-.063-.063c0-.063.063-.063.063-.063v-.063-.063-.125-.125-.501-.063c0-.125 0-.313.063-.438 0-1.376.438-3.191-.188-4.254-.563-.938-2.69-.813-4.192-.813-1.814 0-3.253.125-3.816 1.189.626.438 1.314.438 1.627 1.064.375.688.438 2.127.375 3.441v.188c0 1.126-.063 2.94-.813 3.066s-1.376-1.001-1.814-1.564c-.063-.125-.125-.188-.188-.313l-.063-.063c-.063-.063-.063-.125-.125-.25l-.063-.063c-.063-.063-.125-.125-.125-.188-.063-.063-.063-.063-.063-.125-.063-.063-.125-.188-.188-.25-.563-.938-1.126-1.877-1.627-3.066-.375-.688-.813-1.877-1.189-2.065-.751-.375-2.252-.188-3.253-.188-1.126 0-2.315-.188-3.003.375 0 1.251.626 2.315 1.126 3.316.688 1.376 1.376 2.69 2.127 3.941 0 .063.063.125.063.188.125.125.188.313.313.438 0 .063.063.125.063.188.125.125.188.313.313.438 0 .063.063.125.125.188l.375.563c.125.188.25.438.375.626.063.063.063.125.125.125.125.188.188.313.313.438 0 .063.063.125.125.188.063.125.188.313.313.438 0 .063.063.125.125.188.125.188.25.375.438.563 1.939 2.44 4.129 4.755 8.446 5.255 1.376.125 3.378.25 3.816-.563.626-1.001-.063-3.378 1.314-3.566.938-.188 1.752 1.251 2.315 1.814.938 1.064 2.065 2.19 3.691 2.502h.125c1.439-.626 5.756.688 6.006-1.126.063-.626-.688-1.627-1.064-2.065z"/></svg>',
            'x'               => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M17.884 15.421l7.074-7.074c.534-.534.534-1.335 0-1.868s-1.335-.534-1.868 0l-7.074 7.074-7.074-7.074c-.534-.534-1.335-.534-1.868 0s-.534 1.335 0 1.868l7.074 7.074-7.074 7.074a1.29 1.29 0 000 1.868c.267.267.534.4.934.4s.667-.133.934-.4l7.074-7.074 7.074 7.074c.267.267.667.4.934.4s.667-.133.934-.4a1.29 1.29 0 000-1.868l-7.074-7.074z"/></svg>',
            'xing'            => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M7.695 22.866h-4.63c-.25 0-.438-.125-.563-.313s-.125-.5 0-.751l4.88-8.633v-.063l-3.128-5.38c-.125-.25-.125-.5 0-.688s.313-.313.626-.313h4.63c.688 0 1.064.438 1.251.876l3.191 5.505c-.188.375-5.005 8.821-5.005 8.821-.25.438-.563.938-1.251.938zM29.529 1.408l-10.197 18.08v.063l6.506 11.887c.125.25.125.5 0 .688s-.313.313-.626.313h-4.63c-.688 0-1.001-.5-1.251-.876 0 0-6.569-12.012-6.569-12.074.313-.563 10.26-18.205 10.26-18.205.25-.438.563-.876 1.251-.876h4.692c.25 0 .5.125.563.313.125.188.125.438 0 .688z"/></svg>',
            'quote'           => '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 123.961 123.961"><path d="M49.8 29.032c3.1-1.3 4.4-5 3-8l-4.9-10.3c-1.4-2.899-4.8-4.2-7.8-2.899-8.5 3.6-15.8 8.3-21.6 14C11.4 28.532 6.6 36.232 4 44.732c-2.6 8.601-4 20.3-4 35.2v30.7c0 3.3 2.7 6 6 6h39.3c3.3 0 6-2.7 6-6v-39.3c0-3.301-2.7-6-6-6H26.5c.2-10.101 2.6-18.2 7-24.301 3.6-4.898 9-8.898 16.3-11.999zM120.4 29.032c3.1-1.3 4.399-5 3-8l-4.9-10.199c-1.4-2.9-4.8-4.2-7.8-2.9-8.4 3.6-15.601 8.3-21.5 13.9-7.101 6.8-12 14.5-14.601 23-2.6 8.399-3.899 20.1-3.899 35.1v30.7c0 3.3 2.7 6 6 6H116c3.3 0 6-2.7 6-6v-39.3c0-3.301-2.7-6-6-6H97.1c.2-10.101 2.601-18.2 7-24.301 3.6-4.899 9-8.899 16.3-12z"/></svg>',
            'yelp'            => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M19.027 20.421c-.54.545-.083 1.535-.083 1.535l4.065 6.788s.668.895 1.246.895c.581 0 1.155-.477 1.155-.477l3.214-4.594s.324-.58.331-1.087c.012-.722-1.077-.92-1.077-.92l-7.609-2.444s-.746-.198-1.242.303zM18.642 17c.389.66 1.463.468 1.463.468l7.592-2.219s1.035-.421 1.182-.982c.145-.561-.171-1.238-.171-1.238L25.08 8.755s-.314-.54-.967-.595c-.719-.061-1.162.809-1.162.809l-4.29 6.75s-.379.672-.02 1.28zm-3.587-2.632c.894-.22 1.036-1.519 1.036-1.519L16.03 2.041S15.895.708 15.296.346c-.94-.57-1.218-.272-1.487-.233L7.506 2.455s-.617.204-.939.719c-.459.73.466 1.798.466 1.798l6.551 8.93s.647.669 1.47.465zm-1.557 4.374c.023-.834-1.001-1.334-1.001-1.334l-6.775-3.423s-1.004-.414-1.491-.126c-.373.221-.704.62-.737.973l-.441 5.432s-.066.941.178 1.369c.345.608 1.482.184 1.482.184l7.909-1.748c.307-.207.846-.225.876-1.328zm1.967 2.931c-.679-.349-1.491.373-1.491.373l-5.296 5.83s-.661.892-.493 1.439c.158.513.42.768.791.948l5.319 1.679s.645.134 1.133-.008c.693-.201.565-1.286.565-1.286l.12-7.894s-.027-.76-.648-1.082z"/></svg>',
            'youtube'         => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M31.718 10.041s-.313-2.252-1.251-3.191c-1.251-1.314-2.628-1.314-3.253-1.376-4.442-.313-11.198-.313-11.198-.313s-6.757 0-11.198.313c-.626.063-2.002.063-3.253 1.376-.938.938-1.251 3.191-1.251 3.191s-.313 2.565-.313 5.13v2.44c0 2.628.313 5.193.313 5.193s.313 2.19 1.251 3.191c1.251 1.251 2.878 1.251 3.566 1.376 2.565.25 10.886.313 10.886.313s6.757 0 11.198-.313c.626-.063 2.002-.125 3.253-1.376.938-1.001 1.251-3.191 1.251-3.191s.313-2.565.313-5.193v-2.44c0-2.565-.313-5.13-.313-5.13zm-11.386 6.632l-7.57 3.941v-9.009l8.633 4.504z"/></svg>',
            'whatsapp'        => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M27.281 4.65C24.287 1.65 20.306 0 16.062 0 7.324 0 .212 7.112.212 15.856c0 2.794.731 5.525 2.119 7.925L.081 32l8.406-2.206a15.858 15.858 0 007.575 1.931h.006c8.738 0 15.856-7.113 15.856-15.856 0-4.238-1.65-8.219-4.644-11.219zm-11.212 24.4a13.17 13.17 0 01-6.713-1.837l-.481-.288-4.987 1.306 1.331-4.863-.313-.5a13.086 13.086 0 01-2.019-7.012c0-7.269 5.912-13.181 13.188-13.181 3.519 0 6.831 1.375 9.319 3.862a13.108 13.108 0 013.856 9.325c-.006 7.275-5.919 13.188-13.181 13.188zm7.225-9.875c-.394-.2-2.344-1.156-2.706-1.288s-.625-.2-.894.2c-.262.394-1.025 1.288-1.256 1.556-.231.262-.462.3-.856.1s-1.675-.619-3.188-1.969c-1.175-1.05-1.975-2.35-2.206-2.744s-.025-.613.175-.806c.181-.175.394-.463.594-.694s.262-.394.394-.662c.131-.262.069-.494-.031-.694s-.894-2.15-1.219-2.944c-.319-.775-.65-.669-.894-.681-.231-.012-.494-.012-.756-.012s-.694.1-1.056.494c-.363.394-1.387 1.356-1.387 3.306s1.419 3.831 1.619 4.1c.2.262 2.794 4.269 6.769 5.981.944.406 1.681.65 2.256.837.95.3 1.813.256 2.494.156.762-.113 2.344-.956 2.675-1.881s.331-1.719.231-1.881c-.094-.175-.356-.275-.756-.475z"/></svg>',
            'tiktok'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path d="M19.589 6.686a4.793 4.793 0 0 1-3.77-4.245V2h-3.445v13.672a2.896 2.896 0 0 1-5.201 1.743l-.002-.001.002.001a2.895 2.895 0 0 1 3.183-4.51v-3.5a6.329 6.329 0 0 0-5.394 10.692 6.33 6.33 0 0 0 10.857-4.424V8.687a8.182 8.182 0 0 0 4.773 1.526V6.79a4.831 4.831 0 0 1-1.003-.104z"/></svg>',
            'stackoverflow'   => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.75 28.765v-8.09H29V32H3V20.675h3.25v8.09h19.5ZM8.687 25.527v-3.235h14.626v3.235H8.688Zm.126-7.084.563-3.186 14.405 2.528-.566 3.186-14.402-2.528Zm2.655-8.902 1.625-2.801 12.665 7.278-1.625 2.801-12.665-7.278ZM17.02 2.08 19.51 0l9.4 11.152-2.489 2.078-9.4-11.15Z"/></svg>',
            'rss'             => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24.912 24.912"><path d="M3.692 17.517A3.696 3.696 0 0 0 0 21.211C0 23.244 1.656 24.9 3.692 24.9s3.694-1.657 3.694-3.689a3.697 3.697 0 0 0-3.694-3.694z"/><path d="M.384 8.142A.386.386 0 0 0 0 8.527v4.688c0 .211.173.383.384.383 6.02 0 10.919 4.898 10.919 10.92 0 .209.171.383.384.383h4.705a.385.385 0 0 0 .387-.383l-.018-.121C16.692 15.423 9.37 8.142.384 8.142z"/><path d="M24.89 24.397C24.825 10.936 13.854.011.384.011A.385.385 0 0 0 0 .397v4.824c0 .212.173.383.384.383 10.429 0 18.913 8.486 18.913 18.914 0 .209.172.383.382.383h4.845a.39.39 0 0 0 .388-.383l-.022-.121z"/></svg>',
            'pin'             => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M1.599 32c-.407 0-.813-.16-1.125-.472a1.579 1.579 0 0 1-.16-2.073l6.654-9.01-5.214-5.218a1.607 1.607 0 0 1-.245-1.937c.249-.394 2.395-3.526 7.166-2.344.08.01.165.016.256.024.196.017.415.037.652.075 1.01.164 2.796-.647 4.346-1.97 1.485-1.265 2.445-2.742 2.445-3.76 0-.237-.006-.489-.012-.736-.04-.957-.1-2.428.999-3.527a3.564 3.564 0 0 1 4.787-.245.902.902 0 0 1 .08.074c.767.751 8.637 8.62 8.72 8.702A3.574 3.574 0 0 1 32 12.12c0 .959-.372 1.858-1.047 2.534-1.094 1.096-2.572 1.033-3.547.992-.23-.005-.483-.01-.719-.01-.963 0-2.114.674-3.239 1.898-1.587 1.727-2.564 3.958-2.48 4.957.035.32.1.887.113.966 1.152 4.676-1.971 6.808-2.33 7.035a1.596 1.596 0 0 1-1.968-.226l-5.571-5.575a.799.799 0 1 1 1.13-1.13l5.57 5.575c.246-.16 2.502-1.708 1.603-5.368a32.445 32.445 0 0 1-.137-1.124c-.134-1.598 1.112-4.251 2.895-6.192 1.013-1.101 2.6-2.415 4.414-2.415.247 0 .512.006.77.011 1.012.043 1.813.03 2.367-.524a1.986 1.986 0 0 0-.005-2.81c-.082-.082-8.463-8.456-8.71-8.694-.758-.616-1.896-.559-2.617.163-.559.56-.572 1.36-.531 2.347.006.275.012.539.012.786 0 1.511-1.124 3.373-3.006 4.977-1.546 1.317-3.84 2.62-5.637 2.332a6.768 6.768 0 0 0-.537-.061 7.63 7.63 0 0 1-.29-.029.794.794 0 0 1-.225-.04c-3.678-.908-5.234 1.357-5.4 1.618l5.707 5.689a.8.8 0 0 1 .078 1.04L1.598 30.41l7.452-5.454a.8.8 0 0 1 .941 1.291l-7.458 5.441c-.28.209-.607.312-.934.312Z"/></svg>',
            'telegram'        => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="27" viewBox="0 0 32 27"><path fill-rule="evenodd" d="M24.512 26.372c.43.304.983.38 1.476.193.494-.188.857-.609.966-1.12C28.113 20 30.924 6.217 31.978 1.264a1.041 1.041 0 0 0-.347-1.01c-.293-.25-.7-.322-1.063-.187C24.979 2.136 7.762 8.596.724 11.2a1.102 1.102 0 0 0-.722 1.065c.016.472.333.882.79 1.019 3.156.944 7.299 2.257 7.299 2.257s1.936 5.847 2.945 8.82c.127.374.419.667.804.768.384.1.795-.005 1.082-.276l4.128-3.897s4.762 3.492 7.463 5.416Zm-14.68-11.57 2.24 7.385.497-4.676 13.58-12.248a.37.37 0 0 0 .043-.503.379.379 0 0 0-.5-.085L9.831 14.803Z" clip-rule="evenodd"/></svg>',
            'discord'         => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="25" viewBox="0 0 32 27"><path d="M27.129 2.038A26.392 26.392 0 0 0 20.515 0c-.291.501-.615 1.18-.841 1.714a25.285 25.285 0 0 0-7.327 0A21.038 21.038 0 0 0 11.506 0 26.019 26.019 0 0 0 4.89 2.038C.702 8.215-.43 14.247.136 20.198c2.781 2.021 5.466 3.25 8.103 4.06a19.716 19.716 0 0 0 1.73-2.799 16.972 16.972 0 0 1-2.732-1.31c.226-.161.452-.34.663-.517 5.271 2.41 10.982 2.41 16.189 0 .226.178.436.356.663.517a16.97 16.97 0 0 1-2.733 1.31 19.737 19.737 0 0 0 1.73 2.798 26.81 26.81 0 0 0 8.104-4.059c.695-6.889-1.102-12.872-4.724-18.16Zm-16.432 14.49c-1.585 0-2.878-1.44-2.878-3.203 0-1.762 1.261-3.202 2.878-3.202 1.601 0 2.911 1.44 2.879 3.202 0 1.763-1.278 3.202-2.879 3.202Zm10.627 0c-1.585 0-2.88-1.44-2.88-3.203 0-1.762 1.262-3.202 2.88-3.202 1.6 0 2.91 1.44 2.878 3.202 0 1.763-1.261 3.202-2.879 3.202Z"/></svg>',
            'bluesky'         => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M7.503 4.75c3.44 2.542 7.139 7.695 8.497 10.46 1.358-2.765 5.058-7.918 8.497-10.46C26.98 2.916 31 1.497 31 6.012c0 .902-.525 7.576-.833 8.66-1.071 3.766-4.973 4.727-8.444 4.145 6.067 1.017 7.61 4.383 4.277 7.75-6.33 6.394-9.099-1.604-9.808-3.654-.13-.375-.191-.551-.192-.402 0-.15-.062.027-.192.402-.71 2.05-3.477 10.048-9.808 3.654-3.333-3.367-1.79-6.734 4.277-7.75-3.47.582-7.373-.38-8.444-4.146C1.525 13.588 1 6.914 1 6.012 1 1.497 5.021 2.916 7.503 4.75Z"/></svg>',
            'wechat'          => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M21.655 10.747c.373 0 .733.017 1.094.063C21.783 6.33 16.89 3 11.328 3 5.091 3 0 7.16 0 12.45c0 3.05 1.705 5.57 4.532 7.518L3.41 23.316l3.957-1.949c1.42.275 2.548.555 3.968.555.36 0 .704-.018 1.065-.046a7.729 7.729 0 0 1-.361-2.331c-.006-4.85 4.241-8.798 9.617-8.798Zm-6.08-3.022c.844 0 1.408.554 1.408 1.394 0 .828-.564 1.382-1.408 1.382-.86 0-1.704-.554-1.704-1.382.005-.84.849-1.394 1.704-1.394ZM7.64 10.5c-.843 0-1.704-.554-1.704-1.382 0-.846.86-1.394 1.704-1.394.861 0 1.42.554 1.42 1.394 0 .834-.559 1.382-1.42 1.382ZM32 19.42c0-4.45-4.532-8.072-9.623-8.072-5.394 0-9.623 3.622-9.623 8.072 0 4.45 4.235 8.073 9.623 8.073 1.123 0 2.263-.292 3.41-.566l3.106 1.674-.861-2.777C30.312 24.143 32 21.922 32 19.42Zm-12.748-1.4c-.564 0-1.122-.554-1.122-1.12 0-.553.564-1.102 1.122-1.102.861 0 1.42.554 1.42 1.103 0 .571-.564 1.12-1.42 1.12Zm6.232 0c-.565 0-1.123-.554-1.123-1.12 0-.553.564-1.102 1.123-1.102.843 0 1.42.554 1.42 1.103.005.571-.577 1.12-1.42 1.12Z"/></svg>',
            'qq'         	  => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M29.57 26.275c-.718.088-2.806-3.294-2.806-3.294 0 1.956-1.006 4.513-3.193 6.363 1.05.325 3.425 1.2 2.862 2.15-.456.769-7.844.494-9.975.25-2.131.237-9.519.519-9.975-.25-.562-.956 1.806-1.825 2.863-2.15-2.182-1.844-3.194-4.4-3.194-6.363 0 0-2.081 3.381-2.806 3.294-.338-.044-.775-1.85.58-6.231.645-2.063 1.376-3.782 2.507-6.613C6.252 6.131 9.271 0 16.458 0c7.106 0 10.2 6.006 10.019 13.438 1.131 2.824 1.869 4.556 2.506 6.612 1.363 4.381.919 6.194.581 6.231l.007-.006Z"/></svg>',
            'bilibili'        => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 512 512"><path d="M488.6 104.1c16.7 18.1 24.4 39.7 23.3 65.7v202.4c-.4 26.4-9.2 48.1-26.5 65.1-17.2 17-39.1 25.9-65.5 26.7H92c-26.4-.8-48.2-9.8-65.3-27.2C9.7 419.4.8 396.5 0 368.2V169.8c.8-26 9.7-47.6 26.7-65.7C43.8 87.8 65.6 78.8 92 78h29.4L96.1 52.2c-5.8-5.7-8.7-13-8.7-21.8s2.9-16.1 8.7-21.8c5.7-5.7 13-8.6 21.8-8.6s16.1 2.9 21.9 8.6L213.1 78h88l74.5-69.4C381.7 2.9 389.2 0 398 0c8.8 0 16.1 2.9 21.9 8.6 5.7 5.7 8.6 13 8.6 21.8s-2.9 16.1-8.6 21.8L394.6 78h29.3c26.4.8 48 9.8 64.7 26.1zm-38.8 69.7c-.4-9.6-3.7-17.4-10.7-23.5-5.2-6.1-14-9.4-22.7-9.8H96.1c-9.6.4-17.5 3.7-23.6 9.8-6.2 6.1-9.4 13.9-9.8 23.5v194.4c0 9.2 3.3 17 9.8 23.5 6.5 6.5 14.4 9.8 23.6 9.8h320.3c9.2 0 17-3.3 23.3-9.8 6.3-6.5 9.7-14.3 10.1-23.5V173.8zm-264.3 42.7c6.3 6.3 9.7 14.1 10.1 23.2V273c-.4 9.2-3.7 16.9-9.8 23.2-6.2 6.3-14 9.5-23.6 9.5-9.6 0-17.5-3.2-23.6-9.5-6.1-6.3-9.4-14-9.8-23.2v-33.3c.4-9.1 3.8-16.9 10.1-23.2 6.3-6.3 13.2-9.6 23.3-10 9.2.4 17 3.7 23.3 10zm191.5 0c6.3 6.3 9.7 14.1 10.1 23.2V273c-.4 9.2-3.7 16.9-9.8 23.2-6.1 6.3-14 9.5-23.6 9.5-9.6 0-17.4-3.2-23.6-9.5-7-6.3-9.4-14-9.7-23.2v-33.3c.3-9.1 3.7-16.9 10-23.2 6.3-6.3 14.1-9.6 23.3-10 9.2.4 17 3.7 23.3 10z"/></svg>',
            'threads'         => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 448 512"><path d="M331.5 235.7c2.2.9 4.2 1.9 6.3 2.8 29.2 14.1 50.6 35.2 61.8 61.4 15.7 36.5 17.2 95.8-30.3 143.2-36.2 36.2-80.3 52.5-142.6 53h-.3c-70.2-.5-124.1-24.1-160.4-70.2-32.3-41-48.9-98.1-49.5-169.6v-.5c.5-71.5 17.1-128.6 49.4-169.6 36.3-46.1 90.3-69.7 160.5-70.2h.3c70.3.5 124.9 24 162.3 69.9 18.4 22.7 32 50 40.6 81.7l-40.4 10.8c-7.1-25.8-17.8-47.8-32.2-65.4-29.2-35.8-73-54.2-130.5-54.6-57 .5-100.1 18.8-128.2 54.4C72.1 146.1 58.5 194.3 58 256c.5 61.7 14.1 109.9 40.3 143.3 28 35.6 71.2 53.9 128.2 54.4 51.4-.4 85.4-12.6 113.7-40.9 32.3-32.2 31.7-71.8 21.4-95.9-6.1-14.2-17.1-26-31.9-34.9-3.7 26.9-11.8 48.3-24.7 64.8-17.1 21.8-41.4 33.6-72.7 35.3-23.6 1.3-46.3-4.4-63.9-16-20.8-13.8-33-34.8-34.3-59.3-2.5-48.3 35.7-83 95.2-86.4 21.1-1.2 40.9-.3 59.2 2.8-2.4-14.8-7.3-26.6-14.6-35.2-10-11.7-25.6-17.7-46.2-17.8h-.7c-16.6 0-39 4.6-53.3 26.3l-34.4-23.6c19.2-29.1 50.3-45.1 87.8-45.1h.8c62.6.4 99.9 39.5 103.7 107.7l-.2.2zm-156 68.8c1.3 25.1 28.4 36.8 54.6 35.3 25.6-1.4 54.6-11.4 59.5-73.2-13.2-2.9-27.8-4.4-43.4-4.4-4.8 0-9.6.1-14.4.4-42.9 2.4-57.2 23.2-56.2 41.8l-.1.1z"/></svg>',
            'linktree'        => '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M2.05 8.123H8.1L3.775 4.098 6.15 1.742l4.1 4.098V0h3.55v5.84l4.1-4.098 2.375 2.356-4.325 4H22v3.313h-6.075l4.325 4.098-2.375 2.307L12 12.049 6.125 17.84 3.75 15.51l4.325-4.099H2V8.123h.05Zm8.225 8.024h3.55V24h-3.55v-7.853Z"/></svg>',
            'rumble'          => '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M14.453 13.546a1.88 1.88 0 0 0 .275-2.645 1.88 1.88 0 0 0-.275-.275A21.213 21.213 0 0 0 10.14 7.85c-1.066-.51-2.256.2-2.426 1.414a23.523 23.523 0 0 0-.14 5.502c.116 1.23 1.292 1.964 2.372 1.492a19.628 19.628 0 0 0 4.506-2.704v-.008zm6.932-5.4a5.85 5.85 0 0 1 .014 7.872 26.149 26.149 0 0 1-13.104 7.828 5.116 5.116 0 0 1-6.167-3.578c-1.524-5.2-1.3-11.08.17-16.305C3.07 1.22 5.651-.503 8.308.131c4.925 1.174 9.545 4.196 13.077 8.013v.001z"/></svg>',
            'mastodon'        => '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11.954 3.023c-2.266.01-4.516.297-5.686.837 0 0-2.518 1.146-2.518 5.05 0 4.649-.004 10.486 4.172 11.614 1.599.43 2.974.523 4.08.459 2.006-.114 2.998-.729 2.998-.729l-.068-1.482s-1.3.458-2.91.405c-1.595-.056-3.276-.175-3.538-2.167a4.23 4.23 0 0 1-.034-.56c3.38.84 6.262.366 7.056.27 2.215-.27 4.143-1.658 4.39-2.928.385-2.001.352-4.881.352-4.881 0-3.905-2.514-5.051-2.514-5.051-1.233-.576-3.515-.846-5.78-.837ZM9.529 6.002c.776.02 1.543.367 2.016 1.101l.457.777.455-.777c.948-1.475 3.075-1.383 4.087-.242.933 1.086.725 1.787.725 6.639v.002h-1.835V9.28c0-1.976-2.52-2.053-2.52.274V12H11.09V9.554c0-2.327-2.518-2.252-2.518-.276V13.5h-1.84c0-4.855-.205-5.561.724-6.639.51-.574 1.295-.88 2.072-.86Z"/></svg>',
            'gemspace'        => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M23.498 4.427c-4.31-.59-10.685-.549-15 0C5.613 6.866 3.323 9.27 1 12.297 5.238 17.924 10.6 23.517 16 28c5.4-4.489 10.762-10.076 15-15.703-2.323-3.033-4.613-5.431-7.497-7.875l-.005.005ZM16 21.707v-5.194c-1.949-.04-3.902-.116-5.851-.312A48.53 48.53 0 0 1 7 12.307a29.468 29.468 0 0 1 3.374-3.542c3.039-.393 8.175-.433 11.213 0A30.139 30.139 0 0 1 25 12.347c-2.549 3.345-5.774 6.69-9 9.366v-.006Z"/></svg>',
            'lifegroupchat'   => '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M25.701 27.088c.916-.717.877-2.08.04-2.89-.837-.812-2.154-.757-3.115-.103a9.461 9.461 0 0 1-10.549.089c-.27-.178-1.893 1.354-2.144 1.15-.294-.24.787-2.218.523-2.49a9.734 9.734 0 0 1-1.584-2.158 9.874 9.874 0 0 1-1.108-5.894 9.81 9.81 0 0 1 2.502-5.436A9.557 9.557 0 0 1 15.43 6.44a9.46 9.46 0 0 1 5.867.709 9.604 9.604 0 0 1 3.126 2.34c.773.874 2.037 1.257 3.044.68 1.008-.578 1.376-1.888.662-2.812a13.822 13.822 0 0 0-5.08-4.074 13.592 13.592 0 0 0-8.43-1.018 13.73 13.73 0 0 0-7.418 4.19 14.095 14.095 0 0 0-3.595 7.81 14.185 14.185 0 0 0 1.592 8.468 13.876 13.876 0 0 0 6.176 5.915 13.595 13.595 0 0 0 8.416 1.12 13.684 13.684 0 0 0 5.911-2.679Z"/><path d="M12.996 17.244c.677 0 1.226-.557 1.226-1.244 0-.687-.549-1.244-1.226-1.244-.676 0-1.225.557-1.225 1.244 0 .687.549 1.244 1.225 1.244ZM18.817 16c0 .687-.549 1.244-1.226 1.244A1.235 1.235 0 0 1 16.366 16c0-.687.549-1.244 1.226-1.244.676 0 1.225.557 1.225 1.244ZM22.186 17.244c.677 0 1.226-.557 1.226-1.244 0-.687-.549-1.244-1.226-1.244-.676 0-1.225.557-1.225 1.244 0 .687.549 1.244 1.226 1.244Z"/></svg>'
        );
	}
endif;
inc/core/class-bloglo-enqueue-scripts.php000064400000013156152425655560014516 0ustar00<?php
/**
 * Enqueue scripts & styles.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Enqueue and register scripts and styles.
 *
 * @since 1.0.0
 */
class Bloglo_Enqueue_Scripts {

	/**
	 * Check if debug is on
	 *
	 * @var boolean
	 */
	private $is_debug;

	/**
	 * Primary class constructor.
	 *
	 * @since 1.0.0
	 */
	public function __construct() {
		$this->is_debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
		add_action( 'wp_enqueue_scripts', array( $this, 'bloglo_enqueues' ) );
		add_action( 'wp_print_footer_scripts', array( $this, 'bloglo_skip_link_focus_fix' ) );
		add_action( 'enqueue_block_editor_assets', array( $this, 'bloglo_block_editor_assets' ) );
	}

	/**
	 * Enqueue styles and scripts.
	 *
	 * @since 1.0.0
	 */
	public function bloglo_enqueues() {
		// Script debug.
		$bloglo_dir    = $this->is_debug ? 'dev/' : '';
		$bloglo_suffix = $this->is_debug ? '' : '.min';

		// fontawesome enqueue.
		wp_enqueue_style(
			'FontAwesome',
			BLOGLO_THEME_URI . '/assets/css/all' . $bloglo_suffix . '.css',
			false,
			'5.15.4',
			'all'
		);
		// Enqueue theme stylesheet.
		wp_enqueue_style(
			'bloglo-styles',
			BLOGLO_THEME_URI . '/assets/css/style' . $bloglo_suffix . '.css',
			false,
			BLOGLO_THEME_VERSION,
			'all'
		);

		// Enqueue HTML5 shiv.
		wp_register_script(
			'html5shiv',
			BLOGLO_THEME_URI . '/assets/js/' . $bloglo_dir . 'vendors/html5' . $bloglo_suffix . '.js',
			array(),
			'3.7.3',
			true
		);

		// Load only on < IE9.
		wp_script_add_data(
			'html5shiv',
			'conditional',
			'lt IE 9'
		);

		// Flexibility.js for crossbrowser flex support.
		wp_enqueue_script(
			'bloglo-flexibility',
			BLOGLO_THEME_URI . '/assets/js/' . $bloglo_dir . 'vendors/flexibility' . $bloglo_suffix . '.js',
			array(),
			BLOGLO_THEME_VERSION,
			false
		);

		wp_add_inline_script(
			'bloglo-flexibility',
			'flexibility(document.documentElement);'
		);

		wp_script_add_data(
			'bloglo-flexibility',
			'conditional',
			'IE'
		);

		// Register Bloglo slider.
		wp_register_script(
			'bloglo-slider',
			BLOGLO_THEME_URI . '/assets/js/' . $bloglo_dir . 'bloglo-slider' . $bloglo_suffix . '.js',
			array( 'imagesloaded' ),
			BLOGLO_THEME_VERSION,
			true
		);

		wp_register_script(
			'bloglo-marquee',
			BLOGLO_THEME_URI . '/assets/js/' . $bloglo_dir . 'vendors/jquery.marquee' . $bloglo_suffix . '.js',
			array( 'imagesloaded' ),
			BLOGLO_THEME_VERSION,
			true
		);

		if ( bloglo()->options->get( 'bloglo_blog_layout' ) == 'blog-masonry' ) {
			wp_enqueue_script( 'masonry' );
		}

		// Load comment reply script if comments are open.
		if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
			wp_enqueue_script( 'comment-reply' );
		}

		// Enqueue main theme script.
		wp_enqueue_script(
			'bloglo',
			BLOGLO_THEME_URI . '/assets/js/' . $bloglo_dir . 'bloglo' . $bloglo_suffix . '.js',
			array( 'jquery', 'imagesloaded' ),
			BLOGLO_THEME_VERSION,
			true
		);

		// Comment count used in localized strings.
		$comment_count = get_comments_number();

		// Localized variables so they can be used for translatable strings.
		$localized = array(
			'ajaxurl'               => esc_url( admin_url( 'admin-ajax.php' ) ),
			'nonce'                 => wp_create_nonce( 'bloglo-nonce' ),
			'responsive-breakpoint' => intval( bloglo_option( 'main_nav_mobile_breakpoint' ) ),
			'sticky-header'         => array(
				'enabled' => bloglo_option( 'sticky_header' ),
				'hide_on' => bloglo_option( 'sticky_header_hide_on' ),
			),
			'dark_mode' 			=> (bool) bloglo_option( 'dark_mode' ),
			'strings'               => array(
				/* translators: %s Comment count */
				'comments_toggle_show' => $comment_count > 0 ? esc_html( sprintf( _n( 'Show %s Comment', 'Show %s Comments', $comment_count, 'bloglo' ), $comment_count ) ) : esc_html__( 'Leave a Comment', 'bloglo' ),
				'comments_toggle_hide' => esc_html__( 'Hide Comments', 'bloglo' ),
			),
		);

		wp_localize_script(
			'bloglo',
			'bloglo_vars',
			apply_filters( 'bloglo_localized', $localized )
		);

		// Enqueue google fonts.
		bloglo()->fonts->enqueue_google_fonts();

		// Add additional theme styles.
		do_action( 'bloglo_enqueue_scripts' );
	}

	/**
	 * Skip link focus fix for IE11.
	 *
	 * @since 1.0.0
	 *
	 * @return void
	 */
	public function bloglo_skip_link_focus_fix() {
		?>
		<script>
			! function() {
				var e = -1 < navigator.userAgent.toLowerCase().indexOf("webkit"),
					t = -1 < navigator.userAgent.toLowerCase().indexOf("opera"),
					n = -1 < navigator.userAgent.toLowerCase().indexOf("msie");
				(e || t || n) && document.getElementById && window.addEventListener && window.addEventListener("hashchange", function() {
					var e, t = location.hash.substring(1);
					/^[A-z0-9_-]+$/.test(t) && (e = document.getElementById(t)) && (/^(?:a|select|input|button|textarea)$/i.test(e.tagName) || (e.tabIndex = -1), e.focus())
				}, !1)
			}();
		</script>
		<?php
	}

	/**
	 * Enqueue assets for the Block Editor.
	 *
	 * @since 1.0.0
	 *
	 * @return void
	 */
	public function bloglo_block_editor_assets() {

		// RTL version.
		$rtl = is_rtl() ? '-rtl' : '';

		// Minified version.
		$min = $this->is_debug ? '' : '.min';
		// Enqueue block editor styles.
		wp_enqueue_style(
			'bloglo-block-editor-styles',
			BLOGLO_THEME_URI . '/inc/admin/assets/css/bloglo-block-editor-styles' . $rtl . $min . '.css',
			false,
			BLOGLO_THEME_VERSION,
			'all'
		);

		// Enqueue google fonts.
		bloglo()->fonts->enqueue_google_fonts();

		// Add dynamic CSS as inline style.
		wp_add_inline_style(
			'bloglo-block-editor-styles',
			apply_filters( 'bloglo_block_editor_dynamic_css', bloglo_dynamic_styles()->get_block_editor_css() )
		);
	}
}
inc/core/class-bloglo-options.php000064400000076513152425655560013063 0ustar00<?php

/**
 * Bloglo Options Class.
 *
 * @package  Bloglo
 * @author   Peregrine Themes
 * @since    1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Options' ) ) :

	/**
	 * Bloglo Options Class.
	 */
	class Bloglo_Options {

		/**
		 * Singleton instance of the class.
		 *
		 * @since 1.0.0
		 * @var object
		 */
		private static $instance;

		/**
		 * Options variable.
		 *
		 * @since 1.0.0
		 * @var mixed $options
		 */
		private static $options;

		/**
		 * Main Bloglo_Options Instance.
		 *
		 * @since 1.0.0
		 * @return Bloglo_Options
		 */
		public static function instance() {

			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Options ) ) {
				self::$instance = new self();
			}
			return self::$instance;
		}

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			// Refresh options.
			add_action( 'after_setup_theme', array( $this, 'refresh' ) );
		}

		/**
		 * Set default option values.
		 *
		 * @since  1.0.0
		 * @return array Default values.
		 */
		public function get_defaults() {

			$defaults = array(

				/**
				 * General Settings.
				 */

				// Layout.
				'bloglo_site_layout'                       => 'fw-contained',
				'bloglo_container_width'                   => 1420,

				// Base Colors.
				'bloglo_accent_color'                      => '#004bed',
				'bloglo_dark_mode'                         => false,
				'bloglo_content_text_color'                => '#212121',
				'bloglo_headings_color'                    => '#212121',
				'bloglo_content_link_hover_color'          => '#94979e',
				'bloglo_body_background_heading'           => true,
				'bloglo_content_background_heading'        => true,
				'bloglo_boxed_content_background_color'    => '#FFFFFF',
				'bloglo_scroll_top_visibility'             => 'all',

				// Base Typography.
				'bloglo_html_base_font_size'               => array(
					'desktop' => 62.5,
					'tablet'  => 53,
					'mobile'  => 50,
				),
				'bloglo_font_smoothing'                    => true,
				'bloglo_typography_body_heading'           => false,
				'bloglo_typography_headings_heading'       => false,
				'bloglo_body_font'                         => bloglo_typography_defaults(
					array(
						'font-family'         => 'Josefin Sans',
						'font-weight'         => 400,
						'font-size-desktop'   => '1.7',
						'font-size-unit'      => 'rem',
						'line-height-desktop' => '1.75',
					)
				),
				'bloglo_headings_font'                     => bloglo_typography_defaults(
					array(
						'font-weight'     => 700,
						'font-style'      => 'normal',
						'text-transform'  => 'none',
						'text-decoration' => 'none',
					)
				),
				'bloglo_h1_font'                           => bloglo_typography_defaults(
					array(
						'font-weight'         => 700,
						'font-size-desktop'   => '4',
						'font-size-unit'      => 'rem',
						'line-height-desktop' => '1.1',
					)
				),
				'bloglo_h2_font'                           => bloglo_typography_defaults(
					array(
						'font-weight'         => 700,
						'font-size-desktop'   => '3.6',
						'font-size-unit'      => 'rem',
						'line-height-desktop' => '1.2',
					)
				),
				'bloglo_h3_font'                           => bloglo_typography_defaults(
					array(
						'font-weight'         => 700,
						'font-size-desktop'   => '2.8',
						'font-size-unit'      => 'rem',
						'line-height-desktop' => '1.2',
					)
				),
				'bloglo_h4_font'                           => bloglo_typography_defaults(
					array(
						'font-weight'         => 700,
						'font-size-desktop'   => '2.4',
						'font-size-unit'      => 'rem',
						'line-height-desktop' => '1.2',
					)
				),
				'bloglo_h5_font'                           => bloglo_typography_defaults(
					array(
						'font-weight'         => 700,
						'font-size-desktop'   => '2',
						'font-size-unit'      => 'rem',
						'line-height-desktop' => '1.2',
					)
				),
				'bloglo_h6_font'                           => bloglo_typography_defaults(
					array(
						'font-weight'         => 600,
						'font-size-desktop'   => '1.8',
						'font-size-unit'      => 'rem',
						'line-height-desktop' => '1.72',
					)
				),
				'bloglo_heading_em_font'                   => bloglo_typography_defaults(
					array(
						'font-family' => 'Playfair Display',
						'font-weight' => 'inherit',
						'font-style'  => 'italic',
					)
				),
				'bloglo_section_heading_style'             => '1',
				'bloglo_footer_widget_title_font_size'     => array(
					'desktop' => 2,
					'unit'    => 'rem',
				),

				// Primary Button.
				'bloglo_primary_button_heading'            => false,
				'bloglo_primary_button_bg_color'           => '#004bed',
				'bloglo_primary_button_hover_bg_color'     => '#2766f0',
				'bloglo_primary_button_text_color'         => '#fff',
				'bloglo_primary_button_hover_text_color'   => '#fff',
				'bloglo_primary_button_border_radius'      => array(
					'top-left'     => '',
					'top-right'    => '',
					'bottom-right' => '',
					'bottom-left'  => '',
					'unit'         => 'rem',
				),
				'bloglo_primary_button_border_width'       => .1,
				'bloglo_primary_button_border_color'       => '#004bed',
				'bloglo_primary_button_hover_border_color' => '#2766f0',
				'bloglo_primary_button_typography'         => bloglo_typography_defaults(
					array(
						'font-family'         => 'Plus Jakarta Sans',
						'font-weight'         => 500,
						'font-size-desktop'   => '1.8',
						'font-size-unit'      => 'rem',
						'line-height-desktop' => '1.6',
					)
				),

				// Secondary Button.
				'bloglo_secondary_button_heading'          => false,
				'bloglo_secondary_button_bg_color'         => '#212121',
				'bloglo_secondary_button_hover_bg_color'   => '#3e4750',
				'bloglo_secondary_button_text_color'       => '#FFFFFF',
				'bloglo_secondary_button_hover_text_color' => '#FFFFFF',
				'bloglo_secondary_button_border_radius'    => array(
					'top-left'     => '',
					'top-right'    => '',
					'bottom-right' => '',
					'bottom-left'  => '',
					'unit'         => 'rem',
				),
				'bloglo_secondary_button_border_width'     => .1,
				'bloglo_secondary_button_border_color'     => 'rgba(0, 0, 0, 0.12)',
				'bloglo_secondary_button_hover_border_color' => 'rgba(0, 0, 0, 0.12)',
				'bloglo_secondary_button_typography'       => bloglo_typography_defaults(
					array(
						'font-family'         => 'Plus Jakarta Sans',
						'font-weight'         => 500,
						'font-size-desktop'   => '1.8',
						'font-size-unit'      => 'rem',
						'line-height-desktop' => '1.6',
					)
				),

				// Text button.
				'bloglo_text_button_heading'               => false,
				'bloglo_text_button_text_color'            => '#212121',
				'bloglo_text_button_hover_text_color'      => '',
				'bloglo_text_button_typography'            => bloglo_typography_defaults(
					array(
						'font-family'         => 'Plus Jakarta Sans',
						'font-weight'         => 500,
						'font-size-desktop'   => '1.6',
						'font-size-unit'      => 'rem',
						'line-height-desktop' => '1.5',
					)
				),

				// Misc Settings.
				'bloglo_enable_schema'                     => true,
				'bloglo_custom_input_style'                => true,
				'bloglo_preloader_heading'                 => false,
				'bloglo_preloader'                         => false,
				'bloglo_preloader_style'                   => '1',
				'bloglo_preloader_visibility'              => 'all',
				'bloglo_scroll_top_heading'                => false,
				'bloglo_enable_scroll_top'                 => true,
				'bloglo_enable_cursor_dot'                 => true,
				'bloglo_parallax_footer'                   => false,

				/**
				 * Logos & Site Title.
				 */
				'bloglo_logo_default_retina'               => '',
				'bloglo_logo_max_height'                   => array(
					'desktop' => 45,
				),
				'bloglo_logo_margin'                       => array(
					'desktop' => array(
						'top'    => 25,
						'right'  => 40,
						'bottom' => 25,
						'left'   => 0,
					),
					'tablet'  => array(
						'top'    => 25,
						'right'  => 1,
						'bottom' => 25,
						'left'   => 0,
					),
					'mobile'  => array(
						'top'    => '',
						'right'  => '',
						'bottom' => '',
						'left'   => '',
					),
					'unit'    => 'px',
				),
				'bloglo_display_tagline'                   => false,
				'bloglo_logo_heading_site_identity'        => true,
				'bloglo_typography_logo_heading'           => false,
				'bloglo_logo_text_font_size'               => array(
					'desktop' => 4,
					'unit'    => 'rem',
				),

				/**
				 * Header.
				 */

				// Top Bar.
				'bloglo_top_bar_enable'                    => true,
				'bloglo_top_bar_container_width'           => 'content-width',
				'bloglo_top_bar_visibility'                => 'all',
				'bloglo_top_bar_heading_widgets'           => true,
				'bloglo_top_bar_widgets'                   => array(
					array(
						'classname' => 'bloglo_customizer_widget_text',
						'type'      => 'text',
						'values'    => array(
							'content'    => wp_kses( '<i class="far fa-calendar-alt fa-lg bloglo-icon"></i><strong><span id="bloglo-date"></span> - <span id="bloglo-time"></span></strong>', bloglo_get_allowed_html_tags() ),
							'location'   => 'left',
							'visibility' => 'all',
						),
					),
					array(
						'classname' => 'bloglo_customizer_widget_text',
						'type'      => 'text',
						'values'    => array(
							'content'    => wp_kses( '<i class="far fa-location-arrow fa-lg bloglo-icon"></i> Subscribe to our newsletter & never miss our best posts. <a href="#"><strong>Subscribe Now!</strong></a>', bloglo_get_allowed_html_tags() ),
							'location'   => 'right',
							'visibility' => 'all',
						),
					),
				),
				'bloglo_top_bar_heading_design_options'    => false,
				'bloglo_top_bar_background'                => bloglo_design_options_defaults(
					array(
						'background' => array(
							'color'    => array(
								'background-color' => '#30373e',
							),
							'gradient' => array(),
						),
					)
				),
				'bloglo_top_bar_text_color'                => bloglo_design_options_defaults(
					array(
						'color' => array(
							'text-color'       => '#ffffff',
							'link-color'       => '#ffffff',
							'link-hover-color' => '#ffffff',
						),
					)
				),
				'bloglo_top_bar_border'                    => bloglo_design_options_defaults(
					array(
						'border' => array(
							'border-bottom-width' => '1',
							'border-style'        => 'solid',
							'border-color'        => 'rgba(0,0,0, .085)',
							'separator-color'     => '#cccccc',
						),
					)
				),

				// Main Header.
				'bloglo_header_layout'                     => 'layout-4',

				'bloglo_header_ads_banner'                 => get_template_directory_uri() . '/assets/images/header-promo.png',
				'bloglo_header_ads_banner_url'             => '',
				'bloglo_header_ads_banner_url_target'      => '_self',

				'bloglo_header_container_width'            => 'content-width',
				'bloglo_header_heading_widgets'            => true,
				'bloglo_header_widgets'                    => array(
					array(
						'classname' => 'bloglo_customizer_widget_socials',
						'type'      => 'socials',
						'values'    => array(
							'style'      => 'rounded-fill',
							'size'       => 'standard',
							'location'   => 'left',
							'visibility' => 'hide-mobile-tablet',
						),
					),
					array(
						'classname' => 'bloglo_customizer_widget_darkmode',
						'type'      => 'darkmode',
						'values'    => array(
							'location'   => 'right',
							'visibility' => 'hide-mobile-tablet',
						),
					),
					array(
						'classname' => 'bloglo_customizer_widget_search',
						'type'      => 'search',
						'values'    => array(
							'location'   => 'right',
							'visibility' => 'hide-mobile-tablet',
						),
					),
					array(
						'classname' => 'bloglo_customizer_widget_button',
						'type'      => 'button',
						'values'    => array(
							'text'       => 'Subscribe',
							'url'        => '#',
							'class'      => 'btn-small',
							'target'     => true,
							'location'   => 'right',
							'visibility' => 'hide-mobile-tablet',
						),
					),
				),
				'bloglo_header_widgets_separator'          => 'none',
				'bloglo_header_heading_design_options'     => false,
				'bloglo_header_background'                 => bloglo_design_options_defaults(
					array(
						'background' => array(
							'color'    => array(
								'background-color' => '#FFFFFF',
							),
							'gradient' => array(),
							'image'    => array(),
						),
					)
				),
				'bloglo_header_border'                     => bloglo_design_options_defaults(
					array(
						'border' => array(
							'border-bottom-width' => 1,
							'border-color'        => 'rgba(0,0,0, .085)',
							'separator-color'     => '#cccccc',
						),
					)
				),
				'bloglo_header_text_color'                 => bloglo_design_options_defaults(
					array(
						'color' => array(
							'text-color' => '#66717f',
							'link-color' => '#30373e',
						),
					)
				),

				// Transparent Header.
				'bloglo_tsp_header'                        => false,
				'bloglo_tsp_header_disable_on'             => array(
					'404',
					'posts_page',
					'archive',
					'search',
				),
				'bloglo_tsp_logo_heading'                  => false,
				'bloglo_tsp_logo'                          => '',
				'bloglo_tsp_logo_retina'                   => '',
				'bloglo_tsp_logo_max_height'               => array(
					'desktop' => 45,
				),
				'bloglo_tsp_logo_margin'                   => array(
					'desktop' => array(
						'top'    => '',
						'right'  => '',
						'bottom' => '',
						'left'   => '',
					),
					'tablet'  => array(
						'top'    => '',
						'right'  => '',
						'bottom' => '',
						'left'   => '',
					),
					'mobile'  => array(
						'top'    => '',
						'right'  => '',
						'bottom' => '',
						'left'   => '',
					),
					'unit'    => 'px',
				),
				'bloglo_tsp_colors_heading'                => false,
				'bloglo_tsp_header_background'             => bloglo_design_options_defaults(
					array(
						'background' => array(
							'color' => array(),
						),
					)
				),
				'bloglo_tsp_header_font_color'             => bloglo_design_options_defaults(
					array(
						'color' => array(),
					)
				),
				'bloglo_tsp_header_border'                 => bloglo_design_options_defaults(
					array(
						'border' => array(),
					)
				),

				// Sticky Header.
				'bloglo_sticky_header'                     => false,
				'bloglo_sticky_header_hide_on'             => array( '' ),

				// Main Navigation.
				'bloglo_main_nav_heading_animation'        => false,
				'bloglo_main_nav_hover_animation'          => 'underline',
				'bloglo_main_nav_heading_sub_menus'        => true,
				'bloglo_main_nav_sub_indicators'           => true,
				'bloglo_main_nav_heading_mobile_menu'      => false,
				'bloglo_main_nav_mobile_breakpoint'        => 1024,
				'bloglo_main_nav_mobile_label'             => '',
				'bloglo_nav_design_options'                => false,
				'bloglo_main_nav_background'               => bloglo_design_options_defaults(
					array(
						'background' => array(
							'color'    => array(
								'background-color' => '#FFFFFF',
							),
							'gradient' => array(),
						),
					)
				),
				'bloglo_main_nav_border'                   => bloglo_design_options_defaults(
					array(
						'border' => array(
							'border-top-width'    => 1,
							'border-bottom-width' => 1,
							'border-style'        => 'solid',
							'border-color'        => 'rgba(0,0,0, .085)',
						),
					)
				),
				'bloglo_main_nav_font_color'               => bloglo_design_options_defaults(
					array(
						'color' => array(),
					)
				),
				'bloglo_typography_main_nav_heading'       => false,
				'bloglo_main_nav_font_size'                => array(
					'value' => 1.7,
					'unit'  => 'rem',
				),

				// Page Header.
				'bloglo_page_header_enable'                => true,
				'bloglo_page_header_alignment'             => 'left',
				'bloglo_page_header_spacing'               => array(
					'desktop' => array(
						'top'    => 30,
						'bottom' => 30,
					),
					'tablet'  => array(
						'top'    => '',
						'bottom' => '',
					),
					'mobile'  => array(
						'top'    => '',
						'bottom' => '',
					),
					'unit'    => 'px',
				),
				'bloglo_page_header_background'            => bloglo_design_options_defaults(
					array(
						'background' => array(
							'color'    => array( 'background-color' => 'rgba(255,76,96,0.1)' ),
							'gradient' => array(),
							'image'    => array(),
						),
					)
				),
				'bloglo_page_header_text_color'            => bloglo_design_options_defaults(
					array(
						'color' => array(),
					)
				),
				'bloglo_page_header_border'                => bloglo_design_options_defaults(
					array(
						'border' => array(
							'border-bottom-width' => 1,
							'border-style'        => 'solid',
							'border-color'        => 'rgba(0,0,0,.062)',
						),
					)
				),
				'bloglo_typography_page_header'            => false,
				'bloglo_page_header_font_size'             => array(
					'desktop' => 2.6,
					'unit'    => 'rem',
				),

				// Breadcrumbs.
				'bloglo_breadcrumbs_enable'                => true,
				'bloglo_breadcrumbs_hide_on'               => array( 'home' ),
				'bloglo_breadcrumbs_position'              => 'in-page-header',
				'bloglo_breadcrumbs_alignment'             => 'left',
				'bloglo_breadcrumbs_spacing'               => array(
					'desktop' => array(
						'top'    => 15,
						'bottom' => 15,
					),
					'tablet'  => array(
						'top'    => '',
						'bottom' => '',
					),
					'mobile'  => array(
						'top'    => '',
						'bottom' => '',
					),
					'unit'    => 'px',
				),
				'bloglo_breadcrumbs_heading_design'        => false,
				'bloglo_breadcrumbs_background'            => bloglo_design_options_defaults(
					array(
						'background' => array(
							'color'    => array(),
							'gradient' => array(),
							'image'    => array(),
						),
					)
				),
				'bloglo_breadcrumbs_text_color'            => bloglo_design_options_defaults(
					array(
						'color' => array(),
					)
				),
				'bloglo_breadcrumbs_border'                => bloglo_design_options_defaults(
					array(
						'border' => array(
							'border-top-width'    => 0,
							'border-bottom-width' => 0,
							'border-color'        => '',
							'border-style'        => 'solid',
						),
					)
				),

				/**
				 * Hero.
				 */
				'bloglo_enable_hero'                       => true,
				'bloglo_hero_type'                         => 'hover-slider',
				'bloglo_hero_visibility'                   => 'all',
				'bloglo_hero_enable_on'                    => array( 'home' ),
				'bloglo_hero_hover_slider'                 => false,
				'bloglo_hero_hover_slider_container'       => 'content-width',
				'bloglo_hero_hover_slider_height'          => 500,
				'bloglo_hero_hover_slider_overlay'         => '2',
				'bloglo_hero_hover_slider_elements'        => array(
					'category'  => true,
					'meta'      => true,
					'read_more' => true,
				),
				'bloglo_hero_hover_slider_posts'           => false,
				'bloglo_hero_hover_slider_post_number'     => 2,
				'bloglo_hero_hover_slider_category'        => array(),

				/**
				 * Featured Links
				 */
				'bloglo_enable_featured_links'        	=> false,
				'bloglo_featured_links_title'           => '',
				'bloglo_featured_links_visibility'    	=> 'all',
				'bloglo_featured_links_enable_on'     	=> array( 'home' ),
				'bloglo_featured_links_style'         	=> false,
				'bloglo_featured_links_container'     	=> 'content-width',
				'bloglo_featured_links'          		=> apply_filters(
					'bloglo_featured_links_default',
					array(
						array(
							'btn_text'        	=> '',
							'btn_url'       	=> '',
							'btn_target' 		=> '',
							'image' 			=> array(),
						),
						array(
							'btn_text'        	=> '',
							'btn_url'       	=> '',
							'btn_target' 		=> '',
							'image' 			=> array(),
						),
						array(
							'btn_text'        	=> '',
							'btn_url'       	=> '',
							'btn_target' 		=> '',
							'image' 			=> array(),
						),
					),
				),

				/**
				 * PYML
				 */
				'bloglo_enable_pyml'                       => true,
				'bloglo_pyml_title'                        => esc_html__( 'Post You Might Like', 'bloglo' ),
				'bloglo_pyml_visibility'                   => 'all',
				'bloglo_pyml_enable_on'                    => array( 'home' ),
				'bloglo_pyml_style'                        => false,
				'bloglo_pyml_container'                    => 'content-width',
				'bloglo_pyml_elements'                     => array(
					'category' => true,
					'meta'     => true,
				),
				'bloglo_pyml_posts'                        => true,
				'bloglo_pyml_post_number'                  => 4,
				'bloglo_pyml_category'                     => array(),

				/**
				 * Ticker Slider
				 */
				'bloglo_enable_ticker'                     => true,
				'bloglo_ticker_title'                      => esc_html__( 'Breakings', 'bloglo' ),
				'bloglo_ticker_visibility'                 => 'all',
				'bloglo_ticker_enable_on'                  => array( 'home' ),
				'bloglo_ticker_style'                      => false,
				'bloglo_ticker_container'                  => 'content-width',
				'bloglo_ticker_elements'                   => array(
					'meta' => true,
				),
				'bloglo_ticker_posts'                      => false,
				'bloglo_ticker_post_number'                => 10,
				'bloglo_ticker_category'                   => array(),

				/**
				 * Maintenance mode
				 */

				'bloglo_enable_maintenance'                => false,
				'bloglo_maintenance_text'                  => sprintf( '<h2 class="title">%1$s</h2><p class="description">%2$s</p>', esc_html__( 'Site Under construction.', 'bloglo' ), esc_html__( 'Subscribe today and we will inform you once we go online.', 'bloglo' ) ),
				'bloglo_maintenance_background'            => bloglo_design_options_defaults(
					array(
						'background' => array(
							'color'    => array( 'background-color' => 'rgba(0,0,0,.025)' ),
							'gradient' => array(),
							'image'    => array(),
						),
					)
				),
				'bloglo_maintenance_text_color'            => bloglo_design_options_defaults(
					array(
						'color' => array(
							'text-color' => '#fff',
						),
					)
				),
				'bloglo_maintenance_make_live'             => false,
				'bloglo_maintenance_timezone'              => '',
				'bloglo_enable_maintenance_form'           => false,
				'bloglo_maintenance_form_shortcode'        => '',
				'bloglo_enable_maintenance_social_media'   => false,
				'bloglo_maintenance_style'                 => 1,

				/**
				 * Blog.
				 */

				// Blog Page / Archive.
				'bloglo_blog_entry_elements'               => array(
					'thumbnail'      => true,
					'header'         => true,
					'meta'           => true,
					'summary'        => true,
					'summary-footer' => true,
				),
				'bloglo_blog_entry_meta_elements'          => array(
					'author'   => true,
					'date'     => true,
					'category' => false,
					'tag'      => false,
					'comments' => false,
				),
				'bloglo_entry_meta_icons'                  => true,
				'bloglo_excerpt_length'                    => 30,
				'bloglo_excerpt_more'                      => '&hellip;',
				'bloglo_blog_layout'                       => 'blog-masonry',
				'bloglo_blog_layout_column'                => 6,
				'bloglo_blog_image_position'               => 'left',
				'bloglo_blog_image_size'                   => 'large',
				'bloglo_blog_card_border'                  => true,
				'bloglo_blog_card_shadow'                  => true,
				'bloglo_blog_horizontal_post_categories'   => true,
				'bloglo_blog_horizontal_read_more'         => false,

				// Single Post.
				'bloglo_single_post_layout_heading'        => false,
				'bloglo_single_title_position'             => 'in-content',
				'bloglo_single_title_alignment'            => 'left',
				'bloglo_single_title_spacing'              => array(
					'desktop' => array(
						'top'    => 152,
						'bottom' => 100,
					),
					'tablet'  => array(
						'top'    => 90,
						'bottom' => 55,
					),
					'mobile'  => array(
						'top'    => '',
						'bottom' => '',
					),
					'unit'    => 'px',
				),
				'bloglo_single_content_width'              => 'wide',
				'bloglo_single_narrow_container_width'     => 700,
				'bloglo_single_post_elements_heading'      => false,
				'bloglo_single_post_meta_elements'         => array(
					'author'   => true,
					'date'     => true,
					'comments' => true,
					'category' => false,
				),
				'bloglo_single_post_thumb'                 => true,
				'bloglo_single_post_categories'            => true,
				'bloglo_single_post_tags'                  => true,
				'bloglo_single_last_updated'               => true,
				'bloglo_single_about_author'               => true,
				'bloglo_single_post_next_prev'             => true,
				'bloglo_single_post_elements'              => array(
					'thumb'          => true,
					'category'       => true,
					'tags'           => true,
					'last-updated'   => true,
					'about-author'   => true,
					'prev-next-post' => true,
				),
				'bloglo_single_toggle_comments'            => false,
				'bloglo_single_entry_meta_icons'           => true,
				'bloglo_typography_single_post_heading'    => false,

				/**
				 * Sidebar.
				 */

				'bloglo_sidebar_position'                  => 'right-sidebar',
				'bloglo_single_post_sidebar_position'      => 'no-sidebar',
				'bloglo_single_page_sidebar_position'      => 'default',
				'bloglo_archive_sidebar_position'          => 'default',
				'bloglo_sidebar_options_heading'           => false,
				'bloglo_sidebar_style'                     => '3',
				'bloglo_sidebar_width'                     => 30,
				'bloglo_sidebar_sticky'                    => 'sidebar',
				'bloglo_sidebar_responsive_position'       => 'after-content',
				'bloglo_typography_sidebar_heading'        => false,
				'bloglo_sidebar_widget_title_font_size'    => array(
					'desktop' => 2,
					'unit'    => 'rem',
				),

				/**
				 * Footer.
				 */

				// Pre Footer.
				'bloglo_pre_footer_cta'                    => true,
				'bloglo_enable_pre_footer_cta'             => false,
				'bloglo_pre_footer_cta_visibility'         => 'all',
				'bloglo_pre_footer_cta_hide_on'            => array(),
				'bloglo_pre_footer_cta_style'              => '1',
				'bloglo_pre_footer_cta_text'               => wp_kses_post( __( 'This is an example of <em>Pre Footer</em> section in Bloglo.', 'bloglo' ) ),
				'bloglo_pre_footer_cta_btn_text'           => wp_kses_post( __( 'Example Button', 'bloglo' ) ),
				'bloglo_pre_footer_cta_btn_url'            => '#',
				'bloglo_pre_footer_cta_btn_new_tab'        => false,
				'bloglo_pre_footer_cta_design_options'     => false,
				'bloglo_pre_footer_cta_background'         => bloglo_design_options_defaults(
					array(
						'background' => array(
							'color'    => array(),
							'gradient' => array(),
							'image'    => array(),
						),
					)
				),
				'bloglo_pre_footer_cta_border'             => bloglo_design_options_defaults(
					array(
						'border' => array(),
					)
				),
				'bloglo_pre_footer_cta_text_color'         => bloglo_design_options_defaults(
					array(
						'color' => array(
							'text-color' => '#FFFFFF',
						),
					)
				),
				'bloglo_pre_footer_cta_typography'         => false,
				'bloglo_pre_footer_cta_font_size'          => array(
					'desktop' => 2.8,
					'unit'    => 'rem',
				),

				// Copyright.
				'bloglo_enable_copyright'                  => true,
				'bloglo_copyright_layout'                  => 'layout-1',
				'bloglo_copyright_separator'               => 'contained-separator',
				'bloglo_copyright_visibility'              => 'all',
				'bloglo_copyright_heading_widgets'         => true,
				'bloglo_copyright_widgets'                 => array(
					array(
						'classname' => 'bloglo_customizer_widget_text',
						'type'      => 'text',
						'values'    => array(
							'content'    => esc_html__( 'Copyright {{the_year}} &mdash; {{site_title}}. All rights reserved. {{theme_link}}', 'bloglo' ),
							'location'   => 'start',
							'visibility' => 'all',
						),
					),
				),
				'bloglo_copyright_heading_design_options'  => false,
				'bloglo_copyright_background'              => bloglo_design_options_defaults(
					array(
						'background' => array(
							'color'    => array(
								'background-color' => '#000000',
							),
							'gradient' => array(),
						),
					)
				),
				'bloglo_copyright_text_color'              => bloglo_design_options_defaults(
					array(
						'color' => array(
							'text-color'       => '#94979e',
							'link-color'       => '#ffffff',
							'link-hover-color' => '#004bed',
						),
					)
				),

				// Main Footer.
				'bloglo_enable_footer'                     => true,
				'bloglo_footer_layout'                     => 'layout-2',
				'bloglo_footer_widgets_align_center'       => false,
				'bloglo_footer_visibility'                 => 'all',
				'bloglo_footer_widget_heading_style'       => '0',
				'bloglo_footer_heading_design_options'     => false,
				'bloglo_footer_background'                 => bloglo_design_options_defaults(
					array(
						'background' => array(
							'color'    => array(
								'background-color' => '#30373e',
							),
							'gradient' => array(),
							'image'    => array(),
						),
					)
				),
				'bloglo_footer_text_color'                 => bloglo_design_options_defaults(
					array(
						'color' => array(
							'text-color'         => '#94979e',
							'link-color'         => '#ffffff',
							'link-hover-color'   => '#004bed',
							'widget-title-color' => '#ffffff',
						),
					)
				),
				'bloglo_footer_border'                     => bloglo_design_options_defaults(
					array(
						'border' => array(
							'border-top-width'    => 5,
							'border-bottom-width' => 0,
							'border-color'        => '',
							'border-style'        => 'solid',
						),
					)
				),
				'bloglo_typography_main_footer_heading'    => false,
			);

			$defaults = apply_filters( 'bloglo_default_option_values', $defaults );
			return $defaults;
		}

		/**
		 * Get the options from static array()
		 *
		 * @since  1.0.0
		 * @return array    Return array of theme options.
		 */
		public function get_options() {
			return self::$options;
		}

		/**
		 * Get the options from static array().
		 *
		 * @since  1.0.0
		 * @param string $id Options jet to get.
		 * @return array Return array of theme options.
		 */
		public function get( $id ) {
			$value = isset( self::$options[ $id ] ) ? self::$options[ $id ] : self::get_default( $id );
			$value = apply_filters("theme_mod_{$id}", $value); // phpcs:ignore
			return $value;
		}

		/**
		 * Set option.
		 *
		 * @since  1.0.0
		 * @param string $id Option key.
		 * @param any    $value Option value.
		 * @return void
		 */
		public function set( $id, $value ) {
			set_theme_mod( $id, $value );
			self::$options[ $id ] = $value;
		}

		/**
		 * Refresh options.
		 *
		 * @since  1.0.0
		 * @return void
		 */
		public function refresh() {
			self::$options = wp_parse_args(
				get_theme_mods(),
				self::get_defaults()
			);
		}

		/**
		 * Returns the default value for option.
		 *
		 * @since  1.0.0
		 * @param  string $id Option ID.
		 * @return mixed      Default option value.
		 */
		public function get_default( $id ) {
			$defaults = self::get_defaults();
			return isset( $defaults[ $id ] ) ? $defaults[ $id ] : false;
		}
	}

endif;
inc/core/class-bloglo-fonts.php000064400000026311152425655560012510 0ustar00<?php
/**
 * Helper class for font settings.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Fonts' ) ) :

	/**
	 * Bloglo helper class to handle fonts.
	 *
	 * @since 1.0.0
	 */
	class Bloglo_Fonts {

		/**
		 * System Fonts
		 *
		 * @since 1.0.0
		 * @var array
		 */
		public $system_fonts = array();

		/**
		 * Google Fonts
		 *
		 * @since 1.0.0
		 * @var array
		 */
		public $google_fonts = array();

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {
		}

		/**
		 * Get System Fonts.
		 *
		 * @since 1.0.0
		 *
		 * @return Array All the system fonts in Bloglo
		 */
		public function get_system_fonts() {

			if ( empty( $this->system_fonts ) ) {
				$this->system_fonts = array(
					'Helvetica' => array(
						'fallback' => 'Verdana, Arial, sans-serif',
						'variants' => array(
							'300',
							'400',
							'700',
						),
					),
					'Verdana'   => array(
						'fallback' => 'Helvetica, Arial, sans-serif',
						'variants' => array(
							'300',
							'400',
							'700',
						),
					),
					'Arial'     => array(
						'fallback' => 'Helvetica, Verdana, sans-serif',
						'variants' => array(
							'300',
							'400',
							'700',
						),
					),
					'Times'     => array(
						'fallback' => 'Georgia, serif',
						'variants' => array(
							'300',
							'400',
							'700',
						),
					),
					'Georgia'   => array(
						'fallback' => 'Times, serif',
						'variants' => array(
							'300',
							'400',
							'700',
						),
					),
					'Courier'   => array(
						'fallback' => 'monospace',
						'variants' => array(
							'300',
							'400',
							'700',
						),
					),
				);
			}

			return apply_filters( 'bloglo_system_fonts', $this->system_fonts );
		}

		/**
		 * Return an array of standard websafe fonts.
		 *
		 * @return array    Standard websafe fonts.
		 */
		public function get_standard_fonts() {

			$standard_fonts = array(
				'Serif'      => array(
					'fallback' => 'Georgia, Times, "Times New Roman", serif',
					'variants' => array(
						'300',
						'400',
						'700',
					),
				),
				'Sans Serif' => array(
					'fallback' => 'Helvetica, Arial, sans-serif',
					'variants' => array(
						'300',
						'400',
						'700',
					),
				),
				'Monospace'  => array(
					'fallback' => 'Monaco, "Lucida Sans Typewriter", "Lucida Typewriter", "Courier New", Courier, monospace',
					'variants' => array(
						'300',
						'400',
						'700',
					),
				),
			);

			return apply_filters( 'bloglo_standard_fonts', $standard_fonts );
		}

		/**
		 * Default system font.
		 *
		 * @since  1.0.0
		 *
		 * @return string Default system font.
		 */
		public function get_default_system_font() {

			$font = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;';

			return apply_filters( 'bloglo_default_system_font', $font );
		}

		/**
		 * Google Fonts.
		 * Array is generated from the google-fonts.json file.
		 *
		 * @since  1.0.0
		 *
		 * @return Array Array of Google Fonts.
		 */
		public function get_google_fonts() {

			if ( empty( $this->google_fonts ) ) {

				$google_fonts_file = apply_filters( 'bloglo_google_fonts_json_file', BLOGLO_THEME_PATH . '/assets/fonts/google-fonts.json' );

				if ( ! file_exists( $google_fonts_file ) ) {
					return array();
				}

				$file_contants     = file_get_contents( $google_fonts_file );
				$google_fonts_json = json_decode( $file_contants, 1 );
				foreach ( $google_fonts_json as $key => $font ) {

					$name = key( $font );

					foreach ( $font[ $name ] as $font_key => $single_font ) {

						if ( 'variants' === $font_key ) {

							foreach ( $single_font as $variant_key => $variant ) {

								if ( 'regular' === $variant ) {
									$font[ $name ][ $font_key ][ $variant_key ] = '400';
								}

								if ( 'italic' === $variant ) {
									$font[ $name ][ $font_key ][ $variant_key ] = '400italic';
								}

								if ( strpos( $font[ $name ][ $font_key ][ $variant_key ], 'italic' ) ) {
									unset( $font[ $name ][ $font_key ][ $variant_key ] );
								}
							}
						}

						$this->google_fonts[ $name ] = $font[ $name ];
					}
				}
			}

			return apply_filters( 'bloglo_google_fonts', $this->google_fonts );
		}

		/**
		 * Google Font subsets.
		 *
		 * @since  1.0.0
		 *
		 * @return Array Array of Google Fonts.
		 */
		public function get_google_font_subsets() {

			$subsets = array(
				'arabic'              => esc_html__( 'Arabic', 'bloglo' ),
				'bengali'             => esc_html__( 'Bengali', 'bloglo' ),
				'chinese-hongkong'    => esc_html__( 'Chinese (Hong Kong)', 'bloglo' ),
				'chinese-simplified'  => esc_html__( 'Chinese (Simplified)', 'bloglo' ),
				'chinese-traditional' => esc_html__( 'Chinese (Traditional)', 'bloglo' ),
				'cyrillic'            => esc_html__( 'Cyrillic', 'bloglo' ),
				'cyrillic-ext'        => esc_html__( 'Cyrillic Extended', 'bloglo' ),
				'devanagari'          => esc_html__( 'Devanagari', 'bloglo' ),
				'greek'               => esc_html__( 'Greek', 'bloglo' ),
				'greek-ext'           => esc_html__( 'Greek Extended', 'bloglo' ),
				'gujarati'            => esc_html__( 'Gujarati', 'bloglo' ),
				'gurmukhi'            => esc_html__( 'Gurmukhi', 'bloglo' ),
				'hebrew'              => esc_html__( 'Hebrew', 'bloglo' ),
				'japanese'            => esc_html__( 'Japanese', 'bloglo' ),
				'kannada'             => esc_html__( 'Kannada', 'bloglo' ),
				'khmer'               => esc_html__( 'Khmer', 'bloglo' ),
				'korean'              => esc_html__( 'Korean', 'bloglo' ),
				'latin'               => esc_html__( 'Latin', 'bloglo' ),
				'latin-ext'           => esc_html__( 'Latin Extended', 'bloglo' ),
				'malayalam'           => esc_html__( 'Malayalam', 'bloglo' ),
				'myanmar'             => esc_html__( 'Myanmar', 'bloglo' ),
				'oriya'               => esc_html__( 'Oriya', 'bloglo' ),
				'sinhala'             => esc_html__( 'Sinhala', 'bloglo' ),
				'tamil'               => esc_html__( 'Tamil', 'bloglo' ),
				'telugu'              => esc_html__( 'Telugu', 'bloglo' ),
				'thai'                => esc_html__( 'Thai', 'bloglo' ),
				'vietnamese'          => esc_html__( 'Vietnamese', 'bloglo' ),
			);

			return apply_filters( 'bloglo_google_font_subsets', $subsets );
		}

		/**
		 * Return an array of backup fonts based on the font-category.
		 *
		 * @return array
		 */
		public function get_backup_fonts() {

			$backup_fonts = array(
				'sans-serif'  => 'Helvetica, Arial, sans-serif',
				'serif'       => 'Georgia, serif',
				'display'     => '"Comic Sans MS", cursive, sans-serif',
				'handwriting' => '"Comic Sans MS", cursive, sans-serif',
				'monospace'   => '"Lucida Console", Monaco, monospace',
			);

			return apply_filters( 'bloglo_backup_fonts', $backup_fonts );
		}

		/**
		 * Enqueue Google fonts.
		 *
		 * @since 1.0.0
		 */
		public function enqueue_google_fonts() {

			$fonts = get_transient( 'bloglo_google_fonts_enqueue' );

			if ( false === $fonts || empty( $fonts ) ) {
				return;
			}

			$url     = '//fonts.googleapis.com/css';
			$family  = array();
			$subsets = array();

			foreach ( $fonts as $font_family => $font ) {

				if ( ! empty( $font['weight'] ) ) {
					$family[] = $font_family . ':' . implode( ',', $font['weight'] );
				} else {
					$family[] = $font_family;
				}

				$subsets = array_unique( array_merge( $subsets, $font['subsets'] ) );
			}

			$family  = implode( '|', $family );
			$subsets = implode( ',', $subsets );

			$url = add_query_arg(
				array(
					'family'  => $family,
					'display' => 'swap',
					'subsets' => $subsets,
				),
				$url
			);

			// Enqueue.
			wp_enqueue_style(
				'bloglo-google-fonts',
				$url,
				false,
				BLOGLO_THEME_VERSION,
				false
			);
		}

		/**
		 * Check if font familu is a Google font.
		 *
		 * @since  1.0.0
		 * @param  string $font_family Font Family.
		 * @return boolean
		 */
		public function is_google_font( $font_family ) {

			$google_fonts = $this->get_google_fonts();

			return isset( $google_fonts[ $font_family ] );
		}

		/**
		 * Store list of Google fonts to enqueue.
		 *
		 * @since  1.0.0
		 * @param  string $family Font Family.
		 * @param  array  $args Array of font details.
		 * @return void
		 */
		public function enqueue_google_font( $family, $args = array() ) {

			$fonts = get_transient( 'bloglo_google_fonts_enqueue' );

			$fonts = $fonts ? $fonts : array();

			// Default args.
			$args = wp_parse_args(
				$args,
				array(
					'weight'  => array( '400' ),
					'style'   => array( 'normal' ),
					'subsets' => array( 'latin' ),
				)
			);

			// Convert all args to arrays.
			foreach ( $args as $key => $value ) {
				if ( ! is_array( $args[ $key ] ) ) {
					$args[ $key ] = array( $value );
				}
			}

			if ( in_array( 'italic', $args['style'], true ) ) {
				foreach ( $args['weight'] as $weight ) {
					$args['weight'][] = $weight . 'i';
				}
			}

			// Remove uneccesary info.
			unset( $args['style'] );

			// Sanitize key.
			$family = str_replace( ' ', '+', $family );

			// Check if we previously enqueued this font.
			if ( ! isset( $fonts[ $family ] ) ) {
				$fonts[ $family ] = $args;
			} else {
				foreach ( $args as $key => $value ) {
					$fonts[ $family ][ $key ] = array_unique(
						array_merge(
							$fonts[ $family ][ $key ],
							$value
						)
					);
				}
			}

			set_transient( 'bloglo_google_fonts_enqueue', $fonts );
		}

		/**
		 * Get All Fonts.
		 *
		 * @since 1.0.0
		 *
		 * @return Array All the system fonts in Bloglo
		 */
		public function get_fonts() {

			$fonts = array();

			$fonts['standard_fonts'] = array(
				'name'  => esc_html__( 'Standard', 'bloglo' ),
				'fonts' => self::get_standard_fonts(),
			);

			$fonts['system_fonts'] = array(
				'name'  => esc_html__( 'System Fonts', 'bloglo' ),
				'fonts' => self::get_system_fonts(),
			);

			$fonts['google_fonts'] = array(
				'name'  => esc_html__( 'Google Fonts', 'bloglo' ),
				'fonts' => self::get_google_fonts(),
			);

			return apply_filters( 'bloglo_get_fonts', $fonts );
		}

		/**
		 * Get complete font family stack.
		 *
		 * @since 1.0.0
		 *
		 * @param  string $font Font family.
		 * @return string Font family including backup families.
		 */
		public function get_font_family( $font ) {

			if ( 'default' === $font ) {
				$font = $this->get_default_system_font();
			} else {

				$fonts  = $this->get_fonts();
				$backup = '';

				if ( isset( $fonts['system_fonts']['fonts'][ $font ] ) ) {
					$backup = $fonts['system_fonts']['fonts'][ $font ]['fallback'];
				} elseif ( isset( $fonts['google_fonts']['fonts'][ $font ] ) ) {
					$backups  = $this->get_backup_fonts();
					$category = $fonts['google_fonts']['fonts'][ $font ]['category'];
					$backup   = isset( $backups[ $category ] ) ? $backups[ $category ] : '';
				} elseif ( isset( $fonts['standard_fonts']['fonts'][ $font ] ) ) {
					$backup = $fonts['standard_fonts']['fonts'][ $font ]['fallback'];
					$font   = '';
				}

				if ( false !== strpos( $font, ' ' ) ) {
					$font = '"' . $font . '"';
				}

				$font = $font . ', ' . $backup;
				$font = trim( $font, ', ' );
			}

			return apply_filters( 'bloglo_font_family', $font );
		}
	}

endif;
inc/core/class-bloglo-theme-setup.php000064400000011471152425655560013620 0ustar00<?php
/**
 * Bloglo Theme Setup Class.
 *
 * @package  Bloglo
 * @author   Peregrine Themes
 * @since    1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Theme_Setup' ) ) :

	/**
	 * Bloglo Options Class.
	 */
	class Bloglo_Theme_Setup {

		/**
		 * Singleton instance of the class.
		 *
		 * @since 1.0.0
		 * @var object
		 */
		private static $instance;

		/**
		 * Main Bloglo_Theme_Setup Instance.
		 *
		 * @since 1.0.0
		 * @return Bloglo_Theme_Setup
		 */
		public static function instance() {

			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Theme_Setup ) ) {
				self::$instance = new Bloglo_Theme_Setup();
			}
			return self::$instance;
		}

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			// Add theme supports.
			add_action( 'after_setup_theme', array( $this, 'setup' ), 10 );

			// Content width.
			add_action( 'wp', array( $this, 'content_width' ) );
		}

		/**
		 * Sets up theme defaults and registers support for various WordPress features.
		 *
		 * Note that this function is hooked into the after_setup_theme hook, which
		 * runs before the init hook. The init hook is too late for some features, such
		 * as indicating support for post thumbnails.
		 *
		 * @since 1.0.0
		 */
		public function setup() {

			// Make the theme available for translation.
			load_theme_textdomain( 'bloglo', BLOGLO_THEME_PATH . '/languages' );

			// Add default posts and comments RSS feed links to head.
			add_theme_support( 'automatic-feed-links' );

			// Add theme support for Post Thumbnails and image sizes.
			add_theme_support( 'post-thumbnails' );

			// Add theme support for various Post Formats.
			add_theme_support(
				'post-formats',
				array(
					'gallery',
					'image',
					'link',
					'quote',
					'video',
					'audio',
					'status',
					'aside',
				)
			);

			// Add title output.
			add_theme_support( 'title-tag' );

			// Add wide image support.
			add_theme_support( 'align-wide' );

			// Responsive embeds support.
			add_theme_support( 'responsive-embeds' );

			// Add support for core block visual styles.
			add_theme_support( 'wp-block-styles' );

			// add custom spacing support.
			add_theme_support( 'custom-spacing' );

			// Selective Refresh for Customizer.
			add_theme_support( 'customize-selective-refresh-widgets' );

			// Excerpt support for pages.
			add_post_type_support( 'page', 'excerpt' );

			// Register Navigation menu.
			register_nav_menus(
				array(
					'bloglo-primary' => esc_html__( 'Primary Navigation', 'bloglo' ),
				)
			);

			// Add theme support for Custom Logo.
			add_theme_support(
				'custom-logo',
				apply_filters(
					'bloglo_custom_logo_args',
					array(
						'width'       => 200,
						'height'      => 40,
						'flex-height' => true,
						'flex-width'  => true,
					)
				)
			);

			// Add theme support for Custom Background.
			add_theme_support(
				'custom-background',
				apply_filters(
					'bloglo_custom_background_args',
					array(
						'default-color' => '#f0f2f5',
						'default-size'  => 'fit',
					)
				)
			);

			// Add theme support for Custom Header Image.
			add_theme_support(
				'custom-header',
				apply_filters(
					'bloglo_custom_header_args',
					array(
						'default-image' => '',
						'width'         => 1920,
						'height'        => 250,
						'flex-height'   => true,
						'header-text'   => false,
					)
				)
			);

			// Enable HTML5 markup.
			add_theme_support(
				'html5',
				array(
					'search-form',
					'gallery',
					'caption',
					'script',
					'style',
				)
			);

			// Add Starter Content in Footer.
			add_theme_support(
				'starter-content',
				array(
					'widgets' => array(
						'bloglo-footer-1' => array(
							'search',
						),
						'bloglo-footer-2' => array(
							'categories',
						),
						'bloglo-footer-3' => array(
							'archives',
						),
						'bloglo-footer-4' => array(
							'meta',
						),
					),
				)
			);

			// Add editor style.
			$bloglo_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

			add_editor_style( 'assets/css/editor-style' . $bloglo_suffix . '.css' );

			do_action( 'bloglo_after_setup_theme' );
		}

		/**
		 * Set the content width in pixels, based on the theme's design and stylesheet.
		 *
		 * @global int $content_width
		 * @since 1.0.0
		 */
		public function content_width() {
			global $content_width;

			if ( ! isset( $content_width ) ) {
				$content_width = apply_filters( 'bloglo_content_width', intval( bloglo_option( 'container_width' ) ) - 100 ); // phpcs:ignore
			}
		}
	}

endif;

/**
 * The function which returns the one Bloglo_Options instance.
 *
 * @since 1.0.0
 * @return object
 */
function bloglo_theme_setup() {
	return Bloglo_Theme_Setup::instance();
}

bloglo_theme_setup();
inc/class-bloglo-dynamic-styles.php000064400000304266152425655560013404 0ustar00<?php

/**
 * Dynamically generate CSS code.
 * The code depends on options set in the Highend Options and Post/Page metaboxes.
 *
 * If possible, write the dynamically generated code into a .css file, otherwise return the code. The file is refreshed on each modification of metaboxes & theme options.
 *
 * @package     Bloglo
 * @author      Peregrine Themes
 * @since       1.0.0
 */

/**
 * Do not allow direct script access.
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Dynamic_Styles' ) ) :
	/**
	 * Dynamically generate CSS code.
	 */
	class Bloglo_Dynamic_Styles {

		/**
		 * Singleton instance of the class.
		 *
		 * @since 1.0.0
		 * @var object
		 */
		private static $instance;

		/**
		 * URI for Dynamic CSS file.
		 *
		 * @since 1.0.0
		 * @var object
		 */
		private $dynamic_css_uri;

		/**
		 * Path for Dynamic CSS file.
		 *
		 * @since 1.0.0
		 * @var object
		 */
		private $dynamic_css_path;

		/**
		 * Main Bloglo_Dynamic_Styles Instance.
		 *
		 * @since 1.0.0
		 * @return Bloglo_Dynamic_Styles
		 */
		public static function instance() {

			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Bloglo_Dynamic_Styles ) ) {
				self::$instance = new self();
			}
			return self::$instance;
		}

		/**
		 * Primary class constructor.
		 *
		 * @since 1.0.0
		 */
		public function __construct() {

			$upload_dir = wp_upload_dir();

			$this->dynamic_css_uri  = trailingslashit( set_url_scheme( $upload_dir['baseurl'] ) ) . 'bloglo/';
			$this->dynamic_css_path = trailingslashit( set_url_scheme( $upload_dir['basedir'] ) ) . 'bloglo/';

			if ( ! is_customize_preview() && wp_is_writable( trailingslashit( $upload_dir['basedir'] ) ) ) {
				add_action( 'bloglo_enqueue_scripts', array( $this, 'enqueue_dynamic_style' ), 20 );
			} else {
				add_action( 'bloglo_enqueue_scripts', array( $this, 'print_dynamic_style' ), 99 );
			}

			// Include button styles.
			add_filter( 'bloglo_dynamic_styles', array( $this, 'get_button_styles' ), 6 );

			// Remove Customizer Custom CSS from wp_head, we will include it in our dynamic file.
			if ( ! is_customize_preview() ) {
				remove_action( 'wp_head', 'wp_custom_css_cb', 101 );
			}

			// Generate new styles on Customizer Save action.
			add_action( 'customize_save_after', array( $this, 'update_dynamic_file' ) );

			// Generate new styles on theme activation.
			add_action( 'after_switch_theme', array( $this, 'update_dynamic_file' ) );

			// Delete the css stye on theme deactivation.
			add_action( 'switch_theme', array( $this, 'delete_dynamic_file' ) );

			// Generate initial dynamic css.
			add_action( 'init', array( $this, 'init' ) );
		}

		/**
		 * Init.
		 *
		 * @since 1.0.0
		 */
		public function init() {

			// Ensure we have dynamic stylesheet generated.
			if ( false === get_transient( 'bloglo_has_dynamic_css' ) ) {
				$this->update_dynamic_file();
			}
		}

		/**
		 * Enqueues dynamic styles file.
		 *
		 * @since 1.0.0
		 */
		public function enqueue_dynamic_style() {

			$exists = file_exists( $this->dynamic_css_path . 'dynamic-styles.css' );
			// Generate the file if it's missing.
			if ( ! $exists ) {
				$exists = $this->update_dynamic_file();
			}

			// Enqueue the file if available.
			if ( $exists ) {
				wp_enqueue_style(
					'bloglo-dynamic-styles',
					$this->dynamic_css_uri . 'dynamic-styles.css',
					false,
					filemtime( $this->dynamic_css_path . 'dynamic-styles.css' ),
					'all'
				);
			}
		}

		/**
		 * Prints inline dynamic styles if writing to file is not possible.
		 *
		 * @since 1.0.0
		 */
		public function print_dynamic_style() {
			$dynamic_css = $this->get_css();
			wp_add_inline_style( 'bloglo-styles', $dynamic_css );
		}

		/**
		 * Generates dynamic CSS code, minifies it and cleans cache.
		 *
		 * @param  boolean $custom_css - should we include the wp_get_custom_css.
		 * @return string, minifed code
		 * @since  1.0.0
		 */
		public function get_css( $custom_css = false ) {

			// Refresh options.
			bloglo()->options->refresh();

			// Delete google fonts enqueue transients.
			delete_transient( 'bloglo_google_fonts_enqueue' );

			// Add our theme custom CSS.
			$css = '';

			// Dark Mode.
			if ( is_array( $header_active_widgets = bloglo_option( 'header_widgets' ) ) ) {
				array_walk(
					$header_active_widgets,
					function ( $value, $key ) use ( &$css ) {
						$darkMode = bloglo_option( 'dark_mode' );
						if ( $value['type'] == 'darkmode' || $darkMode ) {
							$css = '
							[data-theme=dark] {
								--bloglo-white: ' . bloglo_sanitize_color( bloglo_option( 'headings_color' ) ) . ';
								--bloglo-secondary: #ffffff !important;
							}
							[data-theme=dark] select option {
								background: rgba(0, 0, 0, 0.3);
  								color: #fff;
							}
							[data-theme=dark] .entry-media > a .entry-media-icon .bloglo-icon,
							[data-theme=dark] .entry-media > a .entry-media-icon svg,
							[data-theme=dark] #bloglo-scroll-top svg,
							[data-theme=dark] .navigation .nav-links .page-numbers svg,
							[data-theme=dark] .navigation .nav-links .page-numbers:hover svg,
							[data-theme=dark] .using-keyboard .navigation .nav-links .page-numbers:focus svg {
								fill: #fff;
							}
							[data-theme=dark] .wp-block-search .wp-block-search__button {
								--bloglo-white: #ffffff;
							}
							[data-theme=dark] #comments a,
							[data-theme=dark] #comments .comment-meta,
							[data-theme=dark] #colophon .search-form .search-submit,
							[data-theme=dark] #main .search-form .search-submit,
							[data-theme=dark] .content-area a:not(.bloglo-btn,.showcoupon,.wp-block-button__link):hover,
							[data-theme=dark] #secondary .hester-core-custom-list-widget .bloglo-entry a:not(.bloglo-btn):hover,
							[data-theme=dark] .bloglo-breadcrumbs a:hover,
							[data-theme=dark] #add_payment_method table.cart td.actions .coupon .input-text:focus,
							[data-theme=dark] .woocommerce-cart table.cart td.actions .coupon .input-text:focus,
							[data-theme=dark] .woocommerce-checkout table.cart td.actions .coupon .input-text:focus,
							[data-theme=dark] input[type="date"]:focus,
							[data-theme=dark] input[type="email"]:focus,
							[data-theme=dark] input[type="password"]:focus,
							[data-theme=dark] input[type="search"]:focus,
							[data-theme=dark] input[type="tel"]:focus,
							[data-theme=dark] input[type="text"]:focus,
							[data-theme=dark] input[type="url"]:focus,
							[data-theme=dark] textarea:focus,
							[data-theme=dark] .entry-media > a .entry-media-icon .bloglo-icon,
							[data-theme=dark] .entry-media > a .entry-media-icon svg,
							[data-theme=dark] .navigation .nav-links .page-numbers:hover button,
							[data-theme=dark] .using-keyboard .navigation .nav-links .page-numbers:focus button,
							[data-theme=dark] .navigation .nav-links .page-numbers:not(.prev, .next).current,
							[data-theme=dark] .navigation .nav-links .page-numbers:not(.prev, .next):hover,
							[data-theme=dark] .using-keyboard .navigation .nav-links .page-numbers:not(.prev, .next):focus,
							[data-theme=dark] .page-links a:hover span,
							[data-theme=dark] .using-keyboard .page-links a:focus span, .page-links > span,
							[data-theme=dark] .bloglo-btn.btn-text-1:hover,
							[data-theme=dark] .bloglo-btn.btn-text-1:focus,
							[data-theme=dark] .btn-text-1:hover, .btn-text-1:focus,
							[data-theme=dark] .bloglo-header-widgets .bloglo-search-simple .bloglo-search-form button:not(.bloglo-search-close),
							[data-theme=dark] #bloglo-header,
							[data-theme=dark] .bloglo-header-widgets a:not(.bloglo-btn),
							[data-theme=dark] .bloglo-logo a,
							[data-theme=dark] .bloglo-hamburger,
							[data-theme=dark] h1,
							[data-theme=dark] h2,
							[data-theme=dark] h3,
							[data-theme=dark] h4,
							[data-theme=dark] h5,
							[data-theme=dark] h6,
							[data-theme=dark] .h1,
							[data-theme=dark] .h2,
							[data-theme=dark] .h3,
							[data-theme=dark] .h4,
							[data-theme=dark] .bloglo-logo .site-title,
							[data-theme=dark] .error-404 .page-header h1,
							[data-theme=dark] body,
							[data-theme=dark] #bloglo-header .bloglo-nav li > a {
								color: #ffffff;
							}
							[data-theme=dark] .woocommerce table.my_account_orders thead th,
							[data-theme=dark] .woocommerce table.woocommerce-table--order-downloads thead th,
							[data-theme=dark] .woocommerce table.woocommerce-table--order-details thead th,
							[data-theme=dark] .bloglo-cart-item .bloglo-x,
							[data-theme=dark] .woocommerce form.login .lost_password a,
							[data-theme=dark] .woocommerce form.register .lost_password a,
							[data-theme=dark] .woocommerce a.remove,
							[data-theme=dark] #add_payment_method .cart-collaterals .cart_totals .woocommerce-shipping-destination,
							[data-theme=dark] .woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination,
							[data-theme=dark] .woocommerce-checkout .cart-collaterals .cart_totals .woocommerce-shipping-destination,
							[data-theme=dark] .woocommerce ul.products li.product .bloglo-loop-product__category-wrap a,
							[data-theme=dark] .woocommerce ul.products li.product .bloglo-loop-product__category-wrap,
							[data-theme=dark] .woocommerce .woocommerce-checkout-review-order table.shop_table thead th,
							[data-theme=dark] #add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box,
							[data-theme=dark] .woocommerce-checkout #payment div.payment_box,
							[data-theme=dark] #add_payment_method #payment ul.payment_methods .about_paypal,
							[data-theme=dark] .woocommerce-cart #payment ul.payment_methods .about_paypal,
							[data-theme=dark] .woocommerce-checkout #payment ul.payment_methods .about_paypal,
							[data-theme=dark] .woocommerce table dl, .woocommerce table .wc-item-meta,
							[data-theme=dark] .widget.woocommerce .reviewer, .woocommerce.widget_shopping_cart .cart_list li a.remove::before,
							[data-theme=dark] .woocommerce .widget_shopping_cart .cart_list li a.remove::before,
							[data-theme=dark] .woocommerce .widget_shopping_cart .cart_list li .quantity,
							[data-theme=dark] .woocommerce.widget_shopping_cart .cart_list li .quantity,
							[data-theme=dark] .woocommerce div.product .woocommerce-product-rating .woocommerce-review-link,
							[data-theme=dark] .woocommerce div.product .woocommerce-tabs table.shop_attributes td,
							[data-theme=dark] .woocommerce div.product .product_meta > span span:not(.bloglo-woo-meta-title),
							[data-theme=dark] .woocommerce div.product .product_meta > span a,
							[data-theme=dark] .woocommerce .star-rating::before,
							[data-theme=dark] .woocommerce div.product #reviews #comments ol.commentlist li .comment-text p.meta,
							[data-theme=dark] .ywar_review_count, .woocommerce .add_to_cart_inline del,
							[data-theme=dark] .woocommerce div.product p.price del,
							[data-theme=dark] .woocommerce div.product span.price del,
							[data-theme=dark] .woocommerce #yith-wcwl-form table.shop_table thead,
							[data-theme=dark] .woocommerce .woocommerce-cart-form table.shop_table thead,
							[data-theme=dark] .woocommerce .woocommerce-checkout-review-order table.shop_table thead,
							[data-theme=dark] .woocommerce div.product .woocommerce-tabs ul.tabs li a,
							[data-theme=dark] .woocommerce #yith-wcwl-form table.shop_table,
							[data-theme=dark] .woocommerce .woocommerce-cart-form table.shop_table,
							[data-theme=dark] .woocommerce .woocommerce-checkout-review-order table.shop_table,
							[data-theme=dark] .bloglo-btn.btn-text-1,
							[data-theme=dark] .btn-text-1,
							[data-theme=dark] .comment-form .comment-notes,
							[data-theme=dark] #comments .no-comments,
							[data-theme=dark] #page .wp-caption .wp-caption-text, #comments .comment-meta,
							[data-theme=dark] .comments-closed,
							[data-theme=dark] .entry-meta,
							[data-theme=dark] .bloglo-entry cite,
							[data-theme=dark] legend,
							[data-theme=dark] .bloglo-page-header-description,
							[data-theme=dark] .page-links em,
							[data-theme=dark] .site-content .page-links em,
							[data-theme=dark] .single .entry-footer .last-updated,
							[data-theme=dark] .single .post-nav .post-nav-title,
							[data-theme=dark] #main .widget_recent_comments span,
							[data-theme=dark] #main .widget_recent_entries span,
							[data-theme=dark] #main .widget_calendar table > caption,
							[data-theme=dark] .post-thumb-caption,
							[data-theme=dark] .wp-block-image figcaption,
							[data-theme=dark] .wp-block-embed figcaption {
								color: rgba(255,255,255,0.7);
							}
							[data-theme=dark] #bloglo-header .bloglo-nav .children li.current_page_ancestor > a,
							[data-theme=dark] #bloglo-header .bloglo-nav .children li.current_page_item > a,
							[data-theme=dark] #bloglo-header .bloglo-nav .children li:hover > a,
							[data-theme=dark] #bloglo-header .bloglo-nav .sub-menu li.current-menu-ancestor > a,
							[data-theme=dark] #bloglo-header .bloglo-nav .sub-menu li.current-menu-item > a,
							[data-theme=dark] #bloglo-header .bloglo-nav .sub-menu li:hover > a {
								color: rgba(255,255,255,0.7) !important;
							}
							[data-theme=dark] .entry-meta .entry-meta-elements > span::before {
								background-color: rgba(255, 255, 255, 0.25);
							}

							[data-theme=dark] .bloglo-post-gallery .swiper-button-prev,
							[data-theme=dark] .bloglo-post-gallery .swiper-button-next,
							[data-theme=dark] .bloglo-vertical-slider .swiper-button-prev,
							[data-theme=dark] .bloglo-vertical-slider .swiper-button-next,
							[data-theme=dark] .bloglo-horizontal-slider .swiper-button-prev,
							[data-theme=dark] .bloglo-horizontal-slider .swiper-button-next,
							[data-theme=dark] .woocommerce #yith-wcwl-form table.shop_table th:first-child,
							[data-theme=dark] .woocommerce #yith-wcwl-form table.shop_table td:first-child,
							[data-theme=dark] .woocommerce .woocommerce-cart-form table.shop_table th:first-child,
							[data-theme=dark] .woocommerce .woocommerce-cart-form table.shop_table td:first-child,
							[data-theme=dark] .woocommerce .woocommerce-checkout-review-order table.shop_table th:first-child,
							[data-theme=dark] .woocommerce .woocommerce-checkout-review-order table.shop_table td:first-child,
							[data-theme=dark] .woocommerce #yith-wcwl-form table.shop_table td,
							[data-theme=dark] .woocommerce .woocommerce-cart-form table.shop_table td,
							[data-theme=dark] .woocommerce .woocommerce-checkout-review-order table.shop_table td,
							[data-theme=dark] .woocommerce #yith-wcwl-form table.shop_table tr:nth-last-child(2) td,
							[data-theme=dark] .woocommerce .woocommerce-cart-form table.shop_table tr:nth-last-child(2) td,
							[data-theme=dark] .woocommerce .cart_totals table.shop_table,
							[data-theme=dark] .woocommerce .cart_totals table.shop_table th,
							[data-theme=dark] .woocommerce .cart_totals table.shop_table td,
							[data-theme=dark] .bloglo-header-layout-5 #masthead+#main .bloglo-breadcrumbs,
							[data-theme=dark] #bloglo-topbar,
							[data-theme=dark] #bloglo-header-inner,
							[data-theme=dark] .page-header,
							[data-theme=dark] .bloglo-header-layout-3 .bloglo-nav-container,
							[data-theme=dark] .bloglo-header-layout-4 .bloglo-nav-container {
								border-color: rgba(255,255,255,0.08);
							}
							html[data-theme=dark] body,
							[data-theme=dark] .select2-dropdown,
							[data-theme=dark] .bloglo-header-layout-5 #masthead+#main .bloglo-breadcrumbs,
							[data-theme=dark] #add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice),
							[data-theme=dark] .woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice),
							[data-theme=dark] .woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice),
							html[data-theme=dark] .woocommerce div.product .woocommerce-tabs table.shop_attributes,
							[data-theme=dark] .bloglo-header-layout-4 .bloglo-nav-container,
							[data-theme=dark] .bloglo-header-layout-3 .bloglo-nav-container,
							[data-theme=dark] #bloglo-header-inner {
								background: ' . bloglo_sanitize_color( bloglo_option( 'headings_color' ) ) . ';
							}
							[data-theme=dark] .bloglo-hover-slider,
							[data-theme=dark] .select2-container--default .select2-selection--single,
							[data-theme=dark] .woocommerce .woocommerce-checkout-review-order table.shop_table,
							[data-theme=dark] .woocommerce #yith-wcwl-form table.shop_table thead th,
							[data-theme=dark] .woocommerce .woocommerce-cart-form table.shop_table thead th,
							[data-theme=dark] .woocommerce .woocommerce-checkout-review-order table.shop_table thead th,
							[data-theme=dark] .woocommerce .cart_totals table.shop_table .order-total th,
							[data-theme=dark] .woocommerce .cart_totals table.shop_table .order-total td,
							[data-theme=dark] .woocommerce div.product .woocommerce-tabs .wc-tab,
							[data-theme=dark] #page .woocommerce-error, #page .woocommerce-info,
							[data-theme=dark] #page .woocommerce-message,
							[data-theme=dark] .woocommerce div.product .woocommerce-tabs ul.tabs::before,
							[data-theme=dark] .woocommerce div.product .woocommerce-tabs ul.tabs::after,
							[data-theme=dark] .bloglo-layout__boxed-separated .ticker-slider-items,
							[data-theme=dark] .bloglo-layout__boxed-separated .pyml-slider-items,
							[data-theme=dark] .bloglo-layout__framed #page,
							[data-theme=dark] .bloglo-layout__boxed #page,
							[data-theme=dark] .bloglo-layout__boxed-separated:not(.blog, .archive, .category, .search-results) #content,
							[data-theme=dark] .bloglo-layout__boxed-separated.author .author-box,
							[data-theme=dark] .bloglo-layout__boxed-separated.single #content,
							[data-theme=dark] .bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget,
							[data-theme=dark] .bloglo-layout__boxed-separated.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget,
							[data-theme=dark] .bloglo-layout__boxed-separated.archive .bloglo-article,
							[data-theme=dark] .bloglo-layout__boxed-separated.blog .bloglo-article,
							[data-theme=dark] .bloglo-layout__boxed-separated.search-results .bloglo-article,
							[data-theme=dark] .bloglo-layout__boxed-separated.category .bloglo-article {
								background-color: rgba(0,0,0,0.3);
							}
							[data-theme=dark] .woocommerce ul.products li.product:hover,
							[data-theme=dark] .woocommerce ul.products li.product:focus-within,
							[data-theme=dark] .bloglo-layout__framed #page,
							[data-theme=dark] .bloglo-layout__boxed #page {
								-webkit-box-shadow: 0 0 3.5rem rgba(0, 0, 0, 0.4);
								box-shadow: 0 0 3.5rem rgba(0, 0, 0, 0.4);
							}
							[data-theme=dark] .bloglo-btn.btn-text-1 > span::before {
								background-color: #fff;
							}
							[data-theme=dark] .woocommerce .quantity .bloglo-woo-minus:not(:hover, :focus),
							[data-theme=dark] .woocommerce .quantity .bloglo-woo-plus:not(:hover, :focus) {
								color: ' . bloglo_sanitize_color( bloglo_option( 'headings_color' ) ) . ' !important;
							}
							[data-theme=dark] .bloglo-layout__boxed-separated .ticker-slider-items,
							[data-theme=dark] .bloglo-layout__boxed-separated .pyml-slider-items,
							[data-theme=dark] .bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget,
							[data-theme=dark] .bloglo-layout__boxed-separated.archive article.bloglo-article,
							[data-theme=dark] .bloglo-layout__boxed-separated.blog article.bloglo-article,
							[data-theme=dark] .bloglo-layout__boxed-separated.category article.bloglo-article,
							[data-theme=dark] .bloglo-layout__boxed-separated.search-results article.bloglo-article {
								border-color: rgba(190,190,190,0.30);
							}
							[data-theme=dark] .bloglo-social-nav.rounded > ul > li > a > span:not(.screen-reader-text) {
								background-color: rgba(190,190,190,0.30);
							}
							[data-theme=dark] .bloglo-blog-layout-1 .bloglo-article .entry-thumb-image,
							[data-theme=dark] .pyml-slide-item .pyml-slider-backgrounds .pyml-slide-bg {
								background-color: rgba(39,39,39,.75);
							}
							@media screen and (max-width: ' . intval( bloglo_option( 'main_nav_mobile_breakpoint' ) ) . 'px) {
								[data-theme=dark] .bloglo-layout__boxed-separated #page {
									background-color: rgba(0,0,0,0.3);
								}
								[data-theme=dark] #bloglo-header-inner .site-navigation > ul li {
									border-bottom-color: rgba(255,255,255,0.08);
								}
								[data-theme=dark] #bloglo-header-inner .site-navigation {
									background: ' . bloglo_sanitize_color( bloglo_option( 'headings_color' ) ) . ';
								}
								[data-theme=dark] .bloglo-mobile-toggen,
								[data-theme=dark] #bloglo-header-inner .bloglo-nav {
									color: rgba(255,255,255,0.7);
								}
								[data-theme=dark] #bloglo-header-inner .bloglo-nav .menu-item-has-children > a > span,
								[data-theme=dark] #bloglo-header-inner .bloglo-nav .page_item_has_children > a > span {
									border-right-color: rgba(255,255,255,0.08);
								}
								[data-theme=dark] #bloglo-header-inner .site-navigation > ul .sub-menu {
									background: rgba(0,0,0,0.3);
								}
							}
							';
						}
					}
				);
			}

			// Accent color.
			$accent_color = bloglo_option( 'accent_color' );

			$css .= '
				:root {
					--bloglo-primary: ' . bloglo_sanitize_color( $accent_color ) . ';
					--bloglo-primary_15: ' . bloglo_sanitize_color( bloglo_luminance( $accent_color, .15 ) ) . ';
					--bloglo-primary_27: ' . bloglo_sanitize_color( bloglo_hex2rgba( $accent_color, .27 ) ) . ';
					--bloglo-primary_09: ' . bloglo_sanitize_color( bloglo_hex2rgba( $accent_color, .09 ) ) . ';
					--bloglo-primary_04: ' . bloglo_sanitize_color( bloglo_hex2rgba( $accent_color, .04 ) ) . ';
				}
			';

			$header_layout_3_additional_css = '';

			if ( 'layout-3' === bloglo_option( 'header_layout' ) || is_customize_preview() ) {
				$header_layout_3_additional_css = '

					.bloglo-header-layout-3 .bloglo-logo-container > .bloglo-container {
						flex-wrap: wrap;
					}

					.bloglo-header-layout-3 .bloglo-logo-container .bloglo-logo > .logo-inner {
						align-items: flex-start;
					}
					
					.bloglo-header-layout-3 .bloglo-logo-container .bloglo-logo {
						order: 0;
						align-items: flex-start;
						flex-basis: auto;
						margin-left: 0;
					}

					.bloglo-header-layout-3 .bloglo-logo-container .bloglo-header-element {
						flex-basis: auto;
					}

					.bloglo-header-layout-3 .bloglo-logo-container .bloglo-mobile-nav {
						order: 5;
					}

				';
			}

			$css .= '
						@media screen and (min-width: ' . intval( bloglo_option( 'main_nav_mobile_breakpoint' ) + 1 ) . 'px) {
							
							.blogtick.bloglo-header-layout-3 #bloglo-topbar+#bloglo-header .bloglo-logo-container {
								padding-top: 0;
							}
							
							.blogtick.bloglo-header-layout-3 .bloglo-logo-container {
								padding-top: 4rem;
								padding-bottom: 1rem;
								margin-bottom: 3.5rem;
							}
							
							.blogtick.bloglo-header-layout-3 .bloglo-nav-container {
								min-width: 80rem;
								width: auto;
								max-width: max-content;
								margin: 0 auto;
								border-radius: 4rem;
							}
							
							.blogtick.bloglo-header-layout-3 .bloglo-nav-container:after {
								content: "";
								position: absolute;
								top: 0;
								left: -0.4rem;
								right: -0.4rem;
								bottom: -1rem;
								z-index: -1;
								border-radius: 0 0 4rem 4rem;
								border-bottom-width: 1rem;
								border-bottom-style: solid;
								border-bottom-color: inherit;
							}
							
							.blogtick.bloglo-header-layout-3 .bloglo-nav-container>.bloglo-container:before,
							.blogtick.bloglo-header-layout-3 .bloglo-nav-container>.bloglo-container:after {
								content: "";
								position: absolute;
								width: 2rem;
								height: 0.4rem;
								background-color: #000;
								top: 50%;
								margin-top: -0.2rem;
							}
							
							.blogtick.bloglo-header-layout-3 .bloglo-nav-container>.bloglo-container:before {
								left: 0;
							}
							
							.blogtick.bloglo-header-layout-3 .bloglo-nav-container>.bloglo-container:after {
								right: 0;
							}
							
							.blogtick.bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav>ul {
								min-height: 6.2rem;
							}
							
							.blogtick.bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav>ul>li>a {
								font-weight: 600;
							}
							
							.blogtick.bloglo-header-layout-3 .bloglo-logo-container .bloglo-logo:after {
								content: "";
								position: absolute;
								bottom: -1rem;
								width: 32rem;
								height: 9px;
								background: #000;
								--mask: url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="350" height="9" viewBox="0 0 350 9"><path fill="currentColor" d="M350 6.923 347.688 9l-5.397-4.847-3.084 2.77L336.895 9l-2.313-2.077-3.084-2.77-3.084 2.77L326.102 9l-2.313-2.077-3.084-2.77-3.084 2.77L315.309 9l-2.313-2.077-3.084-2.77-3.084 2.77L304.516 9l-2.313-2.077-3.084-2.77-3.084 2.77L293.723 9l-2.313-2.077-3.084-2.77-3.084 2.77L282.93 9l-2.312-2.077-3.085-2.77-3.084 2.77L272.137 9l-2.312-2.077-3.085-2.77-3.084 2.77L261.344 9l-2.312-2.077-3.085-2.77-3.084 2.77L250.551 9l-2.312-2.077-3.085-2.77-3.084 2.77L239.758 9l-2.312-2.077-3.085-2.77-3.084 2.77L228.965 9l-2.312-2.077-3.085-2.77-3.084 2.77L218.172 9l-2.312-2.077-3.085-2.77-3.084 2.77L207.379 9l-2.312-2.077-3.085-2.77-3.084 2.77L196.586 9l-2.312-2.077-3.085-2.77-3.084 2.77L185.793 9l-2.312-2.077-3.085-2.77-3.084 2.77L175 9l-2.312-2.077-3.084-2.77-3.085 2.77L164.207 9l-2.312-2.077-3.084-2.77-3.085 2.77L153.414 9l-2.312-2.077-3.084-2.77-3.085 2.77L142.621 9l-2.312-2.077-3.084-2.77-3.085 2.77L131.828 9l-2.312-2.077-3.084-2.77-3.085 2.77L121.035 9l-2.312-2.077-3.084-2.77-3.085 2.77L110.242 9l-2.312-2.077-3.084-2.77-3.085 2.77L99.449 9l-2.312-2.077-3.084-2.77-3.084 2.77L88.656 9l-2.312-2.077-3.084-2.77-3.085 2.77L77.864 9l-2.312-2.077-3.084-2.77-3.085 2.77L67.07 9l-2.312-2.077-3.084-2.77-3.084 2.77L56.276 9l-2.312-2.077-3.084-2.77-3.084 2.77L45.484 9l-2.312-2.077-3.084-2.77-3.084 2.77L34.69 9 32.38 6.923l-3.084-2.77-3.084 2.77L23.898 9l-2.312-2.077-3.084-2.77-3.084 2.77L13.105 9l-2.312-2.077-3.084-2.77L2.312 9 0 6.923 7.709 0l5.396 4.847L18.502 0l5.396 4.847L29.295 0l5.396 4.847L40.088 0l5.396 4.847L50.881 0l5.396 4.847L61.674 0l5.396 4.847L72.467 0l5.396 4.847L83.26 0l5.396 4.847L94.053 0l5.396 4.847L104.846 0l5.396 4.847L115.639 0l5.396 4.847L126.432 0l5.396 4.847L137.225 0l5.396 4.847L148.018 0l5.396 4.847L158.811 0l5.396 4.847L169.604 0 175 4.847 180.396 0l5.397 4.847L191.189 0l5.397 4.847L201.982 0l5.397 4.847L212.775 0l5.397 4.847L223.568 0l5.397 4.847L234.361 0l5.397 4.847L245.154 0l5.397 4.847L255.947 0l5.397 4.847L266.74 0l5.397 4.847L277.533 0l5.397 4.847L288.326 0l5.397 4.847L299.119 0l5.397 4.847L309.912 0l5.397 4.847L320.705 0l5.397 4.847L331.498 0l5.397 4.847L342.291 0 350 6.923Z"/></svg>\');
								-webkit-mask: var(--mask);
								mask: var(--mask);
							}
						}';

			$header_layout_4_additional_css = '';

			if ( 'layout-4' === bloglo_option( 'header_layout' ) || is_customize_preview() ) {
				$header_layout_4_additional_css = '

					.bloglo-header-layout-4 .bloglo-logo-container > .bloglo-container {
						flex-wrap: wrap;
					}

					.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo > .logo-inner {
						align-items: flex-start;
					}
					
					.bloglo-header-layout-4 .bloglo-logo-container .bloglo-logo {
						order: 0;
						align-items: flex-start;
						flex-basis: auto;
						margin-left: 0;
					}

					.bloglo-header-layout-4 .bloglo-logo-container .bloglo-header-element {
						flex-basis: auto;
					}

					.bloglo-header-layout-4 .bloglo-logo-container .bloglo-mobile-nav {
						order: 5;
					}

					.bloglo-header-layout-4 .bloglo-widget-location-left .dropdown-item {
						left: auto;
						right: -7px;
					}

					.bloglo-header-layout-4 .bloglo-widget-location-left .dropdown-item::after {
						left: auto;
						right: 8px;
					}

					.bloglo-header-layout-4 .bloglo-logo-container .bloglo-widget-location-right:not(.bloglo-header-widgets-two) {
						-js-display: flex;
						display: -webkit-box;
						display: -ms-flexbox;
						display: flex;
					}

					.bloglo-header-layout-4 .bloglo-nav-container .bloglo-header-element,
					.bloglo-header-layout-4 .bloglo-header-widgets.bloglo-header-widgets-two {
						display: none;
					}

				';
			}

			$css .= '
						@media screen and (max-width: ' . intval( bloglo_option( 'main_nav_mobile_breakpoint' ) ) . 'px) {
							
							' . $header_layout_4_additional_css . '
						}';

			if ( 'layout-4' === bloglo_option( 'header_layout' ) ) {

				// Background.
				$css .= $this->get_design_options_field_css( '.bloglo-header-layout-4 .bloglo-nav-container', 'main_nav_background', 'background' );

				// Border.
				$css .= $this->get_design_options_field_css( '.bloglo-header-layout-4 .bloglo-nav-container', 'main_nav_border', 'border' );
			}

			/**
			 * Top Bar.
			 */

			// Background.
			$css .= $this->get_design_options_field_css( '#bloglo-topbar', 'top_bar_background', 'background' );

			// Border.
			$css .= $this->get_design_options_field_css( '#bloglo-topbar', 'top_bar_border', 'border' );
			$css .= $this->get_design_options_field_css( '.bloglo-topbar-widget', 'top_bar_border', 'separator_color' );

			// Top Bar colors.
			$topbar_color = bloglo_option( 'top_bar_text_color' );

			// Top Bar text color.
			if ( isset( $topbar_color['text-color'] ) && $topbar_color['text-color'] ) {
				$css .= '#bloglo-topbar { color: ' . bloglo_sanitize_color( $topbar_color['text-color'] ) . '; }';
			}

			// Top Bar link color.
			if ( isset( $topbar_color['link-color'] ) && $topbar_color['link-color'] ) {
				$css .= '
					.bloglo-topbar-widget__text a,
					.bloglo-topbar-widget .bloglo-nav > ul > li > a,
					.bloglo-topbar-widget__socials .bloglo-social-nav > ul > li > a,
					#bloglo-topbar .bloglo-topbar-widget__text .bloglo-icon { 
						color: ' . bloglo_sanitize_color( $topbar_color['link-color'] ) . '; }
				';
			}

			// Top Bar link hover color.
			if ( isset( $topbar_color['link-hover-color'] ) && $topbar_color['link-hover-color'] ) {
				$css .= '
					#bloglo-topbar .bloglo-nav > ul > li > a:hover,
					#bloglo-topbar .bloglo-nav > ul > li.menu-item-has-children:hover > a,
					#bloglo-topbar .bloglo-nav > ul > li.current-menu-item > a,
					#bloglo-topbar .bloglo-nav > ul > li.current-menu-ancestor > a,
					#bloglo-topbar .bloglo-topbar-widget__text a:hover,
					.using-keyboard #bloglo-topbar .bloglo-topbar-widget__text a:focus,
					#bloglo-topbar .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon { 
						color: ' . bloglo_sanitize_color( $topbar_color['link-hover-color'] ) . '; }
				';
			}

			/**
			 * Header.
			 */

			// Background.
			$css .= $this->get_design_options_field_css( '#bloglo-header-inner', 'header_background', 'background' );

			// Font colors.
			$header_color = bloglo_option( 'header_text_color' );

			// Header text color.
			if ( isset( $header_color['text-color'] ) && $header_color['text-color'] ) {
				$css .= '.bloglo-logo .site-description { color: ' . bloglo_sanitize_color( $header_color['text-color'] ) . '; }';
			}

			// Header link color.
			if ( isset( $header_color['link-color'] ) && $header_color['link-color'] ) {
				$css .= '
					#bloglo-header,
					.bloglo-header-widgets a:not(.bloglo-btn),
					.bloglo-logo a,
					.bloglo-hamburger { 
						color: ' . bloglo_sanitize_color( $header_color['link-color'] ) . '; }
				';
			}

			// Header link hover color.
			if ( isset( $header_color['link-hover-color'] ) && $header_color['link-hover-color'] ) {
				$css .= '
					.bloglo-header-widgets a:not(.bloglo-btn):hover, 
					#bloglo-header-inner .bloglo-header-widgets .bloglo-active,
					.bloglo-logo .site-title a:hover, 
					.bloglo-hamburger:hover, 
					.is-mobile-menu-active .bloglo-hamburger,
					#bloglo-header-inner .bloglo-nav > ul > li > a:hover,
					#bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a,
					#bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a,
					#bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a,
					#bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a,
					#bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a,
					#bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a {
						color: ' . bloglo_sanitize_color( $header_color['link-hover-color'] ) . ';
					}
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li > a:hover,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a {
						color: ' . bloglo_sanitize_color( $header_color['link-hover-color'] ) . ';
						border-color: ' . bloglo_sanitize_color( $header_color['link-hover-color'] ) . ';
					}
				';
			}

			// Header border.
			$css .= $this->get_design_options_field_css( '#bloglo-header-inner', 'header_border', 'border' );

			// Header separator color.
			$css .= $this->get_design_options_field_css( '.bloglo-header-widget', 'header_border', 'separator_color' );

			// Main navigation breakpoint.
			$css .= '
				@media screen and (max-width: ' . intval( bloglo_option( 'main_nav_mobile_breakpoint' ) ) . 'px) {

					#bloglo-header-inner .bloglo-nav {
						display: none;
						color: #000;
					}
					.bloglo-mobile-toggen,
					.bloglo-mobile-nav {
						display: inline-flex;
					}

					#bloglo-header-inner {
						position: relative;
					}

					#bloglo-header-inner .bloglo-nav > ul > li > a {
						color: inherit;
					}

					#bloglo-header-inner .bloglo-nav-container {
						position: static;
						border: none;
					}

					#bloglo-header-inner .site-navigation {
						display: none;
						position: absolute;
						top: 100%;
						width: 100%;
						height: 100%;
						min-height: 100vh;
						left: 0;
						right: 0;
						margin: -1px 0 0;
						background: #FFF;
						border-top: 1px solid #eaeaea;
						box-shadow: 0 15px 25px -10px  rgba(50, 52, 54, 0.125);
						z-index: 999;
						font-size: 1.7rem;
						padding: 0;
					}

					.bloglo-header-layout-5 #bloglo-header-inner .site-navigation {
						min-height: unset;
						border-radius: 15px;
						height: unset;
					}

					#bloglo-header-inner .site-navigation > ul {
						overflow-y: auto;
						max-height: 68vh;
						display: block;
					}

					#bloglo-header-inner .site-navigation > ul > li > a {
						padding: 0 !important;
					}

					#bloglo-header-inner .site-navigation > ul li {
						display: block;
						width: 100%;
						padding: 0;
						margin: 0;
						margin-left: 0 !important;
					}

					#bloglo-header-inner .site-navigation > ul .sub-menu {
						position: static;
						display: none;
						border: none;
						box-shadow: none;
						border: 0;
						opacity: 1;
						visibility: visible;
						font-size: 1.7rem;
						transform: none;
						background: #f8f8f8;
						pointer-events: all;
						min-width: initial;
						left: 0;
						padding: 0;
						margin: 0;
						border-radius: 0;
						line-height: inherit;
					}

					#bloglo-header-inner .site-navigation > ul .sub-menu > li > a > span {
						padding-left: 50px !important;
					}

					#bloglo-header-inner .site-navigation > ul .sub-menu .sub-menu > li > a > span {
						padding-left: 70px !important;
					}

					#bloglo-header-inner .site-navigation > ul .sub-menu a > span {
						padding: 10px 30px 10px 50px;
					}

					#bloglo-header-inner .site-navigation > ul a {
						padding: 0;
						position: relative;
						background: none;
					}

					#bloglo-header-inner .site-navigation > ul li {
						border-bottom: 1px solid #eaeaea;
					}

					#bloglo-header-inner .site-navigation > ul > li:last-child {
						border-bottom: 0;
					}

					#bloglo-header-inner .site-navigation > ul a > span {
						padding: 10px 30px !important;
						width: 100%;
						display: block;
					}

					#bloglo-header-inner .site-navigation > ul a > span::after,
					#bloglo-header-inner .site-navigation > ul a > span::before {
						display: none !important;
					}

					#bloglo-header-inner .site-navigation > ul a > span.description {
						display: none;
					}

					#bloglo-header-inner .site-navigation > ul .menu-item-has-children > a {
						display: inline-flex;
    					width: 100%;
						max-width: calc(100% - 50px);
					}

					#bloglo-header-inner .bloglo-nav .menu-item-has-children>a > span, 
					#bloglo-header-inner .bloglo-nav .page_item_has_children>a > span {
					    border-right: 1px solid rgba(0,0,0,.09);
					}

					#bloglo-header-inner .bloglo-nav .menu-item-has-children>a > .bloglo-icon, 
					#bloglo-header-inner .bloglo-nav .page_item_has_children>a > .bloglo-icon {
						transform: none;
						width: 50px;
					    margin: 0;
					    position: absolute;
					    right: 0;
					    pointer-events: none;
					    height: 1em;
						display: none;
					}

					.bloglo-header-layout-3 .bloglo-widget-location-left .dropdown-item {
						left: auto;
						right: -7px;
					}

					.bloglo-header-layout-3 .bloglo-widget-location-left .dropdown-item::after {
						left: auto;
						right: 8px;
					}

					.bloglo-nav .sub-menu li.current-menu-item > a {
						font-weight: 500;
					}

					.bloglo-mobile-toggen {
						width: 50px;
						height: 1em;
						background: none;
						border: none;
						cursor: pointer;
					}

					.bloglo-mobile-toggen .bloglo-icon {
						transform: none;
						width: 50px;
						margin: 0;
						position: absolute;
						right: 0;
						pointer-events: none;
						height: 1em;
					}

					#bloglo-header-inner .site-navigation > ul .menu-item-has-children.bloglo-open > .bloglo-mobile-toggen > .bloglo-icon {
						transform: rotate(180deg);
					}

					' . $header_layout_3_additional_css . '
				}
			';

			/**
			 * Main Navigation.
			 */

			// Font Color.
			$main_nav_font_color = bloglo_option( 'main_nav_font_color' );

			if ( $main_nav_font_color['link-color'] ) {
				$css .= '#bloglo-header-inner .bloglo-nav > ul > li > a { color: ' . $main_nav_font_color['link-color'] . '; }';
			}

			if ( $main_nav_font_color['link-hover-color'] ) {
				$css .= '
					#bloglo-header-inner .bloglo-nav > ul > li > a:hover,
					#bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a,
					#bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a,
					#bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a,
					#bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a,
					#bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a,
					#bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a {
						color: ' . bloglo_sanitize_color( $main_nav_font_color['link-hover-color'] ) . ';
					}
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li > a:hover,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a,
					.bloglo-menu-animation-squareborder:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a {
						color: ' . bloglo_sanitize_color( $main_nav_font_color['link-hover-color'] ) . ';
						border-color: ' . bloglo_sanitize_color( $main_nav_font_color['link-hover-color'] ) . ';
					}
				';
			}

			if ( 'layout-3' === bloglo_option( 'header_layout' ) ) {

				// Background.
				$css .= $this->get_design_options_field_css( '.bloglo-header-layout-3 .bloglo-nav-container', 'main_nav_background', 'background' );

				// Border.
				$css .= $this->get_design_options_field_css( '.bloglo-header-layout-3 .bloglo-nav-container', 'main_nav_border', 'border' );
			}

			// Font size.
			$css .= $this->get_range_field_css( '.bloglo-nav.bloglo-header-element, .bloglo-header-layout-1 .bloglo-header-widgets, .bloglo-header-layout-2 .bloglo-header-widgets', 'font-size', 'main_nav_font_size', false );

			/**
			 * Hero Section.
			 */
			if ( bloglo_option( 'enable_hero' ) ) {
				// Hero height.
				$css .= '#hero .bloglo-hover-slider .hover-slide-item { height: ' . intval( bloglo_option( 'hero_hover_slider_height' ) ) . 'px; }';
			}

			/**
			 * Pre Footer.
			 */
			if ( bloglo_option( 'enable_pre_footer_cta' ) ) {

				// Call to Action.
				if ( bloglo_option( 'enable_pre_footer_cta' ) ) {

					$cta_style = absint( bloglo_option( 'pre_footer_cta_style' ) );

					// Background.
					$cta_background = bloglo_option( 'pre_footer_cta_background' );

					if ( 1 === $cta_style || is_customize_preview() ) {
						$css .= $this->get_design_options_field_css( '.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::after', 'pre_footer_cta_background', 'background' );
					}

					if ( 2 === $cta_style || is_customize_preview() ) {
						$css .= $this->get_design_options_field_css( '.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::after', 'pre_footer_cta_background', 'background' );
					}

					if ( 'image' === $cta_background['background-type'] && isset( $cta_background['background-color-overlay'] ) && $cta_background['background-color-overlay'] ) {
						$css .= '
							.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::before,
			 				.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::before {
			 					background-color: ' . bloglo_sanitize_color( $cta_background['background-color-overlay'] ) . ';
			 				}
			 				';
					}

					// Text color.
					$css .= $this->get_design_options_field_css( '#bloglo-pre-footer .h2, #bloglo-pre-footer .h3, #bloglo-pre-footer .h4', 'pre_footer_cta_text_color', 'color' );

					// Border.
					if ( 1 === $cta_style || is_customize_preview() ) {
						$css .= $this->get_design_options_field_css( '.bloglo-pre-footer-cta-style-1 #bloglo-pre-footer .bloglo-flex-row::before', 'pre_footer_cta_border', 'border' );
					}

					if ( 2 === $cta_style || is_customize_preview() ) {
						$css .= $this->get_design_options_field_css( '.bloglo-pre-footer-cta-style-2 #bloglo-pre-footer::before', 'pre_footer_cta_border', 'border' );
					}

					// Font size.
					$css .= $this->get_range_field_css( '#bloglo-pre-footer .h3', 'font-size', 'pre_footer_cta_font_size', true );
				}
			}

			// Footer Background.
			if ( bloglo_option( 'enable_footer' ) || bloglo_option( 'enable_copyright' ) ) {

				// Background.
				$css .= $this->get_design_options_field_css( '#colophon', 'footer_background', 'background' );

				// Footer font color.
				$footer_font_color = bloglo_option( 'footer_text_color' );

				// Footer text color.
				if ( isset( $footer_font_color['text-color'] ) && $footer_font_color['text-color'] ) {
					$css .= '
						#colophon { 
							color: ' . bloglo_sanitize_color( $footer_font_color['text-color'] ) . ';
						}
					';
				}

				// Footer link color.
				if ( isset( $footer_font_color['link-color'] ) && $footer_font_color['link-color'] ) {
					$css .= '
						#colophon a { 
							color: ' . bloglo_sanitize_color( $footer_font_color['link-color'] ) . '; 
						}
					';
				}

				// Footer link hover color.
				if ( isset( $footer_font_color['link-hover-color'] ) && $footer_font_color['link-hover-color'] ) {
					$css .= '
						#colophon a:not(.bloglo-btn):hover,
						.using-keyboard #colophon a:not(.bloglo-btn):focus,
						#colophon li.current_page_item > a,
						#colophon .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon { 
							color: ' . bloglo_sanitize_color( $footer_font_color['link-hover-color'] ) . ';
						}
					';
				}

				// Footer widget title.
				if ( isset( $footer_font_color['widget-title-color'] ) && $footer_font_color['widget-title-color'] ) {
					$css .= '
						#colophon .widget-title, #colophon .wp-block-heading { 
							color: ' . bloglo_sanitize_color( $footer_font_color['widget-title-color'] ) . ';
						}
					';
				}
			}

			// Main Footer border.
			if ( bloglo_option( 'enable_footer' ) ) {

				// Border.
				$footer_border = bloglo_option( 'footer_border' );

				if ( $footer_border['border-top-width'] ) {
					$css .= '
						#colophon {
							border-top-width: ' . intval( $footer_border['border-top-width'] ) . 'px;
							border-top-style: ' . sanitize_text_field( $footer_border['border-style'] ) . ';
							border-top-color: ' . bloglo_sanitize_color( $footer_border['border-color'] ) . ';
						}
					';
				}

				if ( $footer_border['border-bottom-width'] ) {
					$css .= '
						#colophon {
							border-bottom-width: ' . intval( $footer_border['border-bottom-width'] ) . 'px;
							border-bottom-style: ' . sanitize_text_field( $footer_border['border-style'] ) . ';
							border-bottom-color: ' . bloglo_sanitize_color( $footer_border['border-color'] ) . ';
						}
					';
				}
			}

			// Sidebar.
			$css .= '
				#secondary {
					width: ' . intval( bloglo_option( 'sidebar_width' ) ) . '%;
				}

				body:not(.bloglo-no-sidebar) #primary {
					max-width: ' . intval( 100 - intval( bloglo_option( 'sidebar_width' ) ) ) . '%;
				}
			';

			// Content background.
			$boxed_content_background_color = bloglo_sanitize_color( bloglo_option( 'boxed_content_background_color' ) );

			// Boxed Separated Layout specific CSS.
			$css .= '
				.bloglo-layout__boxed-separated .ticker-slider-items,
				.bloglo-layout__boxed-separated .pyml-slider-items,
				.bloglo-layout__boxed-separated.author .author-box,
				.bloglo-layout__boxed-separated #content, 
				.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 #secondary .bloglo-widget, 
				.bloglo-layout__boxed-separated.bloglo-sidebar-style-3 .elementor-widget-sidebar .bloglo-widget, 
				.bloglo-layout__boxed-separated.archive .bloglo-article,
				.bloglo-layout__boxed-separated.blog .bloglo-article, 
				.bloglo-layout__boxed-separated.search-results .bloglo-article, 
				.bloglo-layout__boxed-separated.category .bloglo-article {
					background-color: ' . $boxed_content_background_color . ';
				}				
			';

			$css .= '
				.bloglo-layout__boxed #page {
					background-color: ' . $boxed_content_background_color . ';
				}
			';

			// Content text color.
			$content_text_color = bloglo_sanitize_color( bloglo_option( 'content_text_color' ) );

			$css .= '
				body {
					color: ' . $content_text_color . ';
				}

				:root {
					--bloglo-secondary_38: ' . $content_text_color . ';
				}

				.comment-form .comment-notes,
				#comments .no-comments,
				#page .wp-caption .wp-caption-text,
				#comments .comment-meta,
				.comments-closed,
				.entry-meta,
				.bloglo-entry cite,
				legend,
				.bloglo-page-header-description,
				.page-links em,
				.site-content .page-links em,
				.single .entry-footer .last-updated,
				.single .post-nav .post-nav-title,
				#main .widget_recent_comments span,
				#main .widget_recent_entries span,
				#main .widget_calendar table > caption,
				.post-thumb-caption,
				.wp-block-image figcaption,
				.wp-block-embed figcaption {
					color: ' . $content_text_color . ';
				}
			';

			// bloglo_hex2rgba( $content_text_color, 0.73 )
			// Lightened or darkened background color for backgrounds, borders & inputs.
			$background_color = bloglo_sanitize_color( bloglo_get_background_color() );

			$content_text_color_offset = bloglo_sanitize_color( bloglo_light_or_dark( $background_color, bloglo_luminance( $background_color, -0.045 ), bloglo_luminance( $background_color, 0.2 ) ) );
			// Only add for dark background color.
			if ( ! bloglo_is_light_color( $background_color ) ) {
				$css .= '
					#content textarea,
					#content input[type="text"],
					#content input[type="number"],
					#content input[type="email"],
					#content input[type=password],
					#content input[type=tel],
					#content input[type=url],
					#content input[type=search],
					#content input[type=date] {
						background-color: ' . $background_color . ';
					}
				';

				// Offset border color.
				$css .= '
					.bloglo-sidebar-style-3 #secondary .bloglo-widget {
						border-color: ' . $content_text_color_offset . ';
					}
				';

				// Offset background color.
				$css .= '
					.entry-meta .entry-meta-elements > span:before {
						background-color: ' . $content_text_color_offset . ';
					}
				';
			}

			// Content link hover color.
			$css .= '
				.content-area a:not(.bloglo-btn, .wp-block-button__link, .page-numbers, [rel^=category]):hover,
				#secondary .hester-core-custom-list-widget .bloglo-entry a:not(.bloglo-btn):hover,
				.bloglo-breadcrumbs a:hover {
					color: ' . bloglo_sanitize_color( bloglo_option( 'content_link_hover_color' ) ) . ';
				}
			';

			// Headings Color.
			$css .= '
				h1, h2, h3, h4, h5, h6,
				.h1, .h2, .h3, .h4,
				.bloglo-logo .site-title,
				.error-404 .page-header h1 {
					color: ' . bloglo_sanitize_color( bloglo_option( 'headings_color' ) ) . ';
				}
				:root {
					--bloglo-secondary: ' . bloglo_sanitize_color( bloglo_option( 'headings_color' ) ) . ';
				}
			';

			// Container width.
			$css .= '
				.bloglo-container,
				.alignfull.bloglo-wrap-content > div {
					max-width: ' . intval( bloglo_option( 'container_width' ) ) . 'px;
				}

				.bloglo-layout__boxed #page,
				.bloglo-layout__boxed.bloglo-sticky-header.bloglo-is-mobile #bloglo-header-inner,
				.bloglo-layout__boxed.bloglo-sticky-header:not(.bloglo-header-layout-3, .bloglo-header-layout-4) #bloglo-header-inner,
				.bloglo-layout__boxed.bloglo-sticky-header:not(.bloglo-is-mobile).bloglo-header-layout-4 #bloglo-header-inner .bloglo-nav-container > .bloglo-container,
				.bloglo-layout__boxed.bloglo-sticky-header:not(.bloglo-is-mobile).bloglo-header-layout-3 #bloglo-header-inner .bloglo-nav-container > .bloglo-container {
					max-width: ' . ( intval( bloglo_option( 'container_width' ) ) + 100 ) . 'px;
				}
			';

			// Adjust fullwidth sections for boxed layouts.
			if ( 'boxed' === bloglo_option( 'site_layout' ) || is_customize_preview() ) {
				$css .= '
					@media screen and (max-width: ' . intval( bloglo_option( 'container_width' ) ) . 'px) {
						body.bloglo-layout__boxed.bloglo-no-sidebar .elementor-section.elementor-section-stretched,
						body.bloglo-layout__boxed.bloglo-no-sidebar .bloglo-fw-section,
						body.bloglo-layout__boxed.bloglo-no-sidebar .entry-content .alignfull {
							margin-left: -5rem !important;
							margin-right: -5rem !important;
						}
					}
				';
			}

			// Logo max height.
			$css .= $this->get_range_field_css( '.bloglo-logo img', 'max-height', 'logo_max_height' );
			$css .= $this->get_range_field_css( '.bloglo-logo img.bloglo-svg-logo', 'height', 'logo_max_height' );

			// Logo margin.
			$css .= $this->get_spacing_field_css( '.bloglo-logo .logo-inner', 'margin', 'logo_margin' );

			/**
			 * Transparent header.
			 */

			// Logo max height.
			$css .= $this->get_range_field_css( '.bloglo-tsp-header .bloglo-logo img', 'max-height', 'tsp_logo_max_height' );
			$css .= $this->get_range_field_css( '.bloglo-tsp-header .bloglo-logo img.bloglo-svg-logo', 'height', 'tsp_logo_max_height' );

			// Logo margin.
			$css .= $this->get_spacing_field_css( '.bloglo-tsp-header .bloglo-logo .logo-inner', 'margin', 'tsp_logo_margin' );

			// Main Header custom background.
			$css .= $this->get_design_options_field_css( '.bloglo-tsp-header #bloglo-header-inner', 'tsp_header_background', 'background' );

			/** Font Colors */

			$tsp_font_color = bloglo_option( 'tsp_header_font_color' );

			// Header text color.
			if ( isset( $tsp_font_color['text-color'] ) && $tsp_font_color['text-color'] ) {
				$css .= '
					.bloglo-tsp-header .bloglo-logo .site-description {
						color: ' . bloglo_sanitize_color( $tsp_font_color['text-color'] ) . ';
					}
				';
			}

			// Header link color.
			if ( isset( $tsp_font_color['link-color'] ) && $tsp_font_color['link-color'] ) {
				$css .= '
					.bloglo-tsp-header #bloglo-header,
					.bloglo-tsp-header .bloglo-header-widgets a:not(.bloglo-btn),
					.bloglo-tsp-header .bloglo-logo a,
					.bloglo-tsp-header .bloglo-hamburger,
					.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li > a { 
						color: ' . bloglo_sanitize_color( $tsp_font_color['link-color'] ) . ';
					}
				';
			}

			// Header link hover color.
			if ( isset( $tsp_font_color['link-hover-color'] ) && $tsp_font_color['link-hover-color'] ) {
				$css .= '
					.bloglo-tsp-header .bloglo-header-widgets a:not(.bloglo-btn):hover, 
					.bloglo-tsp-header #bloglo-header-inner .bloglo-header-widgets .bloglo-active,
					.bloglo-tsp-header .bloglo-logo .site-title a:hover, 
					.bloglo-tsp-header .bloglo-hamburger:hover, 
					.is-mobile-menu-active .bloglo-tsp-header .bloglo-hamburger,
					.bloglo-tsp-header.using-keyboard .site-title a:focus,
					.bloglo-tsp-header.using-keyboard .bloglo-header-widgets a:not(.bloglo-btn):focus,
					.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.hovered > a,
					.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li > a:hover,
					.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a,
					.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a,
					.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a,
					.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a,
					.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a,
					.bloglo-tsp-header #bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a {
						color: ' . bloglo_sanitize_color( $tsp_font_color['link-hover-color'] ) . ';
					}
					.bloglo-menu-animation-squareborder.bloglo-tsp-header:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li > a:hover,
					.bloglo-menu-animation-squareborder.bloglo-tsp-header:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.menu-item-has-children:hover > a,
					.bloglo-menu-animation-squareborder.bloglo-tsp-header:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current-menu-item > a,
					.bloglo-menu-animation-squareborder.bloglo-tsp-header:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current-menu-ancestor > a,
					.bloglo-menu-animation-squareborder.bloglo-tsp-header:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.page_item_has_children:hover > a,
					.bloglo-menu-animation-squareborder.bloglo-tsp-header:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current_page_item > a,
					.bloglo-menu-animation-squareborder.bloglo-tsp-header:not(.bloglo-is-mobile) #bloglo-header-inner .bloglo-nav > ul > li.current_page_ancestor > a {
						color: ' . bloglo_sanitize_color( $tsp_font_color['link-hover-color'] ) . ';
						border-color: ' . bloglo_sanitize_color( $tsp_font_color['link-hover-color'] ) . ';
					}
				';
			}

			/** Border Color */
			$css .= $this->get_design_options_field_css( '.bloglo-tsp-header #bloglo-header-inner', 'tsp_header_border', 'border' );

			/** Separator Color */
			$css .= $this->get_design_options_field_css( '.bloglo-tsp-header .bloglo-header-widget', 'tsp_header_border', 'separator_color' );

			/**
			 * Page Header.
			 */
			if ( bloglo_option( 'page_header_enable' ) ) {

				// Font size.
				$css .= $this->get_range_field_css( '#page .page-header .page-title', 'font-size', 'page_header_font_size', true );

				// Page Title spacing.
				$css .= $this->get_spacing_field_css( '.bloglo-page-title-align-left .page-header.bloglo-has-page-title, .bloglo-page-title-align-right .page-header.bloglo-has-page-title, .bloglo-page-title-align-center .page-header .bloglo-page-header-wrapper', 'padding', 'page_header_spacing' );

				// Page Header background.
				$css .= $this->get_design_options_field_css( '.bloglo-tsp-header:not(.bloglo-tsp-absolute) #masthead', 'page_header_background', 'background' );
				$css .= $this->get_design_options_field_css( '.page-header', 'page_header_background', 'background' );

				// Page Header font color.
				$page_header_color = bloglo_option( 'page_header_text_color' );

				// Page Header text color.
				if ( isset( $page_header_color['text-color'] ) && $page_header_color['text-color'] ) {
					$css .= '
						.page-header .page-title { 
							color: ' . bloglo_sanitize_color( $page_header_color['text-color'] ) . '; }

						.page-header .bloglo-page-header-description {
							color: ' . bloglo_sanitize_color( bloglo_hex2rgba( $page_header_color['text-color'], 0.75 ) ) . '; 
						}
					';
				}

				// Page Header link color.
				if ( isset( $page_header_color['link-color'] ) && $page_header_color['link-color'] ) {
					$css .= '
						.page-header .bloglo-breadcrumbs a { 
							color: ' . bloglo_sanitize_color( $page_header_color['link-color'] ) . '; }

						.page-header .bloglo-breadcrumbs span,
						.page-header .breadcrumb-trail .trail-items li::after, .page-header .bloglo-breadcrumbs .separator {
							color: ' . bloglo_sanitize_color( bloglo_hex2rgba( $page_header_color['link-color'], 0.75 ) ) . '; 
						}
					';
				}

				// Page Header link hover color.
				if ( isset( $page_header_color['link-hover-color'] ) && $page_header_color['link-hover-color'] ) {
					$css .= '
						.page-header .bloglo-breadcrumbs a:hover { 
							color: ' . bloglo_sanitize_color( $page_header_color['link-hover-color'] ) . '; }
					';
				}

				// Page Header border color.
				$page_header_border = bloglo_option( 'page_header_border' );

				$css .= $this->get_design_options_field_css( '.page-header', 'page_header_border', 'border' );
			}

			/**
			 * Breadcrumbs.
			 */
			if ( bloglo_option( 'breadcrumbs_enable' ) ) {

				// Spacing.
				$css .= $this->get_spacing_field_css( '.bloglo-breadcrumbs', 'padding', 'breadcrumbs_spacing' );

				if ( 'below-header' === bloglo_option( 'breadcrumbs_position' ) ) {

					// Background.
					$css .= $this->get_design_options_field_css( '.bloglo-breadcrumbs', 'breadcrumbs_background', 'background' );

					// Border.
					$css .= $this->get_design_options_field_css( '.bloglo-breadcrumbs', 'breadcrumbs_border', 'border' );

					// Text Color.
					$css .= $this->get_design_options_field_css( '.bloglo-breadcrumbs', 'breadcrumbs_text_color', 'color' );
				}
			}

			/**
			 * Copyright Bar.
			 */
			if ( bloglo_option( 'enable_copyright' ) ) {
				$css .= $this->get_design_options_field_css( '#bloglo-copyright', 'copyright_background', 'background' );

				// Copyright font color.
				$copyright_color = bloglo_option( 'copyright_text_color' );

				// Copyright text color.
				if ( isset( $copyright_color['text-color'] ) && $copyright_color['text-color'] ) {
					$css .= '
						#bloglo-copyright { 
							color: ' . bloglo_sanitize_color( $copyright_color['text-color'] ) . '; }
					';
				}

				// Copyright link color.
				if ( isset( $copyright_color['link-color'] ) && $copyright_color['link-color'] ) {
					$css .= '
						#bloglo-copyright a { 
							color: ' . bloglo_sanitize_color( $copyright_color['link-color'] ) . '; }
					';
				}

				// Copyright link hover color.
				if ( isset( $copyright_color['link-hover-color'] ) && $copyright_color['link-hover-color'] ) {
					$css .= '
						#bloglo-copyright a:hover,
						.using-keyboard #bloglo-copyright a:focus,
						#bloglo-copyright .bloglo-social-nav > ul > li > a .bloglo-icon.bottom-icon,
						#bloglo-copyright .bloglo-nav > ul > li.current-menu-item > a,
						#bloglo-copyright .bloglo-nav > ul > li.current-menu-ancestor > a,
						#bloglo-copyright .bloglo-nav > ul > li:hover > a { 
							color: ' . bloglo_sanitize_color( $copyright_color['link-hover-color'] ) . '; }
					';
				}

				// Copyright separator color.
				$footer_text_color = bloglo_option( 'footer_text_color' );
				$footer_text_color = $footer_text_color['text-color'];

				$copyright_separator_color = bloglo_light_or_dark( $footer_text_color, 'rgba(255,255,255,0.1)', 'rgba(0,0,0,0.1)' );

				$css .= '
					#bloglo-copyright.contained-separator > .bloglo-container::before {
						background-color: ' . bloglo_sanitize_color( $copyright_separator_color ) . ';
					}

					#bloglo-copyright.fw-separator {
						border-top-color: ' . bloglo_sanitize_color( $copyright_separator_color ) . ';
					}
				';
			}

			/**
			 * Typography.
			 */

			// Base HTML font size.
			$css .= $this->get_range_field_css( 'html', 'font-size', 'html_base_font_size', true, '%' );

			// Font smoothing.
			if ( bloglo_option( 'font_smoothing' ) ) {
				$css .= '
					* {
						-moz-osx-font-smoothing: grayscale;
						-webkit-font-smoothing: antialiased;
					}
				';
			}

			// Body.
			$css .= $this->get_typography_field_css( 'body', 'body_font' );

			// Headings.
			$css .= $this->get_typography_field_css( 'h1, .h1, .bloglo-logo .site-title, .page-header .page-title, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6', 'headings_font' );

			$css .= $this->get_typography_field_css( 'h1, .h1, .bloglo-logo .site-title, .page-header .page-title', 'h1_font' );
			$css .= $this->get_typography_field_css( 'h2, .h2', 'h2_font' );
			$css .= $this->get_typography_field_css( 'h3, .h3', 'h3_font' );
			$css .= $this->get_typography_field_css( 'h4, .h4', 'h4_font' );
			$css .= $this->get_typography_field_css( 'h5, .h5', 'h5_font' );
			$css .= $this->get_typography_field_css( 'h6, .h6', 'h6_font' );
			$css .= $this->get_typography_field_css( 'h1 em, h2 em, h3 em, h4 em, h5 em, h6 em, .h1 em, .h2 em, .h3 em, .h4 em, .h5 em, .h6 em, .bloglo-logo .site-title em, .error-404 .page-header h1 em', 'heading_em_font' );

			// Emphasized Heading.
			$css .= $this->get_typography_field_css( 'h1 em, h2 em, h3 em, h4 em, h5 em, h6 em, .h1 em, .h2 em, .h3 em, .h4 em, .h5 em, .h6 em, .bloglo-logo .site-title em, .error-404 .page-header h1 em', 'heading_em_font' );

			// Site Title font size.
			$css .= $this->get_range_field_css( '#bloglo-header .bloglo-logo .site-title', 'font-size', 'logo_text_font_size', true );

			// Sidebar widget title.
			$css .= $this->get_range_field_css( '#main .widget-title, .widget-area .wp-block-heading', 'font-size', 'sidebar_widget_title_font_size', true );

			// Footer widget title.
			$css .= $this->get_range_field_css( '#colophon .widget-title, #colophon .wp-block-heading', 'font-size', 'footer_widget_title_font_size', true );

			// Blog Single Post - Title Spacing.
			$css .= $this->get_spacing_field_css( '.bloglo-single-title-in-page-header #page .page-header .bloglo-page-header-wrapper', 'padding', 'single_title_spacing', true );
			
			// Blog Single Post - narrow container.
			if ( 'narrow' === bloglo_option( 'single_content_width' ) ) {
				$css .= '
					.single-post.narrow-content .entry-content > :not([class*="align"]):not([class*="gallery"]):not(.wp-block-image):not(.quote-inner):not(.quote-post-bg), 
					.single-post.narrow-content .mce-content-body:not([class*="page-template-full-width"]) > :not([class*="align"]):not([data-wpview-type*="gallery"]):not(blockquote):not(.mceTemp), 
					.single-post.narrow-content .entry-footer, 
					.single-post.narrow-content .entry-content > .alignwide,
					.single-post.narrow-content p.has-background:not(.alignfull):not(.alignwide),
					.single-post.narrow-content .post-nav, 
					.single-post.narrow-content #bloglo-comments-toggle, 
					.single-post.narrow-content #comments, 
					.single-post.narrow-content .entry-content .aligncenter, .single-post.narrow-content .bloglo-narrow-element, 
					.single-post.narrow-content.bloglo-single-title-in-content .entry-header, 
					.single-post.narrow-content.bloglo-single-title-in-content .entry-meta, 
					.single-post.narrow-content.bloglo-single-title-in-content .post-category,
					.single-post.narrow-content.bloglo-no-sidebar .bloglo-page-header-wrapper,
					.single-post.narrow-content.bloglo-no-sidebar .bloglo-breadcrumbs nav {
						max-width: ' . intval( bloglo_option( 'single_narrow_container_width' ) ) . 'px;
						margin-left: auto;
						margin-right: auto;
					}

					.single-post.narrow-content .author-box,
					.single-post.narrow-content .entry-content > .alignwide,
					.single.bloglo-single-title-in-page-header .page-header.bloglo-align-center .bloglo-page-header-wrapper {
						max-width: ' . ( intval( bloglo_option( 'single_narrow_container_width' ) ) + 70 ) . 'px;
					}
				';
			}

			// Allow CSS to be filtered.
			$css = apply_filters( 'bloglo_dynamic_styles', $css );

			// Add user custom CSS.
			if ( $custom_css || ! is_customize_preview() ) {
				$css .= wp_get_custom_css();
			}

			// Minify the CSS code.
			$css = $this->minify( $css );

			return $css;
		}

		/**
		 * Update dynamic css file with new CSS. Cleans caches after that.
		 *
		 * @return [Boolean] returns true if successfully updated the dynamic file.
		 */
		public function update_dynamic_file() {

			$css = $this->get_css( true );

			if ( empty( $css ) || '' === trim( $css ) ) {
				return;
			}

			// Load file.php file.
			require_once ABSPATH . 'wp-admin' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'file.php'; // phpcs:ignore

			global $wp_filesystem;

			// Check if the the global filesystem isn't setup yet.
			if ( is_null( $wp_filesystem ) ) {
				WP_Filesystem();
			}

			$wp_filesystem->mkdir( $this->dynamic_css_path );

			if ( $wp_filesystem->put_contents( $this->dynamic_css_path . 'dynamic-styles.css', $css ) ) {
				$this->clean_cache();
				set_transient( 'bloglo_has_dynamic_css', true, 0 );
				return true;
			}

			return false;
		}

		/**
		 * Delete dynamic css file.
		 *
		 * @return void
		 */
		public function delete_dynamic_file() {

			// Load file.php file.
			require_once ABSPATH . 'wp-admin' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'file.php'; // phpcs:ignore

			global $wp_filesystem;

			// Check if the the global filesystem isn't setup yet.
			if ( is_null( $wp_filesystem ) ) {
				WP_Filesystem();
			}

			$wp_filesystem->delete( $this->dynamic_css_path . 'dynamic-styles.css' );

			delete_transient( 'bloglo_has_dynamic_css' );
		}

		/**
		 * Simple CSS code minification.
		 *
		 * @param  string $css code to be minified.
		 * @return string, minifed code
		 * @since  1.0.0
		 */
		private function minify( $css ) {
			$css = preg_replace( '/\s+/', ' ', $css );
			$css = preg_replace( '/\/\*[^\!](.*?)\*\//', '', $css );
			$css = preg_replace( '/(,|:|;|\{|}) /', '$1', $css );
			$css = preg_replace( '/ (,|;|\{|})/', '$1', $css );
			$css = preg_replace( '/(:| )0\.([0-9]+)(%|em|ex|px|in|cm|mm|pt|pc)/i', '${1}.${2}${3}', $css );
			$css = preg_replace( '/(:| )(\.?)0(%|em|ex|px|in|cm|mm|pt|pc)/i', '${1}0', $css );

			return trim( $css );
		}

		/**
		 * Cleans various caches. Compatible with cache plugins.
		 *
		 * @since 1.0.0
		 */
		private function clean_cache() {

			// If W3 Total Cache is being used, clear the cache.
			if ( function_exists( 'w3tc_pgcache_flush' ) ) {
				w3tc_pgcache_flush();
			}

			// if WP Super Cache is being used, clear the cache.
			if ( function_exists( 'wp_cache_clean_cache' ) ) {
				global $file_prefix;
				wp_cache_clean_cache( $file_prefix );
			}

			// If SG CachePress is installed, reset its caches.
			if ( class_exists( 'SG_CachePress_Supercacher' ) ) {
				if ( method_exists( 'SG_CachePress_Supercacher', 'purge_cache' ) ) {
					SG_CachePress_Supercacher::purge_cache();
				}
			}

			// Clear caches on WPEngine-hosted sites.
			if ( class_exists( 'WpeCommon' ) ) {

				if ( method_exists( 'WpeCommon', 'purge_memcached' ) ) {
					WpeCommon::purge_memcached();
				}

				if ( method_exists( 'WpeCommon', 'clear_maxcdn_cache' ) ) {
					WpeCommon::clear_maxcdn_cache();
				}

				if ( method_exists( 'WpeCommon', 'purge_varnish_cache' ) ) {
					WpeCommon::purge_varnish_cache();
				}
			}

			// Clean OpCache.
			if ( function_exists( 'opcache_reset' ) ) {
				opcache_reset(); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.opcache_resetFound
			}

			// Clean WordPress cache.
			if ( function_exists( 'wp_cache_flush' ) ) {
				wp_cache_flush();
			}
		}

		/**
		 * Prints spacing field CSS based on passed params.
		 *
		 * @since  1.0.0
		 *
		 * @param  string $css_selector CSS selector.
		 * @param  string $css_property CSS property, such as 'margin', 'padding' or 'border'.
		 * @param  string $setting_id The ID of the customizer setting containing all information about the setting.
		 * @param  bool   $responsive Has responsive values.
		 * @return string  Generated CSS.
		 */
		public function get_spacing_field_css( $css_selector, $css_property, $setting_id, $responsive = true ) {

			// Get the saved setting.
			$setting = bloglo_option( $setting_id );

			// If setting doesn't exist, return.
			if ( ! is_array( $setting ) ) {
				return;
			}

			// Get the unit. Defaults to px.
			$unit = 'px';

			if ( isset( $setting['unit'] ) ) {
				if ( $setting['unit'] ) {
					$unit = $setting['unit'];
				}

				unset( $setting['unit'] );
			}

			// CSS buffer.
			$css_buffer = '';

			// Loop through options.
			foreach ( $setting as $key => $value ) {

				// Check if responsive options are available.
				if ( is_array( $value ) ) {

					if ( 'desktop' === $key ) {
						$mq_open  = '';
						$mq_close = '';
					} elseif ( 'tablet' === $key ) {
						$mq_open  = '@media only screen and (max-width: 768px) {';
						$mq_close = '}';
					} elseif ( 'mobile' === $key ) {
						$mq_open  = '@media only screen and (max-width: 480px) {';
						$mq_close = '}';
					} else {
						$mq_open  = '';
						$mq_close = '';
					}

					// Add media query prefix.
					$css_buffer .= $mq_open . $css_selector . '{';

					// Loop through all choices.
					foreach ( $value as $pos => $val ) {

						if ( empty( $val ) ) {
							continue;
						}

						if ( 'border' === $css_property ) {
							$pos .= '-width';
						}

						$css_buffer .= $css_property . '-' . $pos . ': ' . intval( $val ) . $unit . ';';
					}

					$css_buffer .= '}' . $mq_close;
				} else {

					if ( 'border' === $css_property ) {
						$key .= '-width';
					}

					$css_buffer .= $css_property . '-' . $key . ': ' . intval( $value ) . $unit . ';';
				}
			}

			// Check if field is has responsive values.
			if ( ! $responsive ) {
				$css_buffer = $css_selector . '{' . $css_buffer . '}';
			}

			// Finally, return the generated CSS code.
			return $css_buffer;
		}

		/**
		 * Prints range field CSS based on passed params.
		 *
		 * @since  1.0.0
		 *
		 * @param  string $css_selector CSS selector.
		 * @param  string $css_property CSS property, such as 'margin', 'padding' or 'border'.
		 * @param  string $setting_id The ID of the customizer setting containing all information about the setting.
		 * @param  bool   $responsive Has responsive values.
		 * @param  string $unit Unit.
		 * @return string  Generated CSS.
		 */
		public function get_range_field_css( $css_selector, $css_property, $setting_id, $responsive = true, $unit = 'px' ) {

			// Get the saved setting.
			$setting = bloglo_option( $setting_id );

			// If just a single value option.
			if ( ! is_array( $setting ) ) {
				return $css_selector . ' { ' . $css_property . ': ' . $setting . $unit . '; }';
			}

			// Resolve units.
			if ( isset( $setting['unit'] ) ) {
				if ( $setting['unit'] ) {
					$unit = $setting['unit'];
				}

				unset( $setting['unit'] );
			}

			// CSS buffer.
			$css_buffer = '';

			if ( is_array( $setting ) && ! empty( $setting ) ) {

				// Media query syntax wrap.
				$mq_open  = '';
				$mq_close = '';

				// Loop through options.
				foreach ( $setting as $key => $value ) {

					if ( empty( $value ) ) {
						continue;
					}

					if ( 'desktop' === $key ) {
						$mq_open  = '';
						$mq_close = '';
					} elseif ( 'tablet' === $key ) {
						$mq_open  = '@media only screen and (max-width: 768px) {';
						$mq_close = '}';
					} elseif ( 'mobile' === $key ) {
						$mq_open  = '@media only screen and (max-width: 480px) {';
						$mq_close = '}';
					} else {
						$mq_open  = '';
						$mq_close = '';
					}

					// Add media query prefix.
					$css_buffer .= $mq_open . $css_selector . '{';
					$css_buffer .= $css_property . ': ' . floatval( $value ) . $unit . ';';
					$css_buffer .= '}' . $mq_close;
				}
			}

			// Finally, return the generated CSS code.
			return $css_buffer;
		}

		/**
		 * Prints design options field CSS based on passed params.
		 *
		 * @since 1.0.0
		 * @param string       $css_selector CSS selector.
		 * @param string|mixed $setting The ID of the customizer setting containing all information about the setting.
		 * @param string       $type Design options field type.
		 * @return string      Generated CSS.
		 */
		public function get_design_options_field_css( $css_selector, $setting, $type ) {

			if ( is_string( $setting ) ) {
				// Get the saved setting.
				$setting = bloglo_option( $setting );
			}

			// Setting has to be array.
			if ( ! is_array( $setting ) || empty( $setting ) ) {
				return;
			}

			// CSS buffer.
			$css_buffer = '';

			// Background.
			if ( 'background' === $type ) {

				// Background type.
				$background_type = $setting['background-type'];

				if ( 'color' === $background_type ) {
					if ( isset( $setting['background-color'] ) && ! empty( $setting['background-color'] ) ) {
						$css_buffer .= 'background: ' . bloglo_sanitize_color( $setting['background-color'] ) . ';';
					}
				} elseif ( 'gradient' === $background_type ) {

					$css_buffer .= 'background: ' . bloglo_sanitize_color( $setting['gradient-color-1'] ) . ';';

					if ( 'linear' === $setting['gradient-type'] ) {
						$css_buffer .= '
							background: -webkit-linear-gradient(' . intval( $setting['gradient-linear-angle'] ) . 'deg, ' . bloglo_sanitize_color( $setting['gradient-color-1'] ) . ' ' . intval( $setting['gradient-color-1-location'] ) . '%, ' . bloglo_sanitize_color( $setting['gradient-color-2'] ) . ' ' . intval( $setting['gradient-color-2-location'] ) . '%);
							background: -o-linear-gradient(' . intval( $setting['gradient-linear-angle'] ) . 'deg, ' . bloglo_sanitize_color( $setting['gradient-color-1'] ) . ' ' . intval( $setting['gradient-color-1-location'] ) . '%, ' . bloglo_sanitize_color( $setting['gradient-color-2'] ) . ' ' . intval( $setting['gradient-color-2-location'] ) . '%);
							background: linear-gradient(' . intval( $setting['gradient-linear-angle'] ) . 'deg, ' . bloglo_sanitize_color( $setting['gradient-color-1'] ) . ' ' . intval( $setting['gradient-color-1-location'] ) . '%, ' . bloglo_sanitize_color( $setting['gradient-color-2'] ) . ' ' . intval( $setting['gradient-color-2-location'] ) . '%);

						';
					} elseif ( 'radial' === $setting['gradient-type'] ) {
						$css_buffer .= '
							background: -webkit-radial-gradient(' . sanitize_text_field( $setting['gradient-position'] ) . ', circle, ' . bloglo_sanitize_color( $setting['gradient-color-1'] ) . ' ' . intval( $setting['gradient-color-1-location'] ) . '%, ' . bloglo_sanitize_color( $setting['gradient-color-2'] ) . ' ' . intval( $setting['gradient-color-2-location'] ) . '%);
							background: -o-radial-gradient(' . sanitize_text_field( $setting['gradient-position'] ) . ', circle, ' . bloglo_sanitize_color( $setting['gradient-color-1'] ) . ' ' . intval( $setting['gradient-color-1-location'] ) . '%, ' . bloglo_sanitize_color( $setting['gradient-color-2'] ) . ' ' . intval( $setting['gradient-color-2-location'] ) . '%);
							background: radial-gradient(circle at ' . sanitize_text_field( $setting['gradient-position'] ) . ', ' . bloglo_sanitize_color( $setting['gradient-color-1'] ) . ' ' . intval( $setting['gradient-color-1-location'] ) . '%, ' . bloglo_sanitize_color( $setting['gradient-color-2'] ) . ' ' . intval( $setting['gradient-color-2-location'] ) . '%);
						';
					}
				} elseif ( 'image' === $background_type ) {
					$css_buffer .= '
						background-image: url(' . esc_url( $setting['background-image'] ) . ');
						background-size: ' . sanitize_text_field( $setting['background-size'] ) . ';
						background-attachment: ' . sanitize_text_field( $setting['background-attachment'] ) . ';
						background-position: ' . intval( $setting['background-position-x'] ) . '% ' . intval( $setting['background-position-y'] ) . '%;
						background-repeat: ' . sanitize_text_field( $setting['background-repeat'] ) . ';
					';
				}

				$css_buffer = ! empty( $css_buffer ) ? $css_selector . '{' . $css_buffer . '}' : '';

				if ( 'image' === $background_type && isset( $setting['background-color-overlay'] ) && $setting['background-color-overlay'] && isset( $setting['background-image'] ) && $setting['background-image'] ) {
					$css_buffer .= $css_selector . '::after { background-color: ' . bloglo_sanitize_color( $setting['background-color-overlay'] ) . '; }';
				}
			} elseif ( 'color' === $type ) {

				// Text color.
				if ( isset( $setting['text-color'] ) && ! empty( $setting['text-color'] ) ) {
					$css_buffer .= $css_selector . ' { color: ' . bloglo_sanitize_color( $setting['text-color'] ) . '; }';
				}

				// Link Color.
				if ( isset( $setting['link-color'] ) && ! empty( $setting['link-color'] ) ) {
					$css_buffer .= $css_selector . ' a { color: ' . bloglo_sanitize_color( $setting['link-color'] ) . '; }';
				}

				// Link Hover Color.
				if ( isset( $setting['link-hover-color'] ) && ! empty( $setting['link-hover-color'] ) ) {
					$css_buffer .= $css_selector . ' a:hover { color: ' . bloglo_sanitize_color( $setting['link-hover-color'] ) . ' !important; }';
				}
			} elseif ( 'border' === $type ) {

				// Color.
				if ( isset( $setting['border-color'] ) && ! empty( $setting['border-color'] ) ) {
					$css_buffer .= 'border-color:' . bloglo_sanitize_color( $setting['border-color'] ) . ';';
				}

				// Style.
				if ( isset( $setting['border-style'] ) && ! empty( $setting['border-style'] ) ) {
					$css_buffer .= 'border-style: ' . sanitize_text_field( $setting['border-style'] ) . ';';
				}

				// Width.
				$positions = array( 'top', 'right', 'bottom', 'left' );

				foreach ( $positions as $position ) {
					if ( isset( $setting[ 'border-' . $position . '-width' ] ) && ! empty( $setting[ 'border-' . $position . '-width' ] ) ) {
						$css_buffer .= 'border-' . sanitize_text_field( $position ) . '-width: ' . $setting[ 'border-' . sanitize_text_field( $position ) . '-width' ] . 'px;';
					}
				}

				$css_buffer = ! empty( $css_buffer ) ? $css_selector . '{' . $css_buffer . '}' : '';
			} elseif ( 'separator_color' === $type && isset( $setting['separator-color'] ) && ! empty( $setting['separator-color'] ) ) {

				// Separator Color.
				$css_buffer .= $css_selector . '::after { background-color:' . bloglo_sanitize_color( $setting['separator-color'] ) . '; }';
			}

			// Finally, return the generated CSS code.
			return $css_buffer;
		}

		/**
		 * Prints typography field CSS based on passed params.
		 *
		 * @since  1.0.0
		 * @param  string       $css_selector CSS selector.
		 * @param  string|mixed $setting The ID of the customizer setting containing all information about the setting.
		 * @return string       Generated CSS.
		 */
		public function get_typography_field_css( $css_selector, $setting ) {

			if ( is_string( $setting ) ) {
				// Get the saved setting.
				$setting = bloglo_option( $setting );
			}

			// Setting has to be array.
			if ( ! is_array( $setting ) || empty( $setting ) ) {
				return;
			}

			// CSS buffer.
			$css_buffer = '';

			// Properties.
			$properties = array(
				'font-weight',
				'font-style',
				'text-transform',
				'text-decoration',
			);

			foreach ( $properties as $property ) {

				if ( 'inherit' !== $setting[ $property ] ) {
					$css_buffer .= $property . ':' . $setting[ $property ] . ';';
				}
			}

			// Font family.
			if ( 'inherit' !== $setting['font-family'] ) {
				$font_family = bloglo()->fonts->get_font_family( $setting['font-family'] );

				$css_buffer .= 'font-family: ' . sanitize_text_field( $font_family ) . ';';
			}

			// Letter spacing.
			if ( ! empty( $setting['letter-spacing'] ) ) {
				$css_buffer .= 'letter-spacing:' . floatval( $setting['letter-spacing'] ) . sanitize_text_field( $setting['letter-spacing-unit'] ) . ';';
			}

			// Font size.
			if ( ! empty( $setting['font-size-desktop'] ) ) {
				$css_buffer .= 'font-size:' . floatval( $setting['font-size-desktop'] ) . sanitize_text_field( $setting['font-size-unit'] ) . ';';
			}

			// Line Height.
			if ( ! empty( $setting['line-height-desktop'] ) ) {
				$css_buffer .= 'line-height:' . floatval( $setting['line-height-desktop'] ) . ';';
			}

			$css_buffer = $css_buffer ? $css_selector . '{' . $css_buffer . '}' : '';

			// Responsive options - tablet.
			$tablet = '';

			if ( ! empty( $setting['font-size-tablet'] ) ) {
				$tablet .= 'font-size:' . floatval( $setting['font-size-tablet'] ) . sanitize_text_field( $setting['font-size-unit'] ) . ';';
			}

			if ( ! empty( $setting['line-height-tablet'] ) ) {
				$tablet .= 'line-height:' . floatval( $setting['line-height-tablet'] ) . ';';
			}

			$tablet = ! empty( $tablet ) ? '@media only screen and (max-width: 768px) {' . $css_selector . '{' . $tablet . '} }' : '';

			$css_buffer .= $tablet;

			// Responsive options - mobile.
			$mobile = '';

			if ( ! empty( $setting['font-size-mobile'] ) ) {
				$mobile .= 'font-size:' . floatval( $setting['font-size-mobile'] ) . sanitize_text_field( $setting['font-size-unit'] ) . ';';
			}

			if ( ! empty( $setting['line-height-mobile'] ) ) {
				$mobile .= 'line-height:' . floatval( $setting['line-height-mobile'] ) . ';';
			}

			$mobile = ! empty( $mobile ) ? '@media only screen and (max-width: 480px) {' . $css_selector . '{' . $mobile . '} }' : '';

			$css_buffer .= $mobile;

			// Equeue google fonts.
			if ( bloglo()->fonts->is_google_font( $setting['font-family'] ) ) {

				$params = array();

				if ( 'inherit' !== $setting['font-weight'] ) {
					$params['weight'] = $setting['font-weight'];
				}

				if ( 'inherit' !== $setting['font-style'] ) {
					$params['style'] = $setting['font-style'];
				}

				if ( $setting['font-subsets'] && ! empty( $setting['font-subsets'] ) ) {
					$params['subsets'] = $setting['font-subsets'];
				}

				bloglo()->fonts->enqueue_google_font(
					$setting['font-family'],
					$params
				);
			}

			// Finally, return the generated CSS code.
			return $css_buffer;
		}

		/**
		 * Filters the dynamic styles to include button styles and makes sure it has the highest priority.
		 *
		 * @since  1.0.0
		 * @param  string $css The dynamic CSS.
		 * @return string Filtered dynamic CSS.
		 */
		public function get_button_styles( $css ) {

			/**
			 * Primary Button.
			 */

			$primary_button_selector = '
				.bloglo-btn,
				body:not(.wp-customizer) input[type=submit], 
				.site-main .woocommerce #respond input#submit, 
				.site-main .woocommerce a.button, 
				.site-main .woocommerce button.button, 
				.site-main .woocommerce input.button, 
				.woocommerce ul.products li.product .added_to_cart, 
				.woocommerce ul.products li.product .button, 
				.woocommerce div.product form.cart .button, 
				.woocommerce #review_form #respond .form-submit input, 
				#infinite-handle span';

			/*
			$primary_button_bg_color      = bloglo_option( 'primary_button_bg_color' );
			$primary_button_border_radius = bloglo_option( 'primary_button_border_radius' );

			if ( '' !== $primary_button_bg_color ) {
				$css .= $primary_button_selector . ' {
					background-color: ' . $primary_button_bg_color . ';
				}';
			}
			*/
			// Primary button text color, border color & border width.
			/*
			$css .= $primary_button_selector . ' {
				color: ' . bloglo_option( 'primary_button_text_color' ) . ';
				border-color: ' . bloglo_option( 'primary_button_border_color' ) . ';
				border-width: ' . bloglo_option( 'primary_button_border_width' ) . 'rem;
				border-top-left-radius: ' . $primary_button_border_radius['top-left'] . 'rem;
				border-top-right-radius: ' . $primary_button_border_radius['top-right'] . 'rem;
				border-bottom-right-radius: ' . $primary_button_border_radius['bottom-right'] . 'rem;
				border-bottom-left-radius: ' . $primary_button_border_radius['bottom-left'] . 'rem;
			}';
			*/
			$css .= $primary_button_selector . ' {
				color: ' . bloglo_sanitize_color( bloglo_option( 'primary_button_text_color' ) ) . ';
				border-color: var(--bloglo-primary);
				border-width: ' . floatval( bloglo_option( 'primary_button_border_width' ) ) . 'rem;
			}';
			// Primary button hover.
			$primary_button_hover_selector = '';
			/*
			$primary_button_hover_selector = '
				.bloglo-btn:hover,
				.bloglo-btn:focus,
				body:not(.wp-customizer) input[type=submit]:hover,
				body:not(.wp-customizer) input[type=submit]:focus,
				.site-main .woocommerce #respond input#submit:hover,
				.site-main .woocommerce #respond input#submit:focus,
				.site-main .woocommerce a.button:hover,
				.site-main .woocommerce a.button:focus,
				.site-main .woocommerce button.button:hover,
				.site-main .woocommerce button.button:focus,
				.site-main .woocommerce input.button:hover,
				.site-main .woocommerce input.button:focus,
				.woocommerce ul.products li.product .added_to_cart:hover,
				.woocommerce ul.products li.product .added_to_cart:focus,
				.woocommerce ul.products li.product .button:hover,
				.woocommerce ul.products li.product .button:focus,
				.woocommerce div.product form.cart .button:hover,
				.woocommerce div.product form.cart .button:focus,
				.woocommerce #review_form #respond .form-submit input:hover,
				.woocommerce #review_form #respond .form-submit input:focus,
				#infinite-handle span:hover';

			$primary_button_hover_bg_color = bloglo_option( 'primary_button_hover_bg_color' );
			*/
			// Primary button hover bg color.
			/*
			if ( '' !== $primary_button_hover_bg_color ) {
				$css .= $primary_button_hover_selector . ' {
					background-color: ' . $primary_button_hover_bg_color . ';
				}';
			}
			*/
			// Primary button hover color & border.
			$css .= $primary_button_hover_selector . '{
				color: ' . bloglo_sanitize_color( bloglo_option( 'primary_button_hover_text_color' ) ) . ';
				border-color: ' . bloglo_sanitize_color( bloglo_option( 'primary_button_hover_border_color' ) ) . ';
			}';

			// Primary button typography.
			$css .= $this->get_typography_field_css( $primary_button_selector, 'primary_button_typography' );

			/**
			 * Secondary Button.
			 */

			$secondary_button_selector = '
				input[type="reset"],
				.btn-secondary,
				.bloglo-btn.btn-secondary';

			$secondary_button_bg_color      = bloglo_option( 'secondary_button_bg_color' );
			$secondary_button_border_radius = bloglo_option( 'secondary_button_border_radius' );

			// Secondary button text color, border color & border width.
			$css .= $secondary_button_selector . ' {
				color: ' . bloglo_sanitize_color( bloglo_option( 'secondary_button_text_color' ) ) . ';
				border-color: ' . bloglo_sanitize_color( bloglo_option( 'secondary_button_border_color' ) ) . ';
				border-width: ' . floatval( bloglo_option( 'secondary_button_border_width' ) ) . 'rem;
				background-color: ' . bloglo_sanitize_color( $secondary_button_bg_color ) . ';
				border-top-left-radius: ' . floatval( $secondary_button_border_radius['top-left'] ) . 'rem;
				border-top-right-radius: ' . floatval( $secondary_button_border_radius['top-right'] ) . 'rem;
				border-bottom-right-radius: ' . floatval( $secondary_button_border_radius['bottom-right'] ) . 'rem;
				border-bottom-left-radius: ' . floatval( $secondary_button_border_radius['bottom-left'] ) . 'rem;
			}';

			// Secondary button hover.
			$secondary_button_hover_selector = '
				.btn-secondary:hover, 
				.btn-secondary:focus, 
				.bloglo-btn.btn-secondary:hover, 
				.bloglo-btn.btn-secondary:focus';

			$secondary_button_hover_bg_color = bloglo_option( 'secondary_button_hover_bg_color' );

			// Secondary button hover color & border.
			$css .= $secondary_button_hover_selector . '{
				color: ' . bloglo_sanitize_color( bloglo_option( 'secondary_button_hover_text_color' ) ) . ';
				border-color: ' . bloglo_sanitize_color( bloglo_option( 'secondary_button_hover_border_color' ) ) . ';
				background-color: ' . bloglo_sanitize_color( $secondary_button_hover_bg_color ) . ';
			}';

			// Secondary button typography.
			$css .= $this->get_typography_field_css( $secondary_button_selector, 'secondary_button_typography' );

			// Text Button.
			$css .= '
				.bloglo-btn.btn-text-1, .btn-text-1 {
					color: ' . bloglo_sanitize_color( bloglo_option( 'text_button_text_color' ) ) . ';
				}
			';

			$css .= '
				.bloglo-btn.btn-text-1:hover, .bloglo-btn.btn-text-1:focus, .btn-text-1:hover, .btn-text-1:focus {
					color: ' . bloglo_sanitize_color( bloglo_option( 'accent_color' ) ) . ';
				}
			';

			$css .= '
				.bloglo-btn.btn-text-1 > span::before {
					background-color: ' . bloglo_sanitize_color( bloglo_option( 'accent_color' ) ) . ';
				}
			';

			if ( bloglo_option( 'text_button_hover_text_color' ) ) {
				$css .= '
					.bloglo-btn.btn-text-1:hover, .bloglo-btn.btn-text-1:focus, .btn-text-1:hover, .btn-text-1:focus {
						color: ' . bloglo_sanitize_color( bloglo_option( 'text_button_hover_text_color' ) ) . ';
					}

					.bloglo-btn.btn-text-1 > span::before {
						background-color: ' . bloglo_sanitize_color( bloglo_option( 'text_button_hover_text_color' ) ) . ';
					}
				';
			}

			// Secondary button typography.
			$css .= $this->get_typography_field_css( '.bloglo-btn.btn-text-1, .btn-text-1', 'text_button_typography' );

			// Return the filtered CSS.
			return $css;
		}

		/**
		 * Generate dynamic Block Editor styles.
		 *
		 * @since  1.0.0
		 * @return string
		 */
		public function get_block_editor_css() {

			// Current post.
			$post_id   = get_the_ID();
			$post_type = get_post_type( $post_id );

			// Layout.
			$site_layout          = bloglo_get_site_layout( $post_id );
			$sidebar_position     = bloglo_get_sidebar_position( $post_id );
			$container_width      = bloglo_option( 'container_width' );
			$single_content_width = bloglo_option( 'single_content_width' );

			$container_width = $container_width - 100;

			if ( bloglo_is_sidebar_displayed( $post_id ) ) {

				$sidebar_width   = bloglo_option( 'sidebar_width' );
				$container_width = $container_width * ( 100 - intval( $sidebar_width ) ) / 100;
				$container_width = $container_width - 50;

				if ( 'boxed-separated' === $site_layout ) {
					if ( 3 === intval( bloglo_option( 'sidebar_style' ) ) ) {
						$container_width += 15;
					}
				}
			}

			if ( 'boxed-separated' === $site_layout ) {
				$container_width += 16;
			}

			if ( 'boxed' === $site_layout ) {
				$container_width = $container_width + 200;
			}

			$background_color = bloglo_sanitize_color( get_background_color() );
			$accent_color     = bloglo_sanitize_color( bloglo_option( 'accent_color' ) );
			$content_color    = bloglo_sanitize_color( bloglo_option( 'boxed_content_background_color' ) );
			$text_color       = bloglo_sanitize_color( bloglo_option( 'content_text_color' ) );
			$link_hover_color = bloglo_sanitize_color( bloglo_option( 'content_link_hover_color' ) );
			$headings_color   = bloglo_sanitize_color( bloglo_option( 'headings_color' ) );
			$font_smoothing   = sanitize_text_field( bloglo_option( 'font_smoothing' ) );

			$css = '';

			// Base HTML font size.
			$css .= $this->get_range_field_css( 'html', 'font-size', 'html_base_font_size', true, '%' );

			// Accent color.
			$css .= '
				.editor-styles-wrapper .block-editor-rich-text__editable mark,
				.editor-styles-wrapper .block-editor-rich-text__editable span.highlight,
				.editor-styles-wrapper .block-editor-rich-text__editable code,
				.editor-styles-wrapper .block-editor-rich-text__editable kbd,
				.editor-styles-wrapper .block-editor-rich-text__editable var,
				.editor-styles-wrapper .block-editor-rich-text__editable samp,
				.editor-styles-wrapper .block-editor-rich-text__editable tt {
					background-color: ' . bloglo_sanitize_color( bloglo_hex2rgba( $accent_color, .09 ) ) . ';
				}

				.editor-styles-wrapper .wp-block code.block,
				.editor-styles-wrapper .block code {
					background-color: ' . bloglo_sanitize_color( bloglo_hex2rgba( $accent_color, .075 ) ) . ';
				}

				.editor-styles-wrapper .wp-block .block-editor-rich-text__editable a,
				.editor-styles-wrapper .block-editor-rich-text__editable code,
				.editor-styles-wrapper .block-editor-rich-text__editable kbd,
				.editor-styles-wrapper .block-editor-rich-text__editable var,
				.editor-styles-wrapper .block-editor-rich-text__editable samp,
				.editor-styles-wrapper .block-editor-rich-text__editable tt {
					color: ' . $accent_color . ';
				}

				#editor .editor-styles-wrapper ::-moz-selection { background-color: ' . $accent_color . '; color: #FFF; }
				#editor .editor-styles-wrapper ::selection { background-color: ' . $accent_color . '; color: #FFF; }

				
				.editor-styles-wrapper blockquote,
				.editor-styles-wrapper .wp-block-quote {
					border-color: ' . $accent_color . ';
				}
			';

			// Container width.
			/*
			if ( 'fw-stretched' === $site_layout ) {
				$css .= '
					.editor-styles-wrapper .wp-block {
						max-width: none;
					}
				';
			} elseif ( 'boxed-separated' === $site_layout || 'boxed' === $site_layout ) {

				$css .= '
					.editor-styles-wrapper {
						max-width: ' . $container_width . 'px;
						margin: 0 auto;
					}

					.editor-styles-wrapper .wp-block {
						max-width: none;
					}
				';

				if ( 'boxed' === $site_layout ) {
					$css .= '
						.editor-styles-wrapper {
							-webkit-box-shadow: 0 0 30px rgba(50, 52, 54, 0.06);
							box-shadow: 0 0 30px rgba(50, 52, 54, 0.06);
							padding-left: 42px;
							padding-right: 42px;
						}
					';
				} else {
					$css .= '
						.editor-styles-wrapper {
							border-radius: 3px;
							border: 1px solid rgba(190, 190, 190, 0.30);
						}
					';
				}
			}
			else {
				$css .= '
					.editor-styles-wrapper .wp-block {
						max-width: ' . $container_width . 'px;
					}
				';
			} */

			if ( 'boxed-separated' === $site_layout || 'boxed' === $site_layout ) {

				if ( 'boxed' === $site_layout ) {
					$css .= '
						.editor-styles-wrapper {
							-webkit-box-shadow: 0 0 30px rgba(50, 52, 54, 0.06);
							box-shadow: 0 0 30px rgba(50, 52, 54, 0.06);
							padding-left: 42px;
							padding-right: 42px;
						}
					';
				} else {
					$css .= '
						.editor-styles-wrapper {
							border-radius: 0;
							border: 1px solid rgba(190, 190, 190, 0.30);
						}
					';
				}
			}

			if ( 'post' === $post_type && 'narrow' === $single_content_width ) {

				$narrow_container_width = intval( bloglo_option( 'single_narrow_container_width' ) );

				$css .= '
					.editor-styles-wrapper .wp-block:not([data-size="full"]) {
						max-width: ' . $narrow_container_width . 'px;
					}
				';
			}

			// Background color.
			if ( 'boxed-separated' === $site_layout || 'boxed' === $site_layout ) {
				$css .= '
					:root .edit-post-layout .interface-interface-skeleton__content {
						background-color: #' . trim( $background_color, '#' ) . ';
					}

					:root .editor-styles-wrapper {
						background-color: ' . $content_color . ';
					}
				';
			} else {
				$css .= '
					:root .editor-styles-wrapper {
						background-color: #' . trim( $background_color, '#' ) . ';
					}
				';
			}

			// Body.
			$css .= $this->get_typography_field_css( ':root .editor-styles-wrapper, .editor-styles-wrapper .wp-block, .block-editor-default-block-appender textarea.block-editor-default-block-appender__content', 'body_font' );
			$css .= '
				:root .editor-styles-wrapper {
					color: ' . $text_color . ';
				}
			';

			// Headings typography.
			$css .= $this->get_typography_field_css( ':root .editor-styles-wrapper h1.wp-block, :root .editor-styles-wrapper h2.wp-block, :root .editor-styles-wrapper h3.wp-block, :root .editor-styles-wrapper h4.wp-block, :root .editor-styles-wrapper h5.wp-block, :root .editor-styles-wrapper h6.wp-block, :root .editor-styles-wrapper .editor-post-title__block .editor-post-title__input', 'headings_font' );

			// Heading em.
			$css .= $this->get_typography_field_css( '.editor-styles-wrapper h1.wp-block em, .editor-styles-wrapper h2.wp-block em, .editor-styles-wrapper h3.wp-block em, .editor-styles-wrapper h4.wp-block em, .editor-styles-wrapper h5.wp-block em, .editor-styles-wrapper h6.wp-block em', 'heading_em_font' );

			// Headings (H1-H6).
			$css .= $this->get_typography_field_css( ':root .editor-styles-wrapper h1.wp-block, :root .editor-styles-wrapper .h1, :root .editor-styles-wrapper .editor-post-title__block .editor-post-title__input', 'h1_font' );
			$css .= $this->get_typography_field_css( ':root .editor-styles-wrapper h2.wp-block, :root .editor-styles-wrapper .h2', 'h2_font' );
			$css .= $this->get_typography_field_css( ':root .editor-styles-wrapper h3.wp-block, :root .editor-styles-wrapper .h3', 'h3_font' );
			$css .= $this->get_typography_field_css( ':root .editor-styles-wrapper h4.wp-block', 'h4_font' );
			$css .= $this->get_typography_field_css( ':root .editor-styles-wrapper h5.wp-block', 'h5_font' );
			$css .= $this->get_typography_field_css( ':root .editor-styles-wrapper h6.wp-block', 'h6_font' );

			$css .= '
				:root .editor-styles-wrapper h1,
				:root .editor-styles-wrapper h2,
				:root .editor-styles-wrapper h3,
				:root .editor-styles-wrapper h4,
				:root .editor-styles-wrapper .h4,
				:root .editor-styles-wrapper h5,
				:root .editor-styles-wrapper h6,
				:root .editor-post-title__block .editor-post-title__input {
					color: ' . $headings_color . ';
				}
			';

			// Page header font size.
			$css .= $this->get_range_field_css( ':root .editor-styles-wrapper .editor-post-title__block .editor-post-title__input', 'font-size', 'page_header_font_size', true );

			// Link hover color.
			$css .= '
				.editor-styles-wrapper .wp-block .block-editor-rich-text__editable a:hover { 
					color: ' . $link_hover_color . '; 
				}
			';

			// Font smoothing.
			if ( $font_smoothing ) {
				$css .= '
					.editor-styles-wrapper {
						-moz-osx-font-smoothing: grayscale;
						-webkit-font-smoothing: antialiased;
					}
				';
			}

			return $css;
		}
	}
endif;

/**
 * The function which returns the one Bloglo_Dynamic_Styles instance.
 *
 * Use this function like you would a global variable, except without needing
 * to declare the global.
 *
 * Example: <?php $dynamic_styles = bloglo_dynamic_styles(); ?>
 *
 * @since 1.0.0
 * @return object
 */
function bloglo_dynamic_styles() {
	return Bloglo_Dynamic_Styles::instance();
}

bloglo_dynamic_styles();

Al-HUWAITI Shell