@charset "UTF-8";
/*
Theme Name: Foran Pet Care 2026
Description: Block theme proof-of-concept for foranpetcare.ie — full Site Editor support, theme.json design system, Block Bindings and Interactivity API. Successor to the classic Foran Pet Care theme.
Author: Connolly's Red Mills
Version: 0.4.2
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: foranpetcare-2026
*/

/* ==== Ported from the classic Foran Pet Care theme (exact copy of live style.css v=2026-06-01) ==== */
body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, dl, dd, ol, ul, fieldset, legend, figure, table, th, td, caption, hr {
    margin: 0;
    padding: 0
}

abbr[title], dfn[title] {
    cursor: help
}

ins {
    text-decoration: none
}

ins {
    border-bottom: 1px solid
}

html {
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    -webkit-overflow-scrolling: touch
}

*, :before, :after {
    box-sizing: inherit
}

ul, ol, dl, blockquote, p, address, hr, table, fieldset, figure, pre {
    margin-bottom: 1.846em
}

article ul, article ol, dd {
    margin-left: 1.846em
}

/* The root stays at the browser-default 16px so 1rem = 16px; the
   classic design's 13px base type lives on body (the old port set
   html { font-size: .813em } and denominated every rem against it). */
html {
    font-family: var(--wp--preset--font-family--gotham);
    line-height: 1.4;
    color: #1a1a1a;
    font-weight: 400;
    height: 100vh
}

body {
    font-size: 0.8125rem;
    min-height: 100vh;
}

h1, h2, h3, h4, h5, h6, .c-frm.c-frm-search input[type="search"], .c-slider a, .c-nav li a, .c-footer ul.c-footer-nav li a {
    font-weight: 700;
    color: var(--wp--preset--color--brand-pink)
}

h1 {
    font-size: 2.2em;
    line-height: 1
}

h1 {
    margin-bottom: .6em
}

h2 {
    font-size: 2em;
    margin-bottom: .692em;
    line-height: 1.25
}

h3 {
    font-size: 1.769em;
    margin-bottom: 1em;
    line-height: 1.25
}

h4 {
    font-size: 1.385em;
    margin-bottom: .692em;
    line-height: 1.25
}

h5 {
    font-size: 1.25em;
    margin-bottom: .692em;
    line-height: 1.25
}

h6 {
    font-size: 1em;
    margin-bottom: .692em;
    line-height: 1.25
}

.c-cve .c-aside-main h2 {
    font-size: 1.615em
}

.c-main-content ul, .c-main-content ol {
    margin-left: 2.5em
}

/* Block-editor lists live inside the constrained post-content layout, which
   cancels the margin-left indent above, so their bullets collapse to the
   column edge. Indent with padding instead to restore the classic look. */
.c-main-content ul.wp-block-list, .c-main-content ol.wp-block-list {
    margin-left: 0;
    padding-left: 2.5em
}

.c-main-content ul ul, .c-main-content ol ol {
    margin-top: .5em;
    margin-left: 0
}

.c-main-content li {
    margin-bottom: .5em
}

li > ul, li > ol, li li {
    margin: 0
}

dt {
    font-weight: 700
}

dd {
    margin-left: 1.846em;
    margin-bottom: 1.846em
}

table {
    width: 100%;
    border-collapse: collapse;
    font-family: inherit
}

th, td {
    padding: 1em;
    border: 1px solid #ddd
}

table th {
    font-weight: 700;
    background: #f7f7f7
}

table td, table th {
    text-align: left
}

/* Core block tables (.wp-block-table) ship WordPress's default cell styling
   (full currentColor borders, 0.5em padding) which overrides the theme's
   th,td rule above. Restore the classic look to match production: light 1px
   #ddd borders and 1em padding. */
.c-main-content .wp-block-table td,
.c-main-content .wp-block-table th {
    padding: 1em;
    border: 1px solid #ddd
}

input, textarea, select {
    padding: 1em;
    border: 1px solid #ddd;
    color: #313131;
    font-weight: 400;
    background: #fff;
    font-size: 1.077em;
    font-family: inherit
}

select {
    padding: .5em
}

a {
    color: var(--wp--preset--color--brand-pink);
    outline: 0 none;
    text-decoration: none
}

a:hover {
    color: #b20d54
}

.c-entry-content p a, .c-entry-content li a {
    text-decoration: underline
}

a:active {
    outline: 0 none
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

img.align-center, img.align-left, img.align-right {
    display: block;
    margin: 2em auto
}

a img {
    border: none;
    border: 0
}

hr {
    display: block;
    height: 1px;
    margin: 1.846em auto;
    border: 0;
    background-color: #ddd
}

main {
    padding: 0;
    position: relative;
    display: block
}

.home main {
    padding: 0 0 1.846em
}

.single main {
    padding-top: 0
}

.o-wrapper {
    position: relative;
    margin: 1.846em auto 0;
    padding-top: 1.846em;
    border-top: 2px dotted #999
}

.contain, .contain-restrict {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 90%
}

.contain {
    max-width: 1266px
}

.c-base.contain {
    width: 100%
}

.c-base {
    /*background: #fff;*/
    /*border: 1px solid var(--wp--preset--color--line);*/
    /*border-radius: 5px;*/
    padding: .692em 0
}

a, input:focus {
    -webkit-transition: all ease .15s;
    transition: all ease .15s
}

.sr-only {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden
}

.c-btn.c-skip-link {
    display: block;
    max-width: 12.5em;
    margin: 1.846em auto 0;
    text-align: center
}

.c-cookie-alert {
    color: #222;
    padding: .75em 0;
    background: #eeede8;
}

.c-cookie-alert .fpc-icon-cross {
    position: absolute;
    top: 0;
    right: 0;
    padding: .25em;
    cursor: pointer;
    color: #555
}

.c-cookie-alert p {
    margin: 0;
    font-size: .923em
}

.c-cookie-alert p:first-child {
    font-size: 1.231em;
    margin-bottom: .25em
}

.c-cookie-alert a {
    color: #016cbe
}

.c-btn.c-btn-arrow {
    padding-right: 2.5em
}

a.c-btn-arrow::after, div.c-btn-arrow::after {
    content: "";
    width: 1.000em;
    height: 1em;
    color: #5e8138;
    background-color: currentColor;
    -webkit-mask: url("./icons/svg/chevron-right.svg") no-repeat center / contain;
    mask: url("./icons/svg/chevron-right.svg") no-repeat center / contain;
    position: absolute;
    top: 50%;
    right: 1.846em;
    transform: translateY(-50%)
}

.c-btn.c-btn-arrow::after {
    right: 1em
}

a.c-btn-dark.c-btn-arrow::after, .c-btn-arrow:hover::after, .c-btn-arrow.c-btn-prev:hover::after {
    color: #fff
}

.c-cve-login {
    /*width: 3.8em;*/
    position: relative
}

.c-cve-login.c-logged-in {
    width: 8em
}

.c-cve-btn {
    font-size: 1em;
    font-family: var(--wp--preset--font-family--gotham);
    color: #666;
    background: #f4f4f4;
    border: 1px solid #dbdbdb;
    padding: .75em .55em .55em;
    border-radius: 5px;
    margin: 0;
    text-align: left;
    cursor: pointer;
}

.c-cve-btn:hover {
    border-color: #bbb
}

.c-logged-out .c-cve-btn {
    width: 100%;
    display: block;
    text-align: center;
}

.c-logged-in .c-cve-btn {
    width: 48%;
    display: inline-block;
}

.c-cve-btn span {
    display: none;
}

.c-tel a {
    color: #fff
}

ul.c-quick-links {
    margin: .692em 0 1em .538em;
    padding: 0;
    width: 100%;
    max-width: 240px;
    display: none
}

ul.c-quick-links li a {
    display: block;
    font-size: 1.231em;
    font-weight: 700;
    color: var(--wp--preset--color--charcoal)
}

ul.c-quick-links li a::before {
    color: #ccc
}

ul.c-quick-links li a::after {
    color: #666
}

ul.c-quick-links li a.c-tel {
    white-space: nowrap;
    font-size: 1.98em;
    line-height: 1;
    margin-bottom: .2em
}

ul.c-quick-links li a.c-tel::before {
    content: "";
    display: inline-block;
    width: 1.003em;
    height: 1em;
    vertical-align: -0.0625em;
    font-size: 22px;
    margin-right: 8px;
    background-color: currentColor;
    -webkit-mask: url("./icons/svg/phone.svg") no-repeat center / contain;
    mask: url("./icons/svg/phone.svg") no-repeat center / contain
}

ul.c-quick-links li a.c-mail {
    color: #297dbe
}

ul.c-quick-links li a.c-mail::before {
    content: "";
    display: inline-block;
    width: 1.271em;
    height: 1em;
    vertical-align: -0.0625em;
    margin-right: 10px;
    background-color: currentColor;
    -webkit-mask: url("./icons/svg/mail.svg") no-repeat center / contain;
    mask: url("./icons/svg/mail.svg") no-repeat center / contain
}

ul.c-quick-links li a.c-mail:hover {
    color: #3298e7
}

.c-header {
    position: relative;
    background: #fff;
    width: 100%;
    text-align: left;
    z-index: 10;
    -webkit-transition: all .5s cubic-bezier(.77, 0, .175, 1) 0s;
    transition: all .5s cubic-bezier(.77, 0, .175, 1) 0s
}

.c-nav-branding {
    position: relative;
    height: 4.615em;
    line-height: 4.615em;
    float: left
}

.c-nav-branding a.logo {
    width: 90px;
    float: left
}

.c-nav-branding p {
    display: none
}

.c-nav-hold {
    background: var(--wp--preset--color--brand-pink)
}

.c-nav-hold::after {
    content: "";
    background: #f8afbb;
    width: 100%;
    height: 2px;
    position: absolute;
    bottom: 0;
    z-index: 1
}

.c-nav-secondary {
    float: right;
    margin-top: .75em;
    margin-right: 5em
}

.c-nav-secondary ul {
    list-style: none
}

.c-nav-secondary ul li {
    display: block
}

.c-hamburger {
    display: none;
    position: absolute;
    top: 52%;
    right: 1.846em;
    transform: translateY(-50%);
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 40px;
    height: 40px;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: 0;
    border: none;
    cursor: pointer;
    transition: background .3s
}

.c-hamburger:focus {
    outline: none
}

.c-hamburger span {
    display: block;
    position: absolute;
    top: 18px;
    left: 5px;
    right: 5px;
    height: 3px;
    background: var(--wp--preset--color--brand-pink)
}

.c-hamburger span::before, .c-hamburger span::after {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--wp--preset--color--brand-pink);
    content: ""
}

.c-hamburger span::before {
    top: -8px
}

.c-hamburger span::after {
    bottom: -8px
}

.c-hamburger--htx {
    background-color: #fff
}

.c-hamburger--htx span {
    transition: background .2s
}

.c-hamburger--htx span::before, .c-hamburger--htx span::after {
    transition-duration: .2s, .2s;
    transition-delay: .2s, 0s
}

.c-hamburger--htx span::before {
    transition-property: top, transform
}

.c-hamburger--htx span::after {
    transition-property: bottom, transform
}

.c-hamburger--htx.is-active {
}

.c-hamburger--htx.is-active span {
    background: none
}

.c-hamburger--htx.is-active span::before {
    top: 0;
    transform: rotate(45deg)
}

.c-hamburger--htx.is-active span::after {
    bottom: 0;
    transform: rotate(-45deg)
}

.c-hamburger--htx.is-active span::before, .c-hamburger--htx.is-active span::after {
    -webkit-transition-delay: 0s, .3s;
    transition-delay: 0s, .3s
}

ul.c-pride-badge {
    display: block;
    list-style: none;
    border-right: 2px dotted #ccc;
    padding: .923em 1.385em .923em 0;
    margin: 0 1.385em 0 0;
    float: left
}

ul.c-pride-badge li {
    display: inline-block;
    text-align: center;
    max-width: 60px;
    font-size: .77em;
    line-height: 1.2;
    margin: 0 0 0 .923em
}

ul.c-pride-badge li span {
    font-size: 48px;
    color: var(--wp--preset--color--brand-pink);
    margin-bottom: .15em;
    display: block
}

.c-footer ul.c-pride-badge {
    display: none
}

h1.page-title {
    font-family: var(--wp--preset--font-family--gotham) !important;
    font-weight: 500 !important;
    font-size: 2.308em !important;
    margin-bottom: 0
}

.c-title-share {
    border-bottom: 2px dotted #999;
    padding-bottom: 1em;
    margin-bottom: 1.846em
}

.c-title-share h1 {
    font-size: 1.615em;
    font-weight: 400;
    line-height: 1.3
}

h1.cve-test-result {
    color: #297dbe
}

h1.cve-test-result::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    color: var(--wp--preset--color--brand-pink);
    border: 2px solid var(--wp--preset--color--brand-pink);
    border-radius: 100%;
    padding: 5px;
    margin-right: .5em;
    vertical-align: middle
}

h1.cve-test-result.cve-test-fail::before {
    content: "";
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024' fill='%23ed1270' aria-hidden='true'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M1014.662 137.34c-0.004 0.004-0.008 0.008-0.012 0.010l-310.644 310.65 310.644 310.65c0.004 0.004 0.008 0.006 0.012 0.010 3.344 3.346 5.762 7.254 7.312 11.416 4.246 11.376 1.824 24.682-7.324 33.83l-146.746 146.746c-9.148 9.146-22.45 11.566-33.828 7.32-4.16-1.55-8.070-3.968-11.418-7.31 0-0.004-0.004-0.006-0.008-0.010l-310.648-310.652-310.648 310.65c-0.004 0.004-0.006 0.006-0.010 0.010-3.346 3.342-7.254 5.76-11.414 7.31-11.38 4.248-24.682 1.826-33.83-7.32l-146.748-146.748c-9.148-9.148-11.568-22.452-7.322-33.828 1.552-4.16 3.97-8.072 7.312-11.416 0.004-0.002 0.006-0.006 0.010-0.010l310.65-310.648-310.65-310.652c-0.002-0.004-0.006-0.006-0.008-0.010-3.342-3.346-5.76-7.254-7.314-11.414-4.248-11.376-1.826-24.682 7.322-33.83l146.748-146.746c9.15-9.148 22.452-11.568 33.83-7.322 4.16 1.552 8.070 3.97 11.416 7.312 0.002 0.004 0.006 0.006 0.010 0.010l310.648 310.65 310.648-310.65c0.004-0.002 0.008-0.006 0.012-0.008 3.348-3.344 7.254-5.762 11.414-7.314 11.378-4.246 24.684-1.826 33.828 7.322l146.746 146.748c9.148 9.148 11.57 22.454 7.324 33.83-1.552 4.16-3.97 8.068-7.314 11.414z'/%3E%3C/svg%3E") no-repeat center / 16px 16px
}

h1.cve-test-result.cve-test-success::before {
    content: "";
    border-color: #6eba4d;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024' fill='%236eba4d' aria-hidden='true'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M864 832l-480-480-224 224-160-160 384-384 640 640z'/%3E%3C/svg%3E") no-repeat center / 16px 16px
}

.c-product-overview h1, .c-product-overview h2 {
    font-family: var(--wp--preset--font-family--gotham);
    font-weight: 700;
}

.product-detail .c-product-overview h1, .product-detail .c-product-overview h2 {
    font-size: 3.692em
}

.c-product-overview h1 {
    font-size: 3.692em;
    line-height: .9;
    letter-spacing: -2px
}

.c-product-overview h2 {
    font-size: 1.8em;
    line-height: .9em;
    margin-bottom: 15px;
    padding-bottom: 15px;
    color: #999;
    word-wrap: break-word;
    border-bottom: 1px dotted #ccc
}

.product-detail .c-title-share {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0
}

.product-detail h1.page-title {
    margin-bottom: .5em !important
}

.product-detail .c-product-overview h2 {
    border-bottom: 0
}

.c-product-overview h1 span, .c-product-overview h2 span {
    font-family: var(--wp--preset--font-family--gotham);
    font-weight: 400
}

.c-product-overview .c-btn {
    font-size: 1.231em;
    display: inline-block
}

.c-cve-articles h2, .c-cve-test h2 span {
    color: #297dbe
}

.c-product-overview.c-green h1, .c-product-overview.c-green h2, .c-product-overview.c-green .c-product-meta span, .c-product-overview.c-green a {
    color: #1bba9d
}

.c-product-overview.c-yellow h1, .c-product-overview.c-yellow h2, .c-product-overview.c-yellow .c-product-meta span, .c-product-overview.c-yellow a {
    color: #f99d1c
}

.c-product-overview.c-blue h1, .c-product-overview.c-blue h2, .c-product-overview.c-blue .c-product-meta span, .c-product-overview.c-blue a {
    color: #00baf2
}

.c-product-overview.c-purple h1, .c-product-overview.c-purple h2, .c-product-overview.c-purple .c-product-meta span, .c-product-overview.c-purple a {
    color: #a565a0
}

.c-product-overview.c-pink h1, .c-product-overview.c-pink h2, .c-product-overview.c-pink .c-product-meta span, .c-product-overview.c-pink a {
    color: #f176ae
}

.product-detail .c-product-overview h2 {
    margin-bottom: 40px
}

.c-product-overview .user-content {
    float: left;
    width: 65%
}

.c-product-overview .c-product-meta {
    width: 100%;
    float: left;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px dotted #bbb
}

.c-product-overview .user-content h3 {
    font-size: 1.675em;
    margin-bottom: .5em;
    color: #333
}

.c-product-overview .user-content ul {
    margin-bottom: 1.5em;
    padding-right: 1em
}

.c-product-overview .user-content ul li {
    font-size: 1.1em;
    margin-bottom: .3em;
    color: #666
}

.c-product-meta {
    border-top: 2px dotted #999;
    padding-top: 1em
}

.c-product-meta span {
    font-size: 64px;
    display: block;
    margin: 0 0 .25em
}

.c-meta-block p {
    font-size: .917em;
    margin: 0
}

.c-meta-block span {
    font-size: 32px;
    display: inline-block
}

article .row {
    text-align: center;
    padding: 1.385em 0
}

[class*="col-"] {
    float: left;
    padding: 0;
    width: 100%;
    min-height: 1px;
    position: relative;
    overflow: hidden
}

.c-tile-cta-entry, .c-tile-cta-img, .c-cve-img {
    overflow: hidden;
    display: table-cell;
    vertical-align: middle
}

p.entry-meta {
    color: #999;
    display: block
}

.c-cve-image a {
    display: block
}

.c-cve-image img {
    max-width: 150px;
    border: 1px solid #bbb;
    background: #fff;
    padding: 1px;
    border-radius: 5px
}

.c-cve-entry {
    overflow: hidden
}

.c-cve-articles h2 {
    font-size: 1.308em;
    margin-bottom: .25em
}

.c-cve-articles h2.c-heading-h2 {
    font-size: 1.769em;
    margin-bottom: 1.2em
}

.c-cve-articles p.entry-meta {
    margin-bottom: .25em
}

.c-cve-articles h2 a {
    color: var(--wp--preset--color--charcoal);
    display: block
}

.c-cve-articles h2 a:hover {
    color: #000
}

a.logo {
    display: block;
    -webkit-transition: none;
    transition: none
}

a.c-logo-vci {
    width: 100%;
    max-width: 100px;
    display: inline-block;
    opacity: .66;
    float: left
}

a.c-logo-vci:hover {
    opacity: 1
}

.c-footer p.c-logo-vci {
    font-size: 1.231em;
    color: #fff;
    margin: 1.846em 0 0 .5em;
    float: left
}

.c-product {
    width: 100%;
    max-width: 430px;
    margin: 0;
    position: relative
}

.c-product img {
    border: 1px solid #dcdcdc;
    border-radius: 5px;
    z-index: 1;
    width: 100%
}

.c-product-badge {
    width: 100px;
    height: 100px;
    position: absolute;
    top: 1em;
    right: 1em;
    z-index: 2;
    transform: rotate(5deg);
    background: url(./icons/product-badge.svg) no-repeat top right;
    background-size: 100px
}

.c-product-badge p {
    color: #fff;
    font-size: .8em;
    text-transform: uppercase;
    line-height: 1.2;
    width: 80px;
    letter-spacing: .075px;
    margin: 30px 0 0 10px;
    font-weight: 400;
    text-align: center
}

.c-slider a {
    color: #fff
}

.c-slider .c-slider-mini-content a {
    color: var(--wp--preset--color--brand-pink)
}

.c-slider .c-slider-mini-content a:hover {
    color: var(--wp--preset--color--brand-pink-tint)
}

.c-slider a:hover {
    color: #f5f5f5
}

.c-slider-mini img {
    max-width: 130px;
    float: left
}

.c-slider-mini .c-slider-mini-content {
    margin-top: 2.769em
}

.c-slider-mini .c-slider-mini-content p {
    font-size: 1em
}

article {
    margin-bottom: 1.846em
}

fieldset {
    border: none
}

.c-footer .c-frm label {
    position: absolute;
    top: 10px;
    left: 1em;
    z-index: 2;
    display: none
}

.checkbox label {
    cursor: pointer
}

.c-footer .c-frm input::-webkit-input-placeholder {
    color: var(--wp--preset--color--stone)
}

.c-footer .c-frm input::-moz-placeholder {
    color: var(--wp--preset--color--stone)
}

.c-footer .c-frm input:-ms-input-placeholder {
    color: var(--wp--preset--color--stone)
}

.c-footer .c-frm input::placeholder {
    color: var(--wp--preset--color--stone)
}

textarea, select {
    width: 100%;
    padding: 1em;
    margin: 0 0 1.385em;
    color: #313131;
    font-weight: 300;
    border-radius: 0
}

input[type="checkbox"] {
    border: none;
    background: none;
    border-radius: 0
}

select {
    border-radius: 5px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative
}

textarea {
    height: 150px;
    line-height: 1.4;
    width: 100%;
    resize: vertical;
    border-radius: 5px
}

input:focus, textarea:focus, select:focus {
    outline: none
}

:-moz-placeholder {
    color: #313131;
    opacity: 1 !important
}

::-moz-placeholder {
    color: #313131;
    opacity: 1 !important
}

::-webkit-input-placeholder {
    color: #313131;
    opacity: 1 !important
}

:-ms-input-placeholder {
    color: #313131;
    opacity: 1 !important
}

:focus::-moz-placeholder {
    opacity: .25 !important
}

:focus::-webkit-input-placeholder {
    opacity: .25 !important
}

:focus:-ms-input-placeholder {
    opacity: .25 !important
}

ul.c-nav-dash {
    list-style: none;
    margin: 0;
    padding: 0
}

ul.c-nav-dash li a {
    background: var(--wp--preset--color--charcoal);
    color: #fff;
    overflow: hidden;
    padding: 1.385em .75em;
    position: relative;
    border-radius: 5px;
    display: table;
    width: 100%;
    margin-bottom: 1em;
    font-size: 1.538em;
    line-height: 1.25;
    font-weight: 700
}

ul.c-nav-dash li:last-child a {
    margin-bottom: 0
}

ul.c-nav-dash li a:hover {
    background: #333
}

ul.c-nav-dash li a .c-cve-img {
    width: 60px;
    text-align: center
}

ul.c-nav-dash li a [class*="icon-"] {
    color: var(--wp--preset--color--brand-pink);
    font-size: 38px
}

ul.c-nav-dash li a .c-cve-title {
    display: table-cell;
    overflow: hidden;
    vertical-align: middle
}

ul.c-cve-test-score-breakdown {
    list-style: none;
    margin: 0 0 4em;
    padding: 0
}

ul.c-cve-test-score-breakdown li {
    margin-bottom: 1em;
    color: #1b1b1e;
    font-size: 1.167em;
    font-family: var(--wp--preset--font-family--gotham);
    font-weight: 500
}

ul.c-cve-test-score-breakdown li span {
    color: var(--wp--preset--color--brand-pink)
}

ul.c-cve-test-score-breakdown li::before {
    width: 12px;
    height: 12px;
    border: 1px solid #bbb;
    border-radius: 3px;
    padding: 5px;
    margin-right: 1em;
    margin-bottom: .25em;
    display: inline-block;
    vertical-align: middle
}

ul.c-cve-test-score-breakdown li.q-correct::before {
    content: "";
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024' fill='%236eba4d' aria-hidden='true'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M864 832l-480-480-224 224-160-160 384-384 640 640z'/%3E%3C/svg%3E") no-repeat center / 12px 12px
}

ul.c-cve-test-score-breakdown li.q-incorrect::before {
    content: "";
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024' fill='%23ef423e' aria-hidden='true'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M1014.662 137.34c-0.004 0.004-0.008 0.008-0.012 0.010l-310.644 310.65 310.644 310.65c0.004 0.004 0.008 0.006 0.012 0.010 3.344 3.346 5.762 7.254 7.312 11.416 4.246 11.376 1.824 24.682-7.324 33.83l-146.746 146.746c-9.148 9.146-22.45 11.566-33.828 7.32-4.16-1.55-8.070-3.968-11.418-7.31 0-0.004-0.004-0.006-0.008-0.010l-310.648-310.652-310.648 310.65c-0.004 0.004-0.006 0.006-0.010 0.010-3.346 3.342-7.254 5.76-11.414 7.31-11.38 4.248-24.682 1.826-33.83-7.32l-146.748-146.748c-9.148-9.148-11.568-22.452-7.322-33.828 1.552-4.16 3.97-8.072 7.312-11.416 0.004-0.002 0.006-0.006 0.010-0.010l310.65-310.648-310.65-310.652c-0.002-0.004-0.006-0.006-0.008-0.010-3.342-3.346-5.76-7.254-7.314-11.414-4.248-11.376-1.826-24.682 7.322-33.83l146.748-146.746c9.15-9.148 22.452-11.568 33.83-7.322 4.16 1.552 8.070 3.97 11.416 7.312 0.002 0.004 0.006 0.006 0.010 0.010l310.648 310.65 310.648-310.65c0.004-0.002 0.008-0.006 0.012-0.008 3.348-3.344 7.254-5.762 11.414-7.314 11.378-4.246 24.684-1.826 33.828 7.322l146.746 146.748c9.148 9.148 11.57 22.454 7.324 33.83-1.552 4.16-3.97 8.068-7.314 11.414z'/%3E%3C/svg%3E") no-repeat center / 12px 12px
}

ul.c-grid-2-col {
    margin: 0;
    padding: 0;
    list-style: none
}

ul.c-grid-2-col li {
    margin-bottom: 4em
}

ul.c-grid-2-col li article {
    margin-bottom: 0
}

ul.c-pride-badge {
    display: none
}

.col-3 .c-tel {
    margin-top: 1em;
    color: #aaa
}

.col-3 .c-social {
    margin-top: 1.846em
}

ul.c-list-arrowCMSListMenuUL {
    margin: 0;
    padding: 0
}

ul.c-list-arrowCMSListMenuUL li {
    margin: 0;
    position: relative;
    padding-left: 1.385em;
    line-height: 1.25;
    list-style: none
}

ul.c-list-arrowCMSListMenuUL > li {
    margin-bottom: .25em;
    padding-bottom: .25em
}

ul.c-list-arrowCMSListMenuUL > li > a, ul.c-list-arrowCMSListMenuUL ul > li > a {
    padding: 0 0 .25em;
    font-size: 1.385em;
    font-weight: 700;
    display: block;
}

ul.c-list-arrowCMSListMenuUL li ul li a {
    color: #555;
    font-size: 1em;
    display: block;
    transition: transform 0.2s;
}

ul.c-list-arrowCMSListMenuUL li ul li a:hover {
    color: #000;
    transform: translateX(2%);
}

ul.c-list-arrowCMSListMenuUL li:last-child {
    margin-bottom: 0
}

ul.c-list-arrowCMSListMenuUL > li::before,
.c-sidebar ul#menuElem ul > li::before {
    content: "";
    width: 1.000em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask: url("./icons/svg/chevron-right.svg") no-repeat center / contain;
    mask: url("./icons/svg/chevron-right.svg") no-repeat center / contain;
    position: absolute;
    top: 6px;
    left: 0;
    color: #525252;
    font-size: 12px
}

ul.c-list-arrowCMSListMenuUL li li {
    padding: 0;
    margin-bottom: .5em
}

.c-sidebar ul#menuElem {
    margin: 0;
    padding: 0
}

.c-sidebar ul#menuElem li {
    margin: 0;
    position: relative;
    padding-left: 1.385em;
    line-height: 1.25;
    list-style: none
}

.c-sidebar ul#menuElem > li {
    border-bottom: 2px dotted #ccc;
    margin-bottom: .75em;
    padding-bottom: .5em
}

.c-sidebar ul#menuElem > li > a {
    padding: 0 0 .25em;
    font-size: 1.385em;
    font-weight: 700;
    display: block;
    transition: transform 0.2s;
}

.c-sidebar ul#menuElem > li > a:hover {
    transform: translateX(2%);
}

.c-sidebar ul li ul {
    display: none;
}

.c-sidebar ul li.current-menu-parent ul,
.c-sidebar ul li.current-menu-item ul,
.c-sidebar ul li.current_page_item ul,
.c-sidebar ul li.current_page_ancestor ul,
ul.always-show-sub-menu li ul {
    display: block;
}

.c-sidebar ul#menuElem li ul li a {
    padding-left: 1.25em;
    line-height: 2
}

.c-sidebar ul#menuElem li ul li a:hover {
    color: #000
}

.c-sidebar ul#menuElem li:last-child {
    border-bottom: none;
    margin-bottom: 0
}

.c-sidebar ul#menuElem > li::before {
    content: "";
    width: 1.000em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask: url("./icons/svg/chevron-right.svg") no-repeat center / contain;
    mask: url("./icons/svg/chevron-right.svg") no-repeat center / contain;
    position: absolute;
    top: 4px;
    left: 0;
    color: #525252;
    font-size: 12px
}

.c-sidebar ul#menuElem li ul li {
    padding: 0;
    margin-bottom: 0;
}

.c-product-overview ul {
    margin: 0;
    padding: 0
}

.c-product-overview ul li {
    margin: 0 0 .75em;
    position: relative;
    padding-left: 1em;
    line-height: 1.4;
    list-style: none;
    font-size: 1.154em;
    font-weight: 600;
    color: #3c3c3b;
    text-transform: uppercase
}

.c-product-overview ul > li::before {
    content: "";
    vertical-align: middle;
    position: absolute;
    top: .4em;
    left: 0;
    color: #222;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #007bff
}

.c-product-overview .c-green ul > li::before {
    border-color: transparent transparent transparent #1bba9d
}

.c-pink ul > li::before {
    border-color: transparent transparent transparent #f176ae
}

.c-footer ul {
    list-style: none
}

.c-footer ul.c-footer-nav {
    margin-bottom: 0
}

.c-footer ul.c-footer-nav li {
    display: inline
}

.c-footer ul.c-footer-nav li a {
    display: block;
    color: #fff;
    font-weight: 400;
    margin: 0;
    line-height: 1.7
}

.c-footer ul.c-footer-nav li a:hover, .c-footer-secondary ul li a:hover {
    color: #f9b7d3
}

.c-footer ul.c-footer-nav li.current-menu-item a {
    color: #fff;
    font-weight: 600
}

.c-footer-secondary ul li {
    display: inline;
    margin-right: .75em;
    padding-right: .75em;
    border-right: 2px dotted #fff
}

.c-footer-secondary ul li:last-child {
    margin-right: 0;
    padding-right: 0;
    border-right: 0
}

.c-footer-secondary ul li a {
    color: #fff;
    display: inline-block
}

.c-testimonials {
    border-bottom: 2px dotted #999;
    margin-bottom: 1.846em
}

blockquote {
    quotes: "“" "”";
    padding: .3em 2.769em 0;
    margin: 1.846em 0;
    position: relative
}

blockquote::before, blockquote::after {
    content: "";
    width: 0.625em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask: url("./icons/svg/quote.svg") no-repeat center / contain;
    mask: url("./icons/svg/quote.svg") no-repeat center / contain;
    color: #f688b7;
    font-size: 32px;
    position: absolute
}

blockquote::before {
    top: 0;
    left: 0
}

blockquote::after {
    bottom: 0;
    right: 0;
    transform: rotate(180deg)
}

blockquote p {
    font-size: 1em
}

button {
    padding: 0;
    outline: none;
    font-size: 1.2em
}

.c-btn, .main-content input[type="submit"], .c-footer input[type="submit"], a.qmn_btn.mlw_qmn_quiz_link {
    font-family: inherit;
    font-size: 1.385em;
    font-weight: 700;
    color: #fff !important;
    cursor: pointer;
    display: inline-block;
    border: 1px solid var(--wp--preset--color--brand-green-dark);
    -webkit-appearance: none;
    border-radius: 5px;
    outline: none;
    position: relative;
    background: var(--wp--preset--color--brand-green);
    text-decoration: none;
    margin: 0;
    padding: .4em 1em;
    text-align: center;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: all .15s ease 0s;
    transition: all .15s ease 0s
}

.main-content input[type="submit"] {
    margin-right: 10px;
    margin-bottom: 10px
}

.c-btn:hover, a.qmn_btn.mlw_qmn_quiz_link:hover, .main-content input[type="submit"]:hover, .c-footer input[type="submit"]:hover {
    background: var(--wp--preset--color--brand-green-dark) !important;
    color: #fff
}

.c-cve-test .c-btn-arrow {
    margin-bottom: 1em
}

.c-btn.c-btn-small {
    font-size: 1.25em
}

.c-footer input[type="submit"] {
    font-size: 1.2em
}

.c-btn-sml {
    font-size: 1em;
    padding: .2em .5em
}

.c-cookie-alert .c-btn-sml {
    margin: .5em 0 0 0;
    display: block
}

.c-breadcrumb {
    margin: 0 0 .75em;
    font-size: 1em
}

.c-base .c-main-content {
    padding: 1em 1.846em
}

.c-sidebar {
    /*background: #efefef;*/
    padding: 1.385em;
    /*border-radius: 5px;*/
    /*border: 1px solid var(--wp--preset--color--line)*/
}

.c-base .c-aside-main {
    padding-left: .75em;
    padding-right: .75em
}

.c-footer {
    padding: 0;
    background: #404042;
    color: #fff;
    text-align: left
}

.c-footer .c-footer-heading {
    margin-bottom: .75em;
    padding-bottom: .5em;
    color: #f9b7d3;
    border-bottom: 2px dotted #9f9f9f;
    font-size: 1.385em;
    line-height: 1.25;
    display: block;
    font-weight: 700
}

.c-footer-primary {
    padding: 1.846em 0
}

.c-footer p {
    color: #ddd;
    font-size: 1.077em;
    margin: 0
}

.c-footer-secondary p {
    font-size: 1em
}

.c-footer-secondary ul, .c-footer-secondary p {
    margin-bottom: 0
}

.c-footer-primary li {
    font-size: 1.077em
}

.c-footer-secondary {
    background: #333;
    padding: 1.846em 0
}

/* fpc-icon-* glyphs, converted from the classic icon font to
   per-glyph SVG masks (scripts/iconfont-to-svg.py): the box is the
   glyph's em box so font-size keeps sizing icons, and
   background-color: currentColor keeps every colour rule working. */
[class^="fpc-icon-"], [class*=" fpc-icon-"] {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.0625em;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.fpc-icon-bottle {
    -webkit-mask-image: url("./icons/svg/icon-bottle.svg");
    mask-image: url("./icons/svg/icon-bottle.svg");
}

.fpc-icon-cat-looking-up {
    width: 0.894em;
    -webkit-mask-image: url("./icons/svg/cat-looking-up.svg");
    mask-image: url("./icons/svg/cat-looking-up.svg");
}

.fpc-icon-cat-walking {
    width: 1.316em;
    -webkit-mask-image: url("./icons/svg/cat-walking.svg");
    mask-image: url("./icons/svg/cat-walking.svg");
}

.fpc-icon-checklist {
    width: 0.747em;
    -webkit-mask-image: url("./icons/svg/checklist.svg");
    mask-image: url("./icons/svg/checklist.svg");
}

.fpc-icon-checkmark {
    -webkit-mask-image: url("./icons/svg/checkmark.svg");
    mask-image: url("./icons/svg/checkmark.svg");
}

.fpc-icon-chevron-down {
    -webkit-mask-image: url("./icons/svg/chevron-down.svg");
    mask-image: url("./icons/svg/chevron-down.svg");
}

.fpc-icon-chevron-left {
    -webkit-mask-image: url("./icons/svg/chevron-left.svg");
    mask-image: url("./icons/svg/chevron-left.svg");
}

.fpc-icon-chevron-right {
    -webkit-mask-image: url("./icons/svg/chevron-right.svg");
    mask-image: url("./icons/svg/chevron-right.svg");
}

.fpc-icon-chevron-up {
    -webkit-mask-image: url("./icons/svg/chevron-up.svg");
    mask-image: url("./icons/svg/chevron-up.svg");
}

.fpc-icon-clock {
    -webkit-mask-image: url("./icons/svg/icon-clock.svg");
    mask-image: url("./icons/svg/icon-clock.svg");
}

.fpc-icon-cross {
    -webkit-mask-image: url("./icons/svg/cross.svg");
    mask-image: url("./icons/svg/cross.svg");
}

.fpc-icon-dashboard {
    width: 0.812em;
    -webkit-mask-image: url("./icons/svg/dashboard.svg");
    mask-image: url("./icons/svg/dashboard.svg");
}

.fpc-icon-dashboard2 {
    -webkit-mask-image: url("./icons/svg/dashboard2.svg");
    mask-image: url("./icons/svg/dashboard2.svg");
}

.fpc-icon-document-file-pdf {
    -webkit-mask-image: url("./icons/svg/document-file-pdf.svg");
    mask-image: url("./icons/svg/document-file-pdf.svg");
}

.fpc-icon-dog {
    width: 1.087em;
    -webkit-mask-image: url("./icons/svg/dog.svg");
    mask-image: url("./icons/svg/dog.svg");
}

.fpc-icon-dog-cat {
    width: 1.289em;
    -webkit-mask-image: url("./icons/svg/dog-cat.svg");
    mask-image: url("./icons/svg/dog-cat.svg");
}

.fpc-icon-dog-jumping {
    width: 1.341em;
    -webkit-mask-image: url("./icons/svg/dog-jumping.svg");
    mask-image: url("./icons/svg/dog-jumping.svg");
}

.fpc-icon-dog2 {
    width: 1.617em;
    -webkit-mask-image: url("./icons/svg/dog2.svg");
    mask-image: url("./icons/svg/dog2.svg");
}

.fpc-icon-facebook {
    -webkit-mask-image: url("./icons/svg/facebook.svg");
    mask-image: url("./icons/svg/facebook.svg");
}

.fpc-icon-file-pdf {
    -webkit-mask-image: url("./icons/svg/file-pdf.svg");
    mask-image: url("./icons/svg/file-pdf.svg");
}

.fpc-icon-files {
    -webkit-mask-image: url("./icons/svg/files.svg");
    mask-image: url("./icons/svg/files.svg");
}

.fpc-icon-flickr {
    -webkit-mask-image: url("./icons/svg/flickr.svg");
    mask-image: url("./icons/svg/flickr.svg");
}

.fpc-icon-google {
    -webkit-mask-image: url("./icons/svg/google.svg");
    mask-image: url("./icons/svg/google.svg");
}

.fpc-icon-health {
    -webkit-mask-image: url("./icons/svg/icon-health.svg");
    mask-image: url("./icons/svg/icon-health.svg");
}

.fpc-icon-heart {
    -webkit-mask-image: url("./icons/svg/icon-heart.svg");
    mask-image: url("./icons/svg/icon-heart.svg");
}

.fpc-icon-help-with-circle {
    -webkit-mask-image: url("./icons/svg/help-with-circle.svg");
    mask-image: url("./icons/svg/help-with-circle.svg");
}

.fpc-icon-ireland {
    width: 0.760em;
    -webkit-mask-image: url("./icons/svg/ireland.svg");
    mask-image: url("./icons/svg/ireland.svg");
}

.fpc-icon-joint {
    -webkit-mask-image: url("./icons/svg/icon-joint.svg");
    mask-image: url("./icons/svg/icon-joint.svg");
}

.fpc-icon-linkedin {
    -webkit-mask-image: url("./icons/svg/linkedin.svg");
    mask-image: url("./icons/svg/linkedin.svg");
}

.fpc-icon-location {
    -webkit-mask-image: url("./icons/svg/location.svg");
    mask-image: url("./icons/svg/location.svg");
}

.fpc-icon-lock {
    -webkit-mask-image: url("./icons/svg/lock.svg");
    mask-image: url("./icons/svg/lock.svg");
}

.fpc-icon-lock-open {
    -webkit-mask-image: url("./icons/svg/lock-open.svg");
    mask-image: url("./icons/svg/lock-open.svg");
}

.fpc-icon-login {
    -webkit-mask-image: url("./icons/svg/lock.svg");
    mask-image: url("./icons/svg/lock.svg");
}

.fpc-icon-logout {
    -webkit-mask-image: url("./icons/svg/lock-open.svg");
    mask-image: url("./icons/svg/lock-open.svg");
}

.fpc-icon-mail {
    width: 1.271em;
    -webkit-mask-image: url("./icons/svg/mail.svg");
    mask-image: url("./icons/svg/mail.svg");
}

.fpc-icon-minus {
    -webkit-mask-image: url("./icons/svg/minus.svg");
    mask-image: url("./icons/svg/minus.svg");
}

.fpc-icon-padlock {
    width: 0.769em;
    -webkit-mask-image: url("./icons/svg/padlock.svg");
    mask-image: url("./icons/svg/padlock.svg");
}

.fpc-icon-paw {
    -webkit-mask-image: url("./icons/svg/icon-paw.svg");
    mask-image: url("./icons/svg/icon-paw.svg");
}

.fpc-icon-ph {
    -webkit-mask-image: url("./icons/svg/ph.svg");
    mask-image: url("./icons/svg/ph.svg");
}

.fpc-icon-phone {
    width: 1.003em;
    -webkit-mask-image: url("./icons/svg/phone.svg");
    mask-image: url("./icons/svg/phone.svg");
}

.fpc-icon-pinterest {
    -webkit-mask-image: url("./icons/svg/pinterest.svg");
    mask-image: url("./icons/svg/pinterest.svg");
}

.fpc-icon-plus {
    -webkit-mask-image: url("./icons/svg/plus.svg");
    mask-image: url("./icons/svg/plus.svg");
}

.fpc-icon-printer {
    -webkit-mask-image: url("./icons/svg/printer.svg");
    mask-image: url("./icons/svg/printer.svg");
}

.fpc-icon-quote {
    width: 0.625em;
    -webkit-mask-image: url("./icons/svg/quote.svg");
    mask-image: url("./icons/svg/quote.svg");
}

.fpc-icon-restoration {
    -webkit-mask-image: url("./icons/svg/restoration.svg");
    mask-image: url("./icons/svg/restoration.svg");
}

.fpc-icon-search {
    -webkit-mask-image: url("./icons/svg/search.svg");
    mask-image: url("./icons/svg/search.svg");
}

.fpc-icon-share {
    -webkit-mask-image: url("./icons/svg/share.svg");
    mask-image: url("./icons/svg/share.svg");
}

.fpc-icon-teardrop {
    -webkit-mask-image: url("./icons/svg/icon-teardrop.svg");
    mask-image: url("./icons/svg/icon-teardrop.svg");
}

.fpc-icon-twitter {
    -webkit-mask-image: url("./icons/svg/twitter.svg");
    mask-image: url("./icons/svg/twitter.svg");
}

.fpc-icon-user {
    -webkit-mask-image: url("./icons/svg/user.svg");
    mask-image: url("./icons/svg/user.svg");
}

.fpc-icon-youtube {
    -webkit-mask-image: url("./icons/svg/youtube.svg");
    mask-image: url("./icons/svg/youtube.svg");
}

ul.c-social {
    margin-right: 0
}

ul.c-social li a {
    margin: 0 1.25em 0 0
}

ul.c-social li [class*="icon-"] {
    font-size: 14px;
    width: 32px;
    height: 32px;
    line-height: 25px;
    text-align: center;
    display: inline-block;
    border-radius: 100%;
    border: 3px solid #333;
    background: #fff
}

ul.c-social li a {
    display: inline-block;
    color: #333
}

ul.c-social li a:hover [class*="icon-"] {
    color: #000
}

.c-footer ul.c-social li, .c-footer ul.c-text-size li, .c-footer ul.c-contrast li {
    display: inline
}

.c-footer ul.c-social li [class*="icon-"] {
    color: #f9b7d3;
    border-color: #f9b7d3;
    background: transparent
}

.c-footer ul.c-social li a {
    margin: 0 .313em .75em 0
}

.c-footer ul.c-social li a:hover [class*="icon-"] {
    color: #fff;
    border-color: #fff
}

.faq-listing .accordion {
    border-top: 0;
    margin-top: 0;
    padding-top: 0
}

#cookieWrap .ConsentButtons .ConsentButton {
    width: 11em
}

@media only screen and (max-width: 29.938em) {
    ul.c-grid-2-col li {
        margin-bottom: 2em;
        padding-bottom: 2em;
        border-bottom: 2px dotted #999
    }
}

@media only screen and (max-width: 47.938em) {
    .c-footer-primary {
        padding: 2.769em 0
    }
}

/* The classic .c-nav-secondary margin-top (.75em / 2.4em / .5em across
   breakpoints) is zeroed on the block theme by the header group's
   blockGap:0 layout rule (.c-header .contain.wp-block-group > * + *),
   so restore it at every breakpoint with a higher-specificity selector. */
.c-header .contain.wp-block-group > .c-nav-secondary {
    margin-top: .75em;
}

/* The nowrap phone number paints a few px past its 240px quick-links box
   (it does on the classic site too); around 1024px viewports that tail
   crosses the window edge and mints a horizontal scrollbar — clip it. */
.c-header {
    overflow-x: clip;
}

@media only screen and (min-width: 48em) {
    .c-header .contain.wp-block-group > .c-nav-secondary {
        margin-top: 2.4em;
    }
}

@media only screen and (min-width: 60em) {
    .c-header .contain.wp-block-group > .c-nav-secondary {
        margin-top: .5em;
    }
}

/* On mobile the CVE button collapses to just its icon (the label is hidden
   below 30em). Centre that icon in the button, both axes — the shared button
   padding is top-heavy and the icon keeps a right margin meant for the label. */
@media only screen and (max-width: 29.938em) {
    .c-cve-login .c-cve-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding-top: .55em;
        padding-bottom: .55em;
    }
}

@media only screen and (max-width: 59.938em) {

    /*Need padding on login, register */
    /*.contain-restrict-max.c-base {*/
    /*    padding: 8px 16px;*/
    /*}*/

    

    .c-nav-hold .contain {
        width: 100%
    }

    

    

    

    

    

    

    

    

    

    

    

    .product-detail .c-list-arrowCMSListMenuUL {
        display: none
    }
}

@media only screen and (max-width: 63.938em) {
    .c-footer [class*="col-"] {
        margin: 0 0 1em;
        padding: 0 0 1em
    }

    ul.c-list-arrowCMSListMenuUL li ul {
        margin-bottom: .75em
    }

    ul.c-list-arrowCMSListMenuUL li ul li {
        margin: .75em 0
    }

    ul.c-list-arrowCMSListMenuUL li ul li a {
        font-size: 1.077em
    }

    

    .c-footer ul.c-pride-badge {
        display: block;
        border: none;
        clear: left
    }

    .c-footer ul.c-pride-badge li {
        margin-top: 1em;
        opacity: .66
    }

    .c-footer ul.c-pride-badge li span {
        color: #fff
    }

    .c-related-products, .c-testimonials {
        padding: 0 !important
    }
}

@media only screen and (min-width: 26.875em) {
    .c-nav-branding a.logo {
        width: 120px
    }

    

    

    

    .c-nav-secondary {
        position: relative
    }

    
}

@media only screen and (min-width: 30em) {
    .cve-contact, .c-cve-login.c-logged-in {
        width: 18em
    }

    
    .c-cve-btn span {
        display: inline-block
    }

    .c-footer .col-3 {
        float: left;
        width: 50%;
        padding: 0 1.385em;
        margin-bottom: 2.769em
    }

    

    .c-product-overview h1 {
        font-size: 5.538em
    }

    .c-product-badge {
        width: 140px;
        height: 140px;
        background-size: 140px
    }

    .c-product-badge p {
        font-size: 1.1em;
        margin: 40px 0 0 28px
    }

    ul.c-grid-2-col {
        margin-left: -1.385em
    }

    ul.c-grid-2-col li {
        width: 50%;
        padding: 0 1.385em;
        float: left
    }

    ul.c-grid-2-col li:nth-child(odd) {
        clear: both
    }

    

    

    

    
}

@media only screen and (min-width: 39.375em) {
    

    

    

    .c-product-overview .c-product-meta {
        border-top: none;
        padding-top: 0;
        border-left: 2px dotted #999;
        padding-left: 1.846em;
        float: right;
        width: 35%;
        margin-top: 10px;
        border-bottom: 0
    }

    main {
        padding: 2.769em 0
    }

    .c-base.contain {
        width: 90%
    }
}

@media only screen and (min-width: 48em) {
    

    .c-main-content ul ul, .c-main-content ol ol {
        margin-left: 2em
    }

    img.align-right {
        float: right;
        display: inline-block;
        margin: .25em 0 1em 1em
    }

    img.align-left {
        float: left;
        display: inline-block;
        margin: .25em 2em 1em 0
    }

    .c-nav-secondary {
        margin-top: 2.4em
    }

    .c-nav-branding {
        height: 7.385em;
        line-height: 7.385em
    }

    .c-nav-branding p {
        display: block;
        font-size: 1.154em;
        line-height: 1.2;
        float: left;
        margin: 1.86em 0 0 1.846em;
        color: #555
    }

    

    

    

    .c-footer-secondary ul {
        float: left
    }

    .c-footer-secondary p {
        text-align: right;
        margin-top: 0
    }

    

    article {
        margin-bottom: 2.769em
    }

    [class*="col-"] {
        float: left;
        padding: 0 1.385em;
        width: 100%;
        min-height: 1px
    }

    

    

    

    

    

    

    

    

    

    

    

    

    
}

@media only screen and (min-width: 60em) {
    

    .c-nav-secondary {
        margin-top: .5em
    }

    

    

    

    

    

    .cve-contact, .c-logged-in.cve-contact {
        display: block;
        float: right;
        width: 18.462em
    }

    ul.c-quick-links {
        display: inline-block
    }

    

    

    

    

    .c-nav-branding {
        height: 9em;
        line-height: 9em
    }

    .c-nav-branding p {
        margin-top: 2.5em
    }

    .c-nav-secondary {
        margin-right: 0
    }

    .c-footer .col-3 {
        width: 25%;
        margin-bottom: 0
    }

    .c-footer-primary {
        padding: 4em 0
    }

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    
}

@media only screen and (min-width: 64em) {
    ul.c-pride-badge {
        display: block
    }

    .c-title-share {
        margin-top: 1em
    }

    

    

    

    

    .c-aside-main {
        margin-top: 0
    }

    

    .col-12 {
        width: 100%
    }

    .col-9 {
        width: 75%
    }

    

    .col-6 {
        width: 50%
    }

    

    

    .col-3 {
        width: 25%
    }

    .c-base .c-main-content {
        float: right
    }

    .c-testimonials {
        border-bottom: 0;
        margin-bottom: 0;
        border-right: 2px dotted #999
    }

    ul.c-grid-2-col li {
        text-align: left;
        margin-bottom: 2.769em
    }
}

@media only screen and (min-width: 75em) {
    .c-nav-branding a.logo {
        width: 250px
    }

    

    

    

    

    .c-cve-image {
        float: left;
        margin-right: 1em
    }

    

    

    

    

    

    

    .c-entry-content {
        margin-bottom: 1.846em
    }

    .c-product {
        float: left;
        width: 40%
    }

    .c-product-overview {
        float: left;
        width: 60%;
        padding: 0 0 0 1.846em
    }

    div.product-detail .c-product {
        width: 50%
    }

    div.product-detail .c-product-overview {
        width: 50%
    }
}

.hidden {
    display: none !important;
    visibility: hidden
}

.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto
}

strong {
    font-weight: 700
}

pre, tt, code, kbd, samp {
    font-size: 1.4em
}

.c-entry-content p {
    word-wrap: break-word
}

caption {
    text-align: left;
    margin-bottom: .75em
}

.clearfix:before, .clearfix:after {
    content: " ";
    display: table
}

.clearfix:after {
    clear: both
}

.clearfix {
    *zoom: 1
}

.clearfix:after, main:after, .o-wrapper:after, .contain:after, .c-header:after, .contain:after, .c-nav:after, .c-nav-secondary:after, .cve-contact:after, .c-choice:after, .c-tile-content li:after, .listing article:after, .c-tiled:after, .c-detail li:after, .c-list-arrowCMSListMenuUL:after, .ui-helper-clearfix:after, .c-frm:after, .c-footer:after, .form-group:after, .c-nav ul > li.has-children > ul:after, .c-product-meta:after, .c-meta-block:after, .c-widget:after, .c-grid-2-col:after, .c-title-share:after, .c-entry-content:after, ul.c-pagination:after {
    content: "";
    display: table;
    clear: both
}

@media print {
    *, :before, :after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important
    }

    .c-nav-secondary, .c-hamburger, .c-nav-hold, .c-footer, .c-aside-main, .c-toolbar, .c-cookie-alert, .cve .c-title-share p, .cve .c-main-content .c-btn {
        display: none
    }

    .c-slider-mini img {
        width: 130px
    }

    .col-9 {
        width: 100%
    }

    .contain {
        max-width: 960px
    }

    a, a:visited {
        text-decoration: underline
    }

    .c-btn {
        position: static
    }

    

    .c-btn {
        display: none
    }

    .c-related-products {
        display: none
    }

    .c-product {
        max-height: 250px;
        overflow: hidden;
        clear: both;
        width: 100%;
        margin-bottom: 30px
    }

    .c-product img {
        max-height: 250px;
        width: auto
    }

    .product-detail .c-product-overview h2 {
        margin-bottom: 15px
    }

    pre, blockquote {
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    tr, img {
        page-break-inside: avoid
    }

    img {
        max-width: 100% !important
    }

    p, h2, h3 {
        orphans: 3;
        widows: 3
    }

    h2, h3 {
        page-break-after: avoid
    }
}

/*Product page*/

.accordion {
    border-top: 2px dotted #999;
    margin: 1.846em 0 1.385em;
    padding-top: 1.846em;
}

.accordion-header {
    display: block;
    cursor: pointer;
    outline: none;
    position: relative;
    margin: 0 0 .5em;
    padding: 0 0 0 1.75em;
    min-height: 0;
    color: var(--wp--preset--color--brand-pink);
    font-size: 1.385em;

    width: 100%;
    border: none;
    /*transition: 0.4s;*/
}

.accordion-header::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 25px;
    height: 25px;
    border: 2px solid #fbcbdf;
    border-radius: 100%;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024' fill='%23fbcbdf' aria-hidden='true'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M992 576h-352v352c0 17.672-14.328 32-32 32h-192c-17.672 0-32-14.328-32-32v-352h-352c-17.672 0-32-14.328-32-32v-192c0-17.672 14.328-32 32-32h352v-352c0-17.672 14.328-32 32-32h192c17.672 0 32 14.328 32 32v352h352c17.672 0 32 14.328 32 32v192c0 17.672-14.328 32-32 32z'/%3E%3C/svg%3E") no-repeat center / 12px 12px
}

.active.accordion-header::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024' fill='%23fbcbdf' aria-hidden='true'%3E%3Cpath transform='translate(0,960) scale(1,-1)' d='M0 544v-192c0-17.672 14.328-32 32-32h960c17.672 0 32 14.328 32 32v192c0 17.672-14.328 32-32 32h-960c-17.672 0-32-14.328-32-32z'/%3E%3C/svg%3E") no-repeat center / 12px 12px
}

/* Style the accordion panel. Note: hidden by default */
.accordion-content {
    padding: 0 0 0 2.8em;
    background-color: white;
    max-height: 0;
    overflow: auto;
    transition: max-height 0.2s ease-out;
}

/* Opened by the foran/product-accordion Interactivity module toggling the
   classic `active` class (the classic JS set an inline max-height instead). */
.accordion-header.active + .accordion-content {
    max-height: 100em;
}

/* ==== Standalone auth pages (log-in / register / reset-password) ==== */
/* The classic theme wraps the whole content column of these pages in
   .contain-restrict-max (max-width:40em; margin:0 auto; padding:8px 16px).
   page.html renders every page in the wide .contain instead, so narrow and
   centre the container for auth pages only (body class from functions.php). */
body.fp-auth-page .main-content .contain {
    max-width: 40em;
    padding-left: 16px;
    padding-right: 16px;
}

/* ==== CVE dashboard layout ==== */
/* Content column is first in source so it stacks first on mobile (matching
   the classic float grid, where the col-9 content precedes the col-3
   sidebar). On desktop, reverse the row so the sidebar of nav buttons sits
   on the left, as on the live site. */
@media only screen and (min-width: 782px) {
    .fp-dash-cols {
        flex-direction: row-reverse;
    }
}

/* The member forms (profile edit) are a single full-width column on the
   live site, not the two-up layout the shared fp-form uses elsewhere. */
.c-cve .fp-form__field--half {
    width: 100%;
}

/* ==== Front-page feature pods ==== */
/* Pod images have no aligncenter class (unlike the pod headings/paragraphs),
   so centre them within the fixed-width column. */
.fp-pod .wp-block-image {
    text-align: center;
}

.fp-pod .wp-block-image img {
    margin-left: auto;
    margin-right: auto;
}

/* ==== CVE article floated figures ==== */
/* The classic site floated article images right at ~300px (landscape) or
   capped their height (~280px) for portraits, so body text wrapped around
   them. The block conversion left them at the full "large" size (450px),
   which swamped the column. Constrain right/left-aligned article images to
   that same footprint while preserving aspect ratio, and give the text a
   gutter to wrap into. */
.c-cve .c-main-content figure.wp-block-image.alignright,
.c-cve .c-main-content figure.wp-block-image.alignleft {
    max-width: 300px;
    width: auto;
    margin-top: 5px;
    margin-bottom: 10px;
}

.c-cve .c-main-content figure.wp-block-image.alignright {
    margin-left: 20px;
}

.c-cve .c-main-content figure.wp-block-image.alignleft {
    margin-right: 20px;
}

.c-cve .c-main-content figure.wp-block-image.alignright img,
.c-cve .c-main-content figure.wp-block-image.alignleft img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 290px;
}

/* ==================================================================== */
/* Block-native nav row (core/navigation + foran/mega-menu + core search) */
/* Replaces the classic foran/main-nav markup; styled to match the       */
/* classic .c-nav-hold pink bar (56px row, white 700 links, charcoal     */
/* hover + panels, dog/cat icon glyphs, inline search field).            */
/* ==================================================================== */

/* Sticky header — the header sticks as a whole with a negative top
   offset (--foran-nav-offset, measured by assets/header.js) so the
   logo bar slides away naturally and only the nav row stays pinned.
   Everything remains in document flow: no jump, no height
   compensation. The admin-bar var keeps the pinned nav clear of the
   toolbar when logged in; is-sticky only carries the shadow. */
.site-header {
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--foran-nav-offset, 0px));
    z-index: 99;
}

@media screen and (max-width: 600px) {
    .site-header {
        top: calc(0px - var(--foran-nav-offset, 0px));
    }
}

.is-sticky .site-nav-row {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.site-nav-row {
    position: relative;
}

.site-nav-row > .contain {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-nav-row .wp-block-navigation {
    flex-wrap: nowrap;
    gap: 0;
}

.site-nav-row .wp-block-navigation .wp-block-navigation-item {
    margin: 0;
}

.site-nav-row .wp-block-navigation > .wp-block-navigation-item {
    border-right: 1px solid #fff;
}

.site-nav-row .wp-block-navigation-item__content.wp-block-navigation-item__content {
    display: block;
    position: relative;
    z-index: 2;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    line-height: 56px;
    padding: 0 .86em;
    text-decoration: none;
}

/* The classic nav compresses below full desktop so the row fits from the
   60em burger breakpoint up: item padding steps up at 75em and 87.5em
   (the icon/toggle paddings that don't scale are set later and win). */
@media only screen and (min-width: 75em) {
    .site-nav-row .wp-block-navigation-item__content.wp-block-navigation-item__content {
        padding: 0 1.45em;
    }
}

@media only screen and (min-width: 87.5em) {
    .site-nav-row .wp-block-navigation-item__content.wp-block-navigation-item__content {
        padding: 0 2.308em;
    }
}

.site-nav-row .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.site-nav-row .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content,
.site-nav-row .fp-mega.is-open > .wp-block-navigation-item__content {
    background: var(--wp--preset--color--charcoal);
    color: #fff;
}

/* The mega item's chevron button sits inside the hover surface. */
.site-nav-row .fp-mega > .wp-block-navigation-item__content {
    padding-right: 8px;
}

.site-nav-row .fp-mega__toggle {
    position: relative;
    z-index: 2;
    color: #493b48;
    align-self: stretch;
    padding: 0 6px 0 4px;
}

/* The toggle's right padding tracks the item-padding ladder (minus the
   8px the mega item content keeps) so the hover surface stays flush. */
@media only screen and (min-width: 75em) {
    .site-nav-row .fp-mega__toggle {
        padding: 0 15px 0 4px;
    }
}

@media only screen and (min-width: 87.5em) {
    .site-nav-row .fp-mega__toggle {
        padding: 0 29px 0 4px;
    }
}

.site-nav-row .fp-mega:hover > .fp-mega__toggle,
.site-nav-row .fp-mega.is-open > .fp-mega__toggle {
    background: var(--wp--preset--color--charcoal);
    color: #fff;
}

/* Dog/cat nav glyphs — SVG masks extracted from the classic icon font. */
.fp-nav-dog > .wp-block-navigation-item__content,
.fp-nav-cat > .wp-block-navigation-item__content {
    position: relative;
}

/* Doubled class matches the base padding rule's specificity; sizes and
   offsets are the classic theme's (glyphs sit on the bar's bottom edge). */
.fp-nav-dog > .wp-block-navigation-item__content.wp-block-navigation-item__content {
    padding-left: 80px;
}

.fp-nav-cat > .wp-block-navigation-item__content.wp-block-navigation-item__content {
    padding-left: 64px;
}

.fp-nav-dog > .wp-block-navigation-item__content::before,
.fp-nav-cat > .wp-block-navigation-item__content::before {
    height: 1em;
    background-color: #f8afbb;
    position: absolute;
    left: 0.1em;
    bottom: 0;
}

.fp-nav-dog > .wp-block-navigation-item__content::before {
    content: "";
    width: 1.416em;
    font-size: 48px;
    -webkit-mask: url("./icons/svg/dog-walking.svg") no-repeat center / contain;
    mask: url("./icons/svg/dog-walking.svg") no-repeat center / contain;
}

.fp-nav-cat > .wp-block-navigation-item__content::before {
    content: "";
    width: 1.316em;
    font-size: 38px;
    -webkit-mask: url("./icons/svg/cat-walking.svg") no-repeat center / contain;
    mask: url("./icons/svg/cat-walking.svg") no-repeat center / contain;
}

/* Mega panels span the bar's content width, centred on the row. */
.fp-mega__panel {
    width: min(1266px, 100vw);
}

/* Search field styled like the classic pink inline box. */
.site-nav-row .wp-block-search {
    margin: 0;
    flex-shrink: 0;
}

.site-nav-row .wp-block-search__inside-wrapper {
    position: relative;
    background: #fd75a5;
    border: 1px solid #fb96bc;
    border-radius: 5px;
    width: 150px;
    height: 36px;
    padding: 0;
}

.site-nav-row .wp-block-search__input {
    border: 0;
    outline: none;
    background: transparent;
    height: 100%;
    padding: 0 40px 0 8px;
    font: inherit;
    font-size: 1rem;
    font-weight: 700;
    color: #3b3b3b;
    min-width: 0;
}

.site-nav-row .wp-block-search__input::placeholder {
    color: var(--wp--preset--color--brand-pink-dark);
    opacity: 1;
}

.site-nav-row .wp-block-search__button {
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    height: 34px;
    background: transparent url("./icons/search-icon.svg") no-repeat 50% 50% / 25px 25px;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

.site-nav-row .wp-block-search__button svg {
    display: none;
}

/* The search box only fits the row from ~67em (classic: hidden between
   60em and 66.875em, 125px to 68em, 150px above). */
@media only screen and (min-width: 60em) and (max-width: 66.875em) {
    .site-nav-row .wp-block-search {
        display: none;
    }
}

@media only screen and (min-width: 66.938em) and (max-width: 67.938em) {
    .site-nav-row .wp-block-search__inside-wrapper {
        width: 125px;
    }
}

/* --- Mobile: the classic slide-down menu. The hamburger (in the white
   logo bar) puts nav-active on body; the nav collapses to height 0 in
   the pink bar until then. Items are full-width white rows; mega items
   and the Advice submenu expand in place as charcoal accordions via
   their chevron cells (classic li.has-children span). --- */
@media only screen and (max-width: 59.938em) {
    .c-hamburger {
        display: block;
    }

    /* The classic header isn't sticky at mobile widths, and a sticky
       header taller than the viewport would make an open menu's tail
       unreachable. */
    .site-header {
        position: static;
    }

    .site-nav-row {
        background: var(--wp--preset--color--brand-pink);
    }

    .site-nav-row > .contain {
        display: block;
        width: 100%;
    }

    .site-nav-row .wp-block-navigation {
        display: block;
        position: static;
        width: 100%;
    }

    .site-nav-row .wp-block-navigation__container {
        display: block;
        visibility: hidden;
        opacity: 0;
        height: 0;
        overflow: hidden;
    }

    body.nav-active .site-nav-row .wp-block-navigation__container {
        visibility: visible;
        opacity: 1;
        height: auto;
        overflow: visible;
        transition: all .3s ease-in-out 0s;
    }

    .site-nav-row .wp-block-navigation .wp-block-navigation-item {
        display: block;
        width: 100%;
        position: relative;
    }

    .site-nav-row .wp-block-navigation > .wp-block-navigation-item {
        border-right: 0;
    }

    .site-nav-row .wp-block-navigation-item__content.wp-block-navigation-item__content {
        font-size: 1rem;
        line-height: 1;
        padding: 1em 5%;
        border-bottom: 1px solid #b40e54;
    }

    /* Rows with a chevron cell keep clear of it. */
    .site-nav-row .fp-mega > .wp-block-navigation-item__content.wp-block-navigation-item__content {
        padding-right: 90px;
    }

    /* No dog/cat glyphs on mobile (classic shows them only from 60em). */
    .fp-nav-dog > .wp-block-navigation-item__content.wp-block-navigation-item__content,
    .fp-nav-cat > .wp-block-navigation-item__content.wp-block-navigation-item__content {
        padding-left: 5%;
    }

    .fp-nav-dog > .wp-block-navigation-item__content::before,
    .fp-nav-cat > .wp-block-navigation-item__content::before {
        display: none;
    }

    /* Open/hovered rows keep the pink bar; the charcoal hover surface is
       a desktop treatment. */
    .site-nav-row .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
    .site-nav-row .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content,
    .site-nav-row .fp-mega.is-open > .wp-block-navigation-item__content {
        background: transparent;
        color: #fff;
    }

    /* Chevron cells: the classic 80px tap target on the row's right edge. */
    .site-nav-row .fp-mega__toggle {
        position: absolute;
        top: 0;
        right: 0;
        width: 80px;
        height: 48px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-left: 1px solid #b40e54;
        color: #fff;
    }

    .site-nav-row .fp-mega:hover > .fp-mega__toggle,
    .site-nav-row .fp-mega.is-open > .fp-mega__toggle {
        background: transparent;
        color: #fff;
    }

    /* The search field shows at the foot of the open menu (classic
       .nav-active .c-frm-search). */
    .site-nav-row .wp-block-search {
        display: none;
        width: 90%;
        margin: 1em auto 1.5em;
    }

    /* margin-block-start restated here at (0,3,1): the header flow-gap
       suppression rule (.c-header .contain... > * + *, (0,3,0)) zeroes
       the shorthand's top margin otherwise. */
    body.nav-active .site-nav-row .wp-block-search {
        display: block;
        margin-block-start: 1em;
    }

    /* !important: the block's width attribute (150px, sized for the
       desktop nav bar) lands as an inline style on this wrapper. */
    .site-nav-row .wp-block-search__inside-wrapper {
        width: 100% !important;
    }
}

/* The cookie banner is hidden until the foran/cookie-banner module finds
   no PetcareCookiePolicy cookie (the classic main.js toggled an inline
   style instead). */
#cookieWrap {
    display: none;
}

#cookieWrap.is-visible {
    display: block;
}

/* Footer link lists: enough vertical padding for a 24px touch target. */
/* Footer nav: kill WP's flow gap above the menu container and match
   classic's 14px links (root is 13.008px, so 0.875rem). Colour/weight
   come from the ported .c-footer ul.c-footer-nav li a rule. */
.c-footer .menu-footer-menu-container {
    margin-block-start: 0;
}

.c-footer ul.c-footer-nav li a {
    font-size: 0.875rem;
}

/* Active state for the legal links, mirroring the footer nav's. The
   classic site never marked these; deliberate improvement. */
.c-footer-secondary ul li.current-menu-item a {
    font-weight: 600;
}

/* WP's root flow gap puts 24px above <main> (header and main are
   siblings inside .wp-site-blocks); the classic site has no such gap. */
.wp-site-blocks > main {
    margin-block-start: 0;
}

