/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* ==========================================================================
   GENERAL & CONTAINERS
   ========================================================================== */

/* Image & Column Shadows */
.photo-shadow img { box-shadow: 12px 12px 0px #edf0f5; }
.column-shadow { box-shadow: -12px 12px 0px #edf0f5; }

/* Enhanced Blurred Background Containers */
.background-blur {
    background-color: rgba(255, 255, 255, 0.8);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.35) 100%);
    backdrop-filter: blur(12px) saturate(120%);
    -webkit-backdrop-filter: blur(12px) saturate(120%);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    border-left: 1px solid rgba(255, 255, 255, 0.5);

}

.background-blur-dark {
    background-color: rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(12px) saturate(0%);
    -webkit-backdrop-filter: blur(12px) saturate(0%);
}

/* Glass Divider & Lists */
hr.glass-divider, .wp-block-separator.glass-divider {
    border: 0 !important;
    height: 2px !important;
    background: rgba(255, 255, 255, 0.15) !important; 
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important; 
    margin: 40px auto !important;
    width: 100% !important;
}
/* Lists (Scoped to Glass Columns only) */
.glass-column ul.wp-block-list { 
    margin: 0 0 2.5em .5em; 
}


/* ==========================================================================
   MAIN NAVIGATION (Properly Scoped)
   ========================================================================== */

#sticky-navigation {
    background: rgba(255, 255, 255, 0.8);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

/* Changed from 'nav' to specifically target the top menu */
.main-navigation { 
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.main-navigation .main-nav ul li a { 
    font-weight: 600; 
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    background: linear-gradient(to top, rgba(251, 238, 223, 0.2) 0%, rgba(251, 238, 223, 0.4) 50%, rgba(251, 238, 223, 0.2) 100%);
    color: inherit;
}

/* Scoped the hover effect so it doesn't bleed to the footer */
.main-navigation .main-nav ul li a:hover { 
    background: linear-gradient(to top, rgba(251, 238, 223, 0.8) 0%, rgba(251, 238, 223, 1) 50%, rgba(251, 238, 223, 0.8) 100%);
}

.main-navigation ul.sub-menu { 
    background: rgba(255, 255, 255, 0.8); 
}

/* Mobile Navigation */
#mobile-header > .inside-navigation { border-bottom: 1px solid #a6a6a6; }
#mobile-menu li { border-bottom: 1px solid #f1f1f1; }
#mobile-menu .sub-menu li { border-bottom: 1px solid #b1b1b1; }

/* OPTIMIZATION: Fixed Mobile Menu Transparent Background */
.main-navigation.toggled .main-nav ul { 
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.menu-item-has-children .dropdown-menu-toggle { padding-right: 10px; }
.menu-item-has-children button.dropdown-menu-toggle { width: 100%; left: 0; padding: 0; }
.main-navigation .main-nav ul .menu-item-has-children:hover > button.dropdown-menu-toggle { background-color: transparent; }
.menu-item-has-children button.dropdown-menu-toggle .gp-icon { float: right; padding-right: 20px; }
.menu-item-has-children button.dropdown-menu-toggle .gp-icon svg { width: 1.5em; height: 1.5em; }


/* ==========================================================================
   BUTTONS (Unified Structure)
   ========================================================================== */

/* 1. Base Structure for ALL Buttons */
.button, 
.wp-block-button__link,
.glass-button,
.dark-glass-button,
.white-pop-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    border-radius: 8px !important; 
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.button:active, 
.wp-block-button__link:active,
.glass-button:active,
.dark-glass-button:active,
.white-pop-button:active {
    transform: translateY(0) !important;
}

/* --- THEME 1: Standard Base Button (Black) --- */
.button, 
.wp-block-button__link {
    background-color: #1a1a1a;
    color: #ffffff;
    padding: 14px 28px;
    font-weight: 600;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08);
}

/* --- Shared Sizing for Glass & Pop Buttons --- */
.glass-button, .dark-glass-button, .white-pop-button {
    padding: 14px 36px !important;
    font-weight: 600 !important;
    font-size: 22px !important; 
    letter-spacing: 1px !important;
}

/* --- THEME 2: Light Glass --- */
.glass-button {
    background: rgba(255, 255, 255, 0.15) !important; 
    border: 1px solid rgba(255, 255, 255, 0.4) !important; 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    
    /* REMOVED the text-stroke and ADDED a soft text-shadow */
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important; 
    
    color: #ffffff !important;
    backdrop-filter: blur(12px) !important; 
    -webkit-backdrop-filter: blur(12px) !important; 
}

/* --- THEME 3: Dark Glass --- */
.dark-glass-button {
    background: rgba(0, 0, 0, 0.45) !important; 
    border: 1px solid rgba(255, 255, 255, 0.15) !important; 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important; 
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
    color: #ffffff !important;
    backdrop-filter: blur(12px) !important; 
    -webkit-backdrop-filter: blur(12px) !important; 
}

/* --- THEME 4: Stark White Pop --- */
.white-pop-button {
    background: #ffffff !important; 
    color: #1a1a1a !important; 
    border: none !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important; 
}

/* ==========================================================================
   UNIFIED ARROW (SVG) ANIMATIONS
   ========================================================================== */

/* 1. Base wrapper for the arrow inside ANY button */
.button .gb-shape,
.wp-block-button__link .gb-shape,
.glass-button .gb-shape,
.dark-glass-button .gb-shape,
.white-pop-button .gb-shape {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 10px !important; 
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* 2. Force Universal Sizing for the SVG */
.button .gb-shape svg,
.wp-block-button__link .gb-shape svg,
.glass-button .gb-shape svg,
.dark-glass-button .gb-shape svg,
.white-pop-button .gb-shape svg {
    width: 26px !important; 
    height: 26px !important; 
    display: block !important;
}

/* 3. DEFAULT: Stark White Arrow (For standard and glass buttons) */
.button .gb-shape svg path,
.wp-block-button__link .gb-shape svg path,
.glass-button .gb-shape svg path,
.dark-glass-button .gb-shape svg path {
    fill: #ffffff !important; 
}

/* 4. OVERRIDE: Dark Arrow (For the stark white button ONLY) */
.white-pop-button .gb-shape svg path {
    fill: #1a1a1a !important; 
}


/* OPTIMIZATION: Isolate Hover Animations to Desktop Only */
@media (hover: hover) and (pointer: fine) {
    /* Global Button Lift on Hover */
    .button:hover, 
    .wp-block-button__link:hover,
    .glass-button:hover,
    .dark-glass-button:hover,
    .white-pop-button:hover {
        transform: translateY(-3px) !important; 
    }

    /* Standard Button Hover Colors */
    .button:hover, .wp-block-button__link:hover {
        background-color: #333333;
        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
        color: #ffffff;
    }
    
    /* Light Glass Button Hover */
    .glass-button:hover {
        background: rgba(255, 255, 255, 0.25) !important; 
        border: 1px solid rgba(255, 255, 255, 0.8) !important; 
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
    }
    
    /* Dark Glass Button Hover */
    .dark-glass-button:hover {
        background: rgba(0, 0, 0, 0.65) !important; 
        border: 1px solid rgba(255, 255, 255, 0.3) !important; 
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3) !important;
    }
    
    /* White Pop Button Hover */
    .white-pop-button:hover {
        background: #f8f8f8 !important; 
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3) !important;
    }

    /* Arrow Slide & Expand Hover Effect for ALL Buttons */
    .button:hover .gb-shape,
    .wp-block-button__link:hover .gb-shape,
    .glass-button:hover .gb-shape,
    .dark-glass-button:hover .gb-shape,
    .white-pop-button:hover .gb-shape {
        transform: translateX(6px) scale(1.15) !important; 
    }
}


/* ==========================================================================
   FOOTER & GLASS COLUMNS
   ========================================================================== */

.site-footer {
  margin-top: 50px;
}

/* STATIC GLASS COLUMNS */
.glass-column {
    border: 1px solid rgba(0, 0, 0, 0.05); 
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.03), 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.5em;
    margin-top: 20px;
    margin-botton: 20px;
}

.glass-column > .gb-button-wrapper,
.glass-column > .wp-block-buttons {
    margin-top: auto;
    padding-top: 30px;
}

/* Column Color Tints */
.glass-column.glass-tint-yellow { 
    background-color: rgba(255, 253, 230, 0.8); 
    border-color: rgba(212, 180, 0, 0.15); 
}
.glass-column.glass-tint-purple { 
    background-color: rgba(248, 240, 255, 0.8); 
    border-color: rgba(120, 0, 255, 0.15); 
}
.glass-column.glass-tint-blue { 
    background-color: rgba(235, 245, 255, 0.8); 
    border-color: rgba(0, 100, 255, 0.15); 
}

/* FOOTER MENU STYLING */
/* 1. Turn the vertical list into a horizontal row */
.site-footer ul.wp-block-navigation__container,
.site-footer nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; 
    align-items: center;
    padding: 0;
    margin: 0;
    list-style-type: none;
    gap: 15px; 
}

/* 2. Ensure each list item sits inline */
.site-footer ul li {
    display: inline-flex;
    align-items: center;
    margin: 0; 
}

/* 3. Add the | separator */
.site-footer ul li:not(:last-child)::after {
    content: "|";
    color: rgba(255, 255, 255, 0.4); 
    margin-left: 15px; 
    font-weight: 300;
}

/* 4. Simple Link Styling */
.site-footer ul li a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
}

/* 5. Clean Underline Hover Effect */
.site-footer ul li a:hover {
    text-decoration: underline;
    text-underline-offset: 4px; 
    text-decoration-thickness: 1px; 
}

/* ==========================================================================
   FORMINATOR CONTACT FORM STYLING
   ========================================================================== */

/* 1. Soften the input fields and text area */
.forminator-custom-form input.forminator-input,
.forminator-custom-form textarea.forminator-textarea {
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 8px !important; 
    background-color: rgba(255, 255, 255, 0.7) !important; 
    color: #1a1a1a !important; /* OPTIMIZATION: Forced dark text for visibility */
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02) !important; 
    padding: 12px 16px !important;
    transition: all 0.3s ease !important;
}

/* 2. Add a premium "glow" when the user clicks into a field */
.forminator-custom-form input.forminator-input:focus,
.forminator-custom-form textarea.forminator-textarea:focus {
    border-color: rgba(0, 100, 255, 0.4) !important; 
    box-shadow: 0 0 0 4px rgba(0, 100, 255, 0.1) !important; 
    background-color: #ffffff !important; 
    outline: none !important;
}

/* 3. Clean up the field labels */
.forminator-custom-form .forminator-label {
    font-weight: 600 !important;
    color: #333333 !important;
    margin-bottom: 8px !important;
}

/* 4. Match the Forminator Submit button to your Global Buttons */
.forminator-custom-form button.forminator-button-submit {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    padding: 14px 28px !important;
    border: none !important;
    border-radius: 8px !important; 
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08) !important;
}

/* Add the lift effect on hover (Only for desktop) */
@media (hover: hover) and (pointer: fine) {
    .forminator-custom-form button.forminator-button-submit:hover {
        background-color: #333333 !important;
        transform: translateY(-3px) !important;
        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15) !important;
    }
}

/* ==========================================================================
   RANK MATH BREADCRUMBS (Simplified & Centered)
   ========================================================================== */

/* Container baseline with Top & Bottom Borders */
   .rank-math-breadcrumb {
       margin-bottom: 30px; 
       text-align: center; 
       padding: 12px 0; /* Gives the text room to breathe between the borders */
       border-top: 1px solid rgba(0, 0, 0, 0.08); /* Soft top line */
       border-bottom: 1px solid rgba(0, 0, 0, 0.08); /* Soft bottom line */
   }

.rank-math-breadcrumb p {
    margin: 0;
    font-size: 14px;
}

/* Link styling */
.rank-math-breadcrumb p a {
    color: #0073aa; 
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.rank-math-breadcrumb p a:hover {
    color: #005177; 
    text-decoration: underline;
}

/* Separator styling */
.rank-math-breadcrumb .separator {
    color: #999999;
    margin: 0 8px; 
    font-size: 12px;
}

/* Current page text styling */
.rank-math-breadcrumb .last {
    color: #333333;
    font-weight: bold;
}
/* ==========================================================================
   SVG Icon Engine (Updated for Perfect Menu Alignment)
   ========================================================================== */

/* Base Icon Style (Single Element Method) */
 i[class^="fa-"], i[class*=" fa-"] {
   display: inline-block;
   width: 1.2em;  /* The square footprint */
   height: 1.2em; /* Matches the width */
   background-color: currentColor;
   
   /* Masking setup on the element itself */
   -webkit-mask-repeat: no-repeat;
   mask-repeat: no-repeat;
   -webkit-mask-size: contain;
   mask-size: contain;
   -webkit-mask-position: center;
   mask-position: center;
 
   /* The magic alignment sauce */
   vertical-align: middle; 
   position: relative;
   top: -0.10em; /* Tiny nudge to center it visually with the text caps */
   margin-right: 0.3em;
}
/* 1. Base Transition for all arrows */
i[class^="fa-arrow-"], i[class*=" fa-arrow-"] {
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* 2. Horizontal Arrows (Nudge effect) */
a:hover .fa-arrow-right, button:hover .fa-arrow-right { transform: translateX(5px); }
a:hover .fa-arrow-left,  button:hover .fa-arrow-left  { transform: translateX(-5px); }

/* 3. Vertical Arrows (Bounce effect) */
@keyframes arrow-v-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}

@keyframes arrow-v-bounce-up {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

a:hover .fa-arrow-down, button:hover .fa-arrow-down { 
  animation: arrow-v-bounce 0.8s infinite ease-in-out; 
}

a:hover .fa-arrow-up, button:hover .fa-arrow-up { 
  animation: arrow-v-bounce-up 0.8s infinite ease-in-out; 
}

/* 4. Spacing Fix (Ensures arrows at the end of text have proper room) */
.fa-arrow-right, .fa-arrow-down {
  margin-left: 0.5em;
  margin-right: 0;
}

/* Spacing for arrows at the start of text */
.fa-arrow-left, .fa-arrow-up {
  margin-right: 0.5em;
  margin-left: 0;
}
/* --- Reset Icon Alignment Inside Buttons --- */
.button i[class^="fa-"], 
.button i[class*=" fa-"],
.wp-block-button__link i[class^="fa-"], 
.wp-block-button__link i[class*=" fa-"] {
  top: 0; /* Removes the menu nudge */
  vertical-align: baseline; /* Lets the button's flexbox do the centering */
  margin-left: 5px; margin-right: 5px;
}
/* Specific Icon Mappings */
.fa-home {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/%3E%3C/svg%3E");
}
.fa-th-large {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-280 0h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H16c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm0 288h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H16c-13.255 0-24-10.745-24-24V344c0-13.255 10.745-24 24-24zm280 0h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V344c0-13.255 10.745-24 24-24z'/%3E%3C/svg%3E");
}
.fa-clock-o {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z'/%3E%3C/svg%3E");
}
.fa-download {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 384v80c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48v-80c0-13.3 10.7-24 24-24h105.4c12.2 0 23.5 6.6 29.6 17.4L186.2 448h139.6l27.1-46.6c6.1-10.8 17.4-17.4 29.6-17.4H488c13.3 0 24 10.7 24 24z'/%3E%3C/svg%3E");
}
.fa-heart {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z'/%3E%3C/svg%3E");
}
.fa-book {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448 360V24c0-13.3-10.7-24-24-24H84.1C38 0 0 38 0 84.1v343.8C0 474 38 512 84.1 512h339.9c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H84.1c-11.5 0-20.9-9.4-20.9-20.9S72.6 400 84.1 400H424c13.3 0 24-10.7 24-24z'/%3E%3C/svg%3E");
}
.fa-print {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z'/%3E%3C/svg%3E");
}
.fa-camera {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z'/%3E%3C/svg%3E");
}
.fa-image, .fa-photo, .fa-picture-o {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.93 0-56 25.07-56 56s25.07 56 56 56 56-25.07 56-56-25.07-56-56-56zM64 384h384V272l-87.51-87.51c-6.25-6.25-16.38-6.25-22.63 0L208 314.06l-73.37-73.37c-6.25-6.25-16.38-6.25-22.63 0L64 288v96z'/%3E%3C/svg%3E");
}
.fa-map-marker {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E");
}
.fa-cloud {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z'/%3E%3C/svg%3E");
}
.fa-envelope {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z'/%3E%3C/svg%3E");
}
.fa-cutlery {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 416 512'%3E%3Cpath d='M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 480c0 17.6-14.4 32-32 32s-32-14.4-32-32l12.9-231.4c-41.1-15-68.9-52.3-68.9-104.6 0-34.3 15.3-124.1 16.1-128.8.6-3.8 4.6-6.4 8.4-5.5 49.3 11 93.3 11 142.6 0 3.8-.9 7.8 1.7 8.4 5.5zM416 32v159.2c0 23.7-13.6 44.8-34.9 54.9L368 480c0 17.6-14.4 32-32 32s-32-14.4-32-32l-13.1-233.9C269.6 236 256 214.9 256 191.2V32c0-17.6 14.4-32 32-32s32 14.4 32 32v128h16V32c0-17.6 14.4-32 32-32s32 14.4 32 32z'/%3E%3C/svg%3E");
}
.fa-dollar, .fa-usd {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 288 512'%3E%3Cpath d='M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C76.3 64 48 92.3 48 127.5c0 38.3 27 71.9 64.5 82.8l108 31.6c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C133.7 299.7 121.7 296 111.7 289.2c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c33.2-.9 60.5-29.2 60.5-63.3 0-38.3-27-71.9-64.5-82.8z'/%3E%3C/svg%3E");
}

.fa-file-image-o, .fa-file-photo-o, .fa-file-picture-o {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-39.4-84.6-29.5-28.8 7.6-41.7 36.8-42.5 38.5V312c0-13.3-10.7-24-24-24H104c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h181.7c4.6 0 8.9-2.2 11.6-5.9l46.3-64.6c4.3-6 4.6-13.9 1-20.2l-46.4-76.4zm-120.6 57.9c4.2-5.3 15-16.1 27.6-19.4 12.3-3.2 24.5 2.1 33.7 11.1l29.6 48.7-28 39.1H133.4l44.2-79.5zM128 256c22.1 0 40-17.9 40-40s-17.9-40-40-40-40 17.9-40 40 17.9 40 40 40z'/%3E%3C/svg%3E");
}
.fa-diamond {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M378.7 32H133.3L43.6 156.4c-4 5.5-4 13.1 0 18.6l202.4 276.4c5.1 7.1 15.8 7.1 20.9 0L468.4 175c4-5.5 4-13.1 0-18.6L378.7 32zM151.7 64h208.7l50.8 70.8h-74.9l-49.2-70.8h-61.9l-49.2 70.8H100.9L151.7 64zM256 384l-145-198.1h102.3l42.7 85.5 42.7-85.5H401L256 384z'/%3E%3C/svg%3E");
}
.fa-man-woman {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M8 3c0 1.657-1.343 3-3 3s-3-1.343-3-3c0-1.657 1.343-3 3-3s3 1.343 3 3zM26 3c0 1.657-1.343 3-3 3s-3-1.343-3-3c0-1.657 1.343-3 3-3s3 1.343 3 3zM8 8H2C.895 8 0 8.895 0 10v10h2v12h2.5v-12h1v12H8v-12h2v-10c0-1.105-.895-2-2-2zM30.469 16l1.531-1.109-4.165-6.441a.987.987 0 0 0-.835-.45h-8a.987.987 0 0 0-.835.45l-4.165 6.441 1.531 1.109 3.458-4.487 1.202 2.804-4.191 7.683h3.833l.667 10h2v-10h1v10h2l.667-10h3.833l-4.191-7.683 1.202-2.804 3.458 4.487z'/%3E%3C/svg%3E");
}
.fa-graduation-cap {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14.1-57l86.5-20.8c10.6-2.5 10.6-17.5 0-20l-212-51.1c-7.9-1.9-16.1-1.9-24 0L13.6 59.8c-10.6 2.5-10.6 17.5 0 20z'/%3E%3C/svg%3E");
}
.fa-family {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M78.6 118.9c22.9 0 41.4-18.6 41.4-41.4 0-22.9-18.5-41.4-41.4-41.4-22.9 0-41.4 18.5-41.4 41.4 0 22.8 18.6 41.4 41.4 41.4zM255.7 228.7v.1c.1 0 .2 0 .3 0 .1 0 .2 0 .3 0v-.1c15.6-.3 28.1-13 28.1-28.6 0-15.6-12.5-28.3-28.1-28.6v-.1c-.1 0-.2 0-.3 0-.1 0-.2 0-.3 0v.1c-15.6.3-28.1 13-28.1 28.6 0 15.6 12.5 28.2 28.1 28.6zM433.4 118.9c22.9 0 41.4-18.6 41.4-41.4 0-22.9-18.5-41.4-41.4-41.4-22.9 0-41.4 18.5-41.4 41.4 0 22.8 18.6 41.4 41.4 41.4zM470.1 138.6h-36.3h-18.4c-21.1 0-40.4 11.8-50 30.6l-33.5 98c-1.2 2.2-3.3 3.8-5.8 4.3-2.5.4-5-.3-6.9-2l-20.8-18c-6.2-5.8-14.4-9-22.9-9H256h-19.4c-8.5 0-16.7 3.2-22.9 9l-20.8 18c-1.9 1.7-4.4 2.5-6.9 2-2.5-.4-4.6-2-5.8-4.3l-33.5-98c-9.6-18.8-28.9-30.6-50-30.6H78.2H41.9C21.8 138.6 0 160.4 0 180.5v139.2c0 10 8.1 18.2 18.2 18.2 4.9 0 0 0 12.7 0l6.9 118.7c0 10.7 8.7 19.3 19.3 19.3 4.5 0 12.8 0 21.1 0 8.3 0 16.6 0 21.1 0 10.7 0 19.3-8.7 19.3-19.3l6.9-118.7l-.1-84.8c0-1.3.9-2.5 2.2-2.8 1.3-.3 2.6.3 3.3 1.5l26.6 65.4c3.2 6.3 9.2 10.7 16.1 11.9 6.9 1.2 14-.8 19.2-5.6l25.4-18.7c.9-.8 2.1-1 3.1-.5 1.1.5 1.7 1.5 1.7 2.7l.1 73.5l4.8 82.2c0 7.4 6 13.4 13.4 13.4 3.1 0 8.9 0 14.6 0 5.8 0 11.5 0 14.6 0 7.4 0 13.4-6 13.4-13.4l4.8-82.2l.1-73.5c0-1.1.7-2.2 1.7-2.7 1.1-.4 2.3-.2 3.1.5l25.4 18.7c5.2 4.8 12.3 6.8 19.2 5.6 6.9-1.2 12.9-5.6 16.1-11.9l26.6-65.4c.6-1.2 2-1.8 3.3-1.5 1.3.3 2.2 1.5 2.2 2.8l-.1 84.8l6.9 118.7c0 10.7 8.7 19.3 19.3 19.3 4.5 0 12.8 0 21.1 0 8.3 0 16.6 0 21.1 0 10.7 0 19.3-8.7 19.3-19.3l6.9-118.7c12.7 0 7.7 0 12.7 0 10 0 18.2-8.1 18.2-18.2V180.5C512 160.4 490.2 138.6 470.1 138.6z'/%3E%3C/svg%3E");
}
.fa-arrow-left {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z'/%3E%3C/svg%3E");
}
.fa-arrow-right {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");
}
.fa-arrow-up {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z'/%3E%3C/svg%3E");
}
.fa-arrow-down {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z'/%3E%3C/svg%3E");
}
.fa-house { 
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M280.4 148.3L96 300.1V464c0 8.8 7.2 16 16 16l112.1-.3c8.8 0 15.9-7.2 15.9-16V368c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v95.6c0 8.8 7.2 16 16 16.1l112.1-.1c8.8 0 16-7.2 16-16V300L295.7 148.3c-4.3-3.6-11-3.6-15.3 0zM571.6 251.5L488 182.6V44.1c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12v72.6L318.5 43c-16.7-14.1-42.3-14.1-61 0L4.3 251.5c-5.1 4.2-5.8 11.8-1.6 16.9l25.5 31c4.2 5.1 11.8 5.8 16.9 1.6l235.2-193.7c4.3-3.6 11-3.6 15.3 0l235.2 193.7c5.1 4.2 12.7 3.5 16.9-1.6l25.5-31c4.3-5.2 3.6-12.7-1.7-16.9z'/%3E%3C/svg%3E"); 
}
.fa-bride, .fa-bridal {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 16c-17.7 0-32 14.3-32 32s14.3 32 32 32c8.8 0 16-7.2 16-16s-7.2-16-16-16zm-76 100c-13.3 0-24 10.7-24 24v32c0 10.6 6.8 19.6 16.4 22.8L216 240v20L84 464c-8.5 14.5 2 32 18.9 32h306.2c16.9 0 27.4-17.5 18.9-32L296 260v-20l43.6-45.2c9.6-3.2 16.4-12.2 16.4-22.8v-32c0-13.3-10.7-24-24-24H180z'/%3E%3C/svg%3E");
}

.fa-review { 
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z'/%3E%3C/svg%3E"); 
}