/*
Theme Name: XM Material Theme
Theme URI: https://builtbymark.com
Author: Mark
Description: Custom framework for Mark.
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: xm_material
Tags: Material, Materialize, Materialize CSS

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

materialize css is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/

:root {
    --color-text: var(--color-secondary);
    --color-border: var(--color-gray-medium);

    /* Fonts */
    --font-primary: "Roboto", sans-serif;

    /* Fonts - weights */
    --font-thin: 100;
    --font-extra-light: 200;
    --font-light: 300;
    --font-normal: 400;
    --font-medium: 500;
    --font-semi-bold: 600;
    --font-bold: 700;
    --font-extra-bold: 800;
    --font-black: 900;
    --font-extra-black: 950;

    /* Transitions */
    --transition: 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    --transition-medium: 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    --transition-slow: 1.1s cubic-bezier(0.22, 1, 0.36, 1);

    /* Shadows */
    --box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);

    /* Header */
    --header-height: 5rem;
}

/* rodape fixo embaixo*/

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-size: 1rem;
    font-family: var(--font-primary);
    line-height: 1.5;
}

.grecaptcha-badge {
    visibility: hidden;
}

/* h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    font-family: var(--font-primary);
    text-transform: none;
}

h1 {
    font-size: 48px;
    line-height: 56px;
}

h2 {
    font-size: 40px;
    line-height: 48px;
}

h3 {
    font-size: 32px;
    line-height: 40px;
}

h4 {
    font-size: 24px;
    line-height: 32px;
}

h5 {
    font-size: 20px;
    line-height: 28px;
}

h6 {
    font-size: 18px;
    line-height: 24px;
} */

main {
    flex: 1 0 auto;
}

.uc {
    text-transform: uppercase;
}


/*Corrigir botão mobile*/

#sidenav-overlay {
    z-index: 996;
}

nav {
    height: var(--header-height);
    line-height: var(--header-height);
    box-shadow: var(--box-shadow);
}

nav .nav-wrapper {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

nav .nav-content {
    height: 2.5rem;
    padding-left: 0.5rem;
}

.botao>a {
    height: 2.5rem;
    padding-top: 0.75rem;
}

nav .nav-logo {
    height: 3rem;
}

#content {
    width: 90%;
    padding-top: 2rem;
}

.divider {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.widget-card li {
    text-align: center;
}


/* Mark */

.button-collapse {
    color: #26a69a;
}

.parallax-container {
    height: auto;
    min-height: 384px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 0;
}

.parallax-container .section {
    width: 100%;
}

.parallax-container .parallax img {
    object-fit: cover;
}

@media only screen and (max-width: 992px) {

    .parallax-container .section {
        position: absolute;
        top: 40%;
    }

    #index-banner .section {
        top: 10%;
    }
}

@media only screen and (max-width: 600px) {

    #index-banner .section {
        top: 0;
    }
}

.icon-block {
    padding: 0 15px;
}

.icon-block .material-icons {
    font-size: inherit;
}

footer.page-footer {
    margin: 0;
}

.curse {
    font-size: 72px;
    font-family: var(--font-primary);
}

.shadowplay {}

.cimg {
    margin: 1em auto;
}

dl.menu-item {
    display: flex;
    flex-flow: row wrap;
}

dl.menu-item dd {
    margin: 0;
    padding: 0 0 0 1em;
}

dl.menu-item dt {
    margin-top: 1em;
    padding: 0;
    font-weight: bold;
}

dl.menu-item dt {
    flex: 1 0 100%;
    color: #37474f;
}

dl.menu-item dd:nth-of-type(odd) {
    flex: 1 0 100%;
    color: #90a4ae;
    text-align: left;
}

dl.menu-item dd:nth-of-type(even) {
    flex: 1 0 100%;
    color: #607d8b;
}

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

    dl.menu-item {
        display: flex;
        flex-flow: row wrap;
    }

    dl.menu-item dt {
        flex: 1 0 60%;
    }

    dl.menu-item dd:nth-of-type(odd) {
        flex: 1 0 30%;
        margin-top: 1em;
        color: #607d8b;
        text-align: right;
    }

    dl.menu-item dd:nth-of-type(even) {
        flex: 0 0 75%;
    }
}

.table-of-contents a.active {
    padding-left: 18px;
    font-weight: 700;
    text-transform: uppercase;
    border-left: 2px solid #ee6e73;
}

.table-of-contents a {
    display: inline-block;
    display: inline-block;
    height: 1.5rem;
    padding-left: 20px;
    color: #757575;
    font-weight: 300;
    line-height: 1.5rem;
    letter-spacing: 0.4;
}

.pin-top {
    position: relative;
}

.pin-bottom {
    position: relative;
}

.pinned {
    position: fixed !important;
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

@media only screen and (max-width: 600px) {

    a.brand-logo {
        font-size: 16px;
    }
}

#sidebar-right ul li {
    padding: 10px 12px;
    border-bottom: 1px solid #f2f2f2;
}

#sidebar-right ul li.current-menu-item:before {
    padding-right: 6px;
    content: "\25B6 ";
}

#sidebar-right ul li a:hover {
    text-decoration: underline;
}

.footer-area ul li {
    padding: 3px 0;
    //  border-bottom: 1px solid #f2f2f2;border-bottom
}

.footer-area ul li.current-menu-item a {
    color: #999;
}

.footer-area ul li a {
    color: #f2f2f2;
}

.footer-area ul li a:visited,
.footer-area ul li a:hover {
    color: #fff;
}

.xmwell1 {
    margin: 2em 0;
}

.xminnerwell {
    margin: 2em 0;
}

.headerspecial {
    padding: 1em;
}

.just-larger {
    font-size: 18px;
}

.side-gallery>div {}

.side-gallery img {
    border: 4px solid #fff;
}

.side-gallery {
    display: flex;
    flex-flow: row wrap;
}

.side-gallery>div {
    width: 50%;
}

.side-gallery>div:nth-child(3n) {
    width: 100%;
}

.main-gallery img {
    border: 4px solid #fff;
}

.main-gallery {
    display: flex;
    flex-flow: row wrap;
}

.main-gallery>div {
    width: 20%;
}

hr.style-one {
    height: 3px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
    border: 0;
}

@media screen and (min-width: 993px) and (max-width: 1200px) {

    nav .brand-logo {
        font-size: 1.25rem;
    }
}

.reset-checkbox [type="checkbox"],
.reset-checkbox [type="checkbox"]:checked,
.reset-checkbox [type="checkbox"]:not(checked) {
    position: relative;
    opacity: 1;
}

.reset-checkbox [type="checkbox"]+span::before,
.reset-checkbox [type="checkbox"]+span::after,
.reset-checkbox [type="checkbox"]:checked+span::before,
.reset-checkbox [type="checkbox"]:checked+span::after {
    display: none;
}

.reset-checkbox [type="checkbox"]+span:not(.lever) {
    padding-left: 10px;
}

.card.sales .collection {
    border-top: none;
    border-right: none;
    border-left: none;
}

.card.sales .card-content-2 {
    padding-right: 0;
    padding-left: 0;
}

.card {
    background-color: var(--color-gray-light);
    box-shadow: none;
}

.card .card-content {
    padding: 16px 20px;
}

.card .card-action {
    padding: 16px 20px;
    font-weight: var(--font-bold);
    border-top: none;

}

.card .card-action a:not(.btn):not(.btn-large):not(.btn-large):not(.btn-floating) {
    font-size: 16px;
    text-transform: capitalize;
}

.card .card-action .blue-text,
.LinkBlueArrow {
    position: relative;
    font-size: 16px;
}

.card .card-action .blue-text::after,
.LinkBlueArrow::after {
    display: inline-block;
    width: 6px;
    height: 12px;
    margin-left: 1rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6.88 12.26'%3E%3Cpath fill='none' stroke='%231175bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m1.06 11.2 5.07-5.07-5.07-5.07' data-name='Path 12255' /%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: '';
}

.collapsible-header.active i {
    -ms-transform: rotate(180deg);
    /* IE 9 */
    -webkit-transform: rotate(180deg);
    /* Chrome, Safari, Opera */
    transform: rotate(180deg);
}

.equal-col {
    display: flex;
    flex-wrap: wrap;
}

/* UTILITY CLASSES */

/* flexbox
// ================================================== */

.d-f {
    display: flex;
}

.d-if {
    display: inline-flex;
}

/* Flex direction */

.fd-r {
    flex-direction: row;
}

/* Default */

.fd-rr {
    flex-direction: row-reverse;
}

.fd-c {
    flex-direction: column;
}

.fd-cr {
    flex-direction: column-reverse;
}


/* Flex wrap */

.fw-n {
    flex-wrap: nowrap;
}

/* Default */

.fw-w {
    flex-wrap: wrap;
}

.fw-wr {
    flex-wrap: wrap-reverse;
}


/* Justify content */

.jc-fe {
    justify-content: flex-end;
}

.jc-fs {
    justify-content: flex-start;
}

/* Default */

.jc-c {
    justify-content: center;
}

.jc-sa {
    justify-content: space-around;
}

.jc-sb {
    justify-content: space-between;
}


/* Align items */

.ai-fs {
    align-items: flex-start;
}

.ai-c {
    align-items: center;
}

.ai-fe {
    align-items: flex-end;
}

.ai-s {
    align-items: stretch;
}

/* Default */

.ai-b {
    align-items: baseline;
}


/* Flex grow */

.fg-0 {
    flex-grow: 0;
}

/* Default */

.fg-1 {
    flex-grow: 1;
}


/* Flex shrink */

.fs-0 {
    flex-shrink: 0;
}

.fs-1 {
    flex-shrink: 1;
}

/* Default */


/* Flex basis */

.fb-a {
    flex-basis: auto;
}

/* Default */

.fb-0 {
    flex-basis: 0;
}


/* Align self */

.as-a {
    align-self: auto;
}

/* Default */

.as-fs {
    align-self: flex-start;
}

.as-c {
    align-self: center;
}

.as-fe {
    align-self: flex-end;
}

.as-s {
    align-self: stretch;
}

.as-b {
    align-self: baseline
}

/* padding and margin */

// ================================================== */
.pad-1 {
    padding: 8px
}

.pad-1-left {
    padding-left: 8px
}

.pad-1-right {
    padding-right: 8px
}

.pad-1-top {
    padding-top: 8px
}

.pad-1-bottom {
    padding-bottom: 8px
}

.pad-1-sides {
    padding-right: 8px;
    padding-left: 8px
}

.pad-1-vert {
    padding-top: 8px;
    padding-bottom: 8px
}

.marg-1 {
    margin: 8px
}

.marg-1-left {
    margin-left: 8px
}

.marg-1-right {
    margin-right: 8px
}

.marg-1-top {
    margin-top: 8px
}

.marg-1-bottom {
    margin-bottom: 8px
}

.marg-1-sides {
    margin-right: 8px;
    margin-left: 8px
}

.marg-1-vert {
    margin-top: 8px;
    margin-bottom: 8px
}

.pad-2 {
    padding: 16px
}

.pad-2-left {
    padding-left: 16px
}

.pad-2-right {
    padding-right: 16px
}

.pad-2-top {
    padding-top: 16px
}

.pad-2-bottom {
    padding-bottom: 16px
}

.pad-2-sides {
    padding-right: 16px;
    padding-left: 16px
}

.pad-2-vert {
    padding-top: 16px;
    padding-bottom: 16px
}

.marg-2 {
    margin: 16px
}

.marg-2-left {
    margin-left: 16px
}

.marg-2-right {
    margin-right: 16px
}

.marg-2-top {
    margin-top: 16px
}

.marg-2-bottom {
    margin-bottom: 16px
}

.marg-2-sides {
    margin-right: 16px;
    margin-left: 16px
}

.marg-2-vert {
    margin-top: 16px;
    margin-bottom: 16px
}

.pad-3 {
    padding: 32px
}

.pad-3-left {
    padding-left: 32px
}

.pad-3-right {
    padding-right: 32px
}

.pad-3-top {
    padding-top: 32px
}

.pad-3-bottom {
    padding-bottom: 32px
}

.pad-3-sides {
    padding-right: 32px;
    padding-left: 32px
}

.pad-3-vert {
    padding-top: 32px;
    padding-bottom: 32px
}

.marg-3 {
    margin: 32px
}

.marg-3-left {
    margin-left: 32px
}

.marg-3-right {
    margin-right: 32px
}

.marg-3-top {
    margin-top: 32px
}

.marg-3-bottom {
    margin-bottom: 32px
}

.marg-3-sides {
    margin-right: 32px;
    margin-left: 32px
}

.marg-3-vert {
    margin-top: 32px;
    margin-bottom: 32px
}

.pad-0 {
    padding: 0
}

.pad-0-left {
    padding-left: 0
}

.pad-0-right {
    padding-right: 0
}

.pad-0-top {
    padding-top: 0
}

.pad-0-bottom {
    padding-bottom: 0
}

.pad-0-sides {
    padding-right: 0;
    padding-left: 0
}

.pad-0-vert {
    padding-top: 0;
    padding-bottom: 0
}

.marg-0 {
    margin: 0
}

.marg-0-left {
    margin-left: 0
}

.marg-0-right {
    margin-right: 0
}

.marg-0-top {
    margin-top: 0
}

.marg-0-bottom {
    margin-bottom: 0
}

.marg-0-sides {
    margin-right: 0;
    margin-left: 0
}

.marg-0-vert {
    margin-top: 0;
    margin-bottom: 0
}

i.material-icons {
    vertical-align: middle;
}

.valign-wrapper-top {
    display: box;
    display: flex;
    display: flexbox;
    display: flex;
    -webkit-box-align: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
}

.valign-wrapper-bottom {
    display: box;
    display: flex;
    display: flexbox;
    display: flex;
    -webkit-box-align: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
}

.valign-wrapper-height {
    display: box;
    display: flex;
    display: flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.navbar-fixed {
    height: var(--header-height);
}

nav ul li a {
    color: #111;
}

nav ul a {
    padding: 0 1.25rem;
}

ul.sub-menu {
    display: none;
    position: relative;
    flex-direction: column;
    background: white;
    
    width: 100%;
    
}

@media (min-width: 1309px) {
    ul.sub-menu {
        position: absolute;
        box-shadow: var(--box-shadow);
        clip-path: inset(0 -16px -16px -16px);
    }
}

.menu-item-has-children:hover>.sub-menu {
    display: flex;
}

.menu-item {
    position: relative;
}

ol.lc {
    list-style-type: lower-alpha;
}

ol.uc {
    list-style-type: upper-alpha;
}

ol.dlz {
    list-style-type: decimal-leading-zero;
}

ol.lr {
    list-style-type: lower-roman;
}

ol.ur {
    list-style-type: upper-roman;
}

ul.dc {
    list-style-type: disc;
    padding-left: 1em;
    margin-left: 1em;
}

ul.dc li {
    list-style-type: disc;
}

.pb {
    max-height: 400px;
    overflow: hidden;
}

.pb img {
    width: auto;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}

blockquote {
    border-left: 5px solid var(--color-primary);
}

.mcdis {
    display: block;
}

.terms-list ol {
    margin: 0;
    padding: 0;
    list-style-position: outside;
    list-style-type: none;
    counter-reset: item;
}

.terms-list li {
    display: table;
    margin-bottom: 0.6em;
    counter-increment: item;
}

.terms-list li p {
    margin: 0;
}

.terms-list li:before {
    display: table-cell;
    padding-right: 0.6em;
    content: counters(item, ".") ". ";
}

.terms-list li li {
    margin: 0;
}

.terms-list li li:before {
    content: counters(item, ".") " ";
}

.terms-list li li li:before {
    content: "(" counter(item, lower-alpha) ") ";
}

.terms-list li li li li:before {
    content: "(" counter(item, lower-roman) ") ";
}

.terms-list h1 {
    font-weight: bold;
    font-size: 24px;
}

.terms-list h2 {
    font-weight: bold;
    font-size: 18px;
}

/* woocommerce */

nav.woocommerce-pagination {
    height: auto;
    line-height: normal;
    background-color: initial;
    box-shadow: none;
}

.pagination {
    width: 100%;
    height: auto;
    margin-bottom: 40px;
    color: var(--color-secondary);
    font-size: 16px;
    line-height: normal;
    line-height: 21px;
    background-color: initial;
    box-shadow: none;
}

@media (min-width: 768px) {

    .pagination {
        margin-bottom: 80px;
    }
}

.pagination .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagination .page-numbers {
    display: inline-block;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    margin: 0 5px;
    color: var(--color-secondary);
}

.pagination .page-numbers.prev,
.pagination .page-numbers.next {
    width: 22px;
    height: 22px;
    overflow: hidden;
    text-indent: -9999px;
    background: url('images/icons/prev.svg') center no-repeat;
    background-size: contain;

}

.pagination .page-numbers.prev {
    margin-right: 20px;
}

.pagination .page-numbers.next {
    margin-left: 20px;
    transform: rotate(180deg);
}

.pagination .page-numbers.dots {
    color: var(--color-secondary);
}

.pagination .page-numbers.current {
    padding-right: 3px;
    padding-left: 3px;
    color: var(--color-white);
    font-weight: 500;
    background-color: var(--color-primary);
    border-radius: 11px;
}

.ShowingPosts {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 21px;
    text-align: center;
}

.entry-title {
    font-size: 32px;
    line-height: 40px;
    margin-top: 44px;
    margin-bottom: 21px;
}

@media (min-width: 768px) {
    .entry-title {
        font-size: 40px;
        line-height: 48px;
        margin-top: 93px;
        margin-bottom: 29px;
    }
}

/* Brave */

.FauxLink::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-indent: -999em;
    opacity: 0;
    content: '';
    background: pink;
}

div.wpforms-container-full .wpforms-form .wpforms-field-label {
    font-weight: 500 !important;
}

.wpforms-submit-container .Button {
    display: block !important;
    margin: 12px auto 0 !important;
}

div.wpforms-container-full .wpforms-form input[type=submit],
div.wpforms-container-full .wpforms-form button[type=submit],
div.wpforms-container-full .wpforms-form .wpforms-page-button {
    min-width: 264px;
    padding: 14px 22px !important;
    color: var(--color-white) !important;
    font-weight: bold;
    font-size: 16px !important;
    list-style: 21px;
    background-color: var(--color-primary) !important;
    border-radius: 5px;
    border: 0;
}

.Button,
.single_add_to_cart_button {
    min-width: 264px;
    padding: 14px 22px;
    color: var(--color-white);
    font-weight: bold;
    font-size: 16px;
    list-style: 21px;
    background-color: var(--color-primary);
    border-radius: 5px;
    border: 0;
    transition: var(--transition);
}

.single_add_to_cart_button {
    margin-top: 15px;
    margin-bottom: 15px;
}

.Button:hover,
.single_add_to_cart_button:hover {
    transition: var(--transition);
}

.Button--gray {
    background-color: var(--color-gray-light);
    color: var(--color-text);
}

.Button--gray[aria-disabled="true"] {
    opacity: 0.5;
}

.checkout-button,
.Button--pay {
    max-width: 100%;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: var(--font-medium);
    padding: 16px 44px;
}


.Button--block {
    width: 100%;
    min-width: auto !important;
    display: block;
    text-align: center;
}

.single_add_to_cart_button {
    width: 100%;
}

@media (min-width: 768px) {

    .Button {
        min-width: 264px;
        padding: 14px 44px;
    }

    div.wpforms-container-full .wpforms-form input[type=submit],
    div.wpforms-container-full .wpforms-form button[type=submit],
    div.wpforms-container-full .wpforms-form .wpforms-page-button {
        min-width: 264px;
        padding: 14px 44px !important;
    }

    .CTATransform .Button {
        width: 264px;
        margin-left: auto;
        margin-right: auto;
        display: block;
        text-align: center;
    }

    .single_add_to_cart_button {
        max-width: 412px;
    }

    .checkout-button {
        padding: 16px 44px;
    }
}


div.wpforms-container-full .wpforms-form input,
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
    padding: 11px 10px !important;
    border: 1px solid #C2C2C2;
    border-radius: 5px !important;
}

div.wpforms-container-full .wpforms-form input {
    height: 48px !important;
}

div.wpforms-container-full .wpforms-form .choices .choices__inner {
    height: 48px !important;
    min-height: 48px !important;
    border: 1px solid #C2C2C2;
    border-radius: 5px !important;
}

div.wpforms-container-full .wpforms-form input::placeholder,
div.wpforms-container-full .wpforms-form select::placeholder,
div.wpforms-container-full .wpforms-form textarea::placeholder {
    color: #C2C2C2;
}

.Article {}

.Article__topbar {
    padding: 24px 0 27px;
    background-color: var(--color-primary);
}

.Article__heading {
    margin: 0;
    color: var(--color-white);
    font-weight: var(--font-bold);
    font-size: 24px;
    line-height: 32px;
}

.Article__subbar {
    padding: 37px 0 17px;
    background-color: #EDEDED;
}

.Article__posttype {
    display: block;
    margin: 14px 0;
    color: var(--color-primary);
    font-weight: var(--font-bold);
    font-size: 24px;
    line-height: 32px;
    text-transform: capitalize;
}

.Article__excerpt {
    margin: 14px 0;
    color: var(--color-secondary);
    font-weight: var(--font-medium);
    font-size: 20px;
    line-height: 28px;
}

.Article__meta {
    color: var(--color-secondary);
    font-size: 16px;
    line-height: 24px;
}

.Article__disclaimerlink {
    color: var(--color-primary);
    font-weight: var(--font-bold);
    font-size: 16px;
    line-height: 24px;
}

.Article__content {
    font-size: 16px;
    line-height: 24px;
}

.Article__content p {
    margin-bottom: 1.5rem;
}

@media (min-width: 768px) {

    .Article__topbar {
        padding: 19px 0 21px;
    }

    .Article__heading {
        font-size: 32px;
        line-height: 40px;
    }
}

.Articles {
    margin-top: 40px;
}

.ArticleCard {
    margin: 0 0 40px;
}

.ArticleCard--is-link {
    position: relative;
    transition: all 0.25s ease-in-out;
}

.ArticleCard--is-link:hover .ArticleCard__heading {
    text-decoration: underline;
}

.CTATransform .ArticleCard {
    margin-bottom: 20px;
}

.ArticleCard__image {
    object-fit: cover;
    aspect-ratio: 1.503/1;
}

.ArticleCard__image--contain {
    object-fit: contain;
}

.ArticleCard__heading {
    margin: 0 0 12px;
    font-size: 20px;
    line-height: 28px;
}

.ArticleCard--biographies .ArticleCard__heading {
    margin-bottom: 0;
}

.ArticleCard__title {
    display: block;
    margin: 0 0 12px;
    font-size: 16px;
    line-height: 24px;
}

@media (min-width: 768px) {

    .Articles {
        margin-top: 56px;
    }

    .ArticleCard {
        margin-bottom: 56px;
    }
}

.SponsorCard {
    flex-direction: column;
    margin: 56px 0 40px;
    background-color: var(--color-gray-light);
}

.AuthorMeta {
    display: flex;
    align-items: center;
    margin-top: 38px;
    margin-bottom: 46px;
}

.AuthorMeta__image {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    margin-right: 24px;
    border-radius: 50%;
}

.AuthorMeta__content {
    flex: 1 0 auto;
}

.AuthorMeta__name {
    display: block;
    font-weight: var(--font-bold);
    font-size: 24px;
    line-height: 32px;
}

.AuthorMeta__title {
    display: block;
    margin-bottom: 7px;
    font-size: 18px;
    line-height: 24px;
}

.AuthorMeta__link {
    color: var(--color-primary);
    font-weight: var(--font-bold);
    font-size: 16px;
    line-height: 21px;
}

@media (min-width: 768px) {

    .AuthorMeta {
        display: flex;
        margin-top: 48px;
        margin-bottom: 68px;
    }

    .AuthorMeta__image {
        flex: 0 0 126px;
        width: 126px;
        height: 126px;
        margin-right: 90px;
        border-radius: 50%;
    }

    .AuthorMeta__title {
        margin-bottom: 20px;
    }
}

.SponsorCard__imageframe {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 218px;
    overflow: hidden;
    background-color: var(--color-white);
    border: 1px solid var(--color-gray-light);
}

.SponsorCard__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.SponsorCard .SponsorCard__content {
    padding: 16px 20px;
}

.SponsorCard .SponsorCard__action {
    padding: 16px 20px;
    background-color: #EBEBEB;
    border-top: 1px solid #C2C2C2;
}

.SponsorCard__name {
    display: block;
    margin: 0;
    font-weight: var(--font-bold);
    font-size: 24px;
    line-height: 32px;
}

.SponsorCard__strapline {
    display: block;
    margin: 0 0 12px;
    font-weight: var(--font-medium);
    font-size: 20px;
    line-height: 28px;
}

@media (min-width: 768px) {

    .SponsorCard {
        flex-direction: row;
        margin-bottom: 56px;
    }

    .SponsorCard__imageframe {
        width: 374px;
        min-width: auto;
        height: auto;
    }

    .SponsorCard .SponsorCard__content {
        padding: 31px 37px;
    }

    .SponsorCard .SponsorCard__action {
        padding-right: 37px;
        padding-left: 37px;
    }
}

.Navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

@media (min-width: 768px) {
    .Navigation {
        width: 90%;
    }
}

.Navigation .current-menu-item > a,
.Navigation .current-product_cat-ancestor > a {
    color: var(--color-primary);
    font-weight: var(--font-bold);
    position: relative;
}

.Navigation .current-menu-item > a::after,
.Navigation .current-product_cat-ancestor > a::after {
    content: '';
    display: block;
    width: 30px;
    height: 2px;
    background-color: var(--color-primary);
    position: absolute;
    bottom: 20px;
    left: calc(50% - 15px);
}

.Navigation__menumobile {
    flex-basis: 44px;
}

@media (max-width: 1308px) {
    .Navigation__logo {
        position: absolute;
        top: 16px;
        left: calc(50% - 76px);
        width: 152px;
        height: 39px;
    }
}

.Navigation__logo img {
    width: 100%;
    max-height: 45px;
    object-fit: contain;
}

@media (min-width: 1309px) {
    .Navigation__logo {
        display: flex;
        align-items: center;
        align-self: center;
        justify-content: center;
        margin: auto;
        margin-right: 0.75rem;
        max-height: 65px;
    }
}

.Navigation__icon {
    margin-right: 5px;
    margin-left: 5px;
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0.25rem;
}

.Navigation__icon .Svg {
    fill: var(--color-primary);
}

.Navigation__icon--menu .Svg {
    width: 18px;
    height: 14px;
}

.Navigation__icon--search .Svg {
    width: 18px;
    height: 18px;
}

.Navigation__icon--cart .Svg {
    width: 24px;
    height: 18px;
}

.Navigation__icon--account {
    display: none;
}

@media (min-width: 768px) {
    .Navigation__icon--account {
        display: flex;
    }

    .Navigation__icon--cart .Svg {
        width: 25px;
        height: 19px;
    }
}

.Navigation__right {
    display: flex;
    flex-basis: 62px;
    align-items: center;
    justify-content: flex-end;
    margin-left: 0;
}

.Navigation__menu {
    display: none;
}

.Navigation .Search {
    display: none;
    margin-right: 10px;
}

@media (min-width: 1309px) {

    .Navigation__menumobile {
        display: none;
    }

    .Navigation__menu {
        display: block;
    }

    .Navigation__icon--search {
        display: none;
    }

    .Navigation .Search {
        display: block;
    }

    .Navigation__logo {
        margin-right: 36px;
        margin-left: 0;
    }

    .Navigation__right {
        margin-left: auto;
    }
}

.CTASubscribe {
    padding-top: 31px;
    padding-bottom: 11px;
    color: var(--color-secondary);
    background-color: #EDEDED;
}

.CTASubscribe__heading {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 32px;
    line-height: 40px;
}

.CTASubscribe__text {
    margin-bottom: 23px;
}

.CTASubscribe__card {
    padding: 1rem;
    color: var(--color-secondary);
    background-color: var(--color-white);
    border-radius: 5px;
}

.CTASubscribe__smallprint {
    font-size: 13px;
    line-height: 20px;
    display: block;
    text-align: center;
}

.CTASubscribe__smallprint a {
    text-decoration: underline;
}

@media (min-width: 768px) {

    .CTASubscribe {
        padding-top: 64px;
        padding-bottom: 44px;
    }

    .CTASubscribe__heading {
        font-size: 40px;
        line-height: 48px;
    }

    .CTASubscribe__text {
        margin-bottom: 48px;
    }
}

.CTATransform {
    padding-top: 48px;
    padding-bottom: 48px;
    color: var(--color-secondary);
    background-color: #ADD7F6;
}

.CTATransform__heading {
    margin: 0 auto 19px;
    font-size: 24px;
    line-height: 32px;
    text-align: center;
    max-width: 790px;
}

.CTATransform__text {
    margin-bottom: 23px;
}

.CTATransform__card {
    padding: 1rem;
    color: var(--color-secondary);
    background-color: var(--color-white);
    border-radius: 5px;
}

@media (min-width: 768px) {

    .CTATransform {
        padding-top: 58px;
        padding-bottom: 80px;
    }

    .CTATransform__heading {
        margin-bottom: 26px;
        font-size: 40px;
        line-height: 44px;
    }

    .CTATransform__text {
        margin-bottom: 48px;
    }
}

.GetInTouch {
    padding-top: 31px;
    padding-bottom: 11px;
    color: var(--color-white);
    background-color: var(--color-secondary);
}

@media (min-width: 768px) {

    .GetInTouch {
        padding-top: 64px;
        padding-bottom: 44px;
    }
}

.GetInTouch__heading {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 32px;
    line-height: 40px;
}

.GetInTouch__text {
    margin-bottom: 23px;
}

.GetInTouch__card {
    padding: 1rem;
    color: var(--color-secondary);
    background-color: var(--color-white);
    border-radius: 5px;
}

.GetInTouch__smallprint {
    font-size: 13px;
    line-height: 20px;
    display: block;
    text-align: center;
}

.GetInTouch__smallprint a {
    text-decoration: underline;
}

@media (min-width: 768px) {

    .GetInTouch__heading {
        font-size: 40px;
        line-height: 48px;
    }

    .GetInTouch__text {
        margin-bottom: 48px;
    }
}

.Footer {
    padding-top: 56px;
    padding-bottom: 14px;
    color: var(--color-white);
    background-color: var(--color-primary);
}

.Footer #menu-footer-menu {
    display: grid;
    grid-template-columns: 1fr;
}

.Footer h5 {
    font-size: 20px;
    line-height: 28px;
}

.FooterGrid {
    display: grid;
}

.FooterGrid__smallprint {
    font-size: 13px;
    line-height: 20px;
}

@media (min-width: 600px) {

    .Footer {
        padding-bottom: 56px;
        column-gap: 1rem;
        row-gap: 1rem;
    }

    .FooterGrid {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 1200px) {

    .Footer {
        padding-bottom: 56px;
    }

    .FooterGrid {
        grid-template-rows: auto auto;
        grid-template-columns: 0.23fr 0.28fr 0.18fr 0.31fr;
    }

    .FooterGrid__smallprint {
        grid-row-start: 2;
        grid-row-end: 3;
        grid-column-start: 1;
        grid-column-end: 4;
        align-self: end;
    }

    .FooterGrid__social {
        grid-row-start: 2;
        grid-row-end: 3;
        grid-column-start: 4;
        grid-column-end: 5;
        align-self: end;
    }
}

.Search__form {
    position: relative;
    display: inline-block;
}

.Search__inputwrap {
    line-height: normal;
}

.Search__input {
    padding: 14px 32px 14px 21px;
    color: var(--color-black);
    font-size: 16px;
    line-height: 16px;
    border: 0;
    border-radius: 27px;
}

.Navigation .Search__input {
    border: 1px solid #C6C6C6;
}

.Search__input::placeholder {
    color: var(--color-black);
}

.Page404 .Search {
    margin-bottom: 37px;
}

.Page404 .Search__form {
    display: block;
}

.Page404 .Search__inputwrap {
    display: flex;
    width: 100%;
}

.Page404 .Search__input {
    display: block;
    flex: 1 0 auto;
}

@media (min-width: 768px) {

    .Page404 .Search {
        margin-bottom: 80px;
    }
}

.Search__button {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 100%;
    background-color: transparent;
    border: 0;
}

.Search__button .Svg {
    width: 22px;
    height: 22px;
}

.error404 {
    background-color: #EDEDED;
}

.Page404 {
    padding-top: 40px;
    text-align: center;
}

.Page404::after {
    z-index: -1;
    display: block;
    height: 167px;
    margin-top: -167px;
    background-color: var(--color-white);
    content: '';
}

.Page404__heading {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 700;
    font-size: 82px;
    line-height: 82px;
}

.Page404__subheading {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 500;
    font-size: 31px;
    line-height: 36px;
}

.Page404__text {
    margin-bottom: 37px;
    font-weight: 500;
    font-size: 12px;
    line-height: 17px;
}

@media (min-width: 768px) {

    .Page404__heading {
        font-size: 128px;
        line-height: 128px;
    }

    .Page404__subheading {
        font-size: 48px;
        line-height: 56px;
    }

    .Page404__text {
        font-size: 20px;
        line-height: 28px;
    }
}

.IconCard {
    margin-bottom: 40px;
    padding: 4px 6px;
    text-align: left;
    background-color: var(--color-white);
    box-shadow: var(--box-shadow);
}

@media (min-width: 768px) {

    .IconCard {
        padding: 28px 28px 12px;
    }
}

.IconCard .card-action {
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
}

.IconColumn {
    display: grid;
    grid-template-columns: min-content 1fr;
    gap: 28px;
}

.IconColumn__icon {}

.IconColumn__icon .Svg {
    width: 38px;
    height: 38px;
}

.IconColumn__content {
    color: var(--color-white);
}

.IconColumn__content p {
    margin-top: 0;
}

.IconCard .IconColumn {
    display: block;
}

.IconCard .IconColumn__icon {
    margin-bottom: 8px;
}

.IconCard .IconColumn__content {
    color: var(--color-secondary);
}

.IconCard .IconColumn__icon .Svg {
    width: 60px;
    height: 60px;
}

@media (min-width: 768px) {

    .IconCard .IconColumn {
        display: grid;
        grid-template-columns: min-content 1fr;
        gap: 70px;
    }

    .IconCard .IconColumn__icon .Svg {
        width: 122px;
        height: 122px;
    }
}

.IconColumn__heading {
    margin-top: 0;
}

.GetInTouch .IconColumn {
    margin-bottom: 20px;
}

.GetInTouch .IconColumn__content a {
    color: inherit;
}

.SocialLinks__heading {
    margin-bottom: 10px;
}

.SocialLinks__list {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.SocialLinks__item+.SocialLinks__item {
    margin-left: 10px;
}

.SocialLinks__link {
    color: inherit;
}

.SocialLinks__item .Svg {
    width: 35px;
    height: 35px;
}

.GetInTouch .SocialLinks {
    margin-top: 25px;
    margin-bottom: 50px;
}

@media (min-width: 768px) {

    .GetInTouch .SocialLinks {
        margin-top: 43px;
        margin-bottom: 0;
    }
}

.ArchiveProduct {
    margin-top: 45px;
    margin-bottom: 57px;
}

.ProductFilterList {
    list-style: none;
    display: flex;
    border-bottom: 1px solid #EDEDED;
    margin: 0;
    padding: 0;
    margin-bottom: 40px;
    overflow-x: auto;

}

@media (min-width: 768px) {

    .ProductFilterList {
        margin-bottom: 55px;
    }
}

.ProductFilterList__item {
    margin: 0;
    margin-right: 30px;
    padding: 0;
}

.ProductFilterList__link {
    border-bottom: 4px solid transparent;
    font-size: 16px;
    line-height: 21px;
    font-weight: var(--font-normal);
    padding: 12px 16px 12px 8px;
    display: flex;
    align-items: center;
}

.ProductFilterList__link::before {
    content: '';
    display: inline-block;
    width: 21px;
    height: 21px;
    background-color: #F5F5F5;
    margin-right: 1rem;
}

.ProductFilterList__item--shop .ProductFilterList__link::before {
    background: url('images/icons/cat-full-range.svg') no-repeat center;
    background-size: 19px 18px;
}

.ProductFilterList__item--stationery .ProductFilterList__link::before {
    background: url('images/icons/cat-stationery.svg') no-repeat center;
    background-size: 16px 18px;
}

.ProductFilterList__item--training .ProductFilterList__link::before {
    background: url('images/icons/cat-training.svg') no-repeat center;
    background-size: 23px 18px;
}

.ProductFilterList__item--warranties .ProductFilterList__link::before {
    background: url('images/icons/cat-warranties.svg') no-repeat center;
    background-size: 18px 18px;
}

.ProductFilterList__item--active .ProductFilterList__link,
.ProductFilterList__link:hover {
    border-color: var(--color-primary);
    font-weight: var(--font-medium);
    color: var(--color-primary);
}

.LoopProduct__imageframe {
    position: relative;
    width: 100%;
    margin-bottom: 14px;
    background-color: #F5F5F5;
    aspect-ratio: 1/1;
}

.LoopProduct__image {
    position: absolute;
    top: 23px;
    right: 23px;
    bottom: 23px;
    left: 23px;
    width: calc(100% - 46px);
    height: calc(100% - 46px);
    object-fit: contain;
}

.LoopProduct__tag {
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
    line-height: 20px;
}

.woocommerce-loop-product__title {
    margin: 0 0 5px;
    font-weight: var(--font-bold);
    font-size: 18px;
    line-height: 24px;
}

.LoopProduct .woocommerce-Price-amount {
    color: var(--color-primary);
    font-weight: var(--font-medium);
    font-size: 16px;
    line-height: 28px;
}

.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title {
    text-decoration: underline;
}

.CartTable .woocommerce-Price-amount {
    color: var(--color-text);
}

.SingleProductGrid .woocommerce-Price-amount {
    font-size: 24px;
    line-height: 32px;
    font-weight: var(--font-bold);
    color: var(--color-primary);
    margin-top: 16px;
    margin-bottom: 16px;
}

.woocommerce-price-suffix .woocommerce-Price-amount {
    line-height: inherit;
    font-size: inherit;
    color: inherit;
}

.ProductGrid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 46px;
    column-gap: 12px;
    row-gap: 36px;
}

@media (min-width: 768px) {
    .ProductGrid {
        grid-template-columns: repeat(4, 1fr);
        margin-bottom: 56px;
        column-gap: 20px;
        row-gap: 56px;
    }
}

.ProductCategoryWrapper {
    display: grid;
    grid-template-columns: 300px 1fr;
    column-gap: 20px;
    
}



.ProductCategoryWrapper ul.ProductCategoryList {
    grid-column: 1/-1;
    grid-row: 2/3;
    
}

.ProductCategoryWrapper .woocommerce-notices-wrapper {
    grid-column: 1/3;
    grid-row: 1/2;
}

.ProductCategoryWrapper ul.ProductGrid.products {
    grid-column: 1/-1;
    grid-row: 3/4;
}

.ProductCategoryWrapper .woocommerce-info {
    grid-column: 2/3;
    grid-row: 2/3;
    align-self: flex-start;
    margin-top: 1em;
}

@media (min-width: 768px) {
    .ProductGrid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ProductCategoryWrapper ul.ProductCategoryList {
        grid-column: 1/2;
    }
    .ProductCategoryWrapper ul.ProductGrid.products {
        grid-column: 2/3;
        grid-row: 2/3;
    }

}

.ProductCategoryWrapper .ProductCategoryList__item {
    padding: 1rem;
    border-bottom: 1px solid var(--color-border);
}

.ProductCategoryWrapper .ProductCategoryList__item:last-child {
    border-bottom: navajowhite;
}

.ProductCategoryList__item--active a {
    color: var(--color-primary);
}

.PageBanner {
    position: relative;
}

.PageBanner::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(14, 28, 36, 0.15);
}

.PageBanner__heading {
    z-index: 2;
    position: relative;
}

.SingleProductGrid {
    display: grid;
    grid-template-columns: minmax(1px, 1fr);
    column-gap: 60px;
    row-gap: 30px;
    margin-bottom: 44px;
}

@media (min-width: 768px) {

    .SingleProductGrid {
        grid-template-columns: minmax(0, 0.4773fr) minmax(0, 0.5227fr);
        margin-bottom: 75px;
    }
}

@media (min-width: 1400px) {

    .SingleProductGrid {
        padding-left: 57px;
        padding-right: 57px;
    }
}

.SingleProductGrid__primary {}

.SingleProductGrid__secondary {}

.SingleProduct {
    margin-top: 57px;
}

.SingleProduct__imageframe {
    position: relative;
    width: 100%;
    background-color: #F5F5F5;
    aspect-ratio: 1/1;
}

.SingleProduct__image {
    position: absolute;
    top: 27px;
    right: 27px;
    bottom: 27px;
    left: 27px;
    width: calc(100% - 54px);
    height: calc(100% - 54px);
    object-fit: contain;
}

@media (min-width: 768px) {
    .SingleProduct__image {
        position: absolute;
        top: 40px;
        right: 40px;
        bottom: 40px;
        left: 40px;
        width: calc(100% - 80px);
        height: calc(100% - 80px);
        object-fit: contain;
    }
}

.SingleProduct__tag {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 10px;
    margin-top: 10px;
    font-weight: var(--font-normal);
    display: block;
}

.SingleProduct__title {
    font-size: 32px;
    line-height: 40px;
    font-weight: var(--font-bold);
    margin: 0 0 10px;
}

@media (min-width: 768px) {
    .SingleProduct__title {
        margin-bottom: 26px;
    }
}

.SingleProduct__subtitle {
    font-size: 22px;
    line-height: 30px;
    font-weight: var(--font-bold);
    margin: 0 0 10px;
}

@media (min-width: 768px) {
    .SingleProduct__subtitle {
        margin-bottom: 16px;
    }
}

.SingleProduct__content {
    font-size: 16px;
    line-height: 28px;
}

.OfferMixMatch {
    font-size: 16px;
    line-height: 21px;
}

.OfferMixMatch::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 12px;
    margin-right: 12px;
    margin-top: 6px;
    background: url('images/icons/shuffle.svg') center no-repeat;
    background-size: contain;
}

.SingleProduct__smallprint {
    opacity: 0.5;
    margin-bottom: 0;
    font-size: 16px;
    line-height: 21px;
}

.ProductQuantityPickerLabel {
    font-size: 13px;
    line-height: 28px;
    margin-bottom: 5px;
}

.ProductQuantityPicker {
    display: flex;
    width: 135px;
    flex: 0 0 auto;
    flex-direction: row;
    align-items: center;
    height: 100%;
    border: 1px solid #C2C2C2;
    border-radius: 5px;
}

.SingleProduct .ProductQuantityPicker {
    margin-bottom: 16px;
}




.SingleProduct--training .SingleProductGrid {
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .SingleProduct--training .SingleProductGrid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.5227fr);
    }
}

.SingleProduct--training .SingleProductGrid__secondary .price {
    display: none;
}

.SingleProduct--training .SingleProductGrid__secondary .summary {
    margin-top: 0.5rem;
    height: 100%;
}

.SingleProduct--training .SingleProductGrid__secondary {
    align-self: flex-start;
    position: sticky;
    top: 5.25rem;

}

.card.card--trainer {
    display: grid;
    grid-template-columns: 1fr 3fr;
}

.card.card--trainer .card-image {
    grid-row: 1/3;
}

.card.card--trainer .card-image img {
    height: 100%;
    object-fit: cover;
}

.SingleProduct__trainer {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
}

h4.SingleProduct__trainer-name {
    margin: 0;
}

small.SingleProduct__trainer-company {
    color: var(--color-primary);
}

.SingleProduct__trainer-image img {
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 100%;
}

.AdditionalLocations {
    display: flex;
    align-items: center;
    justify-content: space-between;
        padding-top: 15px;
            padding-bottom: 15px;
}

@media (min-width: 768px) {
    .single_variation_wrap .AdditionalLocations {
        max-width: 412px;
    }
}


.limited-subscription-notice.notice {
    font-weight: var(--font-medium);
    color: var(--color-primary);
}

.AdditionalLocations .ProductQuantityPickerLabel {
    font-size: 16px;
    line-height: 21px;
    font-weight: var(--font-medium);
    margin-right: 1rem;
}

.ProductQuantityPicker__input {
    width: 3.5rem;
    height: 3rem;
    text-align: center;
    border: none;
    -webkit-appearance: none;
    appearance: none;
}

.ProductQuantityPicker__button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 3rem;
    color: #C6C6C6;
    transition: var(--transition);
    will-change: transition;
}

.ProductQuantityPicker__button:hover {
    color: var(--color-primary);
    cursor: pointer;
}

.ProductQuantityPicker__button::before,
.ProductQuantityPicker__button--increase::after {
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 6px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 2px;
    content: "";
    font-size: 16px;
    font-weight: var(--font-bold);
    background-color: currentColor;
}

.ProductQuantityPicker__button--increase::after {
    transform: rotate(90deg);
}

.variations_form.cart table.variations {
    max-width: 478px
}

.variations_form.cart table.variations .label {
    font-size: 16px;
    line-height: 21px;
    font-weight: var(--font-medium);
    padding-left: 0;
}

.variations_form.cart table.variations .value {
    display: flex;
    align-items: center;
}

.variations_form.cart table.variations .value .reset_variations {
    padding: 0.5rem;
    margin-left: 0.5rem;
}

.variations_form.cart table.variations select {
    padding: 11px 10px !important;
    border: 1px solid #C2C2C2;
    border-radius: 5px !important;
    padding: 0 3.5rem 0 1rem;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7.143'><path fill='%235f5e5e' d='M.235.197a.734.734 0 00-.039 1.038l5.265 5.673a.735.735 0 001.077 0l5.265-5.673a.735.735 0 10-1.077-1L5.999 5.328 1.272.235A.734.734 0 00.235.197z'/></svg>");
    background-repeat: no-repeat;
    background-position: top calc(50%) right 1rem;
    background-size: 0.75rem 0.5rem;
    -o-appearance: none;
    -ms-appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
}

@media (min-width: 768px) {
    .variations_form.cart table.variations select {
        max-width: 256px;
    }
}

.woocommerce-variation-price {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

/* Remove Arrows/Spinners */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}


.RelatedCarousel__heading {
    margin-bottom: 33px;
    color: var(--color-primary);
    font-weight: var(--font-bold);
    font-size: 32px;
    line-height: 40px;
    text-align: center;
}

.RelatedCarousel__inner {
    margin-left: 36px;
}

.RelatedCarousel .swiper-button-next::after,
.RelatedCarousel .swiper-button-prev::after {
    font-size: 24px;
}

.RelatedCarousel .swiper-button-prev {
    left: 0;
}

.RelatedCarousel .swiper-button-next {
    right: 0;
}

.RelatedCarousel .swiper-slide {
    opacity: 0.4;
}

.RelatedCarousel .swiper-slide-active {
    opacity: 1;
}

@media (min-width: 768px) {

    .RelatedCarousel__inner {
        width: 90%;
        max-width: 1280px;
        margin: 0 auto;
    }

    .RelatedCarousel__heading {
        margin-bottom: 42px;
        font-size: 40px;
        line-height: 48px;
    }

    .RelatedCarousel .swiper-slide {
        opacity: 1;
    }
}

.RelatedCarousel--products {
    margin-bottom: 38px;
}

.RelatedCarousel--products .swiper-button-next,
.RelatedCarousel--products .swiper-button-prev {
    top: 37%;
}

.RelatedCarousel--products .RelatedCarousel__heading {
    font-weight: var(--font-medium);
    margin-bottom: 17px;
}

@media (min-width: 768px) {
    .RelatedCarousel--products {
        margin-bottom: 60px;
    }

    .RelatedCarousel--products .RelatedCarousel__heading {
        margin-bottom: 26px;
    }
}

/*
|--------------------------------------------------------------------------
| UtilityScreenReaderOnly
|--------------------------------------------------------------------------
| @namespace: UtilityScreenReaderOnly
|
*/

.UtilityScreenReaderOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}

.UtilityHide {
    display: none;
}

.hide {
    display: none;
}

.util-hidden {
    visibility: hidden;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}

/*
|--------------------------------------------------------------------------
| Cart - Card
|--------------------------------------------------------------------------
| @namespace: CartCard
|
*/
.CartCard {
    position: relative;
    display: flex;
}

.CartCard__thumbnail {
    position: relative;
    flex: 0 0 5.125rem;
    height: 5.125rem;
    overflow: hidden;
    background-color: var(--color-gray-light);
    /* stylelint-disable selector-class-pattern */
    /* stylelint-enable selector-class-pattern */
}

@media (min-width: 768px) {
    .CartCard__thumbnail {
        flex: 0 0 5.5rem;
        height: 5.5rem;
    }
}

.CartCard__thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.CartCard__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding-left: 1.25rem;
}

.CartCard__upper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.CartCard__lower {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}

.CartCard__title {
    width: 100%;
    color: var(--color-secondary);
    font-weight: var(--font-medium);
    font-size: 16px;
    line-height: 24px;
    line-height: 1.25;
}

@media (min-width: 768px) {
    .CartCard__title {
        width: auto;
    }
}

.CartCard__price {
    font-size: 14px;
    line-height: 24px;
}

.CartCard__remove {
    font-size: 14px;
    line-height: 14px;
    text-decoration: underline;
}

.ActionGroup .CartCard__remove {
    margin: 0.625rem auto;
}

.CartTable {
    border: 1px solid #F5F7F7;
    margin: 0 0 46px;
    padding: 0;
    border-radius: 5px 5px 0 0;
}

.CartTable__item {
    display: grid;
    grid-row-gap: 0;
    grid-column-gap: 25px;
    grid-template-columns: 163px minmax(0, 2fr);
    padding: 1.25rem;
    border-bottom: 1px solid #F5F7F7;
}

@media (min-width: 768px) {
    .CartTable__item {
        display: grid;
        grid-template-columns: 5.5rem minmax(0, 3fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
        padding: 2rem 1.25rem;
    }

    .CartTable__item>div {
        align-self: center;
    }
}

.CartTable__item:last-child {
    border-bottom: none;
}

.CartTable__item.CartTable__item--head {
    background: #F5F5F5;
    border-radius: 5px 5px 0 0;
}

.CartTable__item--head {
    display: none;
}

@media (min-width: 768px) {
    .CartTable__item--head {
        display: grid;
        padding: 1rem 1.25rem;
        font-weight: var(--font-normal);
    }
}

.CartTable__image {
    grid-row: 1/-3;
    grid-column: 1/2;
    width: 163px;
    height: 163px;
    border: 1px solid #EAEAEA;
    position: relative;
}

.CartTable__image img {
    position: absolute;
    top: 20px;
    left: 20px;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    object-fit: contain;
}

@media (min-width: 768px) {
    .CartTable__image {
        grid-row: auto;
        grid-column: auto;
        width: 5.5rem;
        height: 5.5rem;
    }

    .CartTable__image img {
        top: 10px;
        left: 10px;
        width: calc(100% - 20px);
        height: calc(100% - 20px);
    }
}

.CartTable__name,
.CartTable__price,
.CartTable__quantity,
.CartTable__subtotal,
.CartTable__column {
    grid-column: 2/3;
}

@media (min-width: 768px) {

    .CartTable__name,
    .CartTable__price,
    .CartTable__quantity,
    .CartTable__subtotal,
    .CartTable__column {
        grid-column: auto;
    }
}

.CartTable__header {
    font-weight: var(--font-medium);
}

.CartTable__header--name {
    grid-column: span 2;
}

@media (min-width: 768px) {

    .CartTable__header--price,
    .CartTable__header--quantity,
    .CartTable__header--subtotal,
    .CartTable__header--generic {
        place-self: center;
    }
}

@media (min-width: 768px) {
    .CartTable__name {
        place-self: center stretch;
    }
}

.CartTable__title {
    font-weight: var(--font-medium);
    font-size: 16px;
    line-height: 28px;
}

.variation {
    display: grid;
    column-gap: 0.5rem;
}

@media (min-width: 900px) {
    .variation {
        grid-template-columns: auto 1fr;
    }
}

.CheckoutSummary .variation {
    grid-template-columns: auto;
}

.variation dt {
    grid-column-start: 1;
    grid-column-end: span 1;
    margin: 0;
}

.variation dd {
    grid-column-start: 2;
    grid-column-end: span 1;
    margin: 0;

}

.variation dd p {
    margin: 0;
    line-height: inherit;
}

.CheckoutSummary .variation dt,
.CheckoutSummary .variation dd,
.CheckoutSummary .variation dd p {
    font-size: 13px;
    line-height: 20px;
}

@media (min-width: 768px) {
    .CartTable__title {
        width: auto;
        font-size: 20px;
        line-height: 32px;
    }
}

.CartCard__remove {
    display: inline-block;
    font-size: 13px;
    line-height: 16px;
    text-decoration: underline;
    font-weight: var(--font-medium);
    opacity: 0.5;
}

.CartTable__price,
.CartTable__subtotal {
    font-size: 16px;
    line-height: 24px;
    font-weight: var(--font-bold);
    color: var(--color-text);
    opacity: 0.5;
}

@media (min-width: 768px) {
    .CartTable__price {
        place-self: center;
    }
}

.CartTable__quantity {
    font-size: 16px;
    line-height: 24px;
    font-weight: var(--font-normal);
}

@media (min-width: 768px) {
    .CartTable__quantity {
        place-self: center;
    }
}

.CartTable__subtotal {
    font-size: 16px;
    line-height: 24px;
    display: none;
    font-weight: var(--font-bold);
}

@media (min-width: 768px) {
    .CartTable__subtotal {
        display: block;
        place-self: center;
    }
}

.CartTable__action a {
    font-weight: var(--font-bold);
    text-decoration: underline;
}

.CartTable__column {
    font-size: 16px;
    line-height: 24px;
}

@media (min-width: 768px) {
    .CartTable__column {
        place-self: center;
    }
}

.CartTable__variation {
    font-size: 14px;
    line-height: 14px;
    display: none;
    line-height: 1.25;
}

@media (min-width: 768px) {
    .CartTable__variation {
        display: block;
    }
}

.CartActions {
    display: grid;
    grid-row-gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 0.75rem;
}

@media (min-width: 768px) {
    .CartActions {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

.CartActions__item--update {
    text-align: right;
}

.CartButtonUpdate {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    font-weight: var(--font-normal);
    letter-spacing: normal;
    text-transform: none;
}

@media (min-width: 768px) {
    .CartButtonUpdate {
        max-width: 12.25rem;
    }
}

.CartButtonUpdate .Svg {
    width: 1rem;
    height: 1rem;
    margin-right: 0.5rem;
}

.cart-empty {
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 18px;
    line-height: 28px;
}

.CartEmpty__link {
    display: inline-block;
    text-decoration: underline;
    font-weight: var(--font-medium);
}

.cart_totals .shop_table {
    width: 100%;
    margin: 16px 0 16px auto;
}

@media (min-width: 768px) {
    .cart_totals .shop_table {
        max-width: 368px;
    }
}

.cart_totals .shop_table th {
    font-size: 16px;
    line-height: 28px;
    color: var(--color-text);
    font-weight: var(--font-medium);
    opacity: 0.5;
    padding: 8px 0;
}

.cart_totals .shop_table td {
    font-size: 20px;
    line-height: 28px;
    color: var(--color-secondary);
    text-align: right;
    padding: 8px 0;
}

.cart_totals .shop_table td .woocommerce-Price-amount {
    color: var(--color-secondary);
    font-size: 20px;
    line-height: 28px;
}

.cart_totals .shop_table td .woocommerce-shipping-methods {
    margin: 0;
}

.cart_totals .wc-proceed-to-checkout {
    width: 100%;
    margin: 16px 0 32px auto;
}

@media (min-width: 768px) {
    .cart_totals .wc-proceed-to-checkout {
        max-width: 368px;
    }
}

.cart_totals__small {
    display: block;
    margin: 16px auto;
    font-size: 13px;
    line-height: 20px;
    font-weight: var(--font-medium);
    color: #C6C6C6;
    text-align: center;
}

.CheckoutContent .wc_payment_method .InputWrap--checkbox {
    background-color: var(--color-gray-light);
    border-radius: 5px;
    padding: 1rem;
}

.CheckoutContent .wc_payment_method .InputLabel {
    text-transform: uppercase;
    font-size: 13px;
    line-height: 20px;
    font-weight: var(--font-normal);
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.CheckoutContent .InputLabel img {
    align-self: flex-end;
}

.CartCoupon {
    display: flex;
    flex-direction: row;
    width: 100%;
    margin: 0;
}

@media (min-width: 768px) {
    .CartCoupon {
        max-width: 520px;
    }
}

@media (min-width: 768px) {
    .Checkout .CartCoupon {
        max-width: 100%;
    }
}

.CartCoupon__input {
    width: 100%;
    padding: 1rem 1.25rem;
    border: 1px solid #C6C6C6;
    border-radius: 5px 0 0 5px;
    transition: var(--transition);
}

.CartCoupon__input:hover {
    border-color: var(--color-primary);
}

.CartCoupon__button {
    width: 40%;
    margin-top: 0;
    margin-left: -2px;
    border: 2px solid var(--color-primary);
    min-width: 196px;
    border-radius: 0 5px 5px 0;
}

/*
|--------------------------------------------------------------------------
| Cart - Form
|--------------------------------------------------------------------------
| @namespace: CartForm
|
*/
.CartForm {
    display: grid;
    grid-row-gap: 0.75rem;
    grid-column-gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 768px) {
    .CartForm {
        grid-row-gap: 1.25rem;
        grid-column-gap: 1.25rem;
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
}

/*
|--------------------------------------------------------------------------
| CartCountIcon
|--------------------------------------------------------------------------
| @namespace: CartCountIcon
|
*/
.CartCountIcon {
    position: relative;
}

.Drawer--cart .CartCountIcon {
    order: 3;
}

@media (min-width: 768px) {
    .Drawer--cart .CartCountIcon {
        order: 2;
    }
}

.CartIconCount {
    position: absolute;
    top: -1px;
    left: -5px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    color: var(--color-white);
    font-weight: var(--font-semi-bold);
    font-size: 10px;
    background-color: var(--color-accent);
    border-radius: 100%;
    pointer-events: none;
}

.CartCountIcon__icon {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    transition: color var(--transition);
}

.CartCountIcon__icon .Svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/*
|--------------------------------------------------------------------------
| Cart - List
|--------------------------------------------------------------------------
| @namespace: CartList
|
*/
.CartList__item+.CartList__item {
    margin-top: 1.5rem;
}

/* .CartReviewList__item {
    display: grid;
    grid-template-columns: minmax(64px, 0.25fr) 1fr minmax(52px, 0.25fr) minmax(60px, 0.55fr);
    margin-bottom: 24px;
    column-gap: 24px;
    align-items: center;
} */

.CartReviewList__title {
    color: var(--color-secondary);
    font-weight: var(--font-normal);
    font-size: 16px;
    line-height: 28px;
}

.CartReviewList__price {
    font-size: 14px;
    line-height: 24px;
    text-align: right;
    color: var(--color-text);
}

.CartReviewList__price .woocommerce-Price-amount {
    font-weight: var(--font-bold);
    color: var(--color-text);
    font-size: 18px;
    line-height: 24px;
}

.CartReviewList__qty {
    color: var(--color-secondary);
    line-height: 28px;
    text-align: center;
}

.CartReviewList__image {
    padding-right: 24px;
    width: 93px;
}

.CartReviewList__imageframe {
    position: relative;
    width: 100%;
    background-color: #FFFFFF;
    border: 1px solid #EAEAEA;
    aspect-ratio: 1/1;
}

.CartReviewList__imageframe img {
    position: absolute;
    top: 7px;
    right: 7px;
    bottom: 7px;
    left: 7px;
    width: calc(100% - 14px);
    height: calc(100% - 14px);
    object-fit: contain;
}

.CartReviewList__item--header {
    font-size: 14px;
    line-height: 28px;
    font-weight: var(--font-medium);
    letter-spacing: 2px;
    text-transform: uppercase;
}

.CartReviewList tfoot {
    color: var(--color-secondary);
    font-size: 16px;
    line-height: 16px;
}

.CartReviewList tfoot th {
    font-size: 14px;
    line-height: 28px;
    font-weight: var(--font-medium);
    letter-spacing: 2px;
    text-transform: uppercase;
    padding-top: 7px;
    padding-bottom: 7px;
}

.CartReviewList tfoot .order-total th {
    font-weight: var(--font-bold);
}

.CartReviewList tfoot td {
    font-size: 16px;
    line-height: 28px;
    font-weight: var(--font-normal);
    text-align: right;
    padding-top: 7px;
    padding-bottom: 7px;
}

.CartReviewList tfoot td .woocommerce-shipping-methods {
    margin: 0;
}

/*
|--------------------------------------------------------------------------
| Cart - Payment
|--------------------------------------------------------------------------
| @namespace: CartPaymentList
|
*/
.CartPaymentList__description {
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .CartPaymentList__description {
        margin-bottom: 1.25rem;
    }
}

.CartPayment__address {
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .CartPayment__address {
        margin-bottom: 1.25rem;
    }
}

/*
|--------------------------------------------------------------------------
| Cart - Product
|--------------------------------------------------------------------------
| @namespace: CartProduct
|
*/
.CartProduct {
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height: 24px;
}

@media (min-width: 768px) {
    .CartProduct {
        font-size: 14px;
        line-height: 24px;
    }
}

.CartProduct__thumbnail {
    display: none;
    width: 4rem;
}

@media (min-width: 768px) {
    .CartProduct__thumbnail {
        display: block;
    }
}

.CartProduct__information {
    flex: 1;
    padding-right: 1rem;
    padding-left: 0;
}

@media (min-width: 768px) {
    .CartProduct__information {
        padding: 0 1rem;
    }
}

.CartProduct__title {
    font-size: 14px;
    line-height: 24px;
    color: var(--color-black);
    font-weight: var(--font-bold);
}

@media (min-width: 768px) {
    .CartProduct__title {
        font-size: 18px;
        line-height: 20px;
    }
}

.CartProduct__quantity {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0 1rem;
}

@media (min-width: 768px) {
    .CartProduct__quantity {
        padding: 0 2rem;
    }
}

.CartProduct__removelink {
    text-decoration: underline;
    display: inline-block;
}

.CartProduct__total {
    width: 5rem;
    padding: 0 1rem;
    font-weight: var(--font-bold);
}

.CartProductQuantity {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.CartProductQuantity__input {
    width: 3rem;
    height: 3rem;
    padding: 0;
    text-align: center;
    border: 1px solid var(--color-border);
    -webkit-appearance: none;
    appearance: none;
}

.CartProductQuantity__button {
    height: 3rem;
    padding: 0 1rem;
    text-align: center;
    border: 1px solid var(--color-border);
    -webkit-appearance: none;
    appearance: none;
}

.CartProductQuantity__button:hover {
    cursor: pointer;
}

/*
|--------------------------------------------------------------------------
| Cart Form - Products
|--------------------------------------------------------------------------
| @namespace: CartFormProducts
|
*/
.CartFormProducts {
    grid-column-start: 1;
    grid-column-end: 13;
}

@media (min-width: 900px) {
    .CartFormProducts {
        grid-column-start: 1;
        grid-column-end: 7;
    }
}

.CartFormProducts__header {
    margin-bottom: 2rem;
}

.CartFormProducts__title {
    margin-bottom: 2rem;
    font-size: 24px;
    line-height: 32px;
    text-transform: uppercase;
}

.CartProductsList {
    padding: 1rem;
    background-color: var(--color-white);
    border-radius: 6px;
    box-shadow: var(--box-shadow);
}

.CartProductsList__item+.CartProductsList__item {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
}

.CartProducts__update {
    margin-top: 2rem;
}

.CartProducts__updatebutton {
    display: inline-block;
    background-color: transparent;
    -webkit-appearance: none;
    appearance: none;
    text-decoration: underline;
}

.CartEmpty {
    max-width: 36rem;
    margin: auto;
    text-align: center;
}

.CartEmpty__text {
    margin-bottom: 1rem;
}

/*
|--------------------------------------------------------------------------
| Cart - Shipping
|--------------------------------------------------------------------------
| @namespace: CartShipping
|
*/
.CartShipping__title {
    font-size: 16px;
    line-height: 28px;
    margin-bottom: 0.5rem;
    color: var(--color-secondary);
    font-weight: var(--font-normal);
    letter-spacing: 2px;
    text-transform: uppercase;
}

.CartShipping__list {
    margin-bottom: 1rem;
}

.CartShipping__list .amount {
    display: block;
    font-weight: var(--font-medium);
}

.CartShipping__address {
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .CartShipping__address {
        margin-bottom: 1.25rem;
    }
}

.CartShipping__noshipping {
    padding: 1em;
    font-weight: var(--font-bold);
    border: solid 1px;
}

.CartShipping__noshipping a {
    text-decoration: underline;
}

/*
|--------------------------------------------------------------------------
| Cart - Summary
|--------------------------------------------------------------------------
| @namespace: CartFormSummary
|
*/
.CartFormSummary__header {
    margin-bottom: 2rem;
}

.CartFormSummary__title {
    margin-bottom: 2rem;
    text-transform: uppercase;
    line-height: 24px;
    line-height: 32px;
}

.CartFormSummary {
    grid-column-start: 1;
    grid-column-end: 13;
}

@media (min-width: 900px) {
    .CartFormSummary {
        grid-column-start: 8;
        grid-column-end: 12;
    }
}

.CartSummary {
    font-family: var(--font-secondary);
    font-size: 12px;
    line-height: 24px;
}

@media (min-width: 768px) {
    .CartSummary {
        font-size: 14px;
        line-height: 24px;
    }
}

.CartSummary__text+.CartSummary__text {
    margin-top: 1rem;
}

.CartSummary__row {
    display: flex;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 1rem;
    color: var(--color-black);
    font-weight: var(--font-bold);
    border-top: 2px solid var(--color-border);
    font-size: 14px;
    line-height: 24px;
}

@media (min-width: 768px) {
    .CartSummary__row {
        line-height: 28px;
        line-height: 20px;
    }
}

.CartSummary__action {
    margin-top: 2rem;
}

/*
|--------------------------------------------------------------------------
| Cart - Total
|--------------------------------------------------------------------------
| @namespace: CartTotal
|
*/
.CheckoutSummary .shop_table {}

.CheckoutSummary .shop_table thead {
    font-size: 14px;
    line-height: 28px;
    font-weight: var(--font-medium);
    letter-spacing: 2px;
    text-transform: uppercase;
    border-bottom: none;
}

.CheckoutSummary .shop_table thead .product-qty,
.CheckoutSummary .shop_table thead .product-total {
    text-align: center;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-Message p.no-comments {
    margin-bottom: 21px;
    background-color: var(--color-primary);
    margin-left: 0;
    border-radius: 5px;
    color: var(--color-white);
    clear: both;
    padding: 1em 2em !important;
    position: relative;
    list-style: none outside;
    font-weight: var(--font-medium);
    margin-top: 0;
}

.woocommerce-error a,
.woocommerce-message a,
.woocommerce-Message a {
    color: inherit !important;
    text-decoration: underline;
}

@media (min-width: 768px) {

    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error,
    .woocommerce-noreviews,
    p.no-comments {
        margin-bottom: 29px;
    }
}

.woocommerce-message {
    /* background-color: var(--color-green); */
}

.woocommerce-error {
    background-color: var(--color-red);
}

.woocommerce-notices-wrapper .wc-forward,
.woocommerce-Message .woocommerce-Button {
    float: right;
    color: inherit;
    text-decoration: underline;
}


.Checkout__header {
    margin-bottom: 0.75rem;
    text-align: left;
}

@media (min-width: 768px) {
    .Checkout__header {
        margin-bottom: 1.5rem;
    }
}

.Checkout__title {
    color: var(--color-text);
    font-weight: var(--font-bold);
    font-size: 48px;
    line-height: 56px;
    margin-top: 0;
    margin-bottom: 14px;
}

@media (min-width: 768px) {
    .Checkout__title {
        margin-bottom: 24px;
        font-size: 32px;
        line-height: 40px;
    }
}

.Checkout__subtitle {
    margin-bottom: 9px;
    margin-top: 24px;
    color: var(--color-text);
    font-weight: var(--font-bold);
    font-size: 24px;
    line-height: 32px;
}

.Checkout__accountlogin {
    font-size: 16px;
    line-height: 32px;
    margin-top: 24px;
    margin-bottom: 9px;
}

.Checkout__accountloginlink {
    color: var(--color-primary);
    font-weight: var(--font-semi-bold);
    text-decoration: none;
}

@media (min-width: 768px) {
    .CheckoutContent {
        padding-right: 4rem;
    }
}

@media (min-width: 1200px) {
    .CheckoutContent {
        padding-right: 8rem;
    }
}

@media (min-width: 1675px) {
    .CheckoutContent {
        max-width: 33.75rem;
        padding-right: 0;
    }
}

.CheckoutContent .mailchimp-newsletter {
    margin-top: 1rem;
}

.CheckoutContent .woocommerce-account-fields {
    margin-top: 1rem;
}

.CheckoutContent .form-row {
    /* margin-bottom: 1rem; */
}

.CheckoutSummary {
    position: sticky;
    top: 2.25rem;
}

.sticky {
    position: sticky;
    top: 2.25rem;
}

@media (min-width: 768px) {
    .CheckoutSummary {
        top: 7rem;
        /* height: calc(100vh - 4.5rem); */
    }
}

@media (min-width: 1200px) {
    .UtilityHeader--pinned .CheckoutSummary {
        top: 7rem;
    }
}

.CheckoutSummary__title {
    font-size: 32px;
    line-height: 38px;
    margin-bottom: 1rem;
    color: var(--color-secondary);
    font-weight: var(--font-medium);
}

.CheckoutSummary__small {
    font-size: 14px;
    line-height: 14px;
    display: none;
    margin-top: 1rem;
    margin-bottom: 1rem;
    line-height: 1.25;
}

@media (min-width: 900px) {
    .CheckoutSummary__small {
        display: block;
    }
}

.CheckoutSummary__small a {
    text-decoration: underline;
}


/*
|--------------------------------------------------------------------------
| Page Content
|--------------------------------------------------------------------------
| @namespace: PageContent
|
*/
.PageContent__columns {
    display: grid;
    grid-row-gap: 0;
    grid-column-gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 768px) {
    .PageContent__columns {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
}

.PageContent__main {
    grid-column-start: 1;
    grid-column-end: 5;
    padding-right: 1.875rem;
    padding-left: 1.875rem;
}

@media (min-width: 768px) {
    .PageContent__main {
        grid-column-start: 2;
        grid-column-end: 9;
        padding-right: 0;
        padding-left: 0;
    }

    .PageContent__columns--aside-first .PageContent__main {
        grid-column-start: 5;
        grid-column-end: -1;
    }
}

@media (min-width: 1675px) {
    .PageContent__main {
        grid-column-end: 10;
    }
}

.Section--single .PageContent__main {
    padding-top: 1.875rem;
}

@media (min-width: 768px) {
    .Section--single .PageContent__main {
        padding-top: 4.5rem;
    }
}

.Checkout .PageContent__main {
    padding-top: 1.75rem;
    padding-bottom: 56px;
}

@media (min-width: 768px) {
    .Checkout .PageContent__main {
        grid-column-end: 8;
        padding-top: 3rem;
    }
}

@media (min-width: 900px) {
    .Checkout .PageContent__main {
        grid-column-end: 9;
    }
}

.Checkout--coupon .PageContent__main {
    padding-top: 1.75rem;
    padding-bottom: 2rem;
}

@media (min-width: 768px) {
    .Checkout--coupon .PageContent__main {
        padding-top: 0;
        padding-bottom: 3rem;
    }
}

@media (min-width: 1200px) {
    .Checkout--coupon .PageContent__main {
        padding-bottom: 4.5rem;
    }
}

.PageContent__aside {
    grid-column-start: 1;
    grid-column-end: 5;
    height: 100%;
    padding-right: 1.875rem;
    padding-left: 1.875rem;
}

@media (min-width: 768px) {
    .PageContent__aside {
        grid-row: 1/-1;
        grid-column-start: 9;
        grid-column-end: 13;
        padding-right: 0;
        padding-left: 0;
    }
}

@media (min-width: 1675px) {
    .PageContent__aside {
        grid-column-start: 10;
    }
}

.Section--single .PageContent__aside {
    display: none;
    background-color: #F5F5F5;
}

@media (min-width: 768px) {
    .Section--single .PageContent__aside {
        display: block;
        padding-top: 4.5rem;
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

@media (min-width: 1200px) {
    .Section--single .PageContent__aside {
        padding-right: 5rem;
        padding-left: 4rem;
    }
}

.Checkout .PageContent__aside {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
    background-color: #F5F5F5;
}

@media (min-width: 768px) {
    .Checkout .PageContent__aside {
        grid-column-start: 8;
        padding-top: 3rem;
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

@media (min-width: 900px) {
    .Checkout .PageContent__aside {
        grid-column-start: 9;
    }
}

@media (min-width: 1200px) {
    .Checkout .PageContent__aside {
        padding-right: 5rem;
        padding-left: 4rem;
    }
}

.Checkout--coupon .PageContent__aside {
    display: none;
}

@media (min-width: 768px) {
    .Checkout--coupon .PageContent__aside {
        display: block;
    }
}

.Form__columns {
    display: grid;
    grid-row-gap: 1rem;
    grid-column-gap: 1rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
    .Form__columns {
        grid-row-gap: 2rem;
        grid-column-gap: 2rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .Form__columns--tight {
        grid-row-gap: 1rem;
        grid-column-gap: 1rem;
    }
}

@media (min-width: 768px) {
    .Form__column--span {
        grid-column: span 2;
    }
}

.InputWrap {
    position: relative;
    margin: 0;
}

.InputWrap--checkbox {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.Input--checkbox,
.woocommerce-form__input-checkbox {
    width: 1rem;
    height: 1rem;
    margin-right: 0.625rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1em;
    border: 1.5px solid var(--color-secondary);
    border-radius: 2px;
    transition: background-color var(--transition);
    -webkit-appearance: none;
    appearance: none;
    will-change: background-color;
}

.Input--checkbox:focus,
.woocommerce-form__input-checkbox:focus {
    outline: none;
}

.Input--checkbox:checked,
.woocommerce-form__input-checkbox:checked {
    background-color: var(--color-primary);
}

.Input--checkbox:hover,
.woocommerce-form__input-checkbox:hover {
    cursor: pointer;
}

.Input {
    display: inline-block;
    width: 100%;
    max-width: 100%;
    height: 3.5rem;
    padding: 1rem;
    overflow: hidden;
    color: inherit;
    font-weight: var(--font-normal);
    font-size: 14px;
    line-height: 1.25;
    text-align: left;
    vertical-align: middle;
    background-color: transparent;
    border: 1px solid var(--color-border);
    border-radius: 5px;
    transition: border-color var(--transition);
    -webkit-appearance: none;
    appearance: none;
    caret-color: var(--color-primary);
}

.Input::placeholder {
    color: var(--color-border);
}

.Input:focus {
    border-color: var(--color-primary);
    outline: none;
}

.Input:hover {
    border-color: var(--color-primary);
    cursor: text;
}

.InputLabel {
    display: block;
    margin-bottom: 1rem;
    font-weight: var(--font-normal);
    font-size: 14px;
    line-height: 14px;
}

.InputWrap--checkbox .InputLabel {
    margin-bottom: 0;
}

.InputLabel__link {
    text-decoration: underline;
}

.Input--textarea {
    height: auto;
}

.Input--select {
    padding: 0 3.5rem 0 1rem;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7.143'><path fill='%235f5e5e' d='M.235.197a.734.734 0 00-.039 1.038l5.265 5.673a.735.735 0 001.077 0l5.265-5.673a.735.735 0 10-1.077-1L5.999 5.328 1.272.235A.734.734 0 00.235.197z'/></svg>");
    background-repeat: no-repeat;
    background-position: top calc(50%) right 1rem;
    background-size: 0.75rem 0.5rem;
}

.Input--select:hover {
    border-color: var(--color-primary);
    cursor: pointer;
}

.Input--location {
    background-repeat: no-repeat;
    background-position: top calc(50%) right 1rem;
    background-size: 1rem;
}

.Input--location:hover {
    border-color: var(--color-primary);
    cursor: text;
}

.InputRadio {
    display: flex;
    flex-flow: row wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem;
}

.InputRadio__label {
    display: block;
    flex: 1 0 25%;
    max-width: 50%;
    margin: 0 0.625rem 1.25rem;
}

@media (min-width: 768px) {
    .InputRadio__label {
        margin: 0 0.625rem 1.25rem;
    }
}

.InputRadio__radio {
    display: none;
}

.InputRadio__fauxradio {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    height: 3rem;
    padding: 0 1.125rem;
    overflow: hidden;
    color: var(--color-text);
    font-weight: var(--font-normal);

    border: 2px solid var(--color-border);
    transition: border-color var(--transition);
    font-size: 14px;
    line-height: 14px;
}

.InputRadio__fauxradio:hover {
    border-color: var(--color-primary);
    cursor: pointer;
}

.InputRadio__radio:checked+.InputRadio__fauxradio {
    color: var(--color-white);
    background: var(--color-primary);
    border: 2px solid var(--color-primary);
    cursor: pointer;
}

.InputRadio__radio:disabled+.InputRadio__fauxradio {
    color: var(--color-white);
    background: var(--color-text);
    border: 2px solid var(--color-text);
    cursor: not-allowed;
    opacity: 0.5;
}



::placeholder {
    color: inherit;
    font-family: inherit;
    opacity: 0.5;
}

.Input:focus+.InputLabel {
    top: -1rem;
}

.Form__columns {
    display: grid;
    grid-row-gap: 1rem;
    grid-column-gap: 1rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
    .Form__columns {
        grid-row-gap: 2rem;
        grid-column-gap: 2rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .Checkout .Form__columns {
        grid-row-gap: 1rem;
        grid-column-gap: 1.25rem;
    }
}

@media (min-width: 768px) {
    .Form__columns--tight {
        grid-row-gap: 1rem;
        grid-column-gap: 1rem;
    }
}

@media (min-width: 768px) {

    .Form__column--span,
    .form-row-wide {
        grid-column: span 2;
    }
}

.Form__column--center {
    align-self: center;
}

.Form__footer {
    width: 100%;
    margin-top: 1rem;
    padding-bottom: 1rem;
}

.Form__link {
    display: inline-block;
    text-decoration: underline;
    color: var(--color-secondary);
    font-style: italic;
}

.Form__small {
    color: #5F5E5E;
    font-style: italic;
    font-size: 14px;
    line-height: 14px;
}

:checked+label {
    box-shadow: none;
}

/* Gutenberg */
.alignwide {
    margin: 0 auto;
    max-width: 1280px;
    width: 90%
}

@media only screen and (min-width: 601px) {
    .alignwide {
        width: 85%
    }
}

@media only screen and (min-width: 993px) {
    .alignwide {
        width: 70%
    }
}

.FAQ {
    padding-top: 43px;
    padding-bottom: 82px;
}

.FAQ__heading {
    font-size: 40px;
    line-height: 48px;
    margin-bottom: 40px;
    color: var(--color-primary);
    text-align: center;
    margin-top: 0;
    margin-bottom: 29px;
}

@media (min-width: 768px) {

    .FAQ {
        padding-top: 68px;
        padding-bottom: 75px;
    }

    .FAQ__heading {
        margin-top: 0;
        margin-bottom: 48px;
    }
}

/*
|--------------------------------------------------------------------------
| Generic Accordion (Both Small and Large Screen)
|--------------------------------------------------------------------------
| @namespace: Accordion
|
*/
.Accordion {
    text-align: left;
}

.Accordion__item {
    border: 1px solid var(--color-gray-light);
    margin-bottom: 4px;
}

.AccordionPanel__header {
    position: relative;
    padding: 1rem;
    background-color: var(--color-gray-light);
}

.AccordionPanel:hover .AccordionPanel__header {
    text-decoration: underline;
}

.AccordionPanel__header:hover {
    cursor: pointer;
}

.AccordionPanel__header::before,
.AccordionPanel__header::after {
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 1rem;
    height: 1px;
    background-color: var(--color-primary);
    transition: transform var(--transition);
    content: "";
}

.AccordionPanel__header::after {
    transform: rotate(-90deg);
}

.Accordion__item--active .AccordionPanel__header::after {
    transform: rotate(0deg);
}

.AccordionPanel__title {
    color: var(--color-secondary);
    font-weight: var(--font-medium);
    font-size: 18px;
    line-height: 24px;
    margin: 0;
}

.AccordionPanel__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition);
    padding: 0 1rem;
}

.AccordionPanel__content {
    font-size: 16px;
    line-height: 28px;
}

.Accordion__item--active .AccordionPanel__body {
    max-height: 125vh;
}

.AccordionPanel__footer {
    margin-top: 1rem;
}

.AccordionPanel__content {
    display: block;
}


.MyAccountGrid {
    display: grid;
    grid-row-gap: 2rem;
    grid-column-gap: 2rem;
    grid-template-columns: 1fr;
    padding-bottom: 57px;
}

.MyAccountGrid h1 {
    font-size: 40px;
    font-weight: 500;
    line-height: 48px;
}

.MyAccountGrid h2 {
    font-size: 24px;
    font-weight: 500;
    line-height: 32px;
}

@media (min-width: 768px) {
    .MyAccountGrid {
        grid-template-columns: 0.3fr 0.7fr;
    }
}

/*
|--------------------------------------------------------------------------
| Account - Boxes
|--------------------------------------------------------------------------
| @namespace: AccountBoxes
|
*/

.AccountBoxes {
    display: grid;
    grid-row-gap: 0.75rem;
    grid-column-gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 768px) {
    .AccountBoxes {
        grid-row-gap: 1.25rem;
        grid-column-gap: 1.25rem;
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
}

.AccountBoxes__item {
    grid-column: span 4;
}

@media (min-width: 768px) {
    .AccountBoxes__item {
        grid-column: span 6;
    }
}

@media (min-width: 1200px) {
    .AccountBoxes__item--primary {
        grid-column: 1/span 6;
    }
}

@media (min-width: 1200px) {
    .AccountBoxes__item--secondary {
        grid-column: 7/span 6;
    }
}

.AccountBox__header {
    margin-bottom: 2rem;
}

.AccountBox__title {
    margin-bottom: 2rem;
    font-weight: var(--font-medium);
    font-size: 24px;
    line-height: 32px;
}

@media (min-width: 768px) {
    .AccountBox__title {
        font-size: 32px;
        line-height: 38px;
    }
}

.AccountBoxes__item--primary .AccountBox__title {
    color: var(--color-primary);
}

.AccountBox {
    margin-bottom: 5rem;
}

.woocommerce-privacy-policy-text {
    display: none;
    margin-top: 0.875rem;
    color: #5F5E5E;
    font-size: 14px;
    line-height: 14px;
    line-height: 1.25;
}

@media (min-width: 900px) {
    .woocommerce-privacy-policy-text {
        display: block;
    }
}

/*
|--------------------------------------------------------------------------
| Account - Address
|--------------------------------------------------------------------------
| @namespace: AccountAddress
|
*/
.AccountAddress {
    font-size: 15px;
    line-height: 24px;
    font-family: var(--font-secondary);
}

.AccountAddress__title {
    margin-bottom: 0.5rem;
    font-weight: var(--font-bold);
}

.AccountAddress+.AccountAddress {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border);
}

.AccountAddressForm {
    margin: 2rem 0;
}

/*
|--------------------------------------------------------------------------
| Account - Navigation
|--------------------------------------------------------------------------
| @namespace: AccountNavigation
|
*/
.AccountNavigation {
    margin-bottom: 2rem;
}

.AccountNavigation__list {
    margin: 0;
}

.AccountNavigation__link {
    display: flex;
    padding: 1rem;
    letter-spacing: 0.175em;
    text-transform: uppercase;
    border-top: solid 1px var(--color-border);
}

.is-active .AccountNavigation__link {
    color: var(--color-white);
    background-color: var(--color-primary);
}

.AccountNavigation__item:last-child .AccountNavigation__link {
    border-bottom: solid 1px var(--color-border);
}

/*
|--------------------------------------------------------------------------
| Order - Cards
|--------------------------------------------------------------------------
| @namespace: OrderCard
|
*/
.OrderCard {
    width: 100%;
    font-family: var(--font-secondary);
    background-color: var(--color-white);
    border-radius: 6px;
}

.OrderCard+.OrderCard {
    margin-top: 1rem;
}

@media (min-width: 768px) {
    .OrderCard+.OrderCard {
        margin-top: 2rem;
    }
}

.OrderCardTable {
    width: 100%;
    font-size: 15px;
    line-height: 24px;
}

.OrderCardTable__data {
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: left;
}

.OrderCardTable__data:last-of-type {
    text-align: right;
}

.OrderCardTable__title {
    color: var(--color-secondary);
    font-family: var(--font-primary);
    text-transform: uppercase;
    font-size: 18px;
    line-height: 20px;
}

.OrderCardTable__row--border-top {
    border-top: 1px solid var(--color-black);
}


/*
|--------------------------------------------------------------------------
| Order Overview
|--------------------------------------------------------------------------
| @namespace: OrderOverview
|
*/
.ThankYou .Section__title {
    color: var(--color-primary);
}

.ThankYou a {
    text-decoration: underline;
    color: inherit;
}

.ThankYou h1 {
    font-size: 40px;
    font-weight: 500;
    line-height: 48px;
}

.ThankYou h2 {
    font-size: 24px;
    font-weight: 500;
    line-height: 32px;
}

.OrderOverview {
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
    justify-content: space-between;
    margin-bottom: 2rem;
    padding: 1rem;
    padding-bottom: 0;
    background-color: var(--color-gray-light);
}

@media (min-width: 900px) {
    .OrderOverview {
        flex-flow: row nowrap;
        padding-top: 3rem;
        padding-bottom: 1.5rem;
    }
}

.OrderOverview__item {
    flex: 1 0 50%;
    margin-bottom: 1rem;
    text-align: center;
}

@media (min-width: 900px) {
    .OrderOverview__item {
        flex: 1 0 auto;
        margin-bottom: 1.5rem;
        padding-right: 1.5rem;
        padding-left: 1.5rem;
    }
}

@media (min-width: 900px) {
    .OrderOverview__item+.OrderOverview__item {
        border-left: 1px dotted var(--color-gray-medium);
    }
}

@media (min-width: 1200px) {
    .OrderOverview__item+.OrderOverview__item {
        border-left: 2px dotted var(--color-gray-medium);
    }
}

.OrderOverview__title {
    font-size: 14px;
    line-height: 14px;
    display: block;
    margin-bottom: 0.125rem;
}

@media (min-width: 1200px) {
    .OrderOverview__title {
        font-size: 16px;
        line-height: 28px;
    }
}

.OrderOverview__details {
    font-size: 18px;
    line-height: 20px;
    display: block;
    color: var(--color-secondary);
    font-weight: var(--font-medium);
}

@media (min-width: 1200px) {
    .OrderOverview__details {
        font-size: 20px;
        line-height: 28px;
    }
}

.SubscriptionsPackages,
.SubscriptionsBenefits {
    display: none;
}

@media (min-width: 1200px) {

    .SubscriptionsPackages,
    .SubscriptionsBenefits {
        display: block;
    }
}

.PackageGrid {
    display: grid;
    column-gap: 20px;
    row-gap: 30px;
}

.PackageGrid__title {
    font-size: 32px;
    line-height: 40px;
    margin: 0;
    color: var(--color-secondary);
    font-weight: var(--font-bold);
    margin-bottom: 27px;
}

.PackageGrid__subtitle {
    font-size: 24px;
    line-height: 32px;
    margin: 0;
    color: var(--color-secondary);
    font-weight: var(--font-bold);
}

.SubscriptionsBenefits__section .PackageGrid__subtitle {
    padding-right: 20px;
}

@media (min-width: 1200px) {
    .PackageGrid {
        grid-template-columns: 0.2fr 0.26fr 0.26fr 0.26fr;
    }
}

.SubscriptionsBenefits__section {
    margin-bottom: 48px;
}

.SubscriptionCard {
    background-color: var(--color-white);
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.SubscriptionsPackages .SubscriptionCard {
    border: 1px solid var(--color-gray-light);
}

.SubscriptionCard::before {
    content: '';
    display: block;
    width: 57px;
    height: 92px;
    position: absolute;
    top: -5px;
    right: 8px;
    z-index: 2;
    background-size: 57px 92px;
}

.SubscriptionCard--bronze::before {
    background: url('images/ribbon-bronze.png') no-repeat center top;
    background-size: 57px 92px;
}

.SubscriptionCard--silver::before {
    background: url('images/ribbon-silver.png') no-repeat center top;
    background-size: 57px 92px;
}

.SubscriptionCard--gold::before {
    background: url('images/ribbon-gold.png') no-repeat center top;
    background-size: 57px 92px;
}

.SubscriptionsBenefits .SubscriptionCard::before {
    background-size: 50px 80px;
}

.SubscriptionCard__top {
    padding: 20px;
    flex: 0 0 auto;
}

.SubscriptionCard__bottom {
    padding: 20px;
    flex: 1 0 auto;
}

.SubscriptionsPackages .SubscriptionCard__bottom,
.PackageGrid--which-package .SubscriptionCard__bottom {
    font-size: 16px;
    line-height: 28px;
    opacity: 0.6;
    padding-top: 10px;
    padding-bottom: 10px;
}

.PackageGrid--which-package .SubscriptionCard__bottom {
    padding-top: 2px;
    padding-bottom: 2px;
}

.PackageGrid--pricing .SubscriptionCard__bottom {
    padding-bottom: 9px;
}

.bg-grey {
    background-color: var(--color-gray-light);
}

.SubscriptionsOverview {
    background-color: #ADD7F6;
    padding-top: 46px;
    padding-bottom: 56px;
}

@media (min-width: 768px) {
    .SubscriptionsOverview {
        padding-top: 74px;
        padding-bottom: 74px;
    }
}

.SubscriptionsOverview .SubscriptionsPaymentsFilter {
    order: 1;
}

.SubscriptionsOverview .SubscriptionCard {
    order: 2;
}

.SubscriptionsPaymentsFilter {}

.SubscriptionsPaymentsFilter__label {
    margin-bottom: 16px;
    display: block;
}

.SubscriptionsPaymentsFilter__radio {
    display: none;
}

.SubscriptionsPaymentsFilter__span {
    font-size: 18px;
    line-height: 24px;
    font-weight: var(--font-normal);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.SubscriptionsPaymentsFilter__span::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid #C2C2C2;
    background-color: #FFFFFF;
    margin-right: 10px;
}

.SubscriptionsPaymentsFilter__radio:checked+.SubscriptionsPaymentsFilter__span {
    font-weight: var(--font-bold);
}

.SubscriptionsPaymentsFilter__radio:checked+.SubscriptionsPaymentsFilter__span::before {
    border: 1px solid #004A8C;
    background-color: #1175BD;
}

.SubscriptionsPaymentsFilter__offer {
    font-size: 16px;
    line-height: 24px;
    color: var(--color-primary);
    display: block;
    font-weight: var(--font-medium);
    padding-left: 26px;
}

.SubscriptionCard__title {
    font-size: 32px;
    line-height: 40px;
    margin: 0;
    color: var(--color-secondary);
    font-weight: var(--font-bold);
}

.SubscriptionCard__subtitle {
    font-size: 18px;
    line-height: 24px;
    margin: 0;
    color: var(--color-secondary);
    font-weight: var(--font-normal);
    opacity: 0.7;
    display: block;
    margin-bottom: 24px;
}

.SubscriptionsPackages .SubscriptionCard__subtitle {
    margin-bottom: 18px;
}

.wp-block-column ul,
.SubscriptionCard__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wp-block-column ul li,
.SubscriptionCard__list li {
    padding-left: 32px;
    min-height: 32px;
    background: url('images/icons/tick.svg') no-repeat left top 7px;
    background-size: 18px;
    margin: 0;
    font-size: 16px;
    line-height: 32px;
}

.SubscriptionCard__price {
    font-size: 16px;
    line-height: 28px;
    margin: 8px 0 16px 0;
}

.SubscriptionCard__price-big {
    font-size: 32px;
    line-height: 28px;
    font-weight: var(--font-bold);
}

.SubscriptionCard__price--monthly {
    display: none;
}

.SubscriptionCard__price--annually {
    display: none;
}

.billing-plan-0 .SubscriptionCard__price--monthly {
    display: block;
}

.billing-plan-1 .SubscriptionCard__price--annually {
    display: block;
}

.PackageGrid--addon-location .SubscriptionCard__price {
    font-size: 13px;
    line-height: 20px;
    margin: 0;
}

.PackageGrid--pricing .SubscriptionCard__price {
    margin-bottom: 22px;
}

.PackageGrid--addon-location .SubscriptionCard__price-big {
    font-size: 24px;
    line-height: 20px;
    font-weight: var(--font-bold);
}

.SubscriptionCard__small p {
    font-size: 13px;
    line-height: 20px;
    margin: 15px 0 0 0;
    opacity: 0.5;
    text-align: center;
}

.Typeset {
    font-size: 16px;
    line-height: 24px;
}

.Testimonials {
    background-color: var(--color-gray-light);
    padding-top: 41px;
    padding-bottom: 47px;
}

@media (min-width: 768px) {
    .Testimonials {
        padding-top: 89px;
        padding-bottom: 89px;
    }
}

.Testimonials__header {
    font-size: 30px;
    line-height: 40px;
    font-weight: var(--font-bold);
    text-align: center;
    margin: 0;
    margin-bottom: 22px;
    padding: 0 32px;
}

.Testimonials__header span {
    font-size: 40px;
    line-height: 40px;
    color: var(--color-primary);
}

@media (min-width: 768px) {
    .Testimonials__header {
        font-size: 32px;
        margin-bottom: 20px;
    }

    .Testimonials__header span {
        font-size: 48px;
    }
}

.TestimonialSingle {
    max-width: 730px;
    margin: 0 auto;
    padding: 0 32px;
    padding-top: 70px;
}

.TestimonialSingle__blockquote {
    border: none;
    padding: 0;
    margin: 0;
    font-size: 20px;
    line-height: 36px;
    font-weight: var(--font-normal);
    margin-bottom: 27px;
    position: relative;

}

.TestimonialSingle__blockquote::before,
.TestimonialSingle__blockquote::after {
    content: '';
    display: block;
    width: 51px;
    height: 45px;
    background: url('images/icons/quote.svg') center no-repeat;
    background-size: contain;
    position: absolute;
}

.TestimonialSingle__blockquote::before {
    top: -70px;
    left: calc(50% - 62px);
}

.TestimonialSingle__blockquote::after {
    transform: rotate(180deg);
    top: -70px;
    right: calc(50% - 62px);
}

@media (min-width: 768px) {
    .TestimonialSingle {
        padding-top: 22px;
    }

    .TestimonialSingle__blockquote::before {
        top: -22px;
        left: -74px;
    }

    .TestimonialSingle__blockquote::after {
        right: -74px;
        bottom: calc(50%-22px);
        top: auto;
    }
}

.TestimonialSingle__image {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: var(--color-white);
    margin-right: 20px;
    object-fit: contain;
}

.TestimonialSingle cite {
    display: flex;
    font-style: normal;
}


.TestimonialSingle__name {
    font-size: 20px;
    line-height: 28px;
    display: block;
    font-weight: var(--font-bold);
}

.TestimonialSingle__company {
    font-size: 16px;
    line-height: 28px;
    display: block;
    font-weight: var(--font-normal);
}

.Section {
    padding-top: 45px;
    padding-bottom: 45px;
}

@media (min-width: 768px) {
    .Section {
        padding-top: 70px;
        padding-bottom: 70px;
    }
}

.Section--flush-top {
    margin-top: 0;
    padding-top: 0;
}

.PricingTable {
    display: grid;
    column-gap: 20px;
    row-gap: 0;
    grid-template-columns: 0.2fr 0.26fr 0.26fr 0.26fr;
}

.PricingTable__title {
    font-size: 32px;
    line-height: 40px;
    margin: 0;
    color: var(--color-secondary);
    font-weight: var(--font-bold);
    margin-bottom: 27px;
}

.PricingTable__cell {
    font-size: 16px;
    line-height: 24px;
    font-weight: var(--font-bold);
    min-height: 65px;
    padding: 8px 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.PricingTable__cell--green {
    color: var(--color-green);
}

.PricingTable__cell--red {
    color: var(--color-red);
}

.PricingTable__icon {
    width: 24px;
    height: 24px;
    display: block;
}

.PricingTable__cell--green .PricingTable__icon {
    background: url('images/icons/tick-green.svg') center no-repeat;
    background-size: contain;
}

.PricingTable__cell--red .PricingTable__icon {
    background: url('images/icons/cross-red.svg') center no-repeat;
    background-size: contain;
}

.PricingTable+.PricingTable .PricingTable__cell {
    border-top: 1px solid var(--color-border);
}

.PricingTable__cell--header {
    padding-left: 0;
    font-size: 18px;
    line-height: 24px;
}

.PricingTable--has-children .PricingTable__cell--header {
    position: relative;
    cursor: pointer;
}

.PricingTable--has-children .PricingTable__cell--header:hover {
    text-decoration: underline;
}

.PricingTable--has-children .PricingTable__cell--header::after {
    content: '';
    display: block;
    width: 12px;
    height: 6px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14.12 7.81'%3E%3Cpath fill='none' stroke='%230e1c24' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m1.06 1.06 6 6 6-6' data-name='Path 12235'/%3E%3C/svg%3E");
    background-size: 12px 6px;
    position: absolute;
    right: 0;
    top: calc(50%-3px);
}

.PricingTable--has-children.PricingTable--has-children--active .PricingTable__cell--header::after {
    transform: rotate(180deg);
}

.PricingTableChildren {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition);
    border-left: 3px solid #EDEDED;
}

.PricingTableChildren .PricingTable__cell--header {
    font-weight: var(--font-normal);
    font-size: 16px;
    line-height: 24px;
    padding-left: 20px;
}

.PricingTable--has-children--active+.PricingTableChildren {
    max-height: 125vh;
}

.PricingTableChildren>.PricingTable>.PricingTable__cell--header {
    border-top: none;
}

.SearchResult {
    margin-bottom: 2rem;
    display: flex;
}

.SearchResult__colmedia {
    width: 4rem;
    height: auto;
    margin-right: 2rem;
}

.SearchResult__coltext {
    width: 100%;
    height: auto;
}

.SearchResult__heading {
    margin-top: 0;
}

.SearchResult__link:hover {
    text-decoration: underline;
}

.SearchResult__imageframe {
    position: relative;
    width: 100%;
    background-color: #FFFFFF;
    border: 1px solid #EAEAEA;
    aspect-ratio: 1/1;
}

.SearchResult__image {
    position: absolute;
    top: 7px;
    right: 7px;
    bottom: 7px;
    left: 7px;
    width: calc(100% - 14px);
    height: calc(100% - 14px);
    object-fit: contain;
}

.ProductCreditsSummary {
    background-color: var(--color-gray-light);
    padding: 1px 1rem;
    margin: 1rem -1rem;
}

@media (min-width: 768px) {
    .ProductCreditsSummary {
        max-width: 412px;
    }
}

.ProductCreditsSummary a {
    text-decoration: underline;
    color: inherit;
}

.woocommerce-MyAccount-content a {
    text-decoration: underline;
    color: inherit;
}

.woocommerce-MyAccount-content .button {
    min-width: 264px;
    padding: 14px 22px;
    color: var(--color-white);
    font-weight: bold;
    font-size: 16px;
    list-style: 21px;
    background-color: var(--color-primary);
    border-radius: 5px;
    border: 0;
    transition: var(--transition);
    text-decoration: none;
}

.woocommerce-MyAccount-content .button.cancel {
    background-color: var(--color-red);
}

.woocommerce-MyAccount-content .button.resubscribe {
    background-color: var(--color-green);
}

.woocommerce-MyAccount-content .view.button {
    padding-top: 7px;
    padding-bottom: 7px;
}

.wc-bookings-date-picker .ui-datepicker td.bookable-range .ui-state-default {
    background: #004A8C !important;
}

.wc-bookings-date-picker .ui-datepicker td.bookable a,
.wc-bookings-booking-form .block-picker li a.selected,
.wc-bookings-booking-form .block-picker li:nth-child(even) a:hover,
.wc-bookings-booking-form .block-picker li:nth-child(odd) a:hover,
.wc-bookings-booking-form .block-picker li:nth-child(even) a:focus,
.wc-bookings-booking-form .block-picker li:nth-child(odd) a:focus {
    background: var(--color-primary) !important;
}



.hrmanager-logo {
    background-color: #262626;
    padding: 22px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 4px;
}

.hrmanager-logo img {
    max-width: 120px;
}

.hrmanager-logo-label {
    font-size: 13px;
    line-height: 20px;
    margin: 0;
    text-align: center;
    color: #FFF;
}


.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button.button {
    float: none;
    display: flex;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message.woocommerce-Message--info.woocommerce-info {
    padding: 0 !important;
}


.woocommerce-Address.col-2 {
    display: none;
}

.Footer__powered-by {
    display: flex;
    gap: 8px;
}

.Footer__powered-by-text {
    font-size: 12px;
}

.Footer__powered-by img {
    max-width: 70px;
}

.wp-block-group:not(.has-background) {
  margin: 0 auto;
  max-width: 1280px;
  width: 90%;
}

@media only screen and (min-width: 601px) {
  .wp-block-group:not(.has-background) {
    width: 85%;
  }
}

@media only screen and (min-width: 993px) {
  .wp-block-group:not(.has-background) {
    width: 70%;
  }
}

.wp-block-group:not(.has-background) .row {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

.checkout-button-notice {
    background-color: #F5F5F5;
    color: var(--color-gray-dark);
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
}

.checkout-button-notice__text {
    margin: 0;
    font-size: 14px;
    line-height: 20px;
}

.wp-block-button__link {
    padding: 16px 44px;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: var(--font-medium);
    border-radius: 5px;
}

.wp-block-group ul {
    margin: 1rem 0 1rem 2rem
}

.wp-block-group ul li {
    list-style-type: disc;
}