
/* GENERAL
--------------------------------------------------- */
p {
margin-top:0px;
margin-bottom:10px;
font-weight: 400;
}

strong {
font-weight: 700;
}

em {
font-style: italic;
}

h1, h2, h3 {
letter-spacing: 0px;
margin-top:0px;
margin-bottom:15px;
font-weight:700;
}

.px-text ol,
.px-text ul:not(.blocks-gallery-grid):not(.gform_fields) {
display: block;
margin-block-start: 0px;
margin-block-end: 10px;
margin-inline-start: 0px;
margin-inline-end: 0px;
padding-inline-start: 0px;
line-height:inherit;
font-weight: 400;
}

li {
display: list-item;
text-align: -webkit-match-parent;
font-weight: 400;
}

/* CUSTOM SVG LIST ICON
--------------------------------------------------- */
.px-text ul:not(.fl-builder-submenu),
.px-faq-answer ul:not(.fl-builder-submenu) {
list-style: none;
padding-left: 0;
margin-left: 0;
}

.px-text ul:not(.fl-builder-submenu) li,
.px-faq-answer ul:not(.fl-builder-submenu) li {
position: relative;
padding-left: var(--list-icon-padding);
}

.px-text ul:not(.fl-builder-submenu) li::before,
.px-faq-answer ul:not(.fl-builder-submenu) li::before {
content: "";
position: absolute;
left: 0;
top: var(--list-icon-top);
width: var(--list-icon-size);
height: var(--list-icon-size);
background-image: var(--list-icon);
background-repeat: no-repeat;
background-size: contain;
background-position: center;
}


/* COLORS
--------------------------------------------------- */
h1, h2, h3 {
color:var(--olive);
}

p strong {
color:var(--olive);
}

div,
input,
textarea,
button,
select,
a {
-webkit-tap-highlight-color: rgba(0,0,0,0) !important;
outline:0 !important;
}

/* LINK
--------------------------------------------------- */

a:not(.fl-builder-submenu-link) {
    cursor: pointer;
    display: inline-block;
    position: relative;
    text-decoration: none;
}

a:not(.fl-builder-submenu-link):hover,
a:not(.fl-builder-submenu-link):active,
a:not(.fl-builder-submenu-link):focus {
    text-decoration: none;
}

/* Default links: light base + animated dark overlay */
a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.page-numbers):not(.fl-builder-submenu-link) {
    color: var(--link);
    font-weight: 700;

    background-image:
        linear-gradient(var(--link), var(--link)),
        linear-gradient(rgba(157,161,121,0.3), rgba(157,161,121,0.3));

    background-repeat: no-repeat;
    background-size: 0% 2px, 100% 2px;
    background-position: 0 100%, 0 100%;

    transition: background-size .3s ease;
}

a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.page-numbers):not(.fl-builder-submenu-link):hover {
    background-size: 100% 2px, 100% 2px;
}


/* Links in dark-background rows: inherit white + visible underline */
.px-primary-row-color a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link),
.px-tertiary-row-color a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link),
.px-primary-row-gradient-color a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link),
.px-tertiary-row-gradient-color a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link),
.px-highlight-row-gradient-color a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link) {
    color: inherit;

    background-image:
        linear-gradient(currentColor, currentColor),
        linear-gradient(rgba(255,255,255,0.3), rgba(255,255,255,0.3));
}


/* Hover-only containers (footer, off-canvas, header menu)
--------------------------------------------------- */

footer a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link),
.px-off-canvas-menu a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link) {
    color: inherit;
}

footer a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link),
.px-off-canvas-menu a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link),
.px-off-canvas-menu a.px-menu-item,
.header-menu-col nav a.px-menu-item {

    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 0% 2px;
    background-position: 0 100%;
    transition: background-size .3s ease;
}

footer a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link):hover,
.px-off-canvas-menu a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.fl-builder-submenu-link):hover,
.px-off-canvas-menu a.px-menu-item:hover,
.header-menu-col nav a.px-menu-item:hover {

    background-size: 100% 2px;
}

/* Footer links: white hover underline override */
footer a:not(.px-button-link):not(.px-post-heading):not(.px-menu-item):not(.page-numbers):not(.fl-builder-submenu-link) {
    background-image: linear-gradient(white, white);
}


/* Exclude image/icon links
--------------------------------------------------- */
h3.px-post-heading a,
a:has(img),
.px-socialmedia-item a,
a.px-image-link {
    background: none !important;
    background-image: none !important;
}


/* HEADING SIZES (responsive via clamp in CSS vars)
--------------------------------------------------- */
h1, h2, h3 {
font-size: var(--heading-fs);
line-height: var(--heading-lh);
}

.heading-size-medium h1,
.heading-size-medium h2,
.heading-size-medium h3 {
font-size: var(--heading-fs-medium);
line-height: var(--heading-lh-medium);
}

.heading-size-large h1,
.heading-size-large h2,
.heading-size-large h3 {
font-size: var(--heading-fs-large);
line-height: var(--heading-lh-large);
}

/* TEXT SIZES DESKTOP
--------------------------------------------------- */
@media (min-width : 1025px) {.text-size-medium p {
font-size: 24px;
line-height: 39px;
}

.text-size-large p {
font-size: 10px;
line-height: 10px;
}
} /* End @media */
/* TEXT SIZES TABLET LANDSCAPE
--------------------------------------------------- */
@media (min-width : 992px) and (max-width : 1024px) {.text-size-medium p {
font-size: 21px;
line-height: 36px;
}

.text-size-large p {
font-size: 10px;
line-height: 10px;
}
} /* End @media */
/* TEXT SIZES TABLET PORTRAIT
--------------------------------------------------- */
@media (min-width : 768px) and (max-width : 992px) {.text-size-medium p {
font-size: 21px;
line-height: 36px;
}

.text-size-large p {
font-size: 10px;
line-height: 10px;
}
} /* End @media */
/* TEXT SIZES MOBILE
--------------------------------------------------- */
@media (max-width : 767px) {.text-size-medium p {
font-size: 21px;
line-height: 36px;
}

.text-size-large {
font-size: 1.5rem;
line-height: 2.0rem;
}
} /* End @media */