/*
Theme Name: Annalee FTM
Theme URI:
Description: Custom Theme
Author: First Tracks
Author URI: http://firsttracksmarketing.com
Template: _ftm
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags:
Text Domain: annalee
*/

.woocommerce-info[data-type="swell"] {
    border-color: var(--dark_red);
}

/* Hide confusing refresh captcha link from guest checkout */
#refresh_captcha a {
	display: none;
}

/* mukta-regular - latin */
@font-face {
    font-family: 'Mukta';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/mukta-v6-latin-regular.eot');
    /* IE9 Compat Modes */
    src: local('Mukta Regular'), local('Mukta-Regular'),
        url('fonts/mukta-v6-latin-regular.eot?#iefix') format('embedded-opentype'),
        /* IE6-IE8 */
        url('fonts/mukta-v6-latin-regular.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('fonts/mukta-v6-latin-regular.woff') format('woff'),
        /* Modern Browsers */
        url('fonts/mukta-v6-latin-regular.ttf') format('truetype'),
        /* Safari, Android, iOS */
        url('fonts/mukta-v6-latin-regular.svg#Mukta') format('svg');
    /* Legacy iOS */
    font-display: block;
}

/* mukta-700 - latin */
@font-face {
    font-family: 'Mukta';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/mukta-v6-latin-700.eot');
    /* IE9 Compat Modes */
    src: local('Mukta Bold'), local('Mukta-Bold'),
        url('fonts/mukta-v6-latin-700.eot?#iefix') format('embedded-opentype'),
        /* IE6-IE8 */
        url('fonts/mukta-v6-latin-700.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('fonts/mukta-v6-latin-700.woff') format('woff'),
        /* Modern Browsers */
        url('fonts/mukta-v6-latin-700.ttf') format('truetype'),
        /* Safari, Android, iOS */
        url('fonts/mukta-v6-latin-700.svg#Mukta') format('svg');
    /* Legacy iOS */
    font-display: block;
}

/* mukta-800 - latin */
@font-face {
    font-family: 'Mukta';
    font-style: normal;
    font-weight: 800;
    src: url('fonts/mukta-v6-latin-800.eot');
    /* IE9 Compat Modes */
    src: local('Mukta ExtraBold'), local('Mukta-ExtraBold'),
        url('fonts/mukta-v6-latin-800.eot?#iefix') format('embedded-opentype'),
        /* IE6-IE8 */
        url('fonts/mukta-v6-latin-800.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('fonts/mukta-v6-latin-800.woff') format('woff'),
        /* Modern Browsers */
        url('fonts/mukta-v6-latin-800.ttf') format('truetype'),
        /* Safari, Android, iOS */
        url('fonts/mukta-v6-latin-800.svg#Mukta') format('svg');
    /* Legacy iOS */
    font-display: block;
}


/* pompiere-regular - latin */
@font-face {
    font-family: 'Pompiere';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/pompiere-v8-latin-regular.eot');
    /* IE9 Compat Modes */
    src: local('Pompiere '), local('Pompiere-Regular'),
        url('fonts/pompiere-v8-latin-regular.eot?#iefix') format('embedded-opentype'),
        /* IE6-IE8 */
        url('fonts/pompiere-v8-latin-regular.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('fonts/pompiere-v8-latin-regular.woff') format('woff'),
        /* Modern Browsers */
        url('fonts/pompiere-v8-latin-regular.ttf') format('truetype'),
        /* Safari, Android, iOS */
        url('fonts/pompiere-v8-latin-regular.svg#Pompiere') format('svg');
    /* Legacy iOS */
    font-display: block;
}






/* Variable overrides for this theme */
:root {

    --gutter_width: 5vw;
    --space_unit: 1rem;

    --text_font: 'Mukta';
    --text_color: #303133;

    --heading_font: 'Pompiere';
    --heading_color: var(--text_color);

    --blue: #1184c8;
    /* "Exclusive" badges */
    --blue_dark: #1b227a;
    /* Swell tier header on /rewards/ page */

    --green: #44892d;
    /* Swell tier header on /rewards/ page */

    --red: #c81e11;
    --red_dark: #6d1b25;

    --lavender: #a8b0d8;

    --primary_color: var(--red);
    --secondary_color: var(--red_dark);

    --gray_light: #dadada;
}

/* 18/30 */
body {
    font-size: 1.125em;
    line-height: 1.6666;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
}

/* 31/42 */
h1,
h2,
h3 {
    font-size: 1.7222em;
    line-height: 1.3548;
}

/* 26/35 */
h4 {
    font-size: 1.4444em;
    line-height: 1.34615;
}

/* These h2s are styled like h4s (single product page custom heading set on product tags) */
h2.al-product-tag-custom-heading {
    font-size: 1.4444em;
    line-height: 1.34615;
}

/* No links have underlines :( */
a {
    text-decoration: none;
}


.angle-right,
.angle-right:after {
    font-weight: bold;
}

@media(min-width:45em) {

    /* 720 */

    /* 45/56 */
    h2 {
        font-size: 2.5em;
        line-height: 1.24444;
    }

}



/* Accordion buttons */
.ps-accordion-item {
    margin: 1rem 0;
}

button.accordionTitle {
    display: block;
    background-color: transparent;
    border: 1px solid var(--border_color);
    border-radius: var(--border_radius);
    position: relative;
    padding-right: 2rem;
    font-weight: bold;
    color: inherit;
}

button.accordionTitle::after {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

/* Active toggle buttons get gray background */
button.accordionTitle.toggled {
    background-color: var(--border_color);
}






/* Temp? Based on my-account mockup */
label {
    font-weight: bold;
}

label.woocommerce-form-login__rememberme {
    font-weight: normal;
    font-size: 0.8888em;
    line-height: 1.5;
    display: inline-block;
    margin-bottom: 1em;
}

#customer_login button {
    width: 100%;
}

.woocommerce-LostPassword {
    text-align: center;
}



/* Register form on my-account page gets light gray background-color */
/* Override parent theme styles */
#customer_login.col2-set {
    display: block;
}

#customer_login.col2-set .col-1,
#customer_login.col2-set .col-2 {
    width: auto;
}

/* Styles for this site */
#customer_login {
    width: 100%;
    max-width: var(--max_width_wide);
    margin: 0 auto;
}

.woocommerce-account.logged-out .entry-content {
    margin: 0;
    padding: 0;
}

.woocommerce-account.logged-out .entry-content-wrapper {
    /*max-width: none;*/
}

.woocommerce-account.logged-out .entry-content .woocommerce-notices-wrapper {
    padding: 0 var(--gutter_width);
}

.woocommerce-account.logged-out .entry-content .woocommerce-notices-wrapper>* {
    max-width: var(--max_width_wide);
    margin: 0 auto;
}

#customer_login.col2-set .col-1 {
    padding: var(--space_large) var(--gutter_width);
}

#customer_login.col2-set .col-2 {
    padding: var(--space_xlarge) var(--gutter_width) var(--space_large);
}

#customer_login .col-2 {
    background-color: var(--gray_xlight);
}

/* These forms reach a max-width */
#customer_login h2,
#customer_login form {
    max-width: 476px;
    margin: 0 auto;
}


@media(min-width:45em) {

    #customer_login.col2-set .col-1 {
        padding-top: var(--space_xlarge);
        padding-bottom: var(--space_xxlarge);
    }

    #customer_login.col2-set .col-2 {
        padding-top: var(--space_xxlarge);
        padding-bottom: var(--space_xxlarge);
    }

}

/* At some point these do go to columns */
@media(min-width:64em) {

    .woocommerce-account.logged-out .entry-content {
        padding: 0 var(--gutter_width);
        position: relative;
    }

    .woocommerce-account.logged-out:not(.woocommerce-lost-password) .entry-content:after {
        content: '';
        display: block;
        position: absolute;
        left: 50%;
        right: 0;
        bottom: 0;
        top: -44px;
        z-index: -1;
        background-color: var(--gray_xlight);
    }

    .woocommerce-account.logged-out .entry-content .woocommerce-notices-wrapper {
        padding: 0;
    }

    #customer_login.col2-set {
        display: flex;
        justify-content: space-between;
    }

    #customer_login.col2-set .col-1 {
        padding-left: 0;
    }

    #customer_login.col2-set .col-2 {
        padding-right: 0;
        padding-top: var(--space_xlarge);
    }

}





/* Headings in content don't use heading font */
/* They're also sized differently */
.entry-content h2,
.entry-content h3,
.entry-content h4 {
    /* 21/31 */
    font-size: 1.1666em;
    font-weight: bold;
    font-family: var(--text_font);
    line-height: 1.476190;
    margin-top: var(--space_xlarge);
    margin-bottom: 0;
}


@media(min-width: 37.5em) {

    /* 26/35 */
    .entry-content h2,
    .entry-content h3,
    .entry-content h4 {
        font-size: 1.4444em;
        line-height: 1.34615;
    }

}





/* Buttons are 16/24 */
button,
.button {
    padding: var(--space_xxsmall) var(--space_normal);
    border: none;
    font-size: 0.8888em;
    border-radius: 1.5em;
}

.button.green {
    background-color: var(--green);
}

.button.ghost-red {
    background-color: transparent;
    border: 1px solid currentColor;
    color: var(--red);
}
.added_to_cart {
    display: none !important;
}

/* TODO: field border radius and button border radius should be related, but textarea are at 4px and text are at 25 (0r 50%) */
input,
textarea,
select {
    padding: var(--space_xxsmall) var(--space_normal);
}



/* 3-18-21 - Retired buttons are inverted (these only show in searches) */
.product_tag-retired-designs a.button {
    border: 1px solid currentColor;
    background-color: white;
    color: var(--primary_color);
}



/* Shop The Image popups stay pretty narrow */
.ft-popup[data-ft-popup-context*="shop-the-image-button"] .ft-popup-content {
    max-width: 480px;
}

/*
.product-inner .ajax_add_to_cart.added::before {
	content: 'Added';
}
*/
























/* Single posts */
.entry-title {
    font-size: 1.7222em;
    margin: 0;
}





.entry-title a {
    color: inherit;
    text-decoration: none;
}

/* Taxonomies display above the post title */
.entry-header {
    display: flex;
    flex-direction: column-reverse;
}



/* Post Terms and Dates */
.ftm-post-meta {
    font-size: 0.8888em;
    line-height: 1.5;
}

.ftm-post-meta a {
    text-decoration: none;
}

.ftm-post-meta,
.ftm-post-meta-dd {
    margin: 0;
    display: inline;
}

.ftm-post-meta-dd {
    margin: 0 0.5em 0 0;
    display: inline;
}

/* Just terms */
.ftm-posted-in-tax {
    display: inline;
}

.ftm-posted-in-tax dd {
    margin: 0;
    display: inline-block;
    font-weight: bold;
}

/* Just dates */
.posted-on-dd dl {
    display: inline;
    margin: 0;
}

.posted-on-dd dd {
    display: inline-block;
    margin: 0;
}

/* Add a comma after terms unless it's the last one */
.ftm-posted-in-tax dd:after {
    content: ',';
}

.ftm-posted-in-tax.last-tax dd.last-term:after {
    display: none;
}


/* 12-21-20 - Added a catalog post type - those won't show post meta */
article.type-catalog .ftm-post-details {
    display: none;
}


@media(min-width: 37.5em) {



    /* 46/56 */
    .entry-title {
        font-size: 2.5555em;
        line-height: 1.217391304347826;
    }

    .ftm-post-details {
        /* margin-bottom: var(--space_normal); */
    }

    /* 18/30 */
    .ftm-post-meta {
        font-size: inherit;
        line-height: inherit;
    }

}





/* Post Sharing */
.ftm-post-share li {
    color: var(--primary_color);
}




/* All images in articles get rounded corners and a border */
img[class^="attachment-"] {
    border-radius: 10px;
    border: 1px solid var(--gray_light);
}










/* Images with captions */
figure {
    margin: var(--space_large) 0;
}

figcaption {
    font-size: 0.875em;
}

/* Blockqoutes in regular content */
blockquote {
    font-size: 1.1666em;
    line-height: 1.47619;
    margin: var(--space_large) 0;
}




/* Site Header */


/* Mobile Menu */
.mobile-menu {
    padding: 0;
}

.main-navigation .menu>li {
    font-weight: bold;
    border-top: 1px solid var(--gray_light);
}

.main-navigation .menu.main-menu>li:first-child {
    border-top: none;
}

/* 21/31 */
.main-navigation .menu>li>a {
    font-size: 1.16666em;
    line-height: 1.476190;
}

.main-navigation a[aria-current="page"] {
    color: var(--red);
}

.main-navigation .sub-menu-toggle {
    font-size: 1em;
}

.main-navigation .menu .sub-menu {
    font-weight: normal;
}

.main-navigation .sub-menu li {
    padding-left: 0;
    padding-top: var(--space_xxsmall);
    padding-bottom: var(--space_xxsmall);
}

.main-navigation .sub-menu li:first-child {
    padding-top: var(--space_xsmall);
}

.main-navigation .menu>li.toggled {
    padding-bottom: var(--space_xsmall);
}

.al-primary-menu-extra a {
    display: flex;
    align-items: center;
}

.extra-menu-icon {
    color: var(--red);
    margin-right: var(--space_xsmall);
}

a[aria-current="page"] .extra-menu-icon {
    color: var(--text_color);
}


@media(min-width: 78.75em) {

    /* Sub menus */
    .main-navigation li.menu-item-has-children {
        position: relative;
    }

    .menu-item-has-children>a {
        max-width: none;
    }

    .main-navigation .menu>li.toggled {
        padding-bottom: 0;
    }

    .main-navigation .menu>li.toggled>.sub-menu,
    .main-navigation .menu>li:hover>.sub-menu {
        position: absolute;
        top: 100%;
        left: auto;
        right: 0;
        width: auto;
        z-index: 12;
        visibility: visible;
        transform: scale(1);

        background-color: #fff;
        padding: var(--space_xxsmall) var(--space_normal) var(--space_xsmall);
        border: 1px solid var(--gray_light);
        border-radius: 10px;
        box-shadow: var(--box_shadow);
    }

    .sub-menu a {
        white-space: nowrap;
    }
}



/* Post Archives */

/* 2-10-20 - Added new catalog post type which displays differntly than others ;/ */
.post-type-archive-catalog .archive-posts,
.tax-catalog_year .archive-posts {
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 1.5rem;
}

.post-type-archive-catalog .entry-title.archive,
.tax-catalog_year .entry-title.archive {
    font-size: 0.8em;
    font-weight: normal;
}

/* 5-4-22 - Added styles for pagination */
.ftm-posts-pagination-nav {
    border-top: 1px solid var(--border_color);
}

.ftm-posts-pagination-nav-inner {
    padding-top: var(--space_large);
    line-height: 1;
}

.ftm-posts-pagination {
    align-items: center;
}

.ftm-posts-pagination .menu.inline {
    display: flex;
    margin: 0 -4px;
}

.ftm-posts-pagination .menu.inline li {
    margin: 0 4px;
}

.ftm-posts-pagination .page-numbers {
    display: flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    border: 1px solid var(--border_color);
}

.ftm-posts-pagination .prev-next .page-numbers,
.ftm-posts-pagination .page-numbers.dots {
    width: auto;
    border-radius: 0;
    border: none;
}

.ftm-posts-pagination .page-numbers.current {
    border-color: transparent;
    background-color: var(--red_dark);
    color: white;
}

/* Prev/Next text doesn't show until bigger size */
.prev-next-text {
    position: absolute;
    left: -9999em;
}

.prev-next-icon {
    font-size: 1.75rem;
}

/* Limit the number of page links */
li.nav-link.before-current,
li.nav-link.after-current {
    display: none;
}

/* Need some extra room for next/prev links at smallest size */
.prev-next.prev-link {
    margin-left: -8px;
}

.prev-next.next-link {
    margin-right: -8px;
}

@media(min-width: 30em) {
    /* 480px */

    /* Limit the number of page links */
    li.nav-link.before-current,
    li.nav-link.after-current {
        display: block;
    }

    /* Need some extra room for next/prev links at smallest size */
    .prev-next.prev-link {
        margin-left: 0;
    }

    .prev-next.next-link {
        margin-right: 0;
    }

}



/* Archive filters */
.page-section.archive-filters {
    margin: var(--space_large) 0;
}

.archive-filters-inner {
    max-width: var(--max_width_wide);
    margin-left: auto;
    margin-right: auto;
}

/* There can be more than one archive filter (Product Archives post type) */
.archive-filter-nav+.archive-filter-nav {
    margin-top: var(--space_normal);
}

.archive-filters-menu {
    padding-top: var(--space_small);
}

.archive-filters-menu a {
    color: inherit;
}

.archive-filters-menu .current-cat a {
    font-weight: bold;
}

.archive-filters-menu li ul {
    list-style: none;
    margin: 0;
    padding-left: 1em;
}

@media(min-width: 37.5em) {

    /* 2-10-20 - Added new catalog post type which displays differntly than others ;/ */
    .post-type-archive-catalog .archive-posts,
    .tax-catalog_year .archive-posts {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media (min-width: 48em) {




    /* Archive filters for the blog now displayed inline across the top of the page */
    .archive-filter-nav.category button {
        display: none;
    }

    .archive-filter-container.category {
        padding-bottom: var(--space_normal);
        border-bottom: 1px solid var(--border_color);
    }

    .archive-filter-nav.category .archive-filter-container.toggled-off {
        visibility: visible;
        position: static;
        transform: scale(1);
        opacity: 1;
    }

    .archive-filter-nav.category .archive-filters-menu {
        padding-top: 0;
        display: flex;
        margin-left: calc(-1 * var(--space_normal));
        margin-right: calc(-1 * var(--space_normal));
    }

    .archive-filter-nav.category .archive-filters-menu li {
        padding: 0 var(--space_normal);
    }


    /* 2-10-20 - Added new catalog post type which displays differntly than others ;/ */
    .post-type-archive-catalog .archive-posts,
    .tax-catalog_year .archive-posts {
        grid-template-columns: repeat(4, 1fr);
    }

    /* Archive filters for the blog now displayed inline across the top of the page */
    .archive-filter-nav.catalog_year button {
        display: none;
    }

    .archive-filter-container.catalog_year {
        padding-bottom: var(--space_normal);
        border-bottom: 1px solid var(--border_color);
    }

    .archive-filter-nav.catalog_year .archive-filter-container.toggled-off {
        visibility: visible;
        position: static;
        transform: scale(1);
        opacity: 1;
    }

    .archive-filter-nav.catalog_year .archive-filters-menu {
        padding-top: 0;
        display: flex;
        margin-left: calc(-1 * var(--space_normal));
        margin-right: calc(-1 * var(--space_normal));
    }

    .archive-filter-nav.catalog_year .archive-filters-menu li {
        padding: 0 var(--space_normal);
    }




}

@media (min-width: 64em) {

    /* 2-10-20 - Added new catalog post type which displays differntly than others ;/ */
    /*
	.post-type-archive-catalog .archive-posts {
		grid-template-columns: repeat(4, 1fr);
	}
	*/
    /* 2-10-20 - Added new catalog post type which displays differntly than others ;/ */
    .post-type-archive-catalog .archive-posts,
    .tax-catalog_year .archive-posts {
        grid-template-columns: repeat(6, 1fr);
    }


    /* Archive filters for the product archives post type now displayed as a sidebar */
    .post-type-archive-product_archives .archive-filters,
    .tax-product_archives_cat .archive-filters,
    .tax-product_archives_tag .archive-filters {
        margin-top: 0;
        float: left;
        width: 30%;
        padding-right: 20px;
    }

    .post-type-archive-product_archives .archive-posts-wrapper,
    .tax-product_archives_cat .archive-posts-wrapper,
    .tax-product_archives_tag .archive-posts-wrapper {
        float: right;
        width: 70%;
        padding-left: 20px;
    }

    .post-type-archive-product_archives .archive-posts,
    .tax-product_archives_cat .archive-posts,
    .tax-product_archives_tag .archive-posts {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (min-width: 75em) {



    .post-type-archive-product_archives .site-main,
    .tax-product_archives_cat .site-main,
    .tax-product_archives_tag .site-main {
        max-width: 1336px;
        margin: 0 auto;
    }

    .post-type-archive-product_archives .archive-posts,
    .tax-product_archives_cat .archive-posts,
    .tax-product_archives_tag .archive-posts {
        grid-template-columns: repeat(3, 1fr);
    }
}


/* 2-1-23 - Always start 2-across now */
.archive-posts {
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: var(--space_large);
}



@media(min-width: 37.5em) {

    .archive-posts {
        grid-template-columns: repeat(2, 1fr);
    }


}



@media(min-width: 64em) {

    .archive-posts {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: var(--space_xlarge);
    }

    .post-grid-archive-posts .archive-posts {
        grid-template-columns: repeat(4, 1fr);
    }

}


/* Page headers */





/* Archive Posts */
.archive-entry-header {
    display: flex;
    flex-direction: column-reverse;
}

.entry-title.archive {
    font-family: inherit;
    font-size: 1.1666em;
    line-height: 1.47619;
    font-weight: bold;
}





/* WC Product Filters */

/* Widget area toggle button */
.sidebar-shop-toggle {
    border: 1px solid var(--gray_light);
    border-radius: var(--border_radius);
    background: none;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: var(--space_xsmall);
    padding-bottom: var(--space_xsmall);

    font-size: 0.7777em;
    font-weight: bold;
    color: var(--heading_color);
}

/* Uses angle down/up */
.sidebar-shop-toggle:after {
    font-family: 'ftm' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    content: "\f107";

    font-size: 1.25em;
    margin-left: 0.5em;
}

.sidebar-shop-toggle.toggled:after {
    content: "\f106";
}

a.product-details {
    color: var(--heading_color, inherit);
    text-decoration: underline;
    padding-right: 20px;
}

/* Collapsable widgets */
.widget-toggle {
    width: 100%;
    background: none;
    padding: var(--space_normal) 0;
    display: flex;
    align-items: center;
    border-radius: var(--border_radius);
    font-weight: bold;
    color: var(--heading_color);
}

.widget-toggle:after {
    font-family: 'ftm' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    content: "\f107";

    font-size: 1.25em;
    margin-left: auto;

}

.widget-toggle.toggled:after {
    content: "\f106";
}


.widget.collapsable {
    border-bottom: 1px solid var(--gray_light);

}



/* Active filters widget */
/* Hide the title for this widget */
.widget_layered_nav_filters .widget-title {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.widget_layered_nav_filters ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(-1* var(--space_xxsmall));
    margin-right: calc(-1* var(--space_xxsmall));
}

.widget_layered_nav_filters li {
    margin: var(--space_xxsmall);
}

.widget_layered_nav_filters li a {
    font-size: 0.7777em;
    border: 1px solid var(--gray_light);
    padding: var(--space_xxsmall) var(--space_xsmall);
    border-radius: 1.5em;

    color: inherit;
    text-decoration: none;
}

.widget_layered_nav_filters a:before {
    display: none;
}

.widget_layered_nav_filters a:after {
    font-family: 'ftm' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: '\f00d';
    margin-left: 0.5em;
}

/* wc product archive badges */
.product-inner .onsale {
    left: var(--space_small);
    line-height: 1;
    font-size: 0.7777em;
    background-color: var(--red);
    color: #fff;
    border-radius: 0 0 4px 4px;

    left: 7px;
    font-size: 12px;
    border-radius: 4px;
    transform: translateY(-50%);
    display: flex;
    padding: 5px;
}

span.only-x-left-text {
    margin-left: var(--space_xxxsmall);
}

/* We're adding a custom badge to anything in the Exclusives category */
.product-inner .onsale.exclusive {
    background-color: var(--blue);
}

.onsale.exclusive .ftmicon-heart {
    font-size: 0.875em;
    margin-right: 5px;
}

/* If they're both showing we'll need to reposition one */
.sale .product-inner .onsale.exclusive {
    left: 60px;
}

/* WC product lists start at 1 column */
ul.products {
    /* grid-template-columns: repeat(1, 1fr); */
    /* 2-1-23 - Change to 2 columns */
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--space_xlarge);
}

h2.woocommerce-loop-product__title {
    font: inherit;
    font-weight: bold;
    margin: var(--space_normal) 0 0;
}

.ftm-parent-shop-loop-after-title-wrapper {
    margin-bottom: var(--space_xsmall);
}

.product-sku:not(.ant-table-cell) {
    display: inline-block;
    font-size: 0.8888em;
    line-height: 1.5;
    margin-right: 0.5em;
}


/* 4-28-22 - "Site Improvements" - Change product grid heading styles to match homepage product grid heading styles. */
.products>h2 {
    text-align: center;

}

.products>h2::after {
    content: '';
    display: block;
    width: 70px;
    height: 6px;
    background-image: url(images/zig-zag.svg);
    margin: var(--space_small) auto;
}

/* 5-14-19 Might not need this anymore (dequeued 1 yotpo stylesheet in woocommerce.php) */
.yotpo.bottomLine:empty {
    display: none;
}

/* Hide the "x reviews" text in archive views */
.yotpo-small .text-m {
    display: none;
}

ul.products .price,
.archive-post.product .price {
    display: flex;
    flex-direction: row-reverse;
    align-items: baseline;
    justify-content: flex-end;
    font-size: 1.1666em;
    line-height: 1.47619;
    font-weight: bold;
}

.price del {
    text-decoration: none;
    font-size: 0.760914em;
    line-height: 1.5;
    color: var(--gray_dark);
    font-weight: normal;
    margin-left: 0.5em;
}

.price del:before {
    content: 'Reg ';
}

.price ins {
    text-decoration: none;
}


/* Products shown in popup are always 1 column, display asd rows */

/* Bundled products in Shop The Image sections get styled full-width */
.ft-popup[data-ft-popup-context*="shop-the-image-button"] .ft-popup-html {
    padding: 0;
}


.ft-popup ul.products {
    display: block;
}

.ft-popup li.product {
    padding: 0 var(--space_large);

}

.ft-popup li.product .product-inner {
    padding: var(--space_normal) 0;
    border-top: 1px solid var(--border_color);
}

.ft-popup li.product:first-child .product-inner {
    padding-top: var(--space_xlarge);
    border-top: none;
}

.ft-popup li.product.product_cat-bundles {
    background-color: var(--gray_xlight);
}

.ft-popup li.product.product_cat-bundles+li.product .product-inner {
    border-top: none;
}

/*
.ft-popup li.product + li {
	margin-top: var(--space_normal);
	padding-top: var(--space_normal);
	border-top: 1px solid var(--gray_light);
}
*/
.ft-popup .product-inner {
    display: flex;
}

.ft-popup .ftm-parent-shop-loop-image-wrapper {
    max-width: 120px;
}

.ft-popup .ftm-parent-shop-loop-content-wrapper {
    flex-grow: 1;
    padding-left: var(--space_normal);
}

.ft-popup .woocommerce-loop-product__title {
    margin: 0;
}

@media(min-width: 37.5em) {

    ul.products {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 60px;
        column-gap: 24px;
    }

    .ft-popup .ftm-parent-shop-loop-image-wrapper {
        max-width: 140px;
    }


}



.page-section.product-results {
    margin: var(--space_large) 0;
}

@media(min-width: 64em) {

    /* Shop sidebar starts to be on left */
    .site-main::after {
        content: '';
        display: block;
        clear: both;
    }

    .page-section.product-results {
        margin-top: 0;
        /*margin-bottom: var(--space_large);	*/
    }

    .product-results-inner {
        justify-content: flex-end;
    }

    .product-results .woocommerce-ordering {
        margin-left: var(--space_xlarge);
    }


    .site-aside {
        float: left;
        clear: right;
        width: 30%;
        padding-right: 20px;
    }

    .page-section.wc-product-columns {
        float: right;
        clear: right;
        width: 70%;
        padding-left: 20px;
        margin-top: 0;
    }

    .wc-product-columns .ftm-posts-pagination-nav {
        margin-bottom: 0;
    }

    /* Widget Area no longer collapsable */
    .sidebar-shop-toggle {
        display: none;
    }

    .collapsable-sidebar-shop {
        position: static;
        opacity: 1;
    }

}


@media(min-width: 75em) {


    .has-sidebar .site-main {
        max-width: 1320px;
        /* NOTE: This number seems a little off? */
        max-width: 1336px;
        margin: 0 auto;
    }

    /* Shop archives go to 3 columns */
    ul.products {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Upsells / Related / Cross-sells go to 4 columns */
    .upsells .products,
    .related .products,
    .cross-sells .products {
        grid-template-columns: repeat(4, 1fr);
    }

}



.widget h4 {
    margin-bottom: 0;
}




/* Page Sections */

/* 6-1-19 This seems like a good idea, but doesn't work for the Post Grid section... */
.page-section-inner {
    max-width: var(--max_width_wide);
    margin-left: auto;
    margin-right: auto;
}

.post-grid .page-section-inner {
    max-width: none;
}

.ftps-header {
    text-align: center;
}

.ftps-header:after {
    content: '';
    display: block;
    width: 70px;
    height: 6px;
    background-image: url(images/zig-zag.svg);
    margin: var(--space_small) auto;
}

.section-title-true.section-text-true .ftps-section-title {
    font: inherit;
    text-transform: uppercase;

    font-size: 0.8888em;
    line-height: 1.5;
}

.section-title-true.section-text-true .ftps-section-text {}


.ftps-section-title {
    margin-top: var(--space_xlarge);
    margin-bottom: 0;
}

.ftps-section-text h2 {
    margin: 0;
}

.ft-actions {
    margin: 1rem 0;
}

/*
.ftps-header + .ft-actions {
	margin: 0;
}
*/

.ft-actions a:not(.button) {
    font-size: 0.8888em;
}


/* Others? */
.ftps-actions.post_grid,
.ftps-actions.simple_callout {
    text-align: center;
}


.simple-callout-inner {
    border-radius: 10px;
    overflow: hidden;
}

.simple-callout img {
    border-radius: 0;
    border: none;
}

.simple-callout-content {
    padding: 0 var(--space_large);
    text-align: center;
}

.simple-callout-title,
.simple-callout-text,
.simple-callout-text>* {
    color: inherit;
}

.simple-callout-title {
    margin-bottom: 1rem;
}

.simple-callout .ft-actions {
    margin-bottom: var(--space_xlarge);
}



@media(min-width: 45em) {

    /* from 40px to 64px */
    .page-section {
        margin: var(--space_xxlarge) 0;
    }

    /* 4-8-22 - These images won't be wide enough anymore */
    .simple-callout-image-wrapper {
        text-align: center;
    }

}

/* 4-28-22 - "Website Improvements" - Make the simple callout section change from the mobile layout to the desktop layout after 1053px */
@media(min-width: 65.8125em) {
    .simple-callout-inner {
        display: flex;
        align-items: center;
        max-width: 1200px;
        margin: 0 auto;

        /* EDIT: 4-6-20 Jess requested this for /rewards/ page, but seems fine everywhere */
        flex-direction: row-reverse;
    }

    .simple-callout-image {
        width: 60%;
    }

    .simple-callout-content {
        margin: 0 auto;
    }

    .simple-callout-title {
        margin-top: var(--space_normal);
    }

    .simple-callout .ft-actions {
        margin-bottom: var(--space_normal);
    }

}




/**
 * Grouped Callouts
 *
 */
/* These display like rows-to-columns at mobile */
.grouped-callout-inner {
    display: flex;
    align-items: center;
}

.grouped-callout-image {
    padding-right: var(--space_normal);
    width: 37%;
}

.grouped-callout-image img {
    border-radius: 50%;
    border: none;
}



.grouped-callout-title {
    /* 26/35 */
    font-size: 0.8387em;
    line-height: 1.3461;
}

.grouped-callout-title h3 {
    margin: 0;
}

.grouped-callout-title a {
    color: inherit;
}

.grouped-callout .ft-actions {
    margin: 0;
}

@media(min-width: 37.5em) {

    .grouped-callouts-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-top: calc(-1 * var(--space_large));
        margin-left: calc(-1 * var(--space_small));
        margin-right: calc(-1 * var(--space_small));
    }

    .grouped-callout {
        max-width: 50%;
        padding: 0 var(--space_small);
        margin-top: var(--space_xlarge);
    }

    .grouped-callout+.grouped-callout {
        margin-top: var(--space_xlarge);
    }

    .grouped-callout-inner {
        flex-direction: column;
        justify-content: center;
    }

    .grouped-callout-image {
        padding-right: 0;
        width: auto;
        max-width: 240px;
    }

    .grouped-callout-content {
        text-align: center;
    }

    /* These get to regular size */
    .grouped-callout-title {
        font-size: inherit;
        line-height: inherit;
        margin-top: var(--space_normal);
    }

}

@media(min-width: 48.5em) {
    .grouped-callout-image {
        max-width: 270px;
    }
}

@media(min-width: 64em) {
    .grouped-callouts-inner {
        max-width: var(--max_width_wide);
        margin: 0 auto;
    }

    .grouped-callout {
        width: 25%;
    }
}



/* Media / Content sections */
.media-content-inner {
    max-width: var(--max_width_wide);
    margin: 0 auto;
}



/* Separators */
/* These sections go right to the edges */
.page-section.separator {
    padding: 0;
}

.page-section-separator hr {
    background-color: transparent;
    background-image: url(images/separator.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 100%;
    border: 0;
    height: 40px;
}

/* 8-5-19 Added options for different styles */
.page-section-separator.style-christmas hr {
    background-image: url(images/separator-christmas.svg);
}

.page-section-separator.style-easter hr {
    background-image: url(images/separator-easter.svg);
}

.page-section-separator.style-fall hr {
    background-image: url(images/separator-fall.svg);
}

.page-section-separator.style-halloween hr {
    background-image: url(images/separator-halloween.svg);
}

.page-section-separator.style-patriotic hr {
    background-image: url(images/separator-patriotic.svg);
}

.page-section-separator.style-valentines-day hr {
    background-image: url(images/separator-valentines-day.svg);
}

.page-section-separator.style-st-patricks hr {
    background-image: url(images/separator-saint-patricks.png);
}

.page-section-separator.style-party hr {
    background-image: url(images/separator-party.png);
}

















/* Product Archive Pages */
.al-product-sku-reviews {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.al-product-reviews {
    /* height: 20px; /* Magic Number? :( */
}



/* Single Product Pages */
.ftm-single-product-wrapper {
    margin-top: var(--space_large);
    margin-bottom: var(--space_xlarge);
}

/* Match the border radius om the images */
.ftm-single-product-images .woocommerce-product-gallery__image {
    border-radius: 10px;
    border: 1px solid var(--gray_light);
}

.ftm-single-product-images .flex-viewport {
    border-radius: 10px;
    border: 1px solid var(--gray_light);
}

.ftm-single-product-images .flex-viewport .woocommerce-product-gallery__image {
    border-radius: 0;
    border: none;
}

.woocommerce-product-gallery__trigger {
    font-size: 0;
    top: 1rem;
    right: 1rem;
    padding: 4px;
    width: 32px;
    text-align: center;
    border-radius: 50%;
    background-color: #fff;
}

.woocommerce-product-gallery__trigger:before {
    font-family: 'ftm' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f00e";

    font-size: 1.5rem;
}

.single-product .cart .wc-pao-addons-container {
    display: flex;
    flex-direction: column;
}

@media(min-width: 27.5em) {

    .woocommerce-product-gallery .flex-control-thumbs li {
        width: 20%;
    }

}



.summary .entry-title {
    /* 21/31 */
    font-size: 1.16667em;
    line-height: 1.476190;
    font-family: var(--text_font);
    text-align: center;
}

.summary .al-product-sku-reviews {
    display: flex;
    justify-content: center;
}

.summary .yotpo-small .text-m {
    display: inline;
}

.summary .price {
    font-size: 1.16667em;
    line-height: 1.476190;
    text-align: center;
    margin: var(--space_small) 0 0;
}

.summary .stock.in-stock {
    display: none;
}

.summary .quantity {
    display: flex;
    justify-content: center;
    margin-top: var(--space_large);
}

.summary .quantity:before {
    content: 'Qty:';
    display: block;
    margin-right: var(--space_small);
    font-weight: bold;
    text-transform: uppercase;
}

.summary .quantity input {
    max-width: 100px;
    /* 4-28-22 - "Site Improvements" - Decrease the width of the quantity field */
    max-width: 70px;
}


/* 3-2-21 - Remove quantity on retired-designs */
.product_tag-retired-designs .summary .quantity {
    display: none;
}


/* 7-25-22 - special style overrides for auction products */
.summary .auction_form .quantity {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    margin-bottom: var(--space_normal);
}

.summary .auction_form .quantity::before {
    content: '';
    margin: 0;
}

.summary .auction_form .quantity input {
    max-width: 100px;
}

.summary .auction_form .quantity input[type="button"] {
    max-width: 60px;
}







/* Gift Card product uses Product Addons plugin for additional info */
.wc-pao-addon {
    margin-top: 1em;
}

label.wc-pao-addon-name {
    margin: 0;
}

.wc-pao-addon p.form-row {
    margin: 0;
}

.wc-pao-addon-description p {
    margin-top: 0;
}

label~p label {
    font-size: 0.875em;
}


.single_add_to_cart_button {
    width: 100%;
    margin-top: var(--space_small);
    text-transform: capitalize;
}

.up-sells,
.related {
    margin-top: var(--space_xlarge);
}

/* 4-28-22 - "Site Improvements" - Change add to wishlist button to a text link with a heart */
/* Above are settings, but the plugin adds a background image of a present */
#wl-wrapper .wl-add-link.present {
    background: none !important;
    padding-left: 0 !important;

    display: inline-flex;
    align-items: center;
    line-height: 1;
}

/* Might as well use the same heart we use elsewhere instead of ♥ */
#wl-wrapper .wl-add-link.present::before {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'ftm' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: '\f004' !important;
    margin-right: 0.25rem !important;
}


@media(min-width: 48em) {

    .ftm-single-product-images-summary {
        margin-top: var(--space_large);
    }

    .summary .entry-title {
        /* 37/48 */
        font-size: 2.0555em;
        line-height: 1.297;
    }

    .summary .price {
        /* 31/42 */
        font-size: 1.7222em;
        line-height: 1.3548;
    }

    .summary .quantity {
        flex-direction: column;
    }

    .summary .quantity:before {
        content: 'Quantity';
        margin-right: auto;
        margin-left: auto;
        text-transform: none;
    }

    .summary .quantity input {
        /* 4-28-22 - "Site Improvements" - Decrease the width of the quantity field */
        /*max-width: none;*/
        text-align: center
    }
}

@media(min-width: 48.5em) {

    /* Image / Summary now next to each other */

    /* These are no longe centered */
    .summary .entry-title {
        text-align: inherit;
    }

    .summary .al-product-sku-reviews {
        display: flex;
        justify-content: unset;
    }

    .summary .price {
        text-align: inherit;
    }

    /* Quantity & Add To Cart button now next to each other */
    .ftm-single-product-quantity-and-button {
        display: flex;
        align-items: flex-end;
    }

    .summary .quantity {
        margin-right: var(--space_normal);
    }

    .summary .quantity:before {
        margin-left: 0;
    }

    .summary .quantity input {
        /* 4-28-22 - "Site Improvements" - Decrease the width of the quantity field */
        /*max-width: 160px;*/
    }

    .single_add_to_cart_button {
        width: auto;

    }
}





/* Cart Page */

.woocommerce-message,
/* Single product, after adding to cart */
.woocommerce-info,
/* Cart Notices, Checkout Returning User & Coupon */
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
    border-radius: var(--border_radius);
}


/* WC Smart Coupons overrides */
.wc_coupon_message_wrap {
    padding: 0 !important;
}

.product-name a {
    color: inherit;
}

.product-name .product-sku {
    display: block;
}

/* Fake labels get a colon after*/
.woocommerce-cart-form .shop_table_responsive td[data-title]::before {
    content: attr(data-title)':';
}

/* This site doesn't display the "Product" label */
.shop_table_responsive td.product-name[data-title]::before {
    display: none;
}

/* So this is on the left side, and looks like the other labels */
.woocommerce-cart-form .product-name>a,
.woocommerce-cart-form .product-name .bundled-product-name>a {
    float: none;
    font-weight: 600;
}



/* 6-22-19 - Bundled Products is including it's own stylesheet(s) :( */
.woocommerce-cart-form .bundled_table_item .bundled_table_item_indent {
    padding: 0;
}


.woocommerce-cart-form td.product-remove {
    text-align: left;
}



/* Swell Apply Points UI on the cart & checkout pages */
.swell-redemption {
    padding: var(--space_medium);
    display: grid;
    grid-template-columns: 1fr;
    gap: .75rem;
    align-items: center;
	background-color: var(--red_dark);
	color: white;
	border: 0;
}
.swell-redemption.loading {
    opacity: .5;
    pointer-events: none;
}

.swell-redemption h2 {
    margin-top: 0;
    font-weight: normal;
    font-size: 1.5rem;
    color: inherit;
}
.swell-redemption h2>* {
    vertical-align: baseline;
}
.swell-redemption h2::before {
    content: "";
    display: inline-block;
    vertical-align: bottom;
    background-image: url(/wp-content/themes/_ftm-child/images/logos/mobile-headonly.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 3rem;
    aspect-ratio: 1 / 1;
}
.swell-redemption h2 .program-name {
    font-family: var(--heading_font);
    font-size: 2.25rem;
}
.swell-redemption .swell-point-balance {
    color: inherit;
    font-weight: bold;
}
@media (min-width: 64em) {
    .swell-redemption h2::before {
        display: none;
    }
    .swell-redemption .section-left {
        position: relative;
        padding-left: 3.5rem;
    }
    .swell-redemption .section-left::before {
        content: "";
        display: block;
        background-image: url(/wp-content/themes/_ftm-child/images/logos/mobile-headonly.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 3rem;
        aspect-ratio: 1 / 1;
        position: absolute;
        top: 0;
        left: 0;
    }
}
@media (min-width: 75em) {
    .swell-redemption .section-left {
        padding-left: 5rem;
    }
    .swell-redemption .section-left::before {
        width: 4rem;
    }
}

tr#swell-earning .promo {
    color: var(--primary_color);
    font-weight: 500;
    margin: 0 0 .5rem 0;
}
tr#swell-earning .vip-tier {
    color: var(--primary_color);
}
tr#swell-earning strike {
    opacity: .7;
    font-size: .9rem;
}

tr#swell-earning:last-child {
    border-bottom: 0;
}
tr#swell-earning td {
    padding: .8rem 0 0 0;
}

@media (min-width: 48em) {
    .swell-redemption {
        grid-template-columns: 1fr 1fr;
    }
}




/* visually hide the coupon field label */
.actions .coupon label {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.actions .coupon {
    flex-wrap: wrap;
    padding-bottom: var(--space_medium);
    border-bottom: 1px solid var(--border_color);
}

.actions .coupon input {
    margin-right: 0;
    min-width: 100%;
}

.actions .coupon button {
    margin-top: var(--space_normal);
    min-width: 100%;
}

button[name="update_cart"] {
    margin-top: var(--space_medium);
    min-width: 100%;
}


/* We have a custom row in the cart table that toggles shipping info */
.woocommerce-cart-form tr.al-cart-shipping-row {
    padding: 0;
}

/* It should always be full-width */
.woocommerce-cart-form tr.al-cart-shipping-row td {
    padding: 0;
    display: block;
    width: 100%;
}

.al-cart-shipping-div {
    margin-top: var(--space_large);
    border-top: 1px solid var(--border_color);
    border-bottom: 1px solid var(--border_color);
    min-width: 100%;
}

.al-cart-shipping button {
    border: 0;
    padding: var(--space_normal) 0;
    font-size: inherit;
    font-weight: bold;
}

/* We don't want this message right-aligned at smallest size */
.al-cart-shipping-info {
    text-align: start;
}




@media(min-width:45em) {

    .woocommerce-cart-form .cart {
        margin: 0;
    }

    .shop_table_responsive td.actions {
        display: flex;
        min-width: 100%;
        align-items: center;
        justify-content: space-between;
    }

    .shop_table_responsive td.actions::after {
        display: none;
    }

    .actions .coupon {
        padding-bottom: 0;
        border-bottom: 0
    }

    .actions .coupon input {
        min-width: auto;
        width: auto;
        margin-right: 1em;
    }

    .actions .coupon button {
        min-width: auto;
        margin-top: 0;
    }

    button[name="update_cart"] {
        margin-top: 0;
        min-width: auto;
    }
}






.woocommerce-cart-form tbody tr:last-child {
    border-bottom: 0;
}

.cart-collaterals {
    border: 1px solid var(--border_color);
    border-radius: var(--border_radius);
    padding: var(--space_normal);
    background-color: var(--gray_xlight);
    align-self: flex-start;
}

.cart-collaterals h2 {
    margin: 0;
    font-size: 1.1666em;
    line-height: 1.476190;
}


.cart-collaterals .cart_totals .shop_table tr:not(.order-total)>* {
    font-size: 0.8888em;
    line-height: 1.5;
}


.cart_totals .shop_table_responsive td[data-title]::before {
    font-weight: inherit;
}

.cart-collaterals .woocommerce-shipping-methods {
    clear: left;
    padding-top: var(--space_xxsmall);
}

.cart-collaterals .woocommerce-shipping-methods li {
    margin: var(--space_xsmall) 0;
}

.woocommerce-shipping-methods label {
    font-weight: inherit;
    margin-left: 0.25em;
}


.cart_totals .shop_table.shop_table_responsive tr.order-total {
    border: 0;
}

.wc-proceed-to-checkout {
    margin-top: calc(-1 * var(--space_small));
}

.cart_totals .order-total td[data-title]::before {
    font-weight: bold;
}



.checkout-button.button {
    min-width: 100%;
    text-align: center;
    padding: var(--space_xsmall) var(--space_normal);
    font-weight: bold;
}



/* Override styles added by Paypal for WC plugin */
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout {
    text-align: inherit;
}

/* 4-28-22 - "Site Improvements" - Make the gift card heading the same size as the heading for cart total */
.add_gift_card_form h4 {
    font-size: inherit;
    line-height: inherit;
    margin: 0;
}

/* 4-28-22 - "Site Improvements" - Can we have the apply button to the right of the gift card input field at larger viewports? */
/* All sizes make more sense then. At the smallest screen size .cart-collaterals is 288px, at 1024 when it goes to the right side it is 272px */
#wc_gc_cart_redeem_form {
    display: flex;
    flex-wrap: wrap;
}

#wc_gc_cart_redeem_form input {
    max-width: calc(100% - 80px) !important;
    margin-bottom: 0 !important;
}

#wc_gc_cart_redeem_form button {
    width: 70px !important;
    margin-left: auto;
}

/* This element gets some inline styles applied :( */
#wc_gc_cart_redeem_form a {
    min-width: 100%;
    padding-left: 0 !important;
}


.cross-sells .ftps-header {
    margin-bottom: var(--space_large);
}

.entry-content .ftps-header h2 {
    font-family: var(--heading_font);
    font-weight: normal;
    font-size: 1.7222em;
    line-height: 1.34615;
}

@media(min-width: 45em) {
    .entry-content .ftps-header h2 {
        font-size: 2.5em;
        line-height: 1.24444;
    }
}



@media(min-width: 64em) {

    /* Keeps this lined up with the cart form */
    .al-cart-shipping-div {
        --width: calc(70% - var(--space_xlarge));
        max-width: var(--width);
        min-width: var(--width);
        margin-top: 0;
    }

    /* Any cross-sells should clear both cart form and collaterals? */
    .cross-sells {
        min-width: 100%;
    }


    /* This seems better, since we never know how many cross-sells will be shown */
    .cross-sells ul.products {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-left: calc(-1 * var(--space_small));
        margin-right: calc(-1 * var(--space_small));
        margin-bottom: var(--space_large);

        /* Not sure why this would need to be unset... */
        column-gap: initial;
    }

    .cross-sells ul.products li {
        flex-basis: 25%;
        padding: 0 var(--space_small);
    }

}






/* Checkout Page */
.woocommerce-billing-fields h3 {
    margin: 0;
}

.ftm-wc-checkout abbr[title] {
    text-decoration: none;
}

#ship-to-different-address {
    font-size: inherit;
    line-height: inherit;
}

.al-checkout-order-review {
    margin-top: var(--space_large);
    border: 1px solid var(--border_color);
    border-radius: var(--border_radius);
    padding: var(--space_normal);
    background-color: var(--gray_xlight);
}

.al-order-review-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.al-order-review-heading h3 {
    margin: 0;
    /* 21/31 */
    font-size: 1.1666em;
    line-height: 1.476190;
}

.woocommerce-checkout-review-order .shop_table {
    border: none;
    margin-bottom: 0;
}

.woocommerce-checkout-review-order .shop_table tr {
    border-left: 0;
    border-right: 0;
}

.woocommerce-checkout-review-order .shop_table thead tr {
    border-bottom: 0;
}

.woocommerce-checkout-review-order .shop_table tr.cart_item {
    border-top: 0;
    border-bottom: 0;
}

.woocommerce-checkout-review-order .shop_table th,
.woocommerce-checkout-review-order .shop_table td.product-name {
    padding-left: 0;
}

.woocommerce-checkout-review-order .shop_table th+th,
.woocommerce-checkout-review-order .shop_table th+td,
.woocommerce-checkout-review-order .shop_table td.product-total {
    padding-left: var(--space_small);
    padding-right: 0;
}

.woocommerce-checkout-review-order .shop_table tr.order-total,
.woocommerce-checkout-review-order .shop_table tr.al-rewards-about-to-earn {
    border-bottom: 0;
}


/* Overrides for wc_payment_method payment_method_intuit_qbms_credit_card */
.woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-credit-card-form-input[type="tel"],
.woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-credit-card-form-input[type="text"],
.woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-echeck-form-input[type="tel"],
.woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-echeck-form-input[type="text"],
.woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-form-nickname,
#add_payment_method input.js-sv-wc-payment-gateway-credit-card-form-input[type="tel"],
#add_payment_method input.js-sv-wc-payment-gateway-credit-card-form-input[type="text"],
#add_payment_method input.js-sv-wc-payment-gateway-echeck-form-input[type="tel"],
#add_payment_method input.js-sv-wc-payment-gateway-echeck-form-input[type="text"],
#add_payment_method input.js-sv-wc-payment-gateway-form-nickname {
    font-size: inherit;
    padding: var(--space_xxsmall) var(--space_xsmall);
}


@media(min-width: 64em) {
    .al-checkout-order-review.review {
        margin-top: 0;
    }
}


/***********************
 #Rewards Page
 **********************/


/* Welcome section */
.rewards-welcome {
    text-align: center;
}

.rewards-welcome-text {
    font-size: 1.3333em;
    font-weight: bold;
}

.rewards-welcome-text p {
    line-height: 1;
    margin: 1rem 0;
}

.swell-point-balance {
    color: var(--red);
}



/* How It Works section (only shows if not logged in) */

.column-text {
    text-align: center;
}

.how-it-works-number {
    height: 4rem;
    width: 4rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 1.3333em;
    margin: 0 auto;
}

.how-it-works-number.one {
    background-color: var(--blue_dark);
}

.how-it-works-number.two {
    background-color: var(--red);
}

.how-it-works-number.three {
    background-color: var(--green);
}



/* Tier Slider Section */
.ps-slider-slides {
    position: relative;
    padding: 0 40px;
}

.slider-navigation {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
}

@media(min-width: 64em) {
    .ps-slider-slides {
        padding: 0;
    }

    .slider-navigation {
        display: none;
    }
}

.swell-tier {
    height: 100%;
    min-height: 100%;
    background-color: var(--gray_xlight);
}

.swell-tier-header {
    padding: var(--space_xsmall) var(--space_normal);
    text-align: center;
    color: white;
}

/* Different colors on tier headers */
.dabblin-decorator header {
    background-color: var(--blue_dark);
}

.memory-maker header {
    background-color: var(--red);
}

.clever-collector header {
    background-color: var(--green);
}

.serious-smiler header {
    background-color: var(--red_dark);
}

/* Match the height of the text */
.swell-tier-current {
    min-height: 1.6em;
    font-weight: bold;
}

.swell-tier-name {
    margin-top: 0;
    font-family: var(--text_font);
    font-size: inherit;
    font-weight: bold;
    color: inherit;
}

.swell-tier-benefits {
    list-style: none;
    margin: 0;
    padding: var(--space_normal);
}

.swell-tier-benefits li:nth-child(1),
.swell-tier-benefits li:nth-child(2) {
    text-align: center;
    color: black;
}

.swell-tier-benefits li:first-child {
    font-size: 1.7777em;
}

.swell-tier-benefits li:nth-child(3) {
    margin-top: var(--space_normal);
}

.slider-buttons {
    display: flex;
    justify-content: space-between;
}

.slider-nav-button {
    font-size: 2em;
    line-height: 36px;
    height: 36px;
}



/* Campaign List section */
.swell-campaign-list {
    list-style: none;
    padding: 0;
    display: grid;
    grid-gap: var(--space_normal);
    grid-template-columns: repeat(2, 1fr);
}

.campaign-item div {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    flex-grow: 1;
}

.campaign-background {
    background-position: center center;
    background-size: cover;

    padding: 0 var(--space_small);
    text-align: center;
    color: white;
}



/* Campaign icons */
.campaign-item .campaign-icon-wrap {
    display: inline-block;
    width: 60px;
}

.campaign-item[class*="facebook"] .campaign-icon-wrap span:before {
    content: url(images/fb.svg);
}

.campaign-item[class*="instagram"] .campaign-icon-wrap span:before {
    content: url(images/instagram.svg);
}

.campaign-item[class*="make-a-purchase"] .campaign-icon-wrap span:before {
    content: url(images/per-spend-one-dollar.svg);
}

.campaign-item[class*="create-an-account"] .campaign-icon-wrap span:before {
    content: url(images/create-an-account.svg);
}

.campaign-item[class*="happy-birthday"] .campaign-icon-wrap span:before {
    content: url(images/birthday.svg);
}

.campaign-item[class*="every-5-orders"] .campaign-icon-wrap span:before {
    content: url(images/card-purchases.svg);
}

.campaign-item[class*="leave-a-review"] .campaign-icon-wrap span:before {
    content: url(images/review-a-product.svg);
}

/* Special case for referral campaign */
.campaign-item[class*="give-your-friends"] .campaign-background {
    position: relative;
}

.campaign-item[class*="give-your-friends"] .campaign-background:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 0;
}

.campaign-item[class*="give-your-friends"] .campaign-content {
    position: relative;
    z-index: 1;
}

.campaign-item[class*="give-your-friends"] .campaign-icon-wrap {
    width: auto;
}

.campaign-item[class*="give-your-friends"] .campaign-icon-wrap span:before {
    content: "Give $15 Get $15";
    font-size: 1.3333em;
    font-weight: bold;
}

@media(min-width: 48em) {

    .swell-campaign-list {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Special case for referral campaign */
    .campaign-item[class*="give-your-friends"] {
        grid-column: 2 / span 2;
    }

    .campaign-item[class*="give-your-friends"] .campaign-background {
        text-align: inherit;
    }

    .campaign-item[class*="give-your-friends"] .campaign-icon-wrap span:before {
        font-size: 1.6666em;
    }

}


































/* Site Footer */

.al-above-footer {
    padding: var(--space_small) var(--gutter_width);
    background-color: var(--red_dark);
    color: #fff;
}

.al-above-footer h3 {
    color: inherit;
}

.footer-email-signup {
    padding-bottom: var(--space_large);
    border-bottom: 1px solid var(--gray_light);
}

.footer-newsletter-form .gfield input {
    border-radius: 1.5em;
}

.footer-newsletter-form .validation_message {
    color: inherit;
}

/* 4-28-22 - Need to override some (now) included gform styles */
#gform_wrapper_1.gform_legacy_markup_wrapper input {
    padding: var(--space_xxsmall) var(--space_normal);
}

@media(min-width: 641px) {
    #gform_1 {
        display: flex;
        flex-wrap: nowrap;
    }

    #gform_wrapper_1.gform_legacy_markup_wrapper .gform_footer {
        margin: 0;
        width: auto;
    }
}



.footer-catalog-request .widget {
    display: flex;
}

.footer-catalog-request-text {
    width: 68.75%;
    flex-grow: 1;
    padding-right: var(--space_large);
}

.footer-catalog-request-image {
    width: 31.25%;
    max-width: 100px;
}

.footer-catalog-request-image img {
    border-radius: 0;
    border: none;
}

.al-site-footer {
    /* Temp */
    background-color: #eee;

    padding: 0 var(--gutter_width);
}

/* Logo in footer always stays mobile version */
.al-site-footer .logo-mobile a {
    display: block;
}

.al-site-footer .logo-regs {
    display: none;
}

.al-site-footer .footer-widgets {
    max-width: 540px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.footer-widget.annalee-head {
    min-width: 100%;
}

/* 4-28-22 - "Site Improvements" - Adjust footer content on the gray background to be in one column at the smallest size. This will fix the issue with the social media icons breaking into two rows and the refer a friend button from breaking */
.footer-widget {
    min-width: 100%;
    max-width: 100%;
}

@media(min-width: 30em) {

    .footer-widget {
        min-width: 50%;
        max-width: 50%;
    }

    .footer-widget.about-us,
    .footer-widget.social {
        padding-left: var(--space_large);
    }

}

.footer-widgets {
    padding-top: var(--space_large);
}

.footer-widget {
    padding: var(--space_xxsmall) 0;
}

.footer-widgets a:not(.button) {
    color: inherit;
    text-decoration: none;
}




.al-contact address {
    font-style: normal;
}

.al-contact dl {
    margin: 0;
}

.al-contact dt {
    display: inline;
    text-transform: lowercase;
}

.al-contact dt:after {
    content: ':';
}

.al-contact dd {
    display: inline;
    margin: 0;
}

.al-contact dd:after {
    content: '\A';
    white-space: pre;
}



.footer-bottom {
    margin-top: var(--space_large);
    border-top: 1px solid var(--gray_light);
    padding-top: var(--space_small);
    padding-bottom: var(--space_normal);
    font-size: 0.8888em;
    text-align: center;
}

.footer-bottom a {
    font-weight: bold;
    text-decoration: none;
}



@media(min-width: 37.5em) {

    .al-above-footer .widget {
        max-width: 540px;
        margin: var(--space_xlarge) auto;
    }

    .al-above-footer h3 {
        margin: 0;
        /* 37/48 */
        font-size: 2.05555em;
        line-height: 1.297297;

    }

    .footer-email-signup {
        padding-bottom: 0;
    }

    .footer-newsletter-form form {
        display: flex;
        flex-wrap: wrap;
    }

    .footer-newsletter-form .validation_error {
        margin-bottom: 1em;
    }

    .footer-newsletter-form .gform_body {
        flex-grow: 1;
        /* 4-28-22 - No longer need this */
        /*margin-right: 1rem;*/
    }

    .footer-newsletter-form .gfield {
        margin: 0;
    }

    .footer-newsletter-form .gform_footer {
        margin: 0;
    }

    .footer-catalog-request-image p {
        margin: 0;
    }

    .footer-catalog-request-text p {
        margin-bottom: 0;
    }

}



@media(min-width: 64em) {


    .site-footer-inner {
        max-width: var(--max_width_wide);
        margin: 0 auto;
    }

    .al-above-footer .site-footer-inner {
        display: flex;
    }

    .footer-email-signup {
        border-bottom: none;
        padding-right: var(--space_xlarge);
    }

    .footer-catalog-request .widget {
        padding-left: var(--space_xlarge);
        border-left: 1px solid var(--gray_light);
    }



    .al-site-footer .footer-widgets {
        max-width: none;
        padding-top: var(--space_xlarge);
        justify-content: space-between;
    }

    .footer-widget {
        min-width: auto;
        max-width: 25%;
        padding-left: var(--space_large);
    }

    .footer-widget.annalee-head {
        min-width: inherit;
        padding-left: 0;
        order: 1;
    }

    .footer-widget.contact {
        order: 2;
    }

    .footer-widget.help-support {
        order: 3;
    }

    .footer-widget.about-us {
        order: 4;
    }

    .footer-widget.social {
        order: 5;
    }

}












/* Fix Yotpo Styles */
.carousel-review-body {
    white-space: normal;
}

/* This looks like it's handled in the Yotpo admin but... */
.yotpo-pictures-gallery-upload-button-wrapper {
    text-align: center !important;
    margin-bottom: calc(var(--space_large) - 15px) !important;
}

.yotpo-reviews-carousel .carousel-display-wrapper {
    padding: 0 !important;
}

.yotpo-reviews-carousel .carousel-display-wrapper .headline {
    margin-bottom: 1em !important;
}

#carousel-top-panel:after {
    content: '';
    display: block;
    clear: both;
}

.page-section-inner.yotpo-slider {
    max-width: 885px;
    margin: 0 auto;
}

.yotpo-slider .yotpo-display-wrapper {
    overflow: visible !important;
}

@media(min-width: 27em) {
    #carousel-top-panel {
        text-align: left;
    }
}







/* 5-26-20 Added special cart notices display */
/* 2-24-23 - Moved these to the new header cart (they will still show on the cart page, but nolonger sticky) */
.al-free-gift-notices {
    /*
	position: -webkit-sticky;
	position: sticky;
	bottom: 0;
	z-index: 19;
	*/
}

.al-free-gift-notice {

    background-color: white;
    padding: var(--space_medium) var(--gutter_width);
    border-top: 1px solid var(--border_color);

    line-height: 1.5;

    padding: var(--space_medium) 0;
}

.al-free-gift-notice-inner {
    max-width: var(--max_width_text);
    margin: 0 auto;

    /* 6-25-20 Added remove button */
    position: relative;
}

.al-free-gift-notice-progress-bar {
    display: flex;
    margin-bottom: 0.5rem;
}

.notice-progress-bar {
    flex-grow: 1;
    background-color: var(--gray_xlight);
    margin-right: 8px;
    border-radius: 2px;

    background-color: #e6e6e6;
}

.notice-progress-bar-fill {
    border-radius: 2px;
    height: 100%;
    background-color: var(--color_success);

    background-color: #175e28;
}

.notice-progress-bar-goal {
    background-color: var(--gray_xlight);
    padding: 3px 8px;
    border-radius: 2px;

    /* Edit 6-10-20 - make bar 24px tall */
    padding: 0 8px;
    font-size: 1rem;

    background-color: #e6e6e6;
}

.al-free-gift-notice-text {
    font-size: 1rem;
}

.achieved .al-free-gift-notice-text {
    padding-right: 32px;
}

.al-free-gift-notice-text .button {
    display: none;
}

/* 6-25-20 Added remove button */
.remove-al-notice {
    position: absolute;
    width: 24px;
    height: 24px;
    overflow: hidden;
    line-height: 22px;
    font-size: 1.75em;
    top: 0;
    right: 0;
    text-align: center;
    border: 1px solid #e6e6e6;
    border-radius: var(--border_radius);
}

.al-free-gift-notice-progress-bar {
    padding-right: 32px;
}



/* 5-2-22 - Need to remove margin in case coupon notices are showing with cart notices */
.al-free-gift-notices-not-achieved .woocommerce-info.woocommerce-cart-notice {
    margin-top: 0;
}

/* 5-4-22 - We're filtering out messages now but still need to hide this html if empty */
.woocommerce-cart-notice:empty {
    display: none;
}



/* 2-24-23 - Added these to the new header cart (where they get displayed differently?) */

/* Remove left/right padding in the minicart */
.header-cart .al-free-gift-notice {
    padding: var(--space_normal);
    border: 1px solid var(--border_color);
    border-radius: 20px;
}

.header-cart .al-free-gift-notice+.al-free-gift-notice {
    margin-top: var(--space_normal);
}

/* In the header cart, these might have images */
.header-cart .al-free-gift-notice-inner {
    display: flex;
}

.al-free-gift-notice-image {
    flex-basis: 23.31%;
    min-width: max(80px, 23.31%);
    max-width: 100px;
    margin-right: var(--space_normal);
}

/* Some notices might show the notice title */
.al-free-gift-notice-title {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 8px;
}

/* No remove button in minicart */
.header-cart .remove-al-notice {
    display: none;
}

.header-cart .al-free-gift-notice-progress-bar,
.header-cart .al-free-gift-notice-text {
    padding-right: 0;
}

/* Progress bar/goal are styled different in minicart */
.header-cart .al-free-gift-notice-progress-bar {
    align-items: center;
    margin-bottom: 0;
    margin-top: 10px;
    line-height: 1;
}

.header-cart .notice-progress-bar {
    height: 8px;
    margin-top: 2px;
}

.header-cart .notice-progress-bar-goal {
    border-radius: 0;
    padding: 0;
    font-size: 0.875rem;
    background-color: transparent;
    font-weight: bold;
}


/* Some of these cart notices never show in the custom design. Only on the cart page in the standard output I guess... */
.al-free-gift-notices #woocommerce-cart-notice-oversized-shipping {
    display: none !important;
}

.al-free-gift-notices #woocommerce-cart-notice-triple-points-day {
    display: none !important;
}


/* 3-6-23 - Now showing "Suggested" products in the minicart */

.al-minicart-products {
    margin-top: var(--space_normal);
    /* These take up the full width of the minicart */
    margin-left: calc(-1 * var(--gutter_width));
    margin-right: calc(-1 * var(--gutter_width));
    background-color: var(--gray_xlight);
    /* f8f8f8 - Used on the cart/checkout pages */
    background-color: #eee;
    /* NOTE: This is not used anywhere else on the site :( */
    padding: 8px var(--gutter_width);
}

.minicart-suggested-products-title {
    margin-top: var(--space_normal);
    font-weight: bold;
    /* 18/24 */
    font-size: 1.125rem;
    line-height: 1.3333;
}

.al-minicart-products ul.products {
    display: block;
}

.al-minicart-products li.product {
    padding: var(--space_normal) 0;
}

.al-minicart-products li.product+li.product {
    /*border-top: 1px solid var(--border_color);*/
    border-top: 1px solid #bebebe;
}

.al-minicart-products .product-inner {
    display: flex;
}

.al-minicart-products .ftm-parent-shop-loop-image-wrapper {
    flex-basis: 33.8983%;
    min-width: max(80px, 33.8983%);
    max-width: 100px;
    margin-right: var(--space_normal);
}

/* No badges? */
.al-minicart-products .onsale {
    display: none;
}

.al-minicart-empty-link {
    margin-top: 2rem;
}

.al-minicart-empty-link a {
    display: block;
    text-align: center;
}


@media(min-width: 75em) {
    .al-minicart-products {
        /* These take up the full width of the minicart */
        margin-left: -40px;
        margin-right: -40px;
        padding: 8px 40px;
    }
}




#kl_newsletter_checkbox_field,
#kl_sms_consent_checkbox_field,
#klaviyo-consent-text {
    margin-top: -.5rem;
}

#klaviyo-consent-text {
    font-size: .875rem;
}

.wc-pao-addon h2.wc-pao-addon-name {
    font-size: 2em;
    margin-bottom: .25rem;
}

.post-type-archive-ambassador .archive-filters {
    display: none;
}

.post-type-archive-ambassador .ft-page-sections.position-before_content {
    margin-bottom: var(--space_xlarge);
}

.ambassador .archive-entry-header {
    flex-direction: column;
}

.ambassador .archive-entry-header .post-thumbnail {
    order: 1;
}

.ambassador .archive-entry-header img {
    width: 100%;
}

.ambassador .archive-entry-header .entry-title {
    order: 2;
    font-size: 1.125rem;
    line-height: 1.666666;
    margin-top: 1rem;
}

.ambassador .archive-entry-header .job-title {
    order: 3;
    margin: 0;
    font-size: 1rem;
}

@media (min-width: 37.5em) {
    .post-type-archive-ambassador .ft-page-sections.position-before_content {
        margin-bottom: 3.75rem;
    }

    .post-type-archive-ambassador .archive-posts {
        gap: 3.75rem var(--space_large);
    }
}

@media (min-width: 64em) {
    .post-type-archive-ambassador .ft-page-sections.position-before_content {
        margin-bottom: 5rem;
    }

    .post-type-archive-ambassador .archive-posts {
        gap: 3.75rem var(--space_xlarge);
    }
}

.single-ambassador .ftps-hero-image {
    width: 100%;
    max-width: 42rem;
}

.single-ambassador .ftps-hero-img,
.single-ambassador .ftps-hero-img img {
    width: 100%;
}

.single-ambassador .hero-text h2 {
    margin-top: var(--space_normal);
}

.single-ambassador .social-media a {
    font-size: 1.5rem;
    margin-right: var(--space_small);
}

.single-ambassador .entry-content h2 {
    font-size: 1.625rem;
    line-height: 2.1875rem;
}

.single-ambassador .entry-content h3 {
    font-size: 1.3125rem;
    line-height: 1.9375rem;
}

.single-ambassador .entry-content .gallery {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space_normal);
    margin-top: var(--space_normal);
}

.single-ambassador .entry-content .gallery-item {
    max-width: none;
}

.single-ambassador .ft-page-sections.position-after_content section:first-child .ftps-section-title {
    margin: auto;
    max-width: var(--max_width_wide);
    padding-top: var(--space_xlarge);
    margin-top: var(--space_xlarge);
    border-top: 1px solid var(--border_color);
    text-transform: none;
}

.single-ambassador .ft-page-sections.position-after_content section:first-child .archive-posts-wrapper {
    margin-top: 1.5rem;
}

@media (min-width: 45em) {
    .single-ambassador .hero-text h2 {
        margin: var(--space_xlarge) 0 var(--space_normal) 0;
    }

    .single-ambassador .hero-text .social-media {
        margin-top: var(--space_normal);
    }

    .single-ambassador .entry-content h2 {
        font-size: 2.3125rem;
        line-height: 3rem;
    }

    .single-ambassador .entry-content h3 {
        font-size: 1.625rem;
        line-height: 2.1875rem;
    }

    .single-ambassador .entry-content .gallery {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }

    .single-ambassador .ft-page-sections.position-after_content section:first-child .ftps-section-title {
        padding-top: 5rem;
        margin-top: 5rem;
    }
}

@media (min-width: 64em) {
    .single-ambassador .hero-text .social-media {
        margin-top: var(--space_large);
    }
}

.single-product .wc-pao-addons-container.card-display {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (min-width: 40rem) {
    .single-product .wc-pao-addons-container.card-display {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 1.25rem;
    }
}

@media (min-width: 64rem) {
    .single-product .wc-pao-addons-container.card-display:not(.card-display-3) {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

body.swell-rewards-page .site-breadcrumbs,
body.swell-rewards-page #main .entry-header {
    display: none;
}
body.swell-rewards-page .entry-content-wrapper {
    max-width: var(--max_width_wide);
    padding-top: 1px;
}
body.logged-in .yotpo-customer-logged-out-buttons {
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.ftm-parent-after-shop-loop-item-wrapper .see-details {
    display: inline-block;
    margin-left: var(--space_small);
    text-decoration: underline;
}
