/* FONTS */
@font-face {
    font-family: 'Optima';
    src: url('../fonts/Optima-Regular.woff2') format('woff2'),
        url('../fonts/Optima-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Optima';
    src: url('../fonts/Optima-Italic.woff2') format('woff2'),
        url('../fonts/Optima-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Optima';
    src: url('../fonts/Optima-Bold.woff2') format('woff2'),
        url('../fonts/Optima-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Optima';
    src: url('../fonts/Optima-BoldItalic.woff2') format('woff2'),
        url('../fonts/Optima-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}


/* SETTINGS */
:root{
    /* CONFIGURABLE SETTINGS */
        /* COLORS */
        --color-white: #FFFFFF;
        --color-cream: #EBE7DC;
        --color-orange: #E87722;
        --color-teal: #00303B;
        --color-red: #CC2020;
        --color-lime: #DFE181;
        --color-pink: #E78DB9;
        --color-lavender: #BC8FE9;
        --color-grass: #97D66D;
        --color-babyblue: #B1EBFD;
        --color-seafoam: #A3E9C3;
        --color-black: #000000;

        --color-white-50: #FFFFFFB3;
        --color-teal-50: #00303BB3;

        /* BACKGROUND */
        --light-background-color: var(--color-cream);
        --medium-background-color: var(--color-cream);
        --dark-background-color: var(--color-teal);

        /* TEXT */
            /* PRIMARY FONT */
            --primary-font: 'Optima', sans-serif;

            /* SECONDARY FONT */
            --secondary-line-height: 1;
            --secondary-letter-spacing: -0.07em;

            /* FONT SIZES */
            --base-font-size: 1.6rem;

            /* LIGHT BACKGROUND COLORS */
            --light-background-text-color: var(--color-teal);
            --light-background-title-color: var(--color-teal);
            --light-background-eyebrow-color: var(--color-teal);
            --light-background-link-color: var(--color-teal);
            --light-background-hover-link-color: var(--color-red);
            --light-background-accent-color: var(--color-red);

            /* DARK BACKGROUND COLORS */
            --dark-background-text-color: var(--color-white);
            --dark-background-title-color: var(--color-white);
            --dark-background-eyebrow-color: var(--color-white);
            --dark-background-link-color: var(--color-white);
            --dark-background-hover-link-color: var(--color-orange);
            --dark-background-accent-color: var(--color-orange);

        /* PRIMARY BUTTON */
            /* STYLE */
            --primary-button-border-width: 0.1rem;
            --primary-button-border-style: solid;
            --primary-button-border-radius: 10rem;
            --primary-button-vertical-padding: 0.6111em;
            --primary-button-horizontal-padding: 1.2778em;

            /* LIGHT BACKGROUND COLORS */
            --light-background-primary-button-border-color: var(--color-red);
            --light-background-primary-button-background-color: var(--color-red);
            --light-background-primary-button-text-color: var(--color-white);
            --light-background-primary-button-box-shadow: none;
            --light-background-primary-button-hover-border-color: var(--color-teal);
            --light-background-primary-button-hover-background-color: var(--color-teal);
            --light-background-primary-button-hover-text-color: var(--color-white);
            --light-background-primary-button-hover-box-shadow: none;

            /* DARK BACKGROUND COLORS */
            --dark-background-primary-button-border-color: var(--color-red);
            --dark-background-primary-button-background-color: var(--color-red);
            --dark-background-primary-button-text-color: var(--color-white);
            --dark-background-primary-button-box-shadow: none;
            --dark-background-primary-button-hover-border-color: var(--color-white);
            --dark-background-primary-button-hover-background-color: var(--color-white);
            --dark-background-primary-button-hover-text-color: var(--color-teal);
            --dark-background-primary-button-hover-box-shadow: none;

        /* SECONDARY BUTTON */
            /* STYLE */
            --secondary-button-border-width: 0.1rem;
            --secondary-button-border-style: solid;
            --secondary-button-border-radius: 10rem;
            --secondary-button-vertical-padding: 0.6111em;
            --secondary-button-horizontal-padding: 1.2778em;

            /* LIGHT BACKGROUND COLORS */
            --light-background-secondary-button-border-color: var(--color-teal);
            --light-background-secondary-button-background-color: transparent;
            --light-background-secondary-button-text-color: var(--color-teal);
            --light-background-secondary-button-box-shadow: none;
            --light-background-secondary-button-hover-border-color: var(--color-teal);
            --light-background-secondary-button-hover-background-color: var(--color-teal);
            --light-background-secondary-button-hover-text-color: var(--color-white);
            --light-background-secondary-button-hover-box-shadow: none;

            /* DARK BACKGROUND COLORS */
            --dark-background-secondary-button-border-color: var(--color-white);
            --dark-background-secondary-button-background-color: transparent;
            --dark-background-secondary-button-text-color: var(--color-white);
            --dark-background-secondary-button-box-shadow: none;
            --dark-background-secondary-button-hover-border-color: var(--color-white);
            --dark-background-secondary-button-hover-background-color: var(--color-white);
            --dark-background-secondary-button-hover-text-color: var(--color-teal);
            --dark-background-secondary-button-hover-box-shadow: none;

        /* FORMS */
            --form-input-border-width: 0.1rem;
            --light-background-form-input-border-color: var(--color-teal);
            --light-background-form-input-option-background-color: var(--dark-background-color);
            --light-background-form-input-text-color: var(--color-teal);
            --light-background-form-input-placeholder-text-color: var(--color-teal-50);
            --light-background-form-input-focus-border-color: var(--color-red);
            --light-background-form-input-focus-text-color: var(--color-teal);
            --light-background-form-input-autofill-border-color: var(--color-red);
            --light-background-form-input-autofill-background-color: transparent;
            --light-background-form-input-autofill-text-color: var(--color-teal);
            --light-background-form-input-label-color: var(--color-teal);
            --light-background-form-input-notice-color: var(--color-teal);
            --dark-background-form-input-border-color: var(--color-white);
            --dark-background-form-input-option-background-color: var(--dark-background-color);
            --dark-background-form-input-text-color: var(--color-white);
            --dark-background-form-input-placeholder-text-color: var(--color-white-50);
            --dark-background-form-input-focus-border-color: var(--color-orange);
            --dark-background-form-input-focus-text-color: var(--color-white);
            --dark-background-form-input-autofill-border-color: var(--color-white);
            --dark-background-form-input-autofill-background-color: transparent;
            --dark-background-form-input-autofill-text-color: var(--color-white);
            --dark-background-form-input-label-color: var(--color-white);
            --dark-background-form-input-notice-color: var(--color-white);

        /* EYEBROW */

        /* MARGINS */
            --block-margin: 4rem;
            --column-gap: 4rem;
            --row-gap: 2.4rem;
            --item-column-gap: 1.6rem;
            --item-row-gap: 1.6rem;

        /* MISCELANEOUS */
            --header-height: 10rem;
            --default-block-width: 80rem;
            --page-padding: 1.6rem;
            --container-width: 100%;
            --element-box-shadow-light-background: none;
            --element-box-shadow-medium-background: none;
            --element-box-shadow-dark-background: none;
            --element-border-radius: 4rem;
            --admin-bar-height: 0rem;
            --wide-width: calc(var(--container-width) - (var(--page-padding) * 2));
            --full-width: calc(100% - (var(--page-padding) * 2));
            --page-margin: calc((100% - var(--wide-width)) / 2);


    /* TOOLS */
            /* FONT: +11 */
            --font-11: 5rem;
            --font-headline-000: var(--secondary-font-weight) var(--font-11) / var(--secondary-line-height) var(--secondary-font);

            /* FONT: +10 */
            --font-10: 4.8rem;
            --font-headline-00: var(--secondary-font-weight) var(--font-10) / var(--secondary-line-height) var(--secondary-font);

            /* FONT: +9 */
            --font-9: 4.4rem;
            --font-headline-0: var(--secondary-font-weight) var(--font-9) / var(--secondary-line-height) var(--secondary-font);

            /* FONT: +8 */
            --font-8: 4.2rem;
            --font-headline-1: var(--secondary-font-weight) var(--font-8) / var(--secondary-line-height) var(--secondary-font);

            /* FONT: +7 */
            --font-7: 4rem;
            --font-headline-2: var(--secondary-font-weight) var(--font-7) / var(--secondary-line-height) var(--secondary-font);
            
            /* FONT: +6 */
            --font-6: 3.8rem;
            --font-headline-3: var(--secondary-font-weight) var(--font-6) / var(--secondary-line-height) var(--secondary-font);
            --font-elevated-00: var(--primary-font-weight) var(--font-6) / var(--primary-line-height) var(--primary-font);

            /* FONT: +5 */
            --font-5: 4rem;
            --font-headline-4: var(--secondary-font-weight) var(--font-5) / var(--secondary-line-height) var(--secondary-font);

            /* FONT: +4 */
            --font-4: 2.9rem;
            --font-headline-5: var(--secondary-font-weight) var(--font-4) / var(--secondary-line-height) var(--secondary-font);
            --font-elevated-0: var(--primary-font-weight) var(--font-4) / var(--primary-line-height) var(--primary-font);

            /* FONT: +3 */
            --font-3: 2.4rem;
            --font-headline-6: var(--secondary-font-weight) var(--font-3) / var(--secondary-line-height) var(--secondary-font);

            /* FONT: +2 */
            --font-2: 2.0rem;
            --font-headline-7: var(--secondary-font-weight) var(--font-2) / var(--secondary-line-height) var(--secondary-font);
            --font-elevated-1: var(--primary-font-weight) var(--font-2) / var(--primary-line-height) var(--primary-font);

            /* FONT: +1 */
            --font-1: 1.8rem;
            --font-headline-8: var(--secondary-font-weight) var(--font-1) / var(--secondary-line-height) var(--secondary-font);
            --font-elevated-2: var(--primary-font-weight) var(--font-1) / var(--primary-line-height) var(--primary-font);

            /* FONT:  0 */
            --font-0: var(--base-font-size);
            --font-body: var(--primary-font-weight) var(--font-0) / var(--primary-line-height) var(--primary-font);

            /* FONT: -1 */
            --font--1: 1.4rem;
            --font-body-small: var(--primary-font-weight) var(--font--1) / var(--primary-line-height) var(--primary-font);

            /* FONT: -2 */
            --font--2: 1.2rem;
            --font-body-xsmall: var(--primary-font-weight) var(--font--2) / var(--primary-line-height) var(--primary-font);

}

@media (min-width: 768px){
    :root{
        /* CONFIGURABLE SETTINGS */
            /* MISCELANEOUS */
                --block-margin: 8rem;
                --column-gap: 8rem;
                --row-gap: 4rem;
                --item-column-gap: 1.6rem;
                --item-row-gap: 4rem;
                
        /* TOOLS */
                /* FONT: +11 */
                --font-11: 12rem;

                /* FONT: +10 */
                --font-10: 9.6rem;
                
                /* FONT: +9 */
                --font-9: 8rem;
                
                /* FONT: +8 */
                --font-8: 6.4rem;
                
                /* FONT: +7 */
                --font-7: 4.8rem;
                
                /* FONT: +6 */
                --font-6: 4.4rem;
    }
}

@media (min-width: 1330px){
    :root{
        /* CONFIGURABLE SETTINGS */
            /* TEXT */
            /* MISCELANEOUS */
                --container-width: 131.2rem;
    }
}


/* EXTRA COLOR SCHEMES */
[data-color-scheme$="-cream"]{
    --background-color: var(--color-cream);
}

[data-color-scheme$="-orange"]{
    --background-color: var(--color-orange);
}

[data-color-scheme$="-teal"]{
    --background-color: var(--color-teal);
}

[data-color-scheme$="-red"]{
    --background-color: var(--color-red);
}

[data-color-scheme$="-lime"]{
    --background-color: var(--color-lime);
}

[data-color-scheme$="-pink"]{
    --background-color: var(--color-pink);
}

[data-color-scheme$="-lavender"]{
    --background-color: var(--color-lavender);
}

[data-color-scheme$="-grass"]{
    --background-color: var(--color-grass);
}

[data-color-scheme$="-babyblue"]{
    --background-color: var(--color-babyblue);
}

[data-color-scheme$="-seafoam"]{
    --background-color: var(--color-seafoam);
}

[data-color-scheme="light-red"]{
    --light-background-hover-link-color: var(--color-teal);
    --light-background-accent-color: var(--color-teal);
    --light-background-primary-button-border-color: var(--color-teal);
    --light-background-primary-button-background-color: var(--color-teal);
    --light-background-primary-button-text-color: var(--color-white);
    --light-background-primary-button-hover-border-color: var(--color-teal);
    --light-background-primary-button-hover-background-color: transparent;
    --light-background-primary-button-hover-text-color: var(--color-teal);
}

[data-color-scheme="dark-red"]{
    --dark-background-primary-button-border-color: var(--color-white);
    --dark-background-primary-button-background-color: var(--color-white);
    --dark-background-primary-button-text-color: var(--color-teal);
    --dark-background-primary-button-hover-border-color: var(--color-white);
    --dark-background-primary-button-hover-background-color: transparent;
    --dark-background-primary-button-hover-text-color: var(--color-white);
}

[data-color-scheme="dark-orange"]{
    --dark-background-hover-link-color: var(--color-white);
    --dark-background-accent-color: var(--color-white);
}


/* GENERAL */
:is(h1, h2, h3, h4, h5, h6){
    word-break: break-word;
}

:is(h1, h2, h3, h4, h5, h6, p, li, blockquote, span, a) {
    text-rendering: geometricprecision;
}

iframe{
    border: none;
}


/* BUTTONS */
button:focus{
    outline: none;
}

:is(.primary-button, .secondary-button, .tertiary-button, .wp-element-button){
    font: var(--font-elevated-2);
}

.tertiary-button{
    display: inline-flex;
}

.tertiary-button::after{
    content: '';
    display: block;
    border-left: 0.3rem solid currentColor;
    border-top: 0.4rem solid transparent;
    border-bottom: 0.4rem solid transparent;
    margin-left: 0.8rem;
    align-self: center;
}


/* FORM */
body :is(.gform_wrapper.gravity-theme, *) :is(input:is([type="color"], [type="date"], [type="datetime-local"], [type="datetime"], [type="email"], [type="month"], [type="number"], [type="password"], [type="search"], [type="tel"], [type="text"], [type="time"], [type="url"], [type="week"]), select, textarea){
    border-top: none;
    border-left: none;
    border-right: none;
    padding: 0.5em 0;
}

body :is(.gform_wrapper.gravity-theme, *) select {
    appearance: auto;
}

body .gform_wrapper.gravity-theme :is(.gfield_checkbox, .gfield_radio, .ginput_container_consent) label a{
    margin-left: 0.3em;
}

body .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true]{
    border: none;
    border-bottom: var(--form-input-border-width) var(--form-input-border-style) var(--form-input-border-color);
}

body .gform_wrapper.gravity-theme :is(.gfield_validation_message, .validation_message, .gform_validation_errors, .gform_validation_errors>h2){
    letter-spacing: var(--primary-letter-spacing);
}

body .gform_submission_error .gform-icon{
    display: none!important;
}

body .gform_wrapper.gravity-theme .gfield_error label{
    color: var(--form-input-label-color);
}

body .gform_wrapper.gravity-theme .gfield_required{
    color: var(--form-input-label-color)!important;
}

body .gform_required_legend{
    display: none;
}

body .gform_wrapper.gravity-theme .gform_page_footer input {
    position: relative;
    z-index: 20;
}

@media (max-width: 767px) {
    body .gform_wrapper.gravity-theme .ginput_complex span {
        display: flex;
        flex-direction: column;
    }
}

/* PAGINATION */
.woocommerce nav.woocommerce-pagination{
    margin-top: var(--row-gap);   
}

.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce-pagination .page-numbers,
.navigation.pagination .nav-links{
    display: flex;
    align-items: center;
    justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul{
    display: block;
    border: none;
    margin: 0 auto;
}

.woocommerce nav.woocommerce-pagination ul li{
    display: block;
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li :is(a, span).page-numbers,
.navigation.pagination .nav-links .page-numbers{
    min-width: 7.4rem;
    padding: 2.4rem;
    text-align: center;
    text-decoration: none;
    min-height: 7.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.woocommerce nav.woocommerce-pagination ul li :is(a, span):is(:hover, :focus, .current){
    background: transparent;
    color: inherit;
}

.woocommerce nav.woocommerce-pagination ul li :is(a, span).page-numbers::before,
.navigation.pagination .nav-links .page-numbers::before{
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    border-bottom: 0rem solid var(--hover-link-color);
}

.woocommerce nav.woocommerce-pagination ul li a.page-numbers:is(:hover, :focus, :active),
.navigation.pagination .nav-links a.page-numbers:is(:hover, :focus, :active){
    opacity: 1;
    color: var(--hover-link-color);
}

.woocommerce nav.woocommerce-pagination ul li  span.page-numbers.current,
.navigation.pagination .nav-links .page-numbers.current{
    opacity: 1;
    color: var(--hover-link-color);
}

.woocommerce nav.woocommerce-pagination ul li span.page-numbers.current::before,
.navigation.pagination .nav-links .page-numbers.current::before{
    opacity: 1;
    border-bottom-width: 0.2rem;
}

.woocommerce nav.woocommerce-pagination ul li a.page-numbers:is(.prev, .next),
.navigation.pagination .nav-links :is(.prev, .next){
    font-size: 0;
}

.woocommerce nav.woocommerce-pagination ul li a.page-numbers:is(.prev, .next)::after,
.navigation.pagination .nav-links :is(.prev, .next)::after{
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border-bottom: 0.2rem solid;
    border-right: 0.2rem solid;
}

.woocommerce nav.woocommerce-pagination ul li a.page-numbers.prev::after,
.navigation.pagination .nav-links .prev::after{
    transform: rotate(135deg);
}

.woocommerce nav.woocommerce-pagination ul li a.page-numbers.next::after,
.navigation.pagination .nav-links .next::after{
    transform: rotate(-45deg);
}


/* POST LOOP */
.post-loop-image img{
    width: 100%;
}

/* POST LOOP - PERSON */
.post-loop-person .post-loop-image,
.post-loop-alumnus .post-loop-image{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    border-radius: var(--element-border-radius);
    overflow: hidden;
}

.post-loop-person .post-loop-image-wrapper,
.post-loop-alumnus .post-loop-image-wrapper{
    grid-column: 1;
    grid-row: 1;
    position: relative;
}

.post-loop-person .post-loop-image-wrapper[data-color-scheme]::after,
.post-loop-alumnus .post-loop-image-wrapper[data-color-scheme]::after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--background-color);
    mix-blend-mode: multiply;
    transition: all 0.3s ease;
}

.post-loop-person a:is(:hover, :focus, :active) .post-loop-image-wrapper[data-color-scheme]::after,
.post-loop-alumnus a:is(:hover, :focus, :active) .post-loop-image-wrapper[data-color-scheme]::after{
    opacity: 0;
}

.post-loop-person .post-loop-image img,
.post-loop-alumnus .post-loop-image img{
    aspect-ratio: 0.61;
    grid-column: 1;
    grid-row: 1;
    transition: all 0.2s ease-in-out;
}

.post-loop-person a:is(:hover, :focus, :active) .post-loop-image:not(:has([data-color-scheme])) img,
.post-loop-alumnus a:is(:hover, :focus, :active) .post-loop-image:not(:has([data-color-scheme])) img{
    transform: scale(1.1);
}

.post-loop-person .post-loop-image .read-more,
.post-loop-alumnus .post-loop-image .read-more{
    grid-column: 1;
    grid-row: 1;
    z-index: 2;
    align-self: end;
    justify-self: start;
    margin: var(--page-padding);
}

.post-loop-person h3,
.post-loop-alumnus h3{
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: normal;
}

.post-loop-person h4{
    font: var(--font-body-small);
    letter-spacing: var(--primary-font-spacing);
    font-weight: 700;
    text-transform: uppercase;
}

.post-loop-person > a > *:last-child,
.post-loop-alumnus > a > *:last-child{
    margin-bottom: 0;
}


/* POST LOOP - POST */
.post-loop-post a{
    display: flex;
    flex-direction: column;
    padding: 1.6rem;
    border-radius: 2.4rem;
}

.post-loop-post-info{
    margin-bottom: 1.6rem;
}

.post-loop-post h3{
    font: var(--font-headline-5);
    font-weight: 400;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 0.1rem solid;
}

.post-loop-post p{
    font: var(--font-body-small);
    margin-bottom: 0;
}

.post-loop-post-image{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
}

.post-loop-post-image .post-loop-image{
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    position: relative;
}

.post-loop-post-image .post-loop-image[data-image-overlay="1"]::after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 2.4rem;
    background-color: var(--background-color);
    mix-blend-mode: multiply;
    transition: all 0.3s ease;
}

.post-loop-post a:is(:hover, :focus, :active) .post-loop-image[data-image-overlay="1"]::after{
    opacity: 0;
}

.post-loop-post-image .post-loop-image img{
    border-radius: 2.4rem;
    aspect-ratio: 1.85;
    object-fit: cover;
}

.post-loop-post-image .post-loop-image[data-image-overlay="1"] img{
    filter: saturate(0);
    transition: all 0.3s ease;
}

.post-loop-post a:is(:hover, :focus, :active) .post-loop-image[data-image-overlay="1"] img{
    filter: saturate(1);
}

.post-loop-post-image time{
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    justify-self: start;
    background-color: var(--color-white);
    color: var(--color-teal);
    margin: 1.6rem;
    border-radius: 4rem;
    padding: 0.5rem 1rem;
    font: var(--font-body-small);
    line-height: 1;
    z-index: 5;
}

.post-loop-post-image time:first-child:last-child{
    margin: 0;
}



/* POST LOOP - COURSE */
.post-loop-course{
    display: grid;
    align-items: center;
}

.post-loop-course a{
    display: flex;
    flex-direction: column;
    border-radius: 2.4rem;
}

.post-loop-course-image{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
}

.post-loop-course-image .post-loop-image{
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    position: relative;
}

.post-loop-course-image .post-loop-image[data-image-overlay="1"]::after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 2.4rem;
    background-color: var(--background-color);
    mix-blend-mode: multiply;
    transition: all 0.3s ease;
}

.post-loop-course a:is(:hover, :focus, :active) .post-loop-image[data-image-overlay="1"]::after{
    opacity: 0;
}

.post-loop-course-image .post-loop-image img{
    border-radius: 2.4rem;
    aspect-ratio: 1.28;
    object-fit: cover;
}

.post-loop-course-image .post-loop-image[data-image-orientation="portrait"] img{
    aspect-ratio: 0.87;
}

.post-loop-course-image .post-loop-image[data-image-overlay="1"] img{
    filter: saturate(0);
    transition: all 0.3s ease;
}

.post-loop-course a:is(:hover, :focus, :active) .post-loop-image[data-image-overlay="1"] img{
    filter: saturate(1);
}

.post-loop-course-registration{
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    justify-self: start;
    background-color: var(--color-white);
    color: var(--color-teal);
    margin: 1.6rem;
    border-radius: 4rem;
    padding: 0.5rem 1rem;
    font: var(--font-body-small);
    line-height: 1;
    z-index: 5;
    text-transform: uppercase;
}

.post-loop-course-info{
    padding: 1.6rem;
}

.post-loop-course h3{
    font: var(--font-headline-6);
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 0.1rem solid;
}

.post-loop-course p{
    font: var(--font-body-small);
    margin-bottom: 0;
}

.post-loop-course{
    border-radius: 2.4rem;
    overflow: hidden;
}

.post-loop-course-terms{
    margin-top: 3rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 0.8rem;
    row-gap: 0.8rem;
}

.post-loop-course-terms-item{
    cursor: pointer;
    margin: 0;
    transition: all 0.3s ease;
    font: var(--font-body-small);
    border-width: var(--secondary-button-border-width);
    border-style: var(--secondary-button-border-style);
    border-radius: var(--secondary-button-border-radius);
    padding: 0.2rem 0.5rem;
    position: relative;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    display: flex;
    width: min-content;
    max-width: 100%;
    border-color: var(--secondary-button-border-color);
    background-color: var(--secondary-button-background-color);
    color: var(--secondary-button-text-color);
    line-height: 1;
}

.post-loop-course-terms-item-icon{
    width: 1em;
    max-height: 1em;
    margin-right: 0.5em;
}

.post-loop-course-terms-item-icon :is(img, svg){
    width: 100%;
    height: auto;
    max-height: 1em;
}


/* POST LOOP TESTIMONIAL */
.post-loop-testimonial{
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    column-gap: var(--column-gap);
    row-gap: var(--row-gap);
}

.post-loop-testimonial-image img{
    border-radius: 4rem;
    aspect-ratio: 1;
    object-fit: cover;
    object-position: center top;
}

.post-loop-testimonial-main h2{
    font: var(--font-headline-6);
    margin: 0;
}

.post-loop-testimonial-main h3{
    font: var(--font-body);
    font-style: italic;
    letter-spacing: var(--primary-letter-spacing);
    margin: 0;
}

.post-loop-testimonial-rating{
    display: flex;
    margin: 3.2rem 0;
    column-gap: 0.4rem;
    color: var(--color-orange);
}

[data-color-scheme|="dark"] .post-loop-testimonial-rating{
    color: var(--color-white);
}

[data-color-scheme$="-orange"] .post-loop-testimonial-rating{
    color: var(--color-white);
}

.post-loop-testimonial-rating svg{
    width: 1.9rem;
    height: auto;
}

.post-loop-testimonial-main p{
    font: var(--font-elevated-0);
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px){
    .post-loop-testimonial:nth-child(odd){
        grid-template-columns: 25rem minmax(0, 1fr);
    }

    .post-loop-testimonial:nth-child(even){
        grid-template-columns: minmax(0, 1fr) 25rem;
    }

    .post-loop-testimonial:nth-child(odd) .post-loop-testimonial-image,
    .post-loop-testimonial:nth-child(even) .post-loop-testimonial-main{
        order: 1;
    }

    .post-loop-testimonial:nth-child(even) .post-loop-testimonial-image,
    .post-loop-testimonial:nth-child(odd) .post-loop-testimonial-main{
        order: 2;
    }

    .post-loop-testimonial-main:first-child:last-child{
        grid-column: span 2;
    }
}

@media (min-width: 992px){
    .post-loop-testimonial:nth-child(odd){
        grid-template-columns: minmax(0, 2.9fr) minmax(0, 7.1fr);
    }

    .post-loop-testimonial:nth-child(even){
        grid-template-columns: minmax(0, 7.1fr) minmax(0, 2.9fr);
    }
}


/* MEMBER ACCESS */
.members-access-error{
    padding: calc(var(--header-height) + var(--block-margin)) 0 var(--block-margin);
    font: var(--font-elevated-1);
}

.members-access-error :is(h1, h2, h3, h4, h5, h6){
    text-transform: uppercase;
}


/* PAGE NOT FOUND */
.page-not-found{
    margin: calc(var(--header-height) + var(--block-margin)) 0 var(--block-margin);
}

.page-not-found h1{
    text-transform: uppercase;
}


/* WOOCOMMERCE */
.woocommerce-wrapper-inner{
    max-width: var(--wide-width);
    margin: 0 auto;
    padding-top: var(--block-margin);
    padding-bottom: var(--block-margin);
}

.woocommerce-wrapper-inner:first-child{
    padding-top: calc(var(--header-height) + var(--row-gap));
}

.woocommerce-error, 
.woocommerce-info, 
.woocommerce-message{
    border: 0.1rem solid;
    padding: 1.6rem;
    border-radius: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 0.4rem;
    color: var(--text-color);
    background-color: var(--background-color);
}

.woocommerce-error::before, 
.woocommerce-info::before, 
.woocommerce-message::before,
.woocommerce-error::after, 
.woocommerce-info::after, 
.woocommerce-message::after{
    display: none;
}

:is(.woocommerce-error, .woocommerce-info, .woocommerce-message) .button{
    margin: 0;
    border: none;
    background: transparent;
    appearance: none;
    display: inline-block;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    color: inherit;
    text-decoration: none;
    border-width: var(--primary-button-border-width);
    border-style: var(--primary-button-border-style);
    border-radius: var(--primary-button-border-radius);
    padding: var(--primary-button-padding);
    border-color: var(--primary-button-border-color);
    background-color: var(--primary-button-background-color);
    color: var(--primary-button-text-color);
    box-shadow: var(--primary-button-box-shadow);
}

:is(.woocommerce-error, .woocommerce-info, .woocommerce-message) .button:is(:hover, :focus, :active){
    border-color: var(--primary-button-hover-border-color);
    background-color: var(--primary-button-hover-background-color);
    color: var(--primary-button-hover-text-color);
    box-shadow: var(--primary-button-hover-box-shadow);    
}


/* WOOCOMMERCE - ARCHIVE PAGE */
.woocommerce .woocommerce-ordering{
    float: left;
    margin-bottom: var(--item-row-gap);
}

.woocommerce ul.products{
    display: grid;
    column-gap: var(--item-column-gap);
    row-gap: var(--row-gap);
}

.woocommerce ul.products::before,
.woocommerce ul.products::after{
    display: none;
}

.woocommerce ul.products li.product{
    --background-color: var(--color-orange);
    --hover-link-color: var(--dark-background-hover-link-color);

    border-radius: 2.4rem;
    overflow: hidden;
    background: var(--background-color);
    color: var(--dark-background-text-color);
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
}

.woocommerce ul.products:is(.columns-2, .columns-3, .columns-4) li.product{
    width: 100%;
}

.woocommerce ul.products li.product a{
    display: block;
    position: relative;
    z-index: 1;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link:is(:hover, :focus, :active){
    color: var(--dark-background-text-color);
}

/*.woocommerce ul.products li.product a.woocommerce-loop-product__link::before{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 2.4rem;
    background-color: var(--background-color);
    mix-blend-mode: multiply;
    transition: all 0.3s ease;
    z-index: 1;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link:is(:hover, :focus, :active)::before{
    opacity: 0;
}*/

.woocommerce ul.products li.product a img{
    display: block;
    border-radius: 2.4rem;
    margin: 0;
    /*filter: saturate(0);*/
    aspect-ratio: 1;
    width: 100%;
}

/*.woocommerce ul.products li.product a:is(:hover, :focus, :active) img{
    filter: saturate(1);
}*/

.woocommerce ul.products li.product .onsale{
    margin: 1.6rem;
    top: 0;
    left: 0;
    right: auto;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
    font: var(--font-headline-6);
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 0.1rem solid;
    margin-left: 1.6rem;
    margin-right: 1.6rem;
}

.woocommerce ul.products li.product .star-rating {
    margin: 0 1.6rem 1.6rem;
}

.woocommerce ul.products li.product .price {
    font: var(--font-body);
    margin: 0 1.6rem 1.6rem;
}

.woocommerce ul.products li.product .price ins{
    text-decoration: none;
}

.woocommerce ul.products li.product .button{
    margin: auto auto 1.6rem;
    border: none;
    background: transparent;
    appearance: none;
    display: block;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    color: inherit;
    text-decoration: none;
    border-width: var(--secondary-button-border-width);
    border-style: var(--secondary-button-border-style);
    border-radius: var(--secondary-button-border-radius);
    padding: var(--secondary-button-padding);
    border-color: var(--secondary-button-border-color);
    background-color: var(--secondary-button-background-color);
    color: var(--secondary-button-text-color);
    box-shadow: var(--secondary-button-box-shadow);
}

.woocommerce ul.products li.product .button:is(:hover, :focus, :active){
    border-color: var(--secondary-button-hover-border-color);
    background-color: var(--secondary-button-hover-background-color);
    color: var(--secondary-button-hover-text-color);
    box-shadow: var(--secondary-button-hover-box-shadow);    
}


@media (min-width: 768px){
    .woocommerce ul.products:is(.columns-2, .columns-3, .columns-4){
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px){
    .woocommerce ul.products.columns-3{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1200px){
    .woocommerce ul.products.columns-4{
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}



/* WOOCOMMERCE - PRODUCT PAGE */
.woocommerce .woocommerce-product-summary-wrapper::after{
    content: '';
    display: block;
    clear: both;
}

.woocommerce span.onsale{
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    justify-self: start;
    background-color: var(--color-white);
    color: var(--color-teal);
    top: 0;
    left: 0;
    min-width: unset;
    min-height: unset;
    margin: 1.6rem;
    border-radius: 4rem;
    padding: 0.5rem 1rem;
    font: var(--font-body-small);
    line-height: 1;
    pointer-events: none;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image--placeholder{
    border: none;
}

.woocommerce div.product div.images img{
    border-radius: 2.8rem;
}

.woocommerce div.product div.images .flex-control-thumbs{
    margin-top: var(--item-row-gap);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 0.8rem;
    row-gap: 0.8rem;
}

.woocommerce div.product div.images .flex-control-thumbs li{
    width: 100%;
}

.woocommerce div.product .product_title{
    text-transform: uppercase;
    font: var(--font-headline-0);
}

.woocommerce div.product .summary p.price{
    text-transform: uppercase;
    font-size: 2.4rem;
    padding-bottom: 2.4rem;
    margin-bottom: 2.4rem;
    border-bottom: 0.1rem solid;
}

.woocommerce div.product p.price ins, 
.woocommerce div.product span.price ins{
    text-decoration: none;
}

.woocommerce-product-details__short-description{
    max-width: 38.5rem;
}

.woocommerce div.product .product_meta > span{
    display: block;
    opacity: 0.75;
    font: var(--font-body-small);
}

.woocommerce div.product p.stock{
    font: var(--font-body-small);
}

.woocommerce div.product form.cart.variations_form{
    margin-top: var(--row-gap);
}

.woocommerce div.product form.cart .variations{
    margin-bottom: var(--row-gap);
}

.woocommerce div.product form.cart .variations label{
    font: var(--font-headline-8);
    text-transform: uppercase;
}

.woocommerce .cart .button, 
.woocommerce .cart input.button{
    margin: 0;
    border: none;
    background: transparent;
    appearance: none;
    display: inline-block;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    color: inherit;
    text-decoration: none;
    border-width: var(--primary-button-border-width);
    border-style: var(--primary-button-border-style);
    border-radius: var(--primary-button-border-radius);
    padding: var(--primary-button-padding);
    border-color: var(--primary-button-border-color);
    background-color: var(--primary-button-background-color);
    color: var(--primary-button-text-color);
    box-shadow: var(--primary-button-box-shadow);
}

.woocommerce .cart .button:is(:hover, :focus, :active), 
.woocommerce .cart input.button:is(:hover, :focus, :active){
    border-color: var(--primary-button-hover-border-color);
    background-color: var(--primary-button-hover-background-color);
    color: var(--primary-button-hover-text-color);
    box-shadow: var(--primary-button-hover-box-shadow);    
}

.woocommerce .cart .qty-label{
    font: var(--font-headline-8);
    text-transform: uppercase;
}

.woocommerce .cart input.qty:is([type="number"], [type="text"]){
    text-align: left;
    padding-left: 0.5em;
}

.woocommerce div.product .woocommerce-tabs{
    margin-top: var(--block-margin);
}

.woocommerce div.product .woocommerce-tabs ul.tabs{
    padding: 0;
    margin: 0 0 var(--row-gap);
    display: flex;
    overflow: auto;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before{
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{
    border: none;
    background: transparent;
    color: inherit;
    padding: 0;
    flex: 1;
    margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
    background: transparent;
    color: inherit;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a{
    border: 0.1rem solid var(--secondary-button-border-color);
    background-color: var(--secondary-button-background-color);
    color: var(--secondary-button-text-color);
    border-radius: 4rem;
    margin: 0;
    padding: 0.8rem 2rem;
    font: var(--font-headline-6);
    letter-spacing: var(--secondary-letter-spacing);
    text-transform: uppercase;
    text-align: center;
    white-space: nowrap;
    display: block;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:is(:hover, :focus, :active){
    border-color: var(--secondary-button-hover-border-color);
    background-color: var(--secondary-button-hover-background-color);
    color: var(--secondary-button-hover-text-color);
}

.woocommerce div.product .woocommerce-tabs .panel{
    margin: 0;
}

.woocommerce div.product .woocommerce-tabs .panel > h2:first-child,
.woocommerce .woocommerce-Reviews-title{
    text-transform: uppercase;
}

.comment-form{
    max-width: 80rem;
}

.comment-form label{
    display: block;
    font: var(--font-headline-8);
    letter-spacing: var(--secondary-letter-spacing);
    text-transform: uppercase;
}

.woocommerce #review_form #respond p{
    margin-bottom: 1.6rem;
}

.woocommerce #review_form #respond p.stars {
    margin-bottom: 2rem;
}

.comment-form-author input,
.comment-form-email input{
    width: 100%;
}

.comment-form-cookies-consent label{
    display: inline;
    font: var(--font-body);
    letter-spacing: var(--primary-letter-spacing);
    text-transform: none;
}

.comment-form #submit{
    margin: 0;
    border: none;
    background: transparent;
    appearance: none;
    display: inline-block;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    color: inherit;
    text-decoration: none;
    border-width: var(--primary-button-border-width);
    border-style: var(--primary-button-border-style);
    border-radius: var(--primary-button-border-radius);
    padding: var(--primary-button-padding);
    border-color: var(--primary-button-border-color);
    background-color: var(--primary-button-background-color);
    color: var(--primary-button-text-color);
    box-shadow: var(--primary-button-box-shadow);
}

.comment-form #submit:is(:hover, :focus, :active){
    border-color: var(--primary-button-hover-border-color);
    background-color: var(--primary-button-hover-background-color);
    color: var(--primary-button-hover-text-color);
    box-shadow: var(--primary-button-hover-box-shadow);    
}

.commentlist{
    padding-left: 0;
    margin: var(--row-gap) 0;
    max-width: 80rem;
}

.woocommerce #reviews #comments ol.commentlist li{
    margin-bottom: var(--item-row-gap);
}

.woocommerce #reviews #comments ol.commentlist li img.avatar{
    display: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{
    font: var(--font-body-small);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text{
    margin: 0;
    border: 0.1rem solid var(--text-color);
    border-radius: 0.8rem;
}

.comment-reply-title{
    display: block;
    font: var(--font-headline-3);
    letter-spacing: var(--secondary-letter-spacing);
    text-transform: uppercase;
    margin-bottom: calc(0.25em * var(--secondary-line-height));
}

.woocommerce :is(.upsells, .related){
    margin-top: var(--block-margin);
}

.woocommerce :is(.upsells, .related) h2{
    text-transform: uppercase;
    margin-bottom: 1.6rem;
}


/* WOOCOMMERCE - CART */
.blocks-container > .woocommerce{
    max-width: var(--wide-width);
    margin: var(--block-margin) auto;
}

.blocks-container > .woocommerce::after{
    content: '';
    display: block;
    clear: both;
}

.woocommerce table.shop_table{
    border: 0.1rem solid rgba(255,255,255,.3);
    margin: 0 0 var(--row-gap);
    border-radius: 0.8rem;
}

.woocommerce-cart .woocommerce table.shop_table td{
    border-top: 0.1rem solid rgba(255,255,255,.3);
    padding: 1rem 1.6rem;
}

#add_payment_method .cart-collaterals .cart_totals tr td, 
#add_payment_method .cart-collaterals .cart_totals tr th, 
.woocommerce-cart .cart-collaterals .cart_totals tr td, 
.woocommerce-cart .cart-collaterals .cart_totals tr th, 
.woocommerce-checkout .cart-collaterals .cart_totals tr td, 
.woocommerce-checkout .cart-collaterals .cart_totals tr th{
    border-top: 0.1rem solid rgba(255,255,255,.3);
}

.woocommerce a.remove{
    font-family: sans-serif;
    color: var(--secondary-button-text-color) !important;
    border: 0.1rem solid var(--secondary-button-border-color);
    background: var(--secondary-button-background-color);
}

.woocommerce a.remove:is(:hover, :focus, :active){
    color: var(--secondary-button-hover-text-color) !important;
    background: var(--secondary-button-hover-background-color);
    border-color: var(--secondary-button-hover-border-color);
}

#add_payment_method table.cart img, 
.woocommerce-cart table.cart img, 
.woocommerce-checkout table.cart img{
    border-radius: 0.4rem;
}

.woocommerce table.shop_table td.product-name a{
    text-decoration: none;
}

.woocommerce table.shop_table td.product-quantity .qty-label{
    display: none;
}

.woocommerce-cart table.cart td.actions .coupon .input-text{
    border-style: var(--form-input-border-style);
    border-width: var(--form-input-border-width);
    border-radius: var(--form-input-border-radius);
    border-top: none;
    border-left: none;
    border-right: none;
    transition: all 0.3s ease;
    font: var(--font-body);
    padding: 0.5em 1em;
    width: 16rem;
    margin-right: 0.8rem;
}

.woocommerce-cart table.cart td.actions .button,
.shipping-calculator-form .button,
.woocommerce form.checkout_coupon .button{
    border-width: var(--secondary-button-border-width);
    border-style: var(--secondary-button-border-style);
    border-radius: var(--secondary-button-border-radius);
    padding: var(--secondary-button-padding);
    border-color: var(--secondary-button-border-color);
    background-color: var(--secondary-button-background-color);
    color: var(--secondary-button-text-color);
    box-shadow: var(--secondary-button-box-shadow);
    text-align: center;
}

.woocommerce-cart table.cart td.actions .button:is(:hover, :focus, :active),
.shipping-calculator-form .button:is(:hover, :focus, :active),
.woocommerce form.checkout_coupon .button:is(:hover, :focus, :active){
    border-color: var(--secondary-button-hover-border-color);
    background-color: var(--secondary-button-hover-background-color);
    color: var(--secondary-button-hover-text-color);
    box-shadow: var(--secondary-button-hover-box-shadow);
}

.woocommerce-page .cart-collaterals .cart_totals h2{
    text-transform: uppercase;
}

.select2-container--default .select2-selection--single{
    border-style: var(--form-input-border-style);
    border-width: var(--form-input-border-width);
    border-radius: var(--form-input-border-radius);
    border-color: currentColor;
    border-top: none;
    border-left: none;
    border-right: none;
    padding: 0.5em 0;
    transition: all 0.3s ease;
    font: var(--font-body);
    height: auto;
    background: var(--form-input-background-color);
    margin: 0;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
    padding: 0;
    color: var(--form-input-text-color);
    font: var(--font-body);
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
    height: 2.6rem;
    top: 1rem;
    right: 0.1rem;
    width: 2rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b{
    border-color: currentColor transparent transparent transparent;
    border-width: 0.5rem 0.4rem 0 0.4rem;
    margin-left: -0.4rem;
    margin-top: -0.2rem;
}

.select2-dropdown{
    background-color: var(--dark-background-color);
    color: var(--dark-background-text-color);
    border: var(--form-input-border-width) var(--form-input-border-style);
    border-radius: 0;
}

.select2-container--default .select2-search--dropdown .select2-search__field{
    border: var(--form-input-border-width) var(--form-input-border-style) var(--dark-background-form-input-border-color);
    color: var(--dark-background-form-input-text-color);
}

.select2-container--default .select2-search--dropdown .select2-search__field:hover{
    border-color: var(--dark-background-form-input-focus-border-color)!important;
    color: var(--dark-background-form-input-focus-text-color);
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus{
    border-color: var(--dark-background-form-input-focus-border-color);
    color: var(--dark-background-form-input-focus-text-color);
}

.select2-container--default .select2-results__option[aria-selected=true], 
.select2-container--default .select2-results__option[data-selected=true]{
    background-color: var(--color-orange);
    color: var(--color-white);
}

.select2-container--default .select2-results__option--highlighted[aria-selected], 
.select2-container--default .select2-results__option--highlighted[data-selected]{
    background-color: var(--color-red);
    color: var(--color-white);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order, 
.woocommerce-page #payment #place_order{
    margin: 0;
    border: none;
    background: transparent;
    appearance: none;
    display: block;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    color: inherit;
    text-decoration: none;
    border-width: var(--primary-button-border-width);
    border-style: var(--primary-button-border-style);
    border-radius: var(--primary-button-border-radius);
    padding: var(--primary-button-padding);
    border-color: var(--primary-button-border-color);
    background-color: var(--primary-button-background-color);
    color: var(--primary-button-text-color);
    box-shadow: var(--primary-button-box-shadow);
    text-align: center;
    width: 100%;
    font: var(--font-elevated-2);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:is(:hover, :focus, :active),
.woocommerce #payment #place_order:is(:hover, :focus, :active), 
.woocommerce-page #payment #place_order:is(:hover, :focus, :active){
    border-color: var(--primary-button-hover-border-color);
    background-color: var(--primary-button-hover-background-color);
    color: var(--primary-button-hover-text-color);
    box-shadow: var(--primary-button-hover-box-shadow);    
}

form.woocommerce-checkout h3{
    font: var(--font-headline-5);
    text-transform: uppercase;
}

.woocommerce-checkout .woocommerce .col2-set :is(.col-1, .col-2),
.woocommerce-page.woocommerce-checkout  .col2-set :is(.col-1, .col-2){
    width: 100%;
    float: none;
    margin-bottom: var(--row-gap);
}

.woocommerce-checkout .woocommerce .col2-set, 
.woocommerce-page.woocommerce-checkout .col2-set{
    width: 48%;
    float: left;
}

form.woocommerce-checkout h3#ship-to-different-address {
    font: var(--font-elevated-2);
    text-transform: none;
    letter-spacing: var(--primary-letter-spacing);
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
    width: 48%;
    float: right;
}

.woocommerce table.shop_table th{
    padding: 1rem 1.2rem;
}

.woocommerce-checkout-review-order-table .product-quantity{
    font-family: sans-serif;
}

#add_payment_method #payment, 
.woocommerce-cart #payment, 
.woocommerce-checkout #payment{
    background: transparent;
}

@media (max-width: 768px){
    .woocommerce table.shop_table_responsive tr:nth-child(2n) td.product-remove, 
    .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td.product-remove,
    .woocommerce-page table.cart td.actions{
        border-top-color: currentColor;
    }

    .woocommerce-checkout .woocommerce .col2-set, 
    .woocommerce-page.woocommerce-checkout .col2-set,
    .woocommerce .col2-set, 
    .woocommerce-page .col2-set,
    .woocommerce-checkout #order_review_heading, 
    .woocommerce-checkout #order_review{
        width: 100%;
        float: none;
    }
}


/* WOOCOMMERCE - ORDER COMPLETE */
.woocommerce ul.order_details{
    padding-left: 0;
}

.woocommerce ul.order_details li{
    font: var(--font-body-xsmall);
    border-right: 0.1rem dashed currentColor;
}

.woocommerce :is(.woocommerce-customer-details, .woocommerce-order-details, .woocommerce-order-downloads){
    margin-top: var(--row-gap);
}

.woocommerce :is(.woocommerce-customer-details, .woocommerce-order-details, .woocommerce-order-downloads) h2{
    text-transform: uppercase;
    font: var(--font-headline-5);
}

.woocommerce-table--order-details .product-quantity{
    font-family: sans-serif;
}

.woocommerce .woocommerce-customer-details address{
    border: 0.1rem solid rgba(255,255,255,.3);
    padding: 0.6rem 1.2rem;
}

.woocommerce .woocommerce-customer-details :is(.woocommerce-customer-details--email, .woocommerce-customer-details--phone){
    padding-left: 0;
    margin-bottom: 0;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before{
    display: none;
}

@media (max-width: 768px){
    .woocommerce ul.order_details li{
        display: block;
        float: none;
        border-right: none;
        margin-right: 0;
        padding-right: 0;
        margin-bottom: 2em;
        border-bottom: 0.1rem dashed currentColor;
        padding-bottom: 2em;
    }

    .woocommerce ul.order_details li:last-child{
        margin-bottom: 0;
    }
}


/* WOOCOMMERCE - MY ACCOUNT */
.woocommerce-account .woocommerce-MyAccount-navigation{
    width: 100%;
    overflow: auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
    display: flex;
    padding: 0;
    margin: 0 0 var(--row-gap);
    float: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li{
    display: block;
    list-style: none;
    flex: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
    border: 0.1rem solid var(--secondary-button-border-color);
    background-color: var(--secondary-button-background-color);
    color: var(--secondary-button-text-color);
    border-radius: 4rem;
    margin: 0;
    padding: 0.8rem 2rem;
    font: var(--font-headline-6);
    letter-spacing: var(--secondary-letter-spacing);
    text-transform: uppercase;
    text-align: center;
    white-space: nowrap;
    display: block;
    text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:is(:hover, :focus, :active, [aria-current="page"]){
    border-color: var(--secondary-button-hover-border-color);
    background-color: var(--secondary-button-hover-background-color);
    color: var(--secondary-button-hover-text-color);
}

.woocommerce-account .woocommerce-MyAccount-content{
    float: none;
    width: 100%;
}

.woocommerce .woocommerce-Addresses .woocommerce-Address-title a,
.woocommerce table.my_account_orders .button{
    border-width: var(--secondary-button-border-width);
    border-style: var(--secondary-button-border-style);
    border-radius: var(--secondary-button-border-radius);
    padding: var(--secondary-button-padding);
    border-color: var(--secondary-button-border-color);
    background-color: var(--secondary-button-background-color);
    color: var(--secondary-button-text-color);
    box-shadow: var(--secondary-button-box-shadow);
    text-align: center;
    font: var(--font-body);
    text-decoration: none;
}

.woocommerce table.my_account_orders .button{
    font: var(--font-body-small);
}

.woocommerce .woocommerce-Addresses .woocommerce-Address-title a:is(:hover, :focus, :active),
.woocommerce table.my_account_orders .button:is(:hover, :focus, :active){
    border-color: var(--secondary-button-hover-border-color);
    background-color: var(--secondary-button-hover-background-color);
    color: var(--secondary-button-hover-text-color);
    box-shadow: var(--secondary-button-hover-box-shadow);
}

.woocommerce .woocommerce-Addresses{
    width: 100%;
    float: none;
}

.woocommerce .woocommerce-Addresses .woocommerce-Address{
    margin-bottom: var(--block-margin);
    width: 100%;
    float: none;
}

.woocommerce .woocommerce-Addresses .woocommerce-Address-title{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--row-gap);
}

.woocommerce .woocommerce-Addresses .woocommerce-Address-title::before,
.woocommerce .woocommerce-Addresses .woocommerce-Address-title::after{
    display: none;
}

.woocommerce .woocommerce-Addresses h2{
    text-transform: uppercase;
}

.woocommerce #customer_login .button,
.woocommerce .woocommerce-ResetPassword .button,
.woocommerce .woocommerce-EditAccountForm .button,
.woocommerce .woocommerce-address-fields .button{
    border-width: var(--primary-button-border-width);
    border-style: var(--primary-button-border-style);
    border-radius: var(--primary-button-border-radius);
    padding: var(--primary-button-padding);
    border-color: var(--primary-button-border-color);
    background-color: var(--primary-button-background-color);
    color: var(--primary-button-text-color);
    box-shadow: var(--primary-button-box-shadow);
    font: var(--font-body);
}

.woocommerce #customer_login .button:is(:hover, :focus, :active),
.woocommerce .woocommerce-ResetPassword .button:is(:hover, :focus, :active),
.woocommerce .woocommerce-EditAccountForm .button:is(:hover, :focus, :active),
.woocommerce .woocommerce-address-fields .button:is(:hover, :focus, :active){
    border-color: var(--primary-button-hover-border-color);
    background-color: var(--primary-button-hover-background-color);
    color: var(--primary-button-hover-text-color);
    box-shadow: var(--primary-button-hover-box-shadow);    
}

.woocommerce #customer_login h2{
    text-transform: uppercase;
    font: var(--font-headline-5);
}

.woocommerce form .form-row .required{
    color: currentColor;
}

@media (max-width: 768px){
    .woocommerce-account .woocommerce-MyAccount-navigation{
        width: calc(100% + (var(--page-margin) * 2));
        margin: 0 0 0 calc(var(--page-margin) * -1);
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul{
        padding: 0 var(--page-margin);
        width: max-content;
    }
}