/*-----------------------------------------------------------------------------------
	Theme Name: Silver Ring Splint 2-16
	Theme URI: http://www.silverringsplint.com
	Description: A Custom theme built for Silver Ring Splint with WooCommerce integration
	Author: Todd Adams of 61 Pixels with Rhyme and Reason Design
	Author URI: http://www.61pixels.com
	Version: 1.1
	Text Domain: silver-ring-splint
	-----------------------------------------------------------------------------------

	0.	CSS Reset & Clearfix
	1.	Document Setup (body, common classes, typography, structure etc)
	2.	General Form Styles
	3.	Header Styles
	4.  Home Page Styles
		4.1 Home Slideshow
	5.	Blog Index Styles
		5.1 Page Navi styles
	6.	Page and Single Post
	7. Sidebar and Widget Styles

	8. IE Fixes
	9. Print styles - inlined to avoid extra request and page load
	110. Additional Library overwrites and styles

-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/
/*	0.	CSS Reset & Clearfix
/*-----------------------------------------------------------------------------------*/

:root {
    --primary-color: #4473A8;
    --secondary-color: #81bee9;
    --btn-color: #64aade;
    --color-light-blue: #81bde9;
    --color-white: #ffffff;
    --color-dark: #1b1b1b;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    overflow-y: scroll;
}

body {
    background: var(--color-white);
    font-family: 'Quattrocento Sans', sans-serif;
    font-size: 17px;
    line-height: 1.6em;
    color: #1b1b1b;
    position: relative;
    -webkit-font-smoothing: antialiased;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: none;
}

:focus {
    outline: 0;
}

ins {
    text-decoration: none;
}

del {
    text-decoration: line-through;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

article, aside, figure, footer, header, hgroup, nav, section {
    display: block;
}

audio, canvas, video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

audio:not([controls]) {
    display: none;
}

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: black;
    padding: 0.2em 0;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {
    display: inline-block;
}

/* Hide from IE Mac \*/
.clearfix {
    display: block;
}

/* End hide from IE Mac */
.none {
    display: none;
}

/* End Clearfix */
hr {
    display: block;
    height: 1px;
    border-top: 1px solid #ccc;
    margin: 1em 0
}

html, body {
    height: 100%
}

:active, :hover {
    outline: 0;
}


.clear {
    clear: both;
    height: 0;
    overflow: hidden
}

::-webkit-input-placeholder {
    color: #aaa;
}

::-moz-placeholder {
    color: #aaa;
}

/* base standards */
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/*-----------------------------------------------------------------------------------*/
/*	1.	Document Setup (body, Typography, common classes, structure etc)
/*-----------------------------------------------------------------------------------*/
a, a:visited {
    color: var(--primary-color);
    text-decoration: none;
    -webkit-transition: color 0.2s linear;
    -moz-transition: color 0.2s linear;
    -o-transition: color 0.2s linear;
    transition: color 0.2s linear;
}

a:hover {
    color: var(--color-light-blue);
    text-decoration: none;
}

a:focus {
    color: #d0e6f7;
    text-decoration: none;
}

.fluid-width-video-wrapper {
    margin-bottom: 20px;
}

/* what fitvids adds around youtube */
p, ul, ol, dl, dd, blockquote, address, table, fieldset, form {
    margin-bottom: 20px;
    font-weight: normal;
    line-height: 1.4em;
}

p {
}

img {
    vertical-align: top;
    display: block;
    max-width: 100%;
}

div.hr {
    margin-bottom: 20px;
    height: 1px;
    border-top: 1px solid #ccc;
    clear: both;
}

figure {
    margin: 0;
}

/* Reset for strange margins by default on <figure> elements */
address {
    font-style: normal;
}

/* misc */
.hide-text {
    text-indent: -9999px;
}

.last {
    margin-right: 0;
}

.first {
    margin-left: 0;
}

.aligncenter {
    margin: 0 auto;
    display: block;
    text-align: center;
}

.alignright {
    float: right;
    margin: 0 0 10px 25px;
}

.alignleft {
    float: left;
    margin: 0 25px 10px 0;
}

.mtop20 {
    margin-top: 20px !important;
}

.mbot20 {
    margin-bottom: 20px !important;
}

.ptop20 {
    padding-top: 20px !important;
}

.pbot20 {
    padding-bottom: 20px !important;
}

.pad10 {
    padding: 10px;
}

.pad15 {
    padding: 15px;
}

.pad20 {
    padding: 20px;
}

b, strong {
    font-weight: 700;
}

#googlemap img, object, embed, iframe {
    max-width: none;
}

#map_canvas embed {
    max-width: none;
}

#map_canvas img {
    max-width: none;
}

#map_canvas object {
    max-width: 100%;
}

.left {
    float: left;
}

.right {
    float: right;
}

.tleft {
    text-align: left;
}

.tright {
    text-align: right;
}

.tcenter {
    text-align: center;
}

.no-lpad {
    padding-left: 0 !important;
}

.no-shad {
    box-shadow: none !important;
}

.round {
    border-radius: 50%;
}

.roundb {
    border-radius: 50%;
    border: 3px solid #eeeeee;
}

.inbl > * {
    display: inline-block;
}

.full-width {
    width: 100%;
}

.full-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
}

.reversed * {
    color: var(--color-white);
}

.table-cell {
    display: table-cell;
    vertical-align: middle;
}

.bshad {
    -webkit-box-shadow: 0 0 2px 0 rgba(000, 000, 000, .6);
    box-shadow: 0 0 2px 0 rgba(000, 000, 000, .6);
}

.wbreak {
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

/* bar paddings */
.content-bar-xl {
    padding: 80px 0;
}

.content-bar-l {
    padding: 60px 0;
}

.search-results .content-bar-l {
    padding-top: 0;
}

.content-bar {
    padding: 30px 0;
}

.sidebar.content-bar.columns {
    padding: 30px 16px;
}

/* headings */
h1, h2, h3, h4, h5, h6 {
    margin: 0 0 20px 0;
    font-weight: 400;
    line-height: 1.4em;
    font-family: 'Libre Baskerville', serif;
}

h1 {
    font-size: 31px;
    font-weight: normal;
    line-height: 1.2em;
}

h2 {
    font-size: 26px;
}

h3 {
    font-size: 21px;
}

h4 {
    font-size: 19px;
    font-family: 'Quattrocento Sans', sans-serif;
    font-weight: 700;
    margin-bottom: 10px;
}

h5 {
    font-size: 17px;
    font-family: 'Quattrocento Sans', sans-serif;
    font-weight: 700;
    margin-bottom: 10px;
}

h1 + h1, h1 + h2, h1 + h3, h2 + h2, h2 + h3 {
    margin-top: -10px;
}

/* custom fonts */
.libre {
    font-family: 'Libre Baskerville', serif;
}

.quatro {
    font-family: 'Quattrocento Sans', sans-serif;
}

/*  common colors */
.sblue {
    color: var(--primary-color);
}

.sbluebg {
    background-color: var(--primary-color);
}

.slblue {
    color: var(--color-light-blue);
}

.slbluebg {
    background-color: var(--color-light-blue);
}

.sgrey {
    color: #f5f5f5;
}

.sgreybg {
    background-color: #f5f5f5;
}


/* basic buttons */
.pxbutton, .pxbutton:visited {
    display: inline-block;
    background: var(--color-light-blue);
    line-height: 1em;
    font-size: 18px;
    color: var(--color-white);
    padding: 15px 40px 13px 40px;
    position: relative;
    margin-bottom: 20px;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: color 0.2s linear;
    transition: all 0.2s linear;
}

.pxbutton:hover {
    color: var(--color-white);
    background: var(--primary-color);
}

.pxbutton:active {
    color: var(--color-white);
    background: #d0e6f7;
}

.pxbutton.binversed {
    color: var(--primary-color);
    background: var(--color-white);
}

.pxbutton.binversed:hover {
    color: var(--primary-color);
    background: #f5f5f5;
}

.pxbutton.binversed:active {
    color: var(--primary-color);
    background: #eee;
}

.pxbutton.large {
    font-size: 22px;
    padding: 25px 60px 23px 60px;
}

.p-content .pxbutton {
    margin-right: 20px;
    margin-bottom: 0;
}

/*-----------------------------------------------------------------------------------*/
/*	2.	General Form Styles
/*-----------------------------------------------------------------------------------*/
form {
    position: relative;
}

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], select, textarea, .main-content-wrap .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
    border-color: #e0e0e0;
    -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
    border-width: 1px;
    border-style: solid;
    color: #474e57;
    font-size: 16px;
    font-weight: 400;
    padding: 8px 13px;
    /*width: 100%; since gforms use right aligned, lets remove for now */
}

select, body .p-content .gform_wrapper select {
    padding: 8px 10px 6px 10px;
    font-size: 16px;
    font-weight: 400;
}

/* tweak padding to make consistent */
textarea {
    overflow: auto; /* removes scroll from ie */
    vertical-align: top; /* improves readability */
}

/* base hover styles */
input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="email"]:hover, input[type="month"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="time"]:hover, input[type="url"]:hover, input[type="week"]:hover, textarea:hover, select:hover {
    border-color: #e0e0e0;
}

/* base focus styles */
input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, textarea:focus, select:focus {
    border-color: #adadad !important;
    -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(160, 160, 160, 0.7) !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(160, 160, 160, 0.7) !important;
    outline: none !important;
}

input[type="submit"], button {
    -webkit-appearance: none !important;
    border: none !important;
    cursor: pointer;
}

/*-----------------------------------------------------------------------------------*/
/*	3.	Header Styles
/*-----------------------------------------------------------------------------------*/
.site-header {
    padding: 20px 0;
    border-bottom: 1px solid #d7d7d7;
}

.site-header .columns {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
}

.site-logo {
    margin-bottom: 10px;
}

.site-logo img,
.woocommerce-page .site-logo img {
    width: 100%;
    max-width: 265px;
    height: auto;
}

.head-sub-nav .inbl {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.head-sub-nav .inbl .gtranslate {
    margin-right: auto;
    padding-left: 0;
}

.head-sub-nav .inbl .gtranslate .goog-te-gadget-simple {
    border-color: #999;
    padding: 5px;
}

.head-sub-nav ul {
    margin: 0 0 10px 0;
}

.head-sub-nav li {
    padding: 8px 15px
}

.head-sub-nav li.cart-icon {
    padding-right: 0;
}

.head-sub-nav li.cart-icon a {
    font-size: 24px;
    position: relative;
}

.head-sub-nav li.cart-icon a i {
    font-size: 20px;
}

.head-sub-nav li.cart-icon .cart-num {
    color: inherit;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    font-weight: 700;
    display: inline-flex;
    margin-left: 10px;
}

.head-sub-nav a {
    font-size: 16px;
    vertical-align: middle;
    font-weight: 700;
}

.head-sub-nav li.gtranslate a.goog-te-menu-value {
    font-size: 12px;
}

.head-sub-nav li.gtranslate a {
    font-weight: 400;
    font-size: 12px;
}

.head-sub-nav li.gtranslate img {
    display: inline-block !important;
}

/* search */
.head-sub-nav li.gen-search {
    margin: -2px 0 0 0;
    position: relative;
    border: none;
}

.gen-search a {
    font-size: 18px;
}

.mobile-cart {
    display: none;
}


#search-form, #search-form input {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 0.125s linear;
    -moz-transition: all 0.125s linear;
    -o-transition: all 0.125s linear;
    -ms-transition: all 0.125s linear;
    transition: all 0.125s linear;
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    opacity: 0;
    -webkit-transform-origin: 100% 0;
    -moz-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    -o-transform-origin: 100% 0;
    transform-origin: 100% 0;
}

#search-form {
    position: absolute;
    right: 45px;
    top: 3px;
    text-align: left;
    z-index: 99;
    width: 280px;
    margin: 0;
}

.mobile-search #search-form {
    right: auto;
    left: 50px;
}

.relevanssi-live-search-results {
    top: 100% !important;
    right: 0;
    left: auto !important;
    box-sizing: border-box;
    max-height: 400px;
}

/* actual form element */
#search-form input {
    padding: 5px 40px 5px 10px;
    font-family: inherit;
    font-size: 13px;
    color: #333;
    border: none;
    background: var(--color-white);
    width: 100%;
    position: relative;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    height: 34px;
    border: 1px solid var(--color-light-blue);
}

/* relevanssi-live-search-results styles */
.site-header .relevanssi-live-search-results {
    border: 1px solid var(--color-light-blue);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    margin-top: 5px;
    z-index: 9999;
}

.site-header .relevanssi-live-search-result-status {
    padding: 8px 10px;
    background: #f5f9fd;
    font-size: 14px;
    color: var(--color-dark);
    border-bottom: 1px solid #e5eef7;
}

.site-header .relevanssi-live-search-result-status p {
    border-bottom: none;
}

.site-header .relevanssi-live-search-result {
    border-bottom: 1px solid #f0f0f0;
}

.site-header .relevanssi-live-search-result:last-child {
    border-bottom: none;
}

.site-header .relevanssi-live-search-result p {
    padding: 0;
}

.site-header .relevanssi-live-search-result a {
    display: block;
    padding: 12px 10px;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    font-family: 'Quattrocento Sans', sans-serif;
    color: var(--primary-color);
    transition: all 0.2s ease;
}

/* hover */
.site-header .relevanssi-live-search-result a:hover {
    background: #ecf5fc;
    color: #4473A8;
}

.relevanssi-live-search-results::-webkit-scrollbar {
    width: 6px;
}

.relevanssi-live-search-results::-webkit-scrollbar-thumb {
    background: #cfe3f7;
    border-radius: 3px;
}


.ie #search-form, .ie #search-form input {
    display: none;
}

#search-form.active, #search-form.active input {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=100);
    opacity: 1;
}

.ie #search-form.active, .ie #search-form.active input {
    display: block;
}

.gen-search a.active .fa-search:before {
    content: '\f00d';
}


/* 3.1 DESKTOP ONLY NAVIGATION STYLES */
/* lets set some stuff up for rollovers for desktop only */
@media only screen and (min-width: 970px) {
    /* main navigation */
    .home-link {
        font-size: 18px
    }

    .site-logo {
        width: min(25%, 265px);
    }

    .main-nav > * {
        display: inline-block;
    }

    .main-nav {
        margin: 0;
        padding: 0;
        float: none;
        display: block !important;
    }

    /* nav element */
    .main-nav ul {
        margin: 0;
        padding: 0;
        list-style: none;
        font-size: 0;
    }

    .main-nav > ul > li {
        display: inline-block;
        position: relative;
    }

    .main-nav ul > li:first-child {
    }

    .main-nav > ul > li > a {
        color: #1b1b1b;
        font-size: 16px;
        font-weight: 700;
        display: block;
        position: relative;
        padding: 5px 9px 15px 9px;
        -webkit-transition: color 0.2s all;
        -moz-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        transition: all 0.2s linear;
    }

    .main-nav ul > li:last-child a {
        padding-right: 0;
    }

    .main-nav ul.menu > li > a:hover, .main-nav ul.menu > li:hover > a {
        color: #3472a9;
    }

    /* active state */
    .main-nav .menu > li.current-menu-item > a,
    .main-nav .menu > li.current_page_parent > a,
    .main-nav .menu > li.current-page-ancestor > a,
    .main-nav .menu > li.current-menu-parent > a,
    body.single-post .main-nav .menu > li.menu-item-21 > a, /* 21 is the resources main page */
    body.archive.category .main-nav .menu > li.menu-item-21 > a, /* 21 is the resources main page */
    body.archive.tax-product_cat .main-nav .menu > li.menu-item-26 > a { /* splint store main item when on cat */
        font-weight: 700;
        color: #3472a9;
    }

    /* sub menu */
    .main-nav .sub-menu {
        opacity: 0;
        padding: 0;
        text-align: left;
        width: 235px;
        position: absolute;
        top: 20px;
        left: 0;
        z-index: 99999;
        text-transform: none;
        visibility: hidden;
        -webkit-transition: all .25s ease;
        -moz-transition: all .25s ease;
        -ms-transition: all .25s ease;
        -o-transition: all .25s ease;
        transition: all .25s ease;
        box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.25);
        border-top: 4px solid var(--color-light-blue);
        background: var(--color-white);
    }

    /* right-align dropdowns for the right-most items so a left:0 submenu doesn't run off the page */
    .main-nav li:last-child .sub-menu,
    .main-nav > ul > li:nth-last-child(-n+3) .sub-menu,
    .main-nav li.menu-item-21 .sub-menu {
        right: 0;
        left: auto;
    }

    /* lets show the sub nav on hover or touch on mobile  */
    .main-nav .menu > li:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
    }

    /* active states */
    .main-nav .sub-menu > li.current-menu-item > a,
    .main-nav .sub-menu > li.current_page_parent > a,
    .main-nav .sub-menu > li.current-page-ancestor > a
        /*.main-nav .sub-menu>li.current-menu-parent>a */
    {
        font-weight: 700;
    }

    .main-nav .sub-menu li {
        width: auto;
        border-bottom: 1px solid #eceaea;
        display: block;
        margin: 0;
    }

    .main-nav .sub-menu li:first-child {
    }

    .main-nav .sub-menu li:last-child {
        border-bottom: none;
    }

    .main-nav .sub-menu li:last-child a {
    }

    .main-nav .sub-menu li a {
        padding: 10px 18px;
        line-height: 1.2em;
        display: block;
        width: 100%;
        font-size: 16px;
        color: #1b1b1b;
    }

    .main-nav .sub-menu li a:hover {
        color: #3472a9;
    }

    #nav-mobile-togg, .mobile-nav-link {
        display: none;
    }
}

/* 3.2 MOBILE ONLY NAVIGATION STYLES */
@media only screen and (max-width: 969px) {
    .site-header {
        position: relative;
        padding-bottom: 0;
    }

    .site-header .head-right {
        width: 100%;
        float: none;
        text-align: left;
    }

    .site-header .twelve {
        padding: 0;
    }

    .site-logo {
        position: absolute;
        top: -15px;
        margin-bottom: 0;
    }

    .head-sub-nav .inbl {
        min-height: 50px;
    }

    .head-sub-nav {
        float: right;
        text-align: right;
        padding-right: 16px;
    }

    .mobile-wrapper {
        border-top: 1px solid #ccc;
        clear: both;
        padding: 10px 20px;
        margin-top: 20px;
        border-bottom: 9px solid var(--color-light-blue);
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    #nav-mobile-togg {
        display: inline-flex;
        cursor: pointer;
        z-index: 99;
        color: #4e4e4e;
        font-size: 16px;
        font-weight: 700;

    }

    .head-sub-nav, .gen-search:not(.mobile-search) {
        display: none;
    }

    .mobile-cart {
        display: block;
    }

    #nav-mobile-togg i:before {
        position: relative;
        margin-left: 5px;
    }

    #nav-mobile-togg.open {
        border-bottom-width: 2px;
    }

    #nav-mobile-togg.open i:before {
        content: '\f00d';
    }

    .nav-click {
        display: block;
    }

    .main-nav {
        display: none;
        position: relative;
        width: 100%;
        clear: both;
    }

    .main-nav ul.menu {
        background: var(--color-white);
        margin: 0;
        width: 100%;
    }

    .main-nav li {
        display: block;
        float: none;
        padding: 0;
        width: 100%;
        margin: 0;
        position: relative;
        border-bottom: 1px solid #eceaea;
    }

    .main-nav ul > li > a {
        padding: 8px 20px;
        color: #1b1b1b;
        font-size: 16px;
        display: block;
    }

    .main-nav ul > li:first-child {
    }

    .main-nav ul > li > a:hover {
        background: #ecf5fc;
    }

    .main-nav ul.menu > li:hover > a {
        color: #1b1b1b;
    }

    .main-nav li.current-menu-item > a,
    .main-nav li.current_page_parent > a,
    .main-nav li.current-page-ancestor > a,
    .main-nav li.current-menu-parent > a,
    body.single-post .main-nav .menu > li.menu-item-38 > a,
    body.archive .main-nav .menu > li.menu-item-38 > a { /* active state */
        font-weight: 700;
        color: var(--primary-color);
    }

    /* second tier */
    .main-nav li:hover .sub-menu {
        display: none;
        -moz-animation: none;
        -webkit-animation: none;
        animation: none;
    }

    /* dont use hover even on desktop */
    .main-nav .sub-menu {
        display: none;
        padding: 0;
        background: #f2f2f2;
        position: static;
        top: 0;
        left: 0;
        margin: 0;
        width: 100%;
        z-index: 99;
        text-align: left;
        -moz-animation: none;
        -webkit-animation: none;
        animation: none;
    }

    .main-nav .sub-menu.open, .main-nav li:hover .sub-menu.open {
        border-bottom: 1px solid var(--color-white);
    }

    .main-nav .sub-menu li {
        width: auto;
        border-bottom: 1px solid var(--color-white);
        display: block;
        margin: 0;
    }

    .main-nav .sub-menu li:last-child {
        border-bottom: none;
    }

    .main-nav .sub-menu li a {
        padding: 8px 20px;
        font-size: 14px;
        display: block;
        width: 100%;
        color: #3a3a3a;
        border-bottom: none;
    }

    .main-nav .sub-menu li a:hover {
        background-color: #ecf5fc;
    }

    /* sub nav arrows and clickable blocks on mobile */
    .nav-click {
        position: absolute;
        top: 0;
        right: 0;
        width: 41px;
        height: 39px;
        cursor: pointer;
        z-index: 999;
        border-left: 1px solid var(--color-white);
        background: var(--color-light-blue);
    }

    .nav-click.open {
    }

    /* matches submenu background-when open */
    .nav-click i {
        display: block;
        height: 41px;
        width: 39px;
        background: url('images/drop.svg') no-repeat center center;
        background-size: 20px;
    }

    .nav-click:hover {
        background-color: #3a3a3a;
        color: #3472a9;
    }

    .nav-rotate {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    /* alt menus */
    .mobile-nav-link {
        margin-bottom: 0;
        border-bottom: 2px solid var(--color-light-blue);
    }


    .site-logo {
        text-align: center;
        width: 100%;
        position: static;
    }

    .site-logo img {
        margin: 0 auto;
        display: block;
    }

}

@media only screen and (max-width: 1280px) {
    .main-nav ul.menu {
        max-width: 100%;
    }
}

@media only screen and (min-width: 969px) and (max-width: 1280px) {
    .site-header .columns {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/*-----------------------------------------------------------------------------------*/
/*	4.	Home Page Styles
/*-----------------------------------------------------------------------------------*/

/* 3.1 HOME HERO */
.home-hero {
    position: relative;
    width: 100%;
}

.home-hero .hero-content {
    position: absolute;
    top: 30%;
    left: 60px;
    text-align: center;
    color: var(--color-white);
}

.hero-content h1 {
    font-family: 'Libre Baskerville', serif;
    font-size: 31px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.hero-content p {
    font-size: 17px;
}

.home-hero .hero-social {
    position: absolute;
    right: 0;
    top: 10px;
    padding: 10px;
    background: rgba(0, 0, 0, 0.7)
}

.hero-social ul {
    margin: 0;
    padding: 0;
}

.hero-social li {
    margin-bottom: 5px;
}

.hero-social a {
    font-size: 22px;
    width: 1.5em;
    height: 1.5em;
    display: block;
    position: relative;
}

.hero-social a:hover {
    opacity: 0.7;
}

.hero-social .soc-fb {
    background-color: #39579a;
    color: var(--color-white);
}

.hero-social .soc-twit {
    background-color: var(--color-white);
    color: #2ac9ff
}

.hero-social .soc-yt {
    background-color: #e64941;
    color: var(--color-white);
}

.hero-social .soc-inst {
    background-color: #de3869;
    color: var(--color-white);
}

.hero-social i {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/* HOME SPLINT CAROUSEL */
/* FlexSlider Styles, this will also be used on Shop Page see further down in Woo SEction */
.flexslider {
    margin: 0;
    padding: 0;
}

.flexslider ul {
    margin: 0;
}

.flexslider .slides h3 {
    font-weight: 700;
    font-size: 14px;
    margin: 0;
    display: block;
    position: relative;
    padding: 10px 5px 0 5px;
    font-family: 'Quattrocento Sans', sans-serif;
}

.flexslider .slides > li {
    display: none;
    -webkit-backface-visibility: hidden;
    position: relative;
}

.flexslider .slides img {
    display: block;
    -webkit-backface-visibility: hidden;
}

.flexslider .slides:after {
    content: "\0020";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

html[xmlns] .flexslider .slides {
    display: block;
}

* html .flexslider .slides {
    height: 1%;
}

.no-js .flexslider .slides > li:first-child {
    display: block;
}

/* hover effects */
.flexslider .tint-me {
    background: #f5f5f5 !important
}

.hoverlis > li:hover .tint-me {
    background: var(--btn-color) !important;
}

.hoverlis > li:hover a {
    opacity: 0.8;
    color: var(--primary-color);
}

/* direction navs */
.flex-carousel {
    position: relative;
}

.flex-carousel a.car-nav {
    position: absolute;
    top: 50%;
    margin-top: -30px;
    height: 22px;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    display: inline-block;
    color: var(--color-light-blue);
    font-size: 20px;
}

.flex-carousel a.car-nav:hover {
    color: #4e4e4e;
}

.flex-carousel a.car-nav:active {
    color: #4e4e4e;
}

.flex-carousel .flex-next {
    right: -18px;
}

.flex-carousel .flex-prev {
    left: -18px;
}

.flex-carousel .flex-disabled {
    display: none;
}

/* quicklinks block also used in sidebar */
.quick-links {
    background-image: url('images/ql-bg-splint.jpg');
    background-repeat: no-repeat;
    background-position: 100% 100%;
}

.quick-links h3 {
    margin: 0 0 10px 0;
    font-size: 22px;
}

.quick-links ul {
    margin: 0;
}

.home .quick-links {
    padding-bottom: 17px;
}

.quick-links li {
    padding-bottom: 2px;
    line-height: 1.4em;
}

.home .quick-links li {
    padding-bottom: 4px;
}

.quick-links a {
    font-size: 16px;
}

.quick-links a:before {
    font-weight: 400;
    color: #4e4e4e;
    font-family: 'FontAwesome';
    content: '\f054';
    font-size: 13px;
    margin-right: 5px;
}

/* custom query just for this section */
@media only screen and (max-width: 1024px) {
    .home-sel-bar .nine.columns, .home-sel-bar .three.columns { /* makes its full width at 900 less */
        width: 100%;
        float: none;
        display: block;
    }

    /* these were causing horizontal scroll bars, so moved to above items */
    .flex-carousel {
        padding: 0 20px;
    }

    .flex-carousel .flex-next {
        right: 0;
    }

    .flex-carousel .flex-prev {
        left: 0;
    }
}

/* photo info bar */
.ph-info-bar {
    background-image: url('images/hand-measuring-tool2.png');
    background-repeat: no-repeat;
    background-position: 0 30px;
}

@media only screen and (max-width: 1600px) {
    .ph-info-bar {
        background-position: -200px 30px;
    }
}

@media only screen and (max-width: 1200px) {
    .ph-info-bar {
        background-position: -400px 30px;
    }
}

@media only screen and (max-width: 800px) {
    .ph-info-bar {
        background-position: -500px 30px;
    }
}

@media only screen and (max-width: 767px) {
    .ph-info-bar {
        background-position: 0 30px;
        background-size: contain;
        padding-top: 350px !important
    }
}

@media only screen and (max-width: 700px) {
    .ph-info-bar {
        padding-top: 220px !important
    }
}

@media only screen and (max-width: 320px) {
    .ph-info-bar {
        padding-top: 175px !important
    }
}

.ph-info-bar h2 {
    font-size: 33px;
    font-weight: 700;
}

.ph-info-bar p {
    font-size: 18px;
}

/* color bar */
.color-bar * {
    color: var(--color-white);
}

.color-bar h2 {
    font-size: 33px;
}

.color-bar p {
    font-size: 18px
}

/*-----------------------------------------------------------------------------------*/
/*	5.	General Content Styles
/*-----------------------------------------------------------------------------------*/
.open-para {
    font-size: 20px;
}

.small-para {
    font-size: 15px;
}

.p-content p {
    margin-bottom: 1.6em;
}

.p-content ol, .p-content ul {
    margin: 0 0 1.6em 30px;
}

.p-content ul ul, .p-content ol ol, .p-content ol ul, .p-content ul ol {
    margin-bottom: 0;
}

.p-content ul {
    list-style-type: disc;
}

.p-content li {
    padding-left: 10px;
}

.p-content li {
    background: none;
    padding: 0;
}

.p-content ol {
    list-style-type: decimal;
}

.p-content blockquote {
    font-style: italic;
    position: relative;
    overflow: hidden;
    margin: 0 0 1.6em 20px;
    font-size: 18px;
    line-height: 1.6em;
    padding: 10px 40px 10px 20px;
    border-left: 4px solid var(--color-light-blue);
}

.p-content blockquote p {
    margin: 0;
}

.p-content table {
    width: 100%;
}

.p-content td {
    padding: 10px;
}

.p-content td.vertme {
    vertical-align: middle;
}

/* image captions */
.wp-caption {
    text-align: center;
    margin: 10px 20px 20px 20px;
    padding: 5px;
    background: var(--color-white);
    -webkit-box-shadow: 0px 0px 5px 0px rgba(000, 000, 000, .4);
    box-shadow: 0px 0px 5px 0px rgba(000, 000, 000, .4);
    max-width: 100%;
}

.wp-caption.alignnone {
    margin: 10px 0 20px 0;
}

.wp-caption.aligncenter {
    margin: 10px auto 20px auto;
}

.wp-caption.alignright {
    margin-right: 0;
}

.wp-caption.alignleft {
    margin-left: 0;
}

.wp-caption img {
    margin: 0 auto;
    padding: 0 !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.wp-caption-text {
    margin: 0;
    padding: 10px 0 5px 0;
    font-size: 11px;
    line-height: 1.5em;
    text-align: center;
    font-style: normal;
    color: #6e6e6e;
}

/*-----------------------------------------------------------------------------------*/
/*	6.	Pages and CUstom Page Templates
/*-----------------------------------------------------------------------------------*/

.hero-area.int-hero {
    padding: 120px 0;
    background-size: cover;
    background-position: 50% 50%;
}

.hero-area img {
    width: 100%;
}

.two-column-page article.p-content {
}

.two-column-page.left-column .main-content-wrap > .row {
    background: url('images/left-two-column-bg.png') repeat-y 0 0;
    background-size: contain;
}

/* our team */
.team-member {
}

.feat-member {
    margin-bottom: 20px;
}

.feat-member h2 {
    font-size: 23px;
    font-family: 'Quattrocento Sans', sans-serif;
    font-weight: 700;
    line-height: 1.1em;
}

.feat-member .member-pos {
    font-size: 20px;
}

.feat-member .mem-content {
    padding: 30px 15px 0 16px;
}

.feat-member .mem-content p {
    font-size: 17px;
}

.team-members {
}

.team-members ul {
    list-style: none;
}

.team-members li {
    margin-bottom: 16px;
}

.team-members .mem-content {
    background-color: #f5f5f5;
    padding: 15px;
}

.mem-content h3 {
    font-family: 'Quattrocento Sans', sans-serif;
    text-transform: uppercase;
    font-size: 18px;
    margin: 0 0 10px 0;
    font-weight: 700;
    line-height: 1.1em;
}

.mem-content .member-pos {
    font-size: 16px;
    text-transform: none;
    font-weight: 400;
}

.team-members .mem-content p {
    margin: 0;
    font-size: 16px;
    line-height: 1.3em;
}


/* testimonials */
.testimonial {
    margin-bottom: 10px
}

.testimonial p {
    margin-bottom: 20px;
}

.feat-testi {
    text-align: center;
}

.feat-testi p {
    font-family: 'Libre Baskerville', georgia;
    color: var(--color-white);
    font-size: 25px;
    font-style: italic;
}

.testi-content span {
    font-size: 17px;
    text-transform: uppercase;
    color: var(--primary-color);
    font-weight: 700;
}

.testi-content {
    padding: 20px;
}

.feat-testi .testi-content {
    padding-left: 0;
}

.testright {
    float: right;
}

/* FAQs Pages */
.faq-block ul {
    margin: 0 !important;
    padding: 0;
    list-style: none !important;
}

.faq-block ul li {
    width: 100%;
    margin-bottom: 10px;
}

p.faq-title {
    font-weight: bold;
    cursor: pointer;
    margin: 0;
    color: var(--primary-color);
}

p.faq-title:hover {
    color: var(--color-light-blue);
}

p.faq-title.open {
    font-weight: 600;
}

.faqs-hide {
    display: none;
}

.faqs-hide p:last-child {
    margin-bottom: 10px;
}

@media only screen and (min-width: 1100px) {
    .faqs-hide {
        padding-left: 22px;
    }
}

/* Problems Addressed */
.prob-list {
    margin-bottom: 30px;
}

.prob-list h2 {
    font-family: 'Quattrocento Sans', sans-serif;
    font-size: 22px;
    margin: 0;
    text-transform: uppercase;
}

.prob-list p {
    margin: 0 0 5px 0;
}

/* detail pages */
.solutions-wrap {
    margin-top: 30px;
}

.prob-solutions {
    padding: 24px 0
}

.prob-odd {
    background-color: #d0e6f7;
}

.prob-even {
    background-color: #b2d7f3;
}

.prob-solutions h2 {
    font-family: 'Quattrocento Sans', sans-serif;
    font-size: 22px;
    font-weight: bold;
    margin: 0 0 5px 0;
}

.prob-solutions img {
    margin-bottom: 10px;
}

.prob-solutions i {
    font-size: 14px;
    color: var(--primary-color);
    line-height: 16px;
    display: block;
    font-weight: 700;
}

/* measuring instructions */
ul.file-list {
    list-style: none;
    padding: 0;
    margin: -10px 0 40px 0;
}

ul.file-list li {
    padding-bottom: 15px;
    padding-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 20px;
}

ul.file-list li img {
    margin-bottom: 0;
    width: 80px;
}

ul.file-list li a {
    font-size: 20px;
}

ul.instruction-list {
    margin: 0;
}

.meas-instructions .instruction-list li {
    text-align: left;
}

.cat-grid h3 {
    font-family: 'Quattrocento Sans', sans-serif;
    font-weight: 700;
    font-size: 18px;
    margin: 0 0 5px 0;
    text-transform: uppercase;
}

.meas-instructions p {
    margin: 0 0 5px 0;
    line-height: 1.2em;
}

.meas-instructions ul li a {
    font-size: 16px;
}

/* downloads */
.download-block {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e5e5;
}

.download-block h2 {
}

.download-block li {
    line-height: 1.2em;
    text-align: center;
}

.download-block img {
    margin-bottom: 10px;
    display: inline-block;
}

.download-block span {
    display: block;
}

/* videos */
.vid-grid .js-lazyYT {
    margin-bottom: 5px;
}

.vid-grid h4 {
    font-size: 17px;
    margin-bottom: 0;
}


/* contact */
.hero-heading {
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 3px;
}

.hero-heading h1 {
    margin: 0;
}

.contact-page-info {
    border-top: 1px solid #e5e5e5;
}

.contact-page-info img {
    padding-top: 30px;
}

.contact-page-info h3 {
    margin: 0 0 3px 0;
}

.cn-sub {
    font-size: 15px;
}

/*-----------------------------------------------------------------------------------*/
/*	5. All Shop/WooCommerce Styles
/*-----------------------------------------------------------------------------------*/
/* shop landing page */
ul.products li.product a {
    display: block;
    position: relative;
}

/* original, 3.0 changed to h2 */
ul.products li.product a h3 {
    font-weight: 700;
    font-size: 14px !important;
    display: block;
    position: relative;
    padding: 10px 5px 10px 5px;
    font-family: 'Quattrocento Sans', sans-serif;
}

/* new one for 3.0 */
.woocommerce ul.products li.product a h2,
.woocommerce ul.products li.product a .woocommerce-loop-product__title {
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    display: block;
    position: relative;
    padding: 10px 5px;
    font-family: 'Quattrocento Sans', sans-serif;
}

.woocommerce ul.products li.product {
    -webkit-backface-visibility: hidden;
    position: relative;
}

.woocommerce ul.products li.product a img {
    display: block;
    position: relative;
    margin: 0 !important;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: color 0.2s linear;
    transition: all 0.2s linear;
    -webkit-backface-visibility: hidden;
}

ul.products li.product .tint-me {
    background-color: var(--color-white); /** changed this from blue by default as at some sizes 1px of blue was peaking out */
}

ul.products > li.product:hover .tint-me {
    background-color: var(--btn-color); /* added this on hover to make blue */
}

ul.products > li.product:hover .tint-me img {
    opacity: 0.8;
}

ul.products > li.product:hover a { /* fades the image/text */
    color: var(--primary-color);
}

.woocommerce .shop-land ul.products li.product,
.shop-land .woocommerce-page ul.products li.product {
    margin-bottom: 30px;
}

.woocommerce .shop-land ul.products li.product:nth-of-type(4n),
.shop-land .woocommerce-page ul.products li.product:nth-of-type(4n) { /* 4th item */
    margin-right: 0;
}

/* this was added to be similar to block grids to make sure 5th item clears if one has 2 lines of text etc */
.woocommerce .shop-land ul.products li:nth-child(4n+1),
.shop-land .woocommerce-page ul.products li:nth-child(4n+1) {
    clear: both;
}

/* lets add code for the NEW flag */
.prod-flag {
    color: var(--color-white);
    background: #43a79a;
    text-transform: uppercase;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    position: absolute;
    z-index: 5;
    top: 10px;
    left: 10px;
    font-size: 14px;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.prod-flag b {
    padding-top: 2px;
}

.is-sale .prod-flag {
    top: 75px;
}

.woocommerce .shop-land .woocommerce-result-count, .woocommerce .shop-land .woocommerce-ordering {
    /*display: none;*/
}

/* shop single */
.woocommerce .shop-single #content div.product div.images, .woocommerce .shop-single div.product div.images, .woocommerce-page .shop-single #content div.product div.images, .woocommerce-page .shop-single div.product div.images {
    float: none;
    width: auto;
}

.woocommerce .shop-single #content div.product div.summary, .woocommerce .shop-single div.product div.summary, .woocommerce-page .shop-single #content div.product div.summary, .woocommerce-page .shop-single div.product div.summary {
    float: none;
    width: auto;
}

/* tweak heading and price */
.woocommerce .shop-single div.product .product_title {
    margin: 0 0 5px 0;
}

.woocommerce .shop-single div.product p.price, .woocommerce .shop-single div.product span.price {
    color: #1b1b1b;
    font-weight: 700;
    font-size: 23px;
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
}

.woocommerce .shop-single div.product p.price ins, .woocommerce .shop-single div.product span.price ins {
    order: -1;
    text-decoration: none;
    color: #2b8b7f;
}

/* Keep +$ and the number on the same line */
.nice-select .wpo-price-container {
    display: inline !important;
    flex-wrap: nowrap !important; /* Prevents splitting into two lines */
    align-items: baseline;
    font-size: inherit !important;
    margin: 0 !important;
}

.woocommerce .shop-single .nice-select .wpo-price-container .wpo-currency,
.woocommerce .shop-single .nice-select .wpo-price-container .wpo-price {
    display: inline !important; /* Prevents block-level line breaks */
    margin: 0;
}

.woocommerce .shop-single div.product p.price del, .woocommerce .shop-single div.product span.price del, .woocommerce .shop-single div.product p.price del span {
    font-size: 14px;
    color: #000;
    font-weight: normal;
    opacity: 1;
    line-height: 1em;
    text-decoration: none;
    border: none !important;
}

.woocommerce .shop-single div.product p.price del span {
    text-decoration: line-through;
}

/* tweak photo area and custom text */
.prod-measure-info {
    margin-top: 10px;
}

.prod-measure-info p {
    font-size: 15px;
    line-height: 19px;
}

.woocommerce .shop-single div.product div.images, .woocommerce div.product div.summary {
    margin-bottom: 0;
}

/* tweak prettyphoto */
.pp_pic_holder.pp_woocommerce div.ppt {
    display: none !important;
}

/* turning off the alt text title*/

/* enter new gallery stuff here */
.woocommerce div.product div.images .flex-control-thumbs {
    padding-top: 1em !important;
}

.woocommerce div.product div.images .px-thumb-carousel .flex-control-thumbs {
    padding-top: 0 !important;
}

/* pads top of thumbs from main photo */
.woocommerce div.product div.woocommerce-product-gallery--columns-3.images .flex-control-thumbs li {
    width: 30.75%;
    margin: 0 3.8% 3.8% 0;
}

/* for 3 columns let's change width to 33% */
.woocommerce div.product div.woocommerce-product-gallery--columns-3.images .flex-control-thumbs li:nth-child(3n) {
    margin-right: 0;
}

/* remove padding from first item in row */


/* lets tweak buttons */
.button {
    padding: 1em 2em;
    background: #f5f5f5;
}

.button.button-primary, .button-primary {
    background: var(--primary-color);
    color: #fff;
}

.button.button-primary:hover, .button-primary:hover {
    background: var(--btn-color);
    color: #fff;
}
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce input.button,
.woocommerce a.button {
    background-color: var(--btn-color) !important;
    border-radius: 0 !important;
    font-weight: normal !important;
    color: var(--color-white) !important;
    transition: background-color 0.4s ease;
}

.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button:hover, .woocommerce a.button:hover {
    background-color: var(--primary-color) !important;
    color: var(--color-white) !important;
}

body.woocommerce-cart .woocommerce #respond input#submit.alt,
body.woocommerce-cart .woocommerce a.button.alt,
body.woocommerce-cart .woocommerce button.button.alt,
body.woocommerce-cart .woocommerce input.button.alt,
body.woocommerce-cart .woocommerce input.button,
body.woocommerce-cart .woocommerce a.button {
    background-color: var(--primary-color) !important;
    border: 0 !important;
    color: var(--color-white) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px !important;
    line-height: 1em !important;
    min-height: 42px;
    padding: 12px 28px 11px !important;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.2s linear;
}

body.woocommerce-cart .woocommerce #respond input#submit.alt:hover,
body.woocommerce-cart .woocommerce a.button.alt:hover,
body.woocommerce-cart .woocommerce button.button.alt:hover,
body.woocommerce-cart .woocommerce input.button:hover,
body.woocommerce-cart .woocommerce a.button:hover,
body.woocommerce-cart .woocommerce #respond input#submit.alt:focus,
body.woocommerce-cart .woocommerce a.button.alt:focus,
body.woocommerce-cart .woocommerce button.button.alt:focus,
body.woocommerce-cart .woocommerce input.button:focus,
body.woocommerce-cart .woocommerce a.button:focus {
    background-color: #2f5f92 !important;
    color: var(--color-white) !important;
}

body.woocommerce-cart .woocommerce #respond input#submit.alt:focus,
body.woocommerce-cart .woocommerce a.button.alt:focus,
body.woocommerce-cart .woocommerce button.button.alt:focus,
body.woocommerce-cart .woocommerce input.button:focus,
body.woocommerce-cart .woocommerce a.button:focus {
    outline: 2px solid #1f466d;
    outline-offset: 2px;
}

.cart_totals h2 {
    text-align: center;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex;
    font-size: 20px !important;
    min-height: 44px;
    text-transform: uppercase;
    width: 100%;
}

.woocommerce a.button,
.woocommerce button.button {
    font-family: inherit;
    border-radius: 0 !important;
    font-weight: 400 !important;
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
    align-items: center;
    background: #f7fbfd;
    border: 1px solid #c9dfeb;
    border-left: 6px solid var(--primary-color);
    border-radius: 8px;
    box-shadow: none;
    color: #22313f;
    display: flex;
    flex-wrap: wrap;
    font-size: 15px;
    gap: 10px 14px;
    line-height: 1.45;
    margin: 0 0 24px;
    padding: 16px 18px 16px 52px;
}

.woocommerce .woocommerce-error {
    background: #fff6f4;
    border-color: #efd0c8;
    border-left-color: #c94f3d;
}

.woocommerce .woocommerce-info {
    background: #f4f9ff;
    border-color: #c9dced;
    border-left-color: #4473A8;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
    color: var(--primary-color);
    left: 20px;
    top: 18px;
}

.woocommerce .woocommerce-error::before {
    color: #c94f3d;
}

.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button {
    margin-left: auto;
}

.woocommerce .woocommerce-message a:not(.button),
.woocommerce .woocommerce-info a:not(.button),
.woocommerce .woocommerce-error a:not(.button) {
    color: #235a8c;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button,
.woocommerce .woocommerce-error a.button {
    background-color: var(--primary-color) !important;
    color: var(--color-white) !important;
    font-size: 15px !important;
    min-height: 38px;
    padding: 10px 22px 9px !important;
}

.woocommerce .woocommerce-message a.button:hover,
.woocommerce .woocommerce-info a.button:hover,
.woocommerce .woocommerce-error a.button:hover,
.woocommerce .woocommerce-message a.button:focus,
.woocommerce .woocommerce-info a.button:focus,
.woocommerce .woocommerce-error a.button:focus {
    background-color: #2f5f92 !important;
    color: var(--color-white) !important;
}

.woocommerce .woocommerce-error li,
.woocommerce .woocommerce-info li,
.woocommerce .woocommerce-message li {
    list-style: none;
    margin: 0;
}

/* reversed "alt" buttons */
body.woocommerce-cart .woocommerce a.button.checkout {
    color: var(--color-white) !important;
    background: var(--primary-color) !important;
}

body.woocommerce-cart .woocommerce a.button.checkout:hover {
    color: var(--color-white) !important;
    background: #2f5f92 !important;
}

body.woocommerce-cart .woocommerce a.button.checkout:active {
    color: var(--color-white) !important;
    background: #1f466d !important;
}

.nice-select span.woocommerce-Price-amount.amount bdi {
    font-size: 12px;
}

.nice-select .current > span.wpo-price-container {
    position: absolute;
    top: -25px;
    right: 0;
}

.single-product.woocommerce .upsells ul.products li.product .price * {
    font-size: 1rem !important;
    color: #000;
}

.single-product.woocommerce .upsells ul.products li.product .price del * {
    font-size: 12px;
}

.single-product.woocommerce .upsells ul.products li.product .price del * {
    font-size: 13px !important;
    color: #888888;
    text-decoration: line-through;
}

.single-product body.woocommerce ul.products li.product .price {
    gap: 0;
}

.single-product .upsells span.onsale {
    display: none !important;
}

.single-product .shop-problems {
    border-bottom: 1px solid #d7d7d7;
    margin-bottom: 3em;
}

.single-product .shop-problems+.row {
    max-width: 1280px;
}

/* Single product Add To Cart button */
button.single_add_to_cart_button.button {
    border-radius: 8px !important;
    padding: 14px 22px !important;
    font-size: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background-color: var(--btn-color) !important;
    color: var(--color-white) !important;
}

button.single_add_to_cart_button.button::after {
    font-family: 'FontAwesome';
    content: '\f07a';
    font-size: 16px;
    line-height: 1;
}

button.single_add_to_cart_button.button:hover {
    background-color: var(--primary-color) !important;
}

.woocommerce.single-product span.onsale {
    display: none;
}

/* Single product quantity +/- */
.single-product form.cart .quantity {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid #ccc;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    vertical-align: middle;
    margin-right: 0;
}

.single-product form.cart .quantity input.qty {
    width: 50px;
    border: none !important;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    text-align: center;
    font-size: 15px;
    padding: 12px 0;
    -moz-appearance: textfield;
    background: transparent;
    margin: 0;
    height: auto;
    box-shadow: none !important;
    height: 62px;
}

.single-product form.cart .quantity input.qty::-webkit-inner-spin-button,
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.single-product form.cart .quantity .qty-minus,
.single-product form.cart .quantity .qty-plus {
    background: #fff;
    border: none;
    width: 40px;
    font-size: 20px;
    cursor: pointer;
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    flex-shrink: 0;
    transition: background 0.2s;
}

.single-product form.cart .quantity .qty-minus:hover,
.single-product form.cart .quantity .qty-plus:hover {
    background: #f0f0f0;
    color: var(--primary-color);
}
h1.product_title.entry-title {
    font-family: "Quattrocento", serif;
    font-weight: 600;
    font-size: 42px;
}
.single-product .product span.woocommerce-Price-amount.amount {
    font-family: Poppins;
    font-weight: 500;
    font-style: Medium;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    color: #2B8B7F;

}
.single-product .quantity input.qty {
    border: none;
}

.single-product div.product form.cart button.single_add_to_cart_button.button.alt {
    border-radius: 12px !important;
    font-size: 18px !important;
    font-family: Quattrocento Sans;
    font-weight: 700;
    font-style: Bold;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    background-color: #4473A8 !important;
    padding: 1.28em 2em !important;
}

.single-product section.shop-problems.content-bar .row {
    width: 1280px;
    max-width: 100%;
}

.single-product section.shop-problems.content-bar .row h3 {
    font-size: 24px;
}

.single-product .wpo-options-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1em;
    margin-bottom: 1em;
}

.single-product .wpo-options-container .wpo-field {
    width: calc(50% - 0.5em);
    margin: 0;
    gap: 0;
    max-width: 100%;
    min-width: 0;
}

.single-product span.wpo-option-name__text {
    font-size: 16px;
    font-family: "Quattrocento", serif;
    font-weight: bold;
}

.single-product .wpo-options-container .wpo-field-text_labels {
    width: 100%;
}

.single-product .wpo-options-container .ip-wcpo-section,
.single-product .wpo-options-container .ip-wcpo-section-body,
.single-product .wpo-options-container .nice-select {
    max-width: 100%;
    min-width: 0;
}

/* added styles */

.ip-wcpo-section-sizing .wpo-field,
.ip-wcpo-section-modification .wpo-field {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}

.ip-wcpo-grouping-root {
    width: 100%;
}

.ip-wcpo-section-body {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
}

.wpo-field-dropdown div.nice-select,
.wpo-field-products[data-type=dropdown] div.nice-select {
    margin: 0;
}

h4.ip-wcpo-section-heading {
    font-family: "Quattrocento", serif;
    font-size: 18px;
}

h4.ip-wcpo-section-heading:after {
    content: ":";
}

.ip-wcpo-section.ip-wcpo-section {
    border-bottom: solid 1px #dddddd;
    padding-bottom: 1em;
    margin-bottom: 1em;
}

div[id^="wpo-field-"] {
    display: flex;
    align-items: center;
}

.nice-select {
    height: auto;
    min-width: 180px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
}

.nice-select .current {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    width: 100%;
}

.ip-wcpo-section-top div[id^="wpo-field-"] {
    align-items: flex-start;
    gap: 10px !important;
}

.nice-select .option .wpo-price-container,
.nice-select .option .wpo-price-container span {
    font-size: inherit !important;
    font-weight: inherit !important;
    display: inline;
}

.nice-select .nice-select-dropdown {
    width: max-content !important;
    min-width: 100%;
    overflow: visible !important;
}

div.nice-select:not(.open) div.nice-select-dropdown {
    display: none !important;
}

div.nice-select.open div.nice-select-dropdown {
    max-height: 260px !important;
    overflow-y: auto !important;
}

.single-product .wpo-options-container div.nice-select.open div.nice-select-dropdown {
    width: max-content !important;
    min-width: 180px !important;
    max-width: min(320px, calc(100vw - 32px));
    overflow-x: hidden !important;
}

.nice-select .nice-select-dropdown ul.list {
    overflow: visible !important;
    width: 100%;
}

.nice-select .option {
    white-space: nowrap !important;
    width: auto !important;
}

.single-product .wpo-options-container div.nice-select.open .option {
    white-space: normal !important;
    width: 100% !important;
}

.nice-select .current {
    min-width: 0;
}

span.wpo-error-message {
    width: 100% !important;
    flex-grow: 1;
}

span.wpo-error-message {
    position: absolute;
    top: 30px;
    right: 0;
    font-size: 11px;
}

.nice-select {
    width: auto;
    min-width: 0;
    display: inline-flex;
}

.current span.wpo-price-container {
    display: none !important;
}

.ip-wcpo-section-modification .wpo-field {
    align-items: center;
}

.ip-wcpo-section-modification .wpo-option-name {
    margin-right: auto;
}

.ip-wcpo-section-modification .wpo-field > .wpo-field-dropdown {
    display: inline-flex;
    align-items: center;
    margin-left: auto;
}

.ip-wcpo-section-modification .ip-wcpo-tooltip {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    margin-right: 12px;
    position: relative;
    cursor: help;
}

.ip-wcpo-section-modification .ip-wcpo-tooltip::after {
    content: attr(data-tip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    z-index: 10;
    display: none;
    width: max-content;
    max-width: 220px;
    transform: translateX(-50%);
    padding: 8px 10px;
    border-radius: 4px;
    background: #333;
    color: #fff;
    font-size: 12px;
    line-height: 1.3;
    white-space: normal;
}

.ip-wcpo-section-modification .ip-wcpo-tooltip:hover::after,
.ip-wcpo-section-modification .ip-wcpo-tooltip:focus::after {
    display: block;
}

.nice-select span.current {
    margin-right: 10px;
}

a.reset_variations {
    display: none !important;
}

.wpo-text-labels label.wpo-text-label input:checked + span.wpo-text-label-inner {
    background: #4473a8 !important;
}

.wpo-text-labels label.wpo-text-label {
    border-radius: 10px;
    overflow: hidden;
    align-items: center;
}

.wpo-text-label span.wpo-choice-label {
    line-height: normal;
}

.wpo-text-labels label.wpo-text-label:hover {
    background-color: rgb(226, 226, 226);
}

.wpo-text-labels label.wpo-text-label:has(input:checked) {
    border-color: #4473a8;
    background-color: #4473a8;
}

.wpo-text-labels label.wpo-text-label span.wpo-text-label-inner {
    padding: 0 1.5em;
    align-items: center;
    align-self: stretch;
}

.wpo-field-flex.wpo-field ul.wpo-choice-list {
    width: 100%;
    display: flex;
    gap: 40px !important;
}

.ip-wcpo-section-top .ip-wcpo-section-body {
    gap: 20px;
}

/* WPO 2.7.0: .wpo-layout-default wrappers are flex items — give them proper widths */
.ip-wcpo-section-top .ip-wcpo-section-body > .wpo-layout-default {
    flex: 1 1 100%;
    width: 100%;
}

.ip-wcpo-section-sizing .ip-wcpo-section-body > .wpo-layout-default,
.ip-wcpo-section-modification .ip-wcpo-section-body > .wpo-layout-default {
    flex: 1 1 calc(50% - 5px);
    max-width: calc(50% - 5px);
    min-width: 0;
}

/* WPO 2.7.0: .wpo-field inside wrapper must be full-width of the wrapper,
   not 50% of it (the 50% grid is handled by the wrapper itself now) */
.ip-wcpo-section-body .wpo-layout-default > .wpo-field {
    width: 100%;
    max-width: 100%;
}

.single-product .product_meta {
    border-top: solid 1px #ccc;
    margin-top: 2em;
    padding-top: 2em;
}

.single-product div.product .summary > p.price,
.single-product div.product .woocommerce-variation-price,
.single-product div.product .csp-hide-product-total,
.single-product div.product #product_total_price,
.single-product div.product .wpo-totals-container {
    display: none !important;
}

.single-product div.product form.cart .variations_button,
.single-product div.product form.cart:not(.variations_form) {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
}

.single-product div.product form.cart:not(.variations_form) {flex-wrap: wrap;}

.single-product div.product form.cart:not(.variations_form):after {
    display: none;
}

.single-product div.product form.cart table.variations {
    display: none !important;
    margin: 0 !important;
}

.single-product div.product form.cart .single_variation,
.single-product div.product form.cart .single_variation_wrap,
.single-product div.product form.cart .woocommerce-variation-add-to-cart {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.single-product .px-qty-label {
    align-self: center;
    margin-right: -4px;
}

.single-product .px-unified-price {
    display: inline-flex;
    align-items: baseline;
    margin-right: 0;
    flex: 1 1 auto;
    min-width: 130px;
}

.single-product .px-unified-price .price {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
}

.single-product .px-unified-price .price del .amount,
.single-product .px-unified-price .price del bdi {
    color: #222;
    font-size: 28px;
    opacity: 0.8;
}

.single-product .px-unified-price .price del {
    text-decoration: line-through;
}

.single-product .product_meta > span {
    display: block;
    font-weight: bold;
    line-height: 1em;
    margin-bottom: 1.2em;
    font-size: 16px;
    font-family: 'Quattrocento Sans';
}

.single-product .product_meta > span * {
    font-weight: normal;
}

.single-product .summary.entry-summary {
    margin-left: 1em;
}

.single-product section.up-sells.upsells.products .products.columns-4 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3em;
    justify-content: flex-start;
}

.single-product.woocommerce .upsells ul.products li.product {
    margin: 0;
    flex-grow: 0.25;
    flex-basis: 0;
    width: auto;
}

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

ol.flex-control-nav.flex-control-thumbs {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 17px;
}

.woocommerce div.product div.images .flex-control-thumbs {
    overflow: hidden;
    zoom:1;margin: 0;
    padding: 0
}

/* Product gallery thumbnail carousel */
.px-thumb-wrap {
    position: relative;
    margin-top: 1em;
    clear: both;
    display: block;
    width: 100%;
}

.px-thumb-carousel {
    overflow: hidden;
    position: relative;
}

.woocommerce div.product div.images .px-thumb-carousel ~ .flex-control-thumbs,
.px-thumb-carousel ol.flex-control-thumbs {
    flex-wrap: nowrap !important;
    transition: transform 0.35s ease;
    will-change: transform;
    gap: 14px;
    padding-top: 0 !important;
    margin: 0;
    width: max-content !important;
    min-width: 100%;
    position: relative !important;
}

.px-thumb-carousel ol.flex-control-thumbs li {
    flex: 0 0 90px !important;
    width: 90px !important;
    min-width: 90px !important;
    max-width: 90px !important;
    height: 90px;
    margin: 0 !important;
}

.px-thumb-carousel ol.flex-control-thumbs li img {
    width: 90px;
    height: 90px;
    object-fit: cover;
    display: block;
}

.px-thumb-prev,
.px-thumb-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 50%;
    width: 28px;
    height: 28px;
    font-size: 18px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    padding: 0;
    line-height: 1;
    transition: opacity 0.2s, background 0.2s, color 0.2s, border-color 0.2s;
}

.px-thumb-prev i {
    position: relative;
    right: 1px; /* visually center the arrow in the circle */
}

.px-thumb-next i {
    position: relative;
    left: 1px; /* visually center the arrow in the circle */
}

.px-thumb-prev {
    left: 2px;
}

.px-thumb-next {
    right: 2px;
}

.px-thumb-prev:hover,
.px-thumb-next:hover {
    background: rgba(255,255,255,0.9);
    border-color: #ccc;
    color: var(--primary-color);
}

@media (hover: hover) {
    .px-thumb-prev,
    .px-thumb-next {
        opacity: 0;
        pointer-events: none;
    }
    
    .px-thumb-wrap:hover .px-thumb-prev:not(.disabled),
    .px-thumb-wrap:hover .px-thumb-next:not(.disabled) {
        opacity: 1;
        pointer-events: auto;
    }
}

.px-thumb-prev.disabled,
.px-thumb-next.disabled {
    opacity: 0 !important;
    pointer-events: none;
}

.single-product div.product form.cart button.single_add_to_cart_button.button.alt:hover {
    background-color: #81bee9 !important;
}

/* lets tweak tab CSS on mobile especially */
@media only screen and (max-width: 767px) {
    .woocommerce div.product .woocommerce-tabs ul.tabs li {
        font-size: 13px !important;
    }
}

@media only screen and (max-width: 529px) {
    .woocommerce div.product .woocommerce-tabs .px-tab-accordion-trigger {
        width: 100%;
        border: 1px solid #d9d9d9;
        background: #f5f5f5;
        color: #1b1b1b;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.3;
        text-align: left;
        padding: 12px 42px 12px 14px;
        margin: 0 0 10px;
        border-radius: 2px;
        position: relative;
    }

    .woocommerce div.product .woocommerce-tabs .px-tab-accordion-trigger:after {
        content: '';
        position: absolute;
        right: 14px;
        top: 50%;
        width: 9px;
        height: 9px;
        border-right: 2px solid #1b1b1b;
        border-bottom: 2px solid #1b1b1b;
        transform: translateY(-60%) rotate(45deg);
    }

    .woocommerce div.product .woocommerce-tabs .px-tab-accordion-trigger.is-open:after {
        transform: translateY(-40%) rotate(-135deg);
    }

    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
        margin-bottom: 14px;
        padding-top: 4px;
    }

    .woocommerce div.product .woocommerce-tabs .px-tab-accordion-trigger + .woocommerce-Tabs-panel h2 {
        display: none;
    }
}

/* Tweaks for Gravity Forms Products */
body .entry-summary .gform_wrapper ul.gform_fields:not(.top_label) li:not(.gf_list_inline) .gfield_label {
    line-height: 17px;
    font-size: 15px;
    top: 0;
    position: relative;
}

body .entry-summary .gform_wrapper span.ginput_total {
    font-size: 20px;
    font-weight: 700;
}

/* cart widget stuff */
.shop-sidebar .three.columns {
    background: #f5f5f5;
    padding-right: 10px;
    padding-left: 10px;
}

.woocommerce .shop-sidebar ul.cart_list li dl, .woocommerce .shop-sidebar ul.product_list_widget li {
    padding-left: 1.3em;
}

.woocommerce .shop-sidebar ul.cart_list li dl, .woocommerce .shop-sidebar ul.product_list_widget li dl {
    border-left: none;
    padding-left: 0;
}

.woocommerce .shop-sidebar ul.cart_list li dl dt, .woocommerce .shop-sidebar ul.product_list_widget li dl dt {
    font-size: 15px;
    padding: 0;
    line-height: 1.2
}

/* the label for variation */
.woocommerce .shop-sidebar ul.cart_list li dl dd, .woocommerce .shop-sidebar ul.product_list_widget li dl dd {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* the choice/info */
.woocommerce .shop-sidebar ul.cart_list li dl dd p:last-child, .woocommerce .shop-sidebar ul.product_list_widget li dl dd p:last-child {
    font-size: 15px;
    line-height: 1.2;
}

/* this tweaks the line height */
.woocommerce .shop-sidebar ul.product_list_widget li img {
    display: none;
}

/* turn off images since they are so small */
.woocommerce .shop-sidebar .widget_shopping_cart .total {
    border-top: 3px double #ccc;
}

@media only screen and (max-width: 768px) {
    .woocommerce .shop-sidebar p.buttons a.button {
        margin-bottom: 10px;
        width: 100%;
        text-align: center;
    }

    /* lets tweak buttons here */
}

/* lets conditionally turn off features */
/*.woocommerce .shop-sidebar ul.cart_list li dl dt:nth-of-type(n+6), .woocommerce .shop-sidebar ul.product_list_widget li dl dt:nth-of-type(n+6),
	.woocommerce .shop-sidebar ul.cart_list li dl dd:nth-of-type(n+6), .woocommerce .shop-sidebar ul.product_list_widget li dl dd:nth-of-type(n+6) {display:none;} */
.woocommerce .shop-sidebar ul.cart_list li a, .woocommerce .shop-sidebar ul.product_list_widget li a {
    font-size: 15px;
    line-height: 1.2em;
}

/* the product namme link */
.woocommerce .shop-sidebar .widget_shopping_cart .cart_list li a.remove, .woocommerce .shop-sidebar .widget_shopping_cart .cart_list li a.remove {
    font-size: 1.3em;
}

/* adjust x */
.woocommerce .shop-sidebar ul.cart_list li dl ul.bulleted li, .woocommerce .shop-sidebar ul.product_list_widget ul.bulleted li {
    padding: 0;
    line-height: 1.2
}

/* for sub lists */
.woocommerce .shop-sidebar dt.variation-Total, .woocommerce .shop-sidebar dd.variation-Total {
    display: none;
}

/* this hides the weird variation total field */

/* actual cart page stuff */
body.woocommerce-cart table.shop_table.cart {
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #dbe4eb;
    border-radius: 8px;
    overflow: hidden;
}

body.woocommerce-cart table.shop_table.cart th {
    background: #f6f9fb;
    color: #253447;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: uppercase;
}

body.woocommerce-cart table.shop_table.cart td {
    border-top-color: #e7edf1;
    padding-bottom: 14px;
    padding-top: 14px;
    vertical-align: top;
}

body.woocommerce-cart table.shop_table.cart tr.cart_item:nth-child(even) td {
    background: #fbfdfe;
}

body.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    color: #a63b2f !important;
    font-size: 22px;
    line-height: 1;
}

body.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover {
    background: #a63b2f;
    color: #fff !important;
}

body.woocommerce-cart table.cart td.actions .coupon .input-text {
    width: auto;
    min-height: 42px;
    padding: 10px 12px;
}

.woocommerce form.checkout_coupon {
    display: flex;
    flex-wrap: wrap;
}

.woocommerce form.checkout_coupon p.form-row-first {
    padding-left: 0;
}

.wc_payment_method > input[type=radio], .wc_payment_method > label {
    vertical-align: middle;
}

.woocommerce #cvv {
    min-height: 35px;
}

.woocommerce-page.woocommerce-checkout #payment {
    background-color: rgb(129 190 233 / 0.2);
}

.woocommerce-page.woocommerce-checkout #payment div.payment_box {
    background-color: rgb(129 190 233 / 0.6);
}

.woocommerce-page.woocommerce-checkout #payment div.payment_box::before {
    border: 1em solid transparent;
    border-bottom-color: rgb(129 190 233 / 0.6);
}

.woocommerce-page #payment #place_order {
    text-transform: uppercase;
}

.woocommerce form.checkout_coupon p:not(.form-row) {
    width: 100%;
    margin-bottom: 1rem;
}

@media only screen and (max-width: 540px) {
    .woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
        width: 100% !important;
    }
}

.payment_box p:first-of-type {
    margin-bottom: 0;
}

.payment_method_ebizcharge label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.woocommerce form .form-row.woocommerce-validated select {
    border-color: var(--secondary-color) !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce-page .select2-container--default .select2-selection--single {
    border-color: #e0e0e0;
    -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
}

.woocommerce-checkout a:hover {
    text-decoration: underline;
}

.woocommerce-account.woocommerce-page .row {
    max-width: 1280px;
}

.woocommerce-MyAccount-navigation {
    background: #f8fafc;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 30px;
}

.woocommerce-MyAccount-navigation ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.woocommerce-MyAccount-navigation li {
    margin-bottom: 8px;
}

.woocommerce-MyAccount-navigation a {
    display: block;
    padding: 10px 12px;
    color: var(--color-dark);
    font-weight: 500;
    transition: all 0.2s ease;
}

.woocommerce-MyAccount-content button[type="submit"] {
    margin-top: 20px !important;
}

.woocommerce-MyAccount-navigation a:hover {
    background: rgb(129 190 233 / 0.2);
    color: var(--primary-color);
}

.woocommerce-MyAccount-navigation .is-active a {
    background: var(--secondary-color);
    color: var(--color-white);
    font-weight: 600;
}

.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #d11a2a;
}

.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: rgba(209, 26, 42, 0.1);
}

.woocommerce.woocommerce-account form .show-password-input, .woocommerce-page.woocommerce-account form .show-password-input {
    top: 7px;
}

body.woocommerce-cart table.cart td.actions .coupon .input-text#coupon_code {
    min-height: 38px;
}

body.woocommerce-cart table.cart td.actions .button:not(.disabled):not(:disabled) {
    background-color: var(--primary-color) !important;
    color: var(--color-white) !important;
    transition: all 0.2s linear;
}

body.woocommerce-cart table.cart td.actions .button:not(.disabled):not(:disabled):hover {
    background-color: #2f5f92 !important;
    color: var(--color-white) !important;
}

/* tweak coupon code box padding to better match button */
body.woocommerce-cart table.cart td.product-name a {
    color: #253447;
    display: inline-block;
    font-size: 17px;
    font-weight: 700;
    font-family: 'Libre Baskerville', serif;
    line-height: 1.25;
    margin-bottom: 7px;
}

/* make title bold */
body.woocommerce-cart table.cart td.product-thumbnail {
    min-width: 54px;
}

/* lets make the cart image bigger here */
body.woocommerce-cart table.cart td.product-name dl.variation dd.variation-Total,
body.woocommerce-cart table.cart td.product-name dl.variation dt.variation-Total {
    display: none;
}

/* hides variation total */
body.woocommerce-cart td.product-name dl.variation dd p,
body.woocommerce-cart td.product-name dl.variation dd p:last-child,
body.woocommerce-cart td.product-name dl.variation dt {
    line-height: 1.15;
    font-size: 12px;
    margin-bottom: 2px;
}

body.woocommerce-cart table.cart img {
    height: auto;
    min-width: 0;
    width: 120px;
}

/* lets make the thumbs a bit bigger instead of just 32 */

@media only screen and (max-width: 768px) {
    body.woocommerce-cart table.shop_table_responsive tr td.product-name:before {
        content: '';
    }

    body.woocommerce-cart table.shop_table_responsive tr td.product-name {
        text-align: left !important;
    }

    body.woocommerce-cart table.cart td.actions .coupon .input-text {
        width: 48%;
    }
}

/* VERTICAL MUCH LESS SPACE */
body.woocommerce-cart table.cart td.product-name dl.variation dt {
    padding: 0;
    margin: 0 4px 2px 0;
    font-weight: 700;
    clear: none;
    color: #526273;
}

body.woocommerce-cart table.cart td.product-name dl.variation dd {
    padding: 0 0 0 .15em;
    margin-bottom: 2px;
    color: #263545;
    font-size: 12px;
}

body.woocommerce-cart table.cart td.product-name dl.variation {
    margin-top: 0;
    overflow: hidden;
    padding: 0 0 0 8px;
}

body.woocommerce-cart table.cart td.product-name dl.variation dd ul.bulleted {
    list-style-type: none;
    margin: 0;
    clear: none;
}

body.woocommerce-cart table.cart td.product-name dl.variation dd ul.bulleted li {
    font-size: 12px;
    line-height: 1.15;
    margin-bottom: 2px;
}

body.woocommerce-cart table.shop_table.cart tr.srs-cart-addon-item td {
    background: #f8fbfd;
    border-top-style: dashed;
    padding-bottom: 8px;
    padding-top: 8px;
}

body.woocommerce-cart table.shop_table.cart tr.srs-cart-addon-item td.product-name {
    padding-left: 18px;
}

body.woocommerce-cart table.shop_table.cart tr.srs-cart-addon-item td.product-name a {
    color: #475766;
    font-family: "Quattrocento Sans", sans-serif;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 0;
}

body.woocommerce-cart table.shop_table.cart tr.srs-cart-addon-item td.product-name a::before {
    color: #7f9cb1;
    content: "Add-on";
    display: none;
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 2px;
    text-transform: uppercase;
}

body.woocommerce-cart table.shop_table.cart tr.srs-cart-addon-item td.product-thumbnail img {
    opacity: 0.78;
    width: 38px;
}

body.woocommerce-cart table.shop_table.cart tr.srs-cart-addon-item td.product-price,
body.woocommerce-cart table.shop_table.cart tr.srs-cart-addon-item td.product-quantity,
body.woocommerce-cart table.shop_table.cart tr.srs-cart-addon-item td.product-subtotal {
    color: #526273;
    font-size: 12px;
}

body.woocommerce-cart table.shop_table.cart tr.srs-cart-addon-item .srs-cart-addon-quantity {
    display: inline-block;
    min-width: 30px;
    text-align: center;
}

/* hide/showing elements in carts */
.px-cart-toggler {
    background: transparent;
    border: 0;
    clear: both;
    display: block;
    color: var(--btn-color);
    cursor: pointer;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 2px;
    padding: 0;
    text-align: left;
}

.product_list_widget .px-cart-toggler {
    font-size: 12px;
}

.px-cart-toggler:hover,
.px-cart-toggler:focus {
    color: var(--primary-color);
    text-decoration: underline;
}

/* WooCommerce Checkout Page */
form.woocommerce-checkout #customer_details {
    margin-bottom: 40px;
}

/* spacing between details and orders */
.woocommerce form .form-row.create-account {
    background: #f5f5f5;
    padding-left: 15px;
}

.woocommerce form .form-row.create-account label {
    font-weight: 700;
    cursor: pointer;
}

.woocommerce form .create-account p {
    margin: 0 0 10px 0;
}

.single-product .main-content-wrap .row {
    max-width: 1280px;
}



.woocommerce div.product div.images .flex-control-thumbs li {
    width: calc(100% / 7) !important;
    float: none !important;
    margin: 0;
    list-style: none;
}

/* override the calc width when inside the carousel */
.woocommerce div.product div.images .px-thumb-carousel .flex-control-thumbs li {
    width: 90px !important;
    min-width: 90px !important;
    max-width: 90px !important;
}
}

/* this will keep the table from jumping around on show/hide */
body.woocommerce-cart table.cart th.product-name {
    width: 50%
}

.woocommerce-page h1 {
    font-size: 42px;
}

.woocommerce table.shop_table td.product-subtotal {
    color: #000;
    font-size: 16px;
    font-weight: 500;
    font-family: "Poppins", sans-serif;
}

@media only screen and (max-width: 768px) {
    body.woocommerce ul.products li.product,
    body.woocommerce-page ul.products li.product { /* by default they change to 50%, let's keep it 4 columns for ipad */
        float: left;
        padding: 0;
        position: relative;
        width: 22.05%;
        margin: 0 3.8% 2.992em 0;
        clear: none;
    }

    body.woocommerce ul.products li.last,
    body.woocommerce-page ul.products li.last {
        margin-right: 0;
    }

    body.woocommerce ul.products li.first,
    body.woocommerce-page ul.products li.first {
        clear: left;
    }

    body.woocommerce ul.products li.product:nth-child(2n),
    body.woocommerce-page ul.products li.product:nth-child(2n),
    body.woocommerce-page[class*=columns-] ul.products li.product:nth-child(2n),
    body.woocommerce[class*=columns-] ul.products li.product:nth-child(2n) { /* they are changing this to float right, but causes issues if only a couple of things in there */
        float: left;
    }
}

@media only screen and (max-width: 767px) {
    body.woocommerce ul.products li.product,
    body.woocommerce-page ul.products li.product { /* let's make 2 columns wide on mobile */
        float: left;
        margin: 0 3.8% 2.992em 0;
        padding: 0;
        position: relative;
        width: 46.05%;
        margin-left: 0;
        clear: none;
    }

    body.woocommerce ul.products li.product:nth-of-type(odd),
    body.woocommerce-page ul.products li.product:nth-of-type(odd),
    body.woocommerce-page[class*=columns-] ul.products li.product:nth-of-type(odd),
    body.woocommerce[class*=columns-] ul.products li.product:nth-of-type(odd) { /* they are changing this to float right, but causes issues if only a couple of things in there */
        clear: left !important;
    }

    /* lets tweak gallery thumbs to be 4 per row */
    .woocommerce div.product div.woocommerce-product-gallery--columns-3.images .flex-control-thumbs li {
        width: 21.2%;
    }

    .woocommerce div.product div.woocommerce-product-gallery--columns-3.images .flex-control-thumbs li:nth-child(3n) {
        margin-right: 3.8%;
    }

    body.woocommerce div.product .woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
        clear: none;
    }

    .woocommerce div.product .woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(4n+1) {
        clear: left;
    }
	
    .summary.entry-summary {
    margin-left: 0 !important;
    }
    
    .single-product .wpo-options-container .wpo-field-product {
        width: 100%;
    }
    
    .single-product section.shop-problems.content-bar .row {
    }
    
    .single-product section.up-sells.upsells.products .products.columns-4 {
        gap: 1em;
    }
    
    .single-product.woocommerce .upsells ul.products li.product {
        width: calc(50% - 0.5em);
        flex-grow: initial;
        flex-basis: initial;
    }
}

@media only screen and (max-width: 375px) {
    body.woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product {
        width: 100%;
    }
}

/* problems addressed row after product */
.shop-problems {
    border-top: 1px solid #d7d7d7;
}

.shop-problems img {
    width: 45%;
    display: inline-block;
    margin: 0 8% 20px 0;
}

.shop-problems img.nomarg {
    margin-right: 0;
}

/* bar in footer on shop landing*/
.shop-bluebar .quick-links {
    background: none;
    padding: 50px 0 0 0;
}

.shop-bluebar .quick-links a {
    font-size: 16px;
    color: var(--color-white);
}

.shop-bluebar .quick-links a:before {
    color: var(--color-white);
}

/*-----------------------------------------------------------------------------------*/
/*	5.	Blog Index Styles
/*-----------------------------------------------------------------------------------*/
article.index-post {
    overflow: hidden;
    padding: 0 0 20px 0;
    margin-bottom: 20px;
    border-bottom: 1px solid #ccc;
}

.index-feat {
    margin: 0 0 20px 0;
    display: block;
}

.entry-head {
    clear: both;
    margin-bottom: 20px;
}

article.index-post header {
    margin-bottom: 15px;
}

.tax-video-resource-categories article.index-post header, .post-type-archive-video-resources article.index-post header {
    margin-top: 10px;
}

article.index-post .entry-content p {
    margin: 0 0 10px 0;
}

article.index-post h1 {
    margin: 0;
    font-size: 22px;
    font-family: 'Quattrocento Sans', sans-serif;
    font-weight: 700;
}

article.index-post h1 a {
}

article.index-post h1 a:hover {
}

article.post .entry-meta {
    margin: 0;
    font-size: 15px;
}

article.single-post .entry-meta {
    margin-bottom: 20px;
}

article.post .entry-meta a {
}

article.post .entry-meta a:hover {
}

article.single-post h1 {
    margin-bottom: 0;
}

article .meta-published {
}

article .meta-categories {
}

article .post-copy {
}

footer.meta {
}

footer.meta .more {
    display: block;
    font-size: 20px;
}

footer.meta .more:hover {
}

/* archive custom */
.archive-wrap {
    border-bottom: 1px solid #d7d8dc;
    margin-bottom: 20px;
}

h1.archive-title {
    font-size: 22px;
}

/* search results */
.search-measure ul {
    margin: 0;
}


/* Generic pagenavi styles */
.wp-pagenavi {
    display: block;
    overflow: hidden;
    width: 100%;
    text-align: center;
}

.wp-pagenavi a, .wp-pagenavi span {
    text-align: center;
    padding: 0 5px 0 0;
    font-weight: bold;
}

.wp-pagenavi a:hover {
}

.wp-pagenavi .page, .wp-pagenavi span {
    display: none;
}

/* lets hide the numbers and stick with older/newer */
.wp-pagenavi .nextpostslink {
    float: right;
    margin: 0
}

.wp-pagenavi .previouspostslink {
    float: left;
    margin: 0;
}

/* Generic prev/next styles */
.single-post-links {
    padding-top: 20px;
    border-top: 1px dashed #ccc;
}

.pagination-wrap {
    overflow: hidden;
}

.prev-post, .nav-previous {
    float: left;
}

.next-post, .nav-next {
    float: right;
}

/*-----------------------------------------------------------------------------------*/
/*	6.	Single Posts
/*-----------------------------------------------------------------------------------*/
.blog-single .entry-head h1 {
    margin: 0;
}

.single-meta {
    clear: both;
    width: 100%;
    border-top: double #e9e9e7;
    border-bottom: double #e9e9e7;
    padding: 10px 0;
    margin-bottom: 20px;
    font-size: 13px;
}

.tag-list {
}

/* share bar */
.share-bar {
    border-top: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
    padding: 20px 0 0 0;
    margin: 60px 0 30px 0;
}

.share-bar ul {
    list-style: none;
}

.share-bar li {
    vertical-align: middle;
    line-height: 1;
    margin-left: 10px;
}

.share-bar li:first-child {
    margin-left: 0;
}

.share-bar li.share-it {
    font-size: 21px;
    font-style: italic;
    font-family: 'Libre Baskerville', serif;
}

.share-bar a {
    display: inline-block;
    width: 2em;
    height: 2em;
    color: var(--color-white);
    position: relative;
    font-size: 24px;
}

.share-bar a.share-fb {
    background: #39579a;
}

.share-bar a.share-twit {
    background: #00aaef;
}

.share-bar i {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/*-----------------------------------------------------------------------------------*/
/*	7. Sidebar and Widget Styles
/*-----------------------------------------------------------------------------------*/
.sidebar {
}

.sidebar .quick-links {
    background: none;
    padding: 0;
}

/* general widgets */
.widget {
    margin-bottom: 25px;
    padding: 0;
}

.widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

h3.widgettitle {
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 10px;
}

/* default widget titles */
.widget_text {
    margin-bottom: 20px;
}

.widget_text a {
}

.widget_text a:hover {
}

.widget_text h3, .widget_text h4 {
    margin-bottom: 5px
}

.widget_text h3 {
    font-size: 18px;
}

.widget_text h4 {
    margin-bottom: 20px;
    font-size: 14px;
}

/* custom woocommerce widgets */
.widget_currency_converter h3 {
    font-size: 17px;
    margin: 0;
}

.widget_currency_converter p {
    font-size: 13px;
    margin: 0 0 10px 0;
}

.widget_currency_converter ul.currency_switcher li a {
    padding: 0 6px;
    font-size: 15px;
}

aside.widget.widget_currency_converter {
    border: solid 1px #ccc;
    padding: 1em;
    border-radius: 12px;
}

form#currency_converter {
    margin: 0;
}

form#currency_converter div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 40px;
    align-content: center;
}

form#currency_converter div > ul {
    width: 300px;
}

form#currency_converter div > p {
    margin: 0;
    margin-top: 1.5em;
}

.widget_currency_converter h3 {
    position: absolute;
}

form#currency_converter div > ul.currency_switcher {
    display: flex;
    align-content: center;
}

form#currency_converter div > ul.currency_switcher li {
    height: auto;
    max-height: none;
}

/*-----------------------------------------------------------------------------------*/
/* recent posts and categories */
.widget_recent_entries ul, .widget_categories ul, .widget_archive ul, .widget_anual_archive ul {
    margin: 0 0 0 18px;
    padding: 0;
    list-style-type: disc;
}

.widget_recent_entries li, .widget_categories li, .widget_archive li, .widget_anual_archive li {
}

.widget_recent_entries li:last-child, .widget_categories li:last-child, .widget_archive li:last-child, .widget_anual_archive li:last-child {
}

.widget_recent_entries li a, .widget_categories li a, .widget_archive li a, .widget_anual_archive li a {
    display: block;
    padding: 3px 0 3px 0;
}

.widget_recent_entries li:last-child a, .widget_categories li:last-child a, .widget_archive li:last-child a, .widget_anual_archive li:last-child a {
}

.widget_recent_entries li a:hover, .widget_categories li a:hover, .widget_archive li a:hover, .widget_anual_archive li a:hover {
}

.widget_categories li.current-cat a {
    font-weight: bold;
}

/*-----------------------------------------------------------------------------------*/
/* interior sidebar dynamic navigation */
ul.side-nav {
    margin: 0;
    padding: 0 0 20px 0;
    border-bottom: 3px double #e5e5e5;
}

ul.side-nav > li {
}

ul.side-nav > li:first-child {
}

ul.side-nav > li a {
    color: var(--primary-color);
    font-size: 18px;
    line-height: 1.3;
    display: block;
    padding: 7px 0 6px 0;
}

ul.side-nav > li a:before {
    font-weight: 400;
    color: #4e4e4e;
    font-family: 'FontAwesome';
    content: '\f054';
    font-size: 13px;
    margin-right: 5px;
}

ul.side-nav > li > a:hover {
    color: var(--color-light-blue);
}


/* sub pages */
ul.side-nav li .children {
    margin-bottom: 20px;
}

ul.side-nav li .children a {
    font-size: 15px;
    text-transform: none;
    color: #1798d2;
    font-weight: 400;
    padding: 4px 0 4px 5px;
}

/* active pages */
ul.side-nav li.current_page_item > a, ul.side-nav > li.current_page_parent > a, ul.side-nav > li.current-cat > a {
    color: #4b4b4b;
    font-weight: 700;
}

ul.side-nav > li.current_page_item > a:hover {
}

/* some custom items for single CPTs */
.single-measure_cpt ul.side-nav li.item-29 > a, /* measuring */
.single-tip_cpt ul.side-nav li.item-33 > a, /* useful tips */
.single-srsvid_cpt ul.side-nav li.item-51 a, /* vids */
.single-testimonial_cpt ul.side-nav li.item-47 a, /* testimonials */
.single-download_cpt ul.side-nav li.item-53 a /* download single */
{
    color: #4b4b4b;
    font-weight: 700;
}

/* custom root page item design */
ul.side-nav li.root_level_page_item {
}

ul.side-nav li.root_level_page_item a {
    color: #1b1b1b;
    margin: 0 0 10px 0;
    font-size: 22px;
    font-family: 'Libre Baskerville', serif;
    font-weight: 700;
    padding: 0
}

ul.side-nav li.root_level_page_item a:before {
    content: '';
    margin: 0;
}


/*-----------------------------------------------------------------------------------*/
/*	8.	Site Main Footer Styles
/*-----------------------------------------------------------------------------------*/
.site-footer {
    border-top: 5px solid var(--color-light-blue);
}

.foot-nav ul.menu {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
}

.foot-nav ul.menu > li {
    flex: 1 1 calc(25% - 20px);
    vertical-align: top;
    font-weight: bold;
}

.foot-nav ul.menu > li:last-child {
    padding-right: 0;
}

.foot-nav ul.menu > li > a {
    font-weight: 700;
    color: #4e4e4e;
    font-size: 19px;
}

.foot-nav ul.menu .sub-menu {
}

.foot-nav ul.menu .sub-menu {
    font-size: 14px;
}

.foot-logo {
    display: block;
    margin-bottom: 40px;
}

.foot-social {
    text-align: right;
    margin: 0;
}

.foot-social li {
    margin: 0 10px;
}

.foot-social a {
    font-size: 24px;
}

.foot-bot {
    font-size: 16px;
}

.foot-bot .row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.foot-bot .copyright,
.foot-bot .footer-menu {
    margin-bottom: 0;
}

.site-footer .gtranslate {
    padding: 0;
}

.site-footer .gtranslate .goog-te-gadget-simple {
    border-color: #999;
    padding: 5px;
}

.site-footer .gtranslate a.goog-te-menu-value {
    font-size: 12px;
}

.site-footer .gtranslate a {
    font-weight: 400;
    font-size: 12px;
}

.site-footer .gtranslate img {
    display: inline-block !important;
}

@media only screen and (min-width: 1100px) {
    .foot-social a {
        font-size: 32px;
    }
}

@media only screen and (max-width: 767px) {
    .foot-bot .row {
        flex-direction: column;
        row-gap: 10px;
    }

    .column-copyright {
        order: 3;
    }
}

/*-----------------------------------------------------------------------------------*/
/*	9.	IE FIXES
/*-----------------------------------------------------------------------------------*/


/*-----------------------------------------------------------------------------------*/
/*	10.	Additional Library Overwrites */

/* 10.1 GRAVITY FORMS CUSTOM STYLES FOR FORMS */
.gfield {
    margin-bottom: 10px !important;
    position: relative;
}

/* prettyfying confirmation messages */
.p-content .gform_confirmation_message, .p-content .gforms_confirmation_message {
    font-size: 16px;
    font-family: Arial, sans-serif;
    background: #d6efbb;
    padding: 20px;
}

/* error handling adjustments */
body .gform_wrapper ul.gform_fields .gfield_description.validation_message {
    color: #d63636 !important;
}

body .gform_wrapper ul.gform_fields.top_label .gfield_description.validation_message {
    padding: 0 !important;
    margin: 0 !important;
}

body div.validation_error {
    color: #d63636 !important;
    background: #ffeaea !important;
    border-color: #f4d1d1 !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
}

.gform_wrapper .gfield_error .gfield_label {
    color: #d63636 !important
}

/* changes the label to red on error */
body .gform_wrapper li.gfield.gfield_error.gfield_contains_required {
    padding-left: 0 !important;
}

body .gform_wrapper .ginput_container + .gfield_description.validation_message {
    margin-top: 0 !important;
}

body .gform_wrapper .top_label .gfield_description.validation_message, .gform_wrapper .gfield_description.validation_message {
    padding: 0 !important;
}

body .gform_wrapper .instruction {
    display: none !important;
}

body .gform_wrapper li.gfield.gfield_error {
    padding-left: 0 !important;
    padding-top: 0 !important;
    border: none !important;
    background: none !important;
}

body .gform_wrapper li.gfield.gfield_error.gfield_contains_required {
    padding-right: 16px;
}

/* for some unknown reason, if the field has an error, it REMOVES padding from the right? WHY? */
body .gform_wrapper li.gfield.gfield_error label {
    margin-top: 0 !important;
}

/* error messages add margin to tops of labels for some reason */
body .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container {
    margin-top: 0 !important;
}

.gform_wrapper li.gfield_error input[type=text], .gform_wrapper li.gfield_error input[type=url], .gform_wrapper li.gfield_error input[type=email], .gform_wrapper li.gfield_error input[type=tel], .gform_wrapper li.gfield_error input[type=number], .gform_wrapper li.gfield_error input[type=password], .gform_wrapper li.gfield_error textarea {
    border-color: #d63636 !important;
}

/* inputs */
.gform_wrapper input[type=email], .gform_wrapper input[type=number], .gform_wrapper input[type=password], .gform_wrapper input[type=tel], .gform_wrapper input[type=text], .gform_wrapper input[type=url] {
}

body .gform_wrapper .top_label div.ginput_container {
    margin-top: 0;
}

/* file uploads */
ul.gform_fields:not(.top_label) .ginput_container #extensions_message {
    display: block;
    font-size: 15px;
    color: #b5b5b5 !important;
    display: block;
    width: 29%;
    text-align: right;
    padding-right: 16px;
}

/* adjust spacing on check/radio */
.gform_wrapper .gfield_checkbox li, .gform_wrapper .gfield_radio li {
    margin: 0 0 0 0 !important;
}

/* block radio/checks */
.gform_wrapper li.gf_list_inline ul.gfield_checkbox li, .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    margin: 0 15px 0 0 !important;
}

/* inline radio/checks */
.gform_wrapper.gf_browser_chrome .gfield_checkbox li input,
.gform_wrapper.gf_browser_chrome .gfield_checkbox li input[type=checkbox],
.gform_wrapper.gf_browser_chrome .gfield_radio li input[type=radio] {
    margin-top: 0 !important;
}

/* makes it more inline with the label*/
body .gform_wrapper li.gfield.consent-check .gfield_checkbox li input[type=checkbox] { /* mew consetnt checkbox layout */
    vertical-align: top;
    margin-top: 3px !important;
}

/* styling */
.gform_wrapper {
    margin: 0 0 20px 0;
}

.gform_wrapper form {
    margin: 0 !important;
}

.gform_wrapper li {
    background: none;
    padding-left: 0;
}

/* overwrites general content li settings */

/* labels */
body .gform_wrapper label.gfield_label {
    font-size: 16px;
    color: #1b1b1b;
    vertical-align: middle
}

body .gform_wrapper .terms-check label.gfield_label {
    display: none;
    vertical-align: top;
}

/* for terms/cond checkbox */
body .gform_wrapper .terms-check input {
    vertical-align: top !important;
}

/* for terms/cond checkbox */
.using-placeholders label {
    display: none !important;
}

.using-placeholders .show-label label {
    display: block !important;
}

.using-placeholders .ginput_container_checkbox li label,
.using-placeholders .ginput_container_radio li label {
    display: block !important;
}

.gform_wrapper .using-placeholders .datepicker {
    width: 40% !important;
}

.gform_wrapper .using-placeholders .gf_left_half .datepicker,
.gform_wrapper .using-placeholders .gf_right_half .datepicker {
    width: 90% !important;
}

.ginput_container.ginput_container_fileupload {
}

.gform_wrapper .gsection {
    margin: 20px 0 !important
}

.gform_wrapper .gform_footer {
    padding: 0 16px 0 0 !important;
    margin-top: 0 !important;
}

/* sub labels */
.gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_above div[class*=gfield_date_].ginput_container label, .gform_wrapper .field_sublabel_above div[class*=gfield_time_].ginput_container label, .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_date_].ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label, .gform_wrapper .description, .gform_wrapper .gfield_description, .gform_wrapper .gsection_description, .gform_wrapper .instruction, .gform_fileupload_rules {
    font-size: 13px !important;
}

.gform_fileupload_rules {
    font-style: italic;
}

/* submit button {} */
.gform_wrapper input.gform_button { /*margin-top:20px !important;*/
    background: var(--color-light-blue);
    line-height: 1em !important;
    font-size: 18px !important;
    color: var(--color-white);
    padding: 15px 40px 13px 40px !important;
    text-align: center;
    position: relative;
    margin-bottom: 20px;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: color 0.2s linear;
    transition: all 0.2s linear;
}

/* make larger buttons by default for general forms */
.gform_wrapper input.gform_button:hover {
    background: var(--primary-color);
}

/* ready classes are somewhat broken on errors */
.p-content .gform_wrapper .top_label li.gfield.gfield_error.gf_left_half {
    padding-right: 16px !important;
    margin-right: 0 !important;
    width: 50% !important
}

/* let's tweak right aligned labels */
body .gform_wrapper ul.gform_fields:not(.top_label) li:not(.gf_list_inline) .gfield_label {
    margin-bottom: 0;
}

/* let's tweak clearing */
body .gform_wrapper ul li.gfield::after {
    content: "";
    display: table;
    clear: both;
}


@media only screen and (max-width: 767px) {
    .gf_left_half, .gf_right_half {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
    }

    body .gform_wrapper .top_label li.gfield.gfield_error.gf_left_half {
        width: 100% !important
    }

    body .gform_wrapper ul li.field_description_below div.ginput_container_checkbox, body .gform_wrapper ul li.field_description_below div.ginput_container_radio {
        margin-top: 0 !important;
    }

    /* submit button {} */
    body .gform_wrapper input.gform_button {
        width: 100% !important;
    }

    .gform_wrapper .gform_footer {
        margin-top: 16px !important;
        padding-right: 0 !important;
    }

    body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
        line-height: 1;
    }

    /* for some reason this being set to 2 in default which makes text boxes look weird */
    body .gform_wrapper.gf_browser_chrome .gform_body {
        width: 100%
    }

    /* its setting the form larger than container with a calc, so lets reset */
}

/* 10.2 BASE WORDPRESS GALLERY STYLES */
/* lets add some base WP gallery styles just in case */
.gallery {
    margin-bottom: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    padding: 0 10px 10px 0;
}

.gallery-item img {
    margin: 0;
}

.gallery-columns-2 .gallery-item {
    max-width: 50%;
}

.gallery-columns-3 .gallery-item {
    max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
    max-width: 25%;
}

.gallery-columns-5 .gallery-item {
    max-width: 20%;
}

.gallery-columns-6 .gallery-item {
    max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
    max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
    max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
    max-width: 11.11%;
}

.gallery-caption {
    display: block;
}

/* LAZY YT */
.lazyYT-container {
    position: relative;
    display: block;
    height: 0;
    padding: 0 0 56.25% 0;
    background-color: #000000;
}

.lazyYT-container iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.ytp-thumbnail {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 12;
    cursor: pointer;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    -moz-transition: opacity .5s cubic-bezier(0.0, 0.0, 0.2, 1);
    -webkit-transition: opacity .5s cubic-bezier(0.0, 0.0, 0.2, 1);
    transition: opacity .5s cubic-bezier(0.0, 0.0, 0.2, 1);
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.lazyYT-image-loaded .ytp-spinner {
    display: none;
}

.ytp-thumbnail button.ytp-button {
    visibility: hidden;
}

.ytp-thumbnail.lazyYT-image-loaded button.ytp-button {
    visibility: visible;
}

.ytp-button:focus,
.ytp-button {
    border: none;
    outline: 0;
    color: inherit;
    text-align: inherit;
    font-size: 100%;
    font-family: inherit;
    cursor: default;
    line-height: inherit; /*  margin: 0; */
    padding: 0;
    background: transparent;
}

.ytp-large-play-button {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 68px;
    height: 48px;
    margin-left: -34px;
    margin-top: -24px;
    -moz-transition: opacity .25s cubic-bezier(0.0, 0.0, 0.2, 1);
    -webkit-transition: opacity .25s cubic-bezier(0.0, 0.0, 0.2, 1);
    transition: opacity .25s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.ytp-button:not([aria-disabled=true]):not([disabled]):not([aria-hidden=true]) {
    cursor: pointer;
}

.ytp-large-play-button-bg {
    -moz-transition: fill .1s cubic-bezier(0.4, 0.0, 1, 1), opacity .1s cubic-bezier(0.4, 0.0, 1, 1);
    -webkit-transition: fill .1s cubic-bezier(0.4, 0.0, 1, 1), opacity .1s cubic-bezier(0.4, 0.0, 1, 1);
    transition: fill .1s cubic-bezier(0.4, 0.0, 1, 1), opacity .1s cubic-bezier(0.4, 0.0, 1, 1);
    fill: #1f1f1f;
    opacity: .9
}

.ytp-thumbnail:hover .ytp-large-play-button-bg {
    -moz-transition: fill .1s cubic-bezier(0.0, 0.0, 0.2, 1), opacity .1s cubic-bezier(0.0, 0.0, 0.2, 1);
    -webkit-transition: fill .1s cubic-bezier(0.0, 0.0, 0.2, 1), opacity .1s cubic-bezier(0.0, 0.0, 0.2, 1);
    transition: fill .1s cubic-bezier(0.0, 0.0, 0.2, 1), opacity .1s cubic-bezier(0.0, 0.0, 0.2, 1);
    fill: #cc181e;
    opacity: 1
}

.video-time {
    position: absolute;
    right: 2px;
    bottom: 2px;
    height: 14px;
    padding: 0 4px;
    font-family: Arial, Helvetica, Sans-serif;
    font-size: 11px;
    font-weight: bold;
    line-height: 14px;
    color: var(--color-white) !important;
    background-color: #000;
    opacity: .75;
    filter: alpha(opacity=75);
    zoom: 1;
}

/* Some FANCYBOX 2.1.7 overwrites */
body .fancybox-title-float-wrap .child {
    border-radius: 0;
}

body .fancybox-skin {
    border-radius: 0;
}


/*-----------------------------------------------------------------------------------*/
/*	8.	Custom Media Query Items different from foundation */

@media only screen and (max-width: 1279px) {
    /* soon as screen smaller than full width slide */

}

@media only screen and (max-width: 1064px) {
    /* soon as screen smaller than full width content */

}

@media only screen and (max-width: 1050px) {
    .home-link {
        display: none;
    }
}

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

}

@media only screen and (max-width: 1023px) {
    /* portrait mode on tablet up to landscape mode on ipad */
    .sidebar .quick-links {
        padding-right: 16px;
    }
}

@media only screen and (max-width: 900px) {
    .sidebar .quick-links a {
        font-size: 14px;
    }
}

@media only screen and (max-width: 800px) {
    /* android and some tablet portrait resolution */
    .home-hero .hero-content {
        top: 22%
    }

    .quick-links {
        background: none;
    }

}

@media only screen and (max-width: 768px) {
    /* medium - anything below portrait and below mode on tablet*/
    .site-logo {
        padding-top: 0;
    }
}

@media only screen and (max-width: 767px) {
    /* for small tablets and sIII */
    .alignleft, .alignright, .aligncenter, .alignnone, .wp-caption.alignleft, .wp-caption.alignright, .wp-caption.aligncenter {
        float: none;
        margin: 0 auto 1.6em auto;
    }

    .content-bar-xl {
        padding: 60px 0;
    }

    .content-bar-l {
        padding: 40px 0;
    }

    .content-bar {
        padding: 20px 0;
    }

    figcaption {
        margin-bottom: 10px;
    }

    /* head */
    .site-header {
        padding-top: 10px;
    }

    .gtranslate, .head-login {
        display: none;
    }

    .gtranslate {
        text-align: center;
        margin: 15px auto;
    }

    /* turning off login link from sub nav and translate */
    .head-sub-nav li.gen-search {
        margin-right: 0;
    }

    /* home */
    .home-hero {
        background: var(--color-white);
    }

    .home-hero .row.row-large .columns {
        padding: 0
    }

    .home-hero img {
        margin-bottom: 20px;
    }

    .hero-social {
        display: none;
    }

    .home-hero .hero-content {
        display: block;
        text-align: center;
        position: static;
        color: #4e4e4e;
        padding: 0 16px;
    }

    .home-hero .hero-content {
    }

    /*.flex-carousel, .flex-carousel .flex-prev, .flex-carousel .flex-next {display:none;}*/
    /* gen */
    .two-column-page.left-column .main-content-wrap > .row {
        background: none;
    }

    .two-column-page article.p-content {
        padding-left: 0;
    }

    .sidebar {
        background: #f5f5f5;
    }

    .sidebar .quick-links a {
        font-size: 16px;
    }

    .p-content .button {
        margin-bottom: 1.6em;
        display: block;
    }

    .p-content td.vertme {
        display: block;
        padding: 3px 0;
    }

    /* testimonial */
    .feat-testi .testi-content {
        padding-left: 20px;
    }

    .testimonial img {
        margin: 10px auto 0 auto;
        float: none;
        max-width: 200px;
    }

    /* our team page */
    .feat-member .row {
        max-width: 345px !important;
        margin: 0 auto !important;
    }

    .team-members .block-grid.mobile li {
        max-width: 345px;
        margin: 0 auto;
        padding: 0 0 16px 0 !important;
    }

    .team-member .mem-content {
        padding: 20px
    }

    /* contact */
    .contact-page-info img {
        padding-top: 0;
        max-width: 200px;
        margin: 0 auto 20px auto;
    }

    /* woocommerce */
    body .entry-summary .gform_wrapper ul.gform_fields:not(.top_label) li:not(.gf_list_inline) .gfield_label {
        top: 0;
    }

    .shop-sidebar .three.columns {
        padding: 0 16px;
    }

    .foot-nav {
        text-align: center;
    }

    /* foot */
    body .foot-logo img {
        max-width: 260px;
        margin: 0 auto
    }

    .foot-social {
        text-align: center;
    }

    .foot-nav ul.menu {
        gap: 10px 30px;
    }

    .foot-nav ul.menu > li {
        flex-basis: calc(50% - 15px);
        padding: 0;
    }
}

@media only screen and (max-width: 600px) {
    /* some small tablets */
    #wpadminbar {
        top: -46px !important;
    }
}

@media only screen and (max-width: 540px) {
    /* landscape mode on medium phones */
    .site-logo {
        top: 0;
    }

    .site-logo img {
        width: 200px;
        height: 48px;
    }
}

@media only screen and (max-width: 320px) {
    /* small phone portrait */
    .site-logo img {
        width: 170px;
        height: auto;
    }

}

/* retina specific images */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {

}

/*-----------------------------------------------------------------------------------*/
/*	12. Foundation Grid
/*----------------------------------------------------------------------------------- */
.row {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.row .row {
    width: auto;
    max-width: none;
    min-width: 0; /* margin: 0 -16px; */
}

.row.collapse .column, .row.collapse .columns {
    padding: 0;
}

.row .row.collapse, .row .row.no-collapse {
    margin-left: 0;
    margin-right: 0;
}

.row.nocollapse .column, .row.no-collapse .columns {
    padding: 0 16px;
}

.row.no-collapse .columns:first-child {
    padding-left: 0;
}

.row.no-collapse .columns:last-child {
    padding-right: 0;
}

.column, .columns {
    float: left;
    min-height: 1px;
    padding: 0 16px;
    position: relative;
}

.column.centered, .columns.centered {
    float: none;
    margin: 0 auto;
}

.one, .row .one {
    width: 8.33333%;
}

.two, .row .two {
    width: 16.66667%;
}

.three, .row .three {
    width: 25%;
}

.four, .row .four {
    width: 33.33333%;
}

.five, .row .five {
    width: 41.66667%;
}

.six, .row .six {
    width: 50%;
}

.seven, .row .seven {
    width: 58.33333%;
}

.eight, .row .eight {
    width: 66.66667%;
}

.nine, .row .nine {
    width: 75%;
}

.ten, .row .ten {
    width: 83.33333%;
}

.eleven, .row .eleven {
    width: 91.66667%;
}

.twelve, .row .twelve {
    width: 100%;
}

.row .offset-by-one {
    margin-left: 8.33333%;
}

.row .offset-by-two {
    margin-left: 16.66667%;
}

.row .offset-by-three {
    margin-left: 25%;
}

.row .offset-by-four {
    margin-left: 33.33333%;
}

.row .offset-by-five {
    margin-left: 41.66667%;
}

.row .offset-by-six {
    margin-left: 50%;
}

.row .offset-by-seven {
    margin-left: 58.33333%;
}

.row .offset-by-eight {
    margin-left: 66.66667%;
}

.row .offset-by-nine {
    margin-left: 75%;
}

.row .offset-by-ten {
    margin-left: 83.33333%;
}

.push-two {
    left: 16.66667%;
}

.pull-two {
    right: 16.66667%;
}

.push-three {
    left: 25%;
}

.pull-three {
    right: 25%;
}

.push-four {
    left: 33.33333%;
}

.pull-four {
    right: 33.33333%;
}

.push-five {
    left: 41.66667%;
}

.pull-five {
    right: 41.66667%;
}

.push-six {
    left: 50%;
}

.pull-six {
    right: 50%;
}

.push-seven {
    left: 58.33333%;
}

.pull-seven {
    right: 58.33333%;
}

.push-eight {
    left: 66.66667%;
}

.pull-eight {
    right: 66.66667%;
}

.push-nine {
    left: 75%;
}

.pull-nine {
    right: 75%;
}

.push-ten {
    left: 83.33333%;
}

.pull-ten {
    right: 83.33333%;
}

img, object, embed {
    max-width: 100%;
    height: auto;
}

object, embed {
    height: 100%;
}

img {
    -ms-interpolation-mode: bicubic;
}

/* Nicolas Gallagher's micro clearfix */
.row {
    *zoom: 1;
}

.row:before, .row:after {
    content: "";
    display: table;
}

.row:after {
    clear: both;
}

/* Block Grids ---------------------- */
.block-grid {
    display: block;
    overflow: hidden;
    padding: 0;
}

.block-grid > li {
    display: block;
    height: auto;
    float: left;
}

.block-grid.one-up {
    margin: 0;
}

.block-grid.one-up > li {
    width: 100%;
    padding: 0 0 15px;
}

.block-grid.two-up {
    margin: 0 -15px;
}

.block-grid.two-up > li {
    width: 50%;
    padding: 0 15px 15px;
}

.block-grid.two-up > li:nth-child(2n+1) {
    clear: both;
}

.block-grid.three-up {
    margin: 0 -12px;
}

.block-grid.three-up > li {
    width: 33.3333333%;
    padding: 0 12px 12px;
}

.block-grid.three-up > li:nth-child(3n+1) {
    clear: both;
}

.work-landing .block-grid.three-up > li:nth-child(3n+1) {
    clear: none;
}

/* for work landing page, messes up filtering results otherwise */
.block-grid.four-up {
    margin: 0 -10px;
}

.block-grid.four-up > li {
    width: 25%;
    padding: 0 10px 10px;
}

.block-grid.four-up > li:nth-child(4n+1) {
    clear: both;
}

.block-grid.five-up {
    margin: 0 -8px;
}

.block-grid.five-up > li {
    width: 20%;
    padding: 0 8px 8px;
}

.block-grid.five-up > li:nth-child(5n+1) {
    clear: both;
}

/* adjusting for full-size block grid */
.fullsize-block-grid > li {
    padding: 0 !important;
}

.fullsize-block-grid.three-up {
    margin: 0;
}

.phone-only {
    display: none;
}

.phone-plus, .tablet-plus {
    display: block;
}

/* Mobile Grid and Overrides ---------------------- */
@media only screen and (max-width: 900px) {
    .block-grid.tablet-two-up > li {
        width: 50%;
    }

    .block-grid.tablet-two-up > li:nth-child(2n+1) {
        clear: both;
    }
}

@media only screen and (max-width: 800px) {
    .tablet-plus {
        display: none;
    }

    .block-grid.tablet-two-up > li {
        width: 50%;
    }

    .block-grid.tablet-two-up > li:nth-child(2n+1) {
        clear: both;
    }
}

@media only screen and (max-width: 767px) {
    body {
        -webkit-text-size-adjust: none;
        -ms-text-size-adjust: none;
        width: 100%;
        min-width: 0;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .row {
        width: auto;
        min-width: 0;
        margin-left: 0;
        margin-right: 0;
    }

    .column, .columns {
        width: auto !important;
        float: none;
    }

    .column:last-child, .columns:last-child {
        float: none;
    }

    [class*="column"] + [class*="column"]:last-child {
        float: none;
    }

    .column:before, .columns:before, .column:after, .columns:after {
        content: "";
        display: table;
    }

    .column:after, .columns:after {
        clear: both;
    }

    .row.nocollapse .column, .row.no-collapse .columns {
        padding: 0;
    }

    .offset-by-one, .offset-by-two, .offset-by-three, .offset-by-four, .offset-by-five, .offset-by-six, .offset-by-seven, .offset-by-eight, .offset-by-nine, .offset-by-ten {
        margin-left: 0 !important;
    }

    .push-two, .push-three, .push-four, .push-five, .push-six, .push-seven, .push-eight, .push-nine, .push-ten {
        left: auto;
    }

    .pull-two, .pull-three, .pull-four, .pull-five, .pull-six, .pull-seven, .pull-eight, .pull-nine, .pull-ten {
        right: auto;
    }

    .column, .columns {
        padding: 0 24px; /* giving more space for content from edges */
    }

    .block-grid.mobile > li {
        float: none;
        width: 100%;
        margin-left: 0; /*display: block !important; */
    }

    .phone-only {
        display: block;
    }

    .phone-plus {
        display: none;
    }
}

@media only screen and (max-width: 500px) {
    .block-grid.mobile-two-up > li {
        width: 50%;
        padding: 0;
    }

    .block-grid.mobile-two-up > li:nth-child(2n+1) {
        clear: both;
    }

    .block-grid.three-up > li:nth-child(3n+1) {
        clear: none;
    }

    /* overwrite */
}

/*-----------------------------------------------------------------------------------*/
/*	10.	Print Styles
/*-----------------------------------------------------------------------------------
* inlined to avoid required HTTP connection www.phpied.com/delay-loading-your-print-css/
*/
@media print {
    body, input, textarea, select, table {
        color: #000;
        font: 12px/150% georgia, arial, sans-serif;
        background: var(--color-white);
    }

    h1, h2, h3, h4, h5, h6 {
        font-weight: bold;
        color: #000;
        font-family: helvetica, Arial;
        line-height: 1.4em;
    }
}


/* custom little adjustments for simple banner */
.simple-banner .simple-banner-text span {
    font-size: 16px;
    display: block;
    padding: 0 20px;
    line-height: 22px;
}

.shop-header-flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 30px;
}

.shop-intro {
    width: 100%;
}


.woocommerce h1 {
    font-size: 42px;
}

.woocommerce .shop-sorting {
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    font-weight: 500;
    margin-bottom: 30px;
}

@media only screen and (min-width: 767px) {
    .shop-intro {
        max-width: calc(100% - 300px);
    }

    .woocommerce .shop-sorting {
        max-width: 300px;
        margin-bottom: 0;
    }
}

.search-results .shop-intro {
    max-width: 100%;
}

.search-results .page-title {
    font-size: 30px;
}

.page-title .search-query {
    color: var(--primary-color);
    font-size: 36px;
}

.woocommerce .shop-sorting .woocommerce-ordering {
    margin-bottom: 0;
}

.woocommerce .shop-sorting::before {
    content: "Sort by:";
    font-size: 16px;
    color: #333;
}

.woocommerce .shop-sorting select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 10px 35px 10px 15px;
    border: 1px solid #bdc1c8;
    border-radius: 6px;
    font-size: 16px;
    cursor: pointer;
}

.shop-sorting form::after {
    content: "\f078";
    font-family: 'FontAwesome', serif;
    position: absolute;
    right: 15px;
    pointer-events: none;
    font-size: 16px;
    top: 50%;
    transform: translateY(-50%);
}

.woocommerce .shop-land .woocommerce-breadcrumb {
    font-size: 13px;
    padding: 12px 0;
    margin-bottom: 40px;
}

.woocommerce .shop-land .woocommerce-breadcrumb a {
    color: #007BFF;
}

.woocommerce .shop-land .woocommerce-breadcrumb a:hover {
    text-decoration: underline;
}

body.woocommerce ul.products li.product .price {
    color: #000;
    font-size: 15px;
    font-weight: 500;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: "Poppins", sans-serif;
}

body.woocommerce ul.products li.product .price ins {
    order: -1;
    color: #2B8B7F;
    font-weight: 500;
}

body.woocommerce ul.products li.product .price del {
    font-size: 12px;
    line-height: 1;
    opacity: 1;
    color: #555555;
}

body.woocommerce ul.products li.product .onsale {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary-color);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    text-transform: uppercase;
    text-align: center;
    font-size: 15px;
    top: 10px;
    left: 10px;
    margin-top: 0;
}

body.woocommerce nav.woocommerce-pagination ul li:last-child {
    border-radius: 0 4px 4px 0;
}

body.woocommerce nav.woocommerce-pagination ul li:first-child {
    border-radius: 4px 0 0 4px;
}

body.woocommerce nav.woocommerce-pagination {
    margin-top: 50px;
    margin-bottom: 30px;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
}

body.woocommerce nav.woocommerce-pagination ul {
    border-radius: 4px;
}

body.woocommerce nav.woocommerce-pagination ul li .page-numbers {
    min-width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 400;
    color: #6C757D;
}

body.woocommerce nav.woocommerce-pagination ul li .page-numbers.current {
    background-color: var(--primary-color);
    color: var(--color-white);
}

body.woocommerce nav.woocommerce-pagination ul li .page-numbers.prev,
body.woocommerce nav.woocommerce-pagination ul li .page-numbers.next {
    padding: 12px 16px;
}

div#customer_details .col-1 {
    margin-bottom: 30px;
}

@media (min-width: 768px) {
    form.checkout.woocommerce-checkout {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 20px;
    }

    div#customer_details {
        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: nowrap;
        width: 100%;
    }

    div#customer_details > div {
        float: none;
        width: 100%;
    }

    h3#order_review_heading {
        position: absolute;
        left: calc(50% + 8px);
    }

    #order_review {
        width: 100%;
        margin-top: 2em;
    }

    .woocommerce-checkout #payment div.payment_box .form-row {
        width: 100%;
    }

    .payment_box fieldset {
        margin-bottom: 0;
    }
}

@media (max-width: 386px) {
    .single-product button.single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed {
        margin-top: 1em;
    }
}

@media (max-width: 380px) {
    .single-product .wpo-options-container .wpo-field {
        width: 100%;
    }
}

.tax-video-resource-categories .video-resource-grid,
.post-type-archive-video-resources .video-resource-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.tax-video-resource-categories .video-resource-grid article,
.post-type-archive-video-resources .video-resource-grid article {
    width: 100%;
}

.tax-video-resource-categories .video-resource-categories ul.side-nav,
.post-type-archive-video-resources .video-resource-categories ul.side-nav {
    margin-right: 20px;
}

.tax-video-resource-categories .video-resource-categories ul.side-nav li a.active {
    font-weight: 700;
}

form#loginform label {
    display: block;
}

p.login-username {
    margin-bottom: 10px;
}

.page-template-page-table-of-products .gform_wrapper ul {
    list-style-type: none;
}

.page-template-page-table-of-products .wc-product-table .product .add-to-cart-wrapper a.button,
.page-template-page-table-of-products .wc-product-table-controls .wc-product-table-multi-form .button,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper button.single_add_to_cart_button {
    border-radius: 12px !important;
    font-size: 18px !important;
    font-family: Quattrocento Sans;
    font-weight: 700;
    font-style: Bold;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    background-color: #4473A8 !important;
    padding: 1.28em 2em !important;
}

.page-template-page-table-of-products .wc-product-table .wpt_variations_form .variations {
    display: none !important;
}

.page-template-page-table-of-products .wc-product-table-wrapper,
.page-template-page-table-of-products .dataTables_wrapper,
.page-template-page-table-of-products .wc-product-table,
.page-template-page-table-of-products .wc-product-table tbody,
.page-template-page-table-of-products .wc-product-table tr,
.page-template-page-table-of-products .wc-product-table td.col-buy {
    overflow: visible !important;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper.px-product-table-options:not(.px-table-options-open) .px-table-options-popover,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper.px-product-table-options:not(.px-table-options-open) .px-table-options-popover,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-popover[hidden],
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-popover[hidden] {
    display: none !important;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    position: relative;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper > form.cart,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper > form.wpt_variations_form,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper > form.cart,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper > form.wpt_variations_form {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-menu,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-menu {
    display: inline-flex;
    justify-content: flex-end;
    order: 10;
    position: relative;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-popover,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-popover {
    background: #fff;
    border: 1px solid #d8dee6;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(30, 45, 62, 0.18);
    box-sizing: border-box;
    max-height: min(68vh, 560px);
    min-width: 440px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 18px;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: min(680px, 82vw);
    z-index: 30;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-popover::before,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-popover::before {
    background: #fff;
    border-left: 1px solid #d8dee6;
    border-top: 1px solid #d8dee6;
    content: "";
    height: 12px;
    position: absolute;
    right: 32px;
    top: -7px;
    transform: rotate(45deg);
    width: 12px;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-popover .wpo-options-container,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-popover .wpo-options-container {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    max-height: none;
    min-width: 0;
    padding: 0;
    position: static;
    width: 100%;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .wpo-options-container .ip-wcpo-grouping-root,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .wpo-options-container .ip-wcpo-grouping-root {
    max-height: none;
    overflow: visible;
    padding-right: 4px;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .wpo-options-container select.hidden-select,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .wpo-options-container select.hidden-select {
    display: none !important;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .wpo-options-container .nice-select .nice-select-dropdown,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .wpo-options-container .nice-select .nice-select-dropdown {
    max-width: calc(100vw - 48px);
    overflow-x: hidden !important;
    z-index: 10000 !important;
}

.page-template-page-table-of-products .px-table-options-popover .nice-select:not(.open) .nice-select-dropdown {
    display: none !important;
}

.page-template-page-table-of-products .px-table-options-popover .nice-select.open .nice-select-dropdown {
    display: block !important;
    max-height: 220px;
    overflow-y: auto !important;
    width: auto !important;
    z-index: 10000 !important;
}

.page-template-page-table-of-products .px-table-options-popover .nice-select.open .nice-select-dropdown .list {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .ip-wcpo-section-body,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .ip-wcpo-section-body {
    gap: 12px 18px;
    justify-content: flex-start;
    min-width: 0;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .ip-wcpo-section-heading,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .ip-wcpo-section-heading {
    text-align: left;
    width: 100%;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-popover .wpo-option-name,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-popover .wpo-option-name__text,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-popover .wpo-choice-label,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-popover .wpo-option-name,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-popover .wpo-option-name__text,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-popover .wpo-choice-label {
    font-family: "Quattrocento", serif;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-popover .wpo-option-name__text,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-popover .wpo-option-name__text {
    font-size: 16px;
    font-weight: bold;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .ip-wcpo-section-sizing .wpo-field,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .ip-wcpo-section-modification .wpo-field,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .ip-wcpo-section-sizing .wpo-field,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .ip-wcpo-section-modification .wpo-field {
    flex: 1 1 calc(50% - 9px);
    max-width: calc(50% - 9px);
    min-width: 0;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .ip-wcpo-section-top .wpo-field,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .ip-wcpo-section-top .wpo-field {
    width: 100%;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .ip-wcpo-section-top .wpo-field-flex,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .ip-wcpo-section-top .wpo-field-flex {
    display: block;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .wpo-field-flex.wpo-field ul.wpo-choice-list,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .wpo-field-flex.wpo-field ul.wpo-choice-list {
    flex-wrap: wrap;
    gap: 14px !important;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .add-to-cart-button,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .variations_button,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .add-to-cart-button,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .variations_button {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .add-to-cart-button,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .single_variation_wrap,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .add-to-cart-button,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .single_variation_wrap {
    order: 20;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-unified-price,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-unified-price {
    order: 20;
    text-align: right;
    width: 100%;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .woocommerce-variation-price,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .woocommerce-variation-price {
    display: none !important;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .wpo-totals-container,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper #product_total_price,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .csp-hide-product-total,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .wpo-totals-container,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper #product_total_price,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .csp-hide-product-total {
    order: 21;
    text-align: right;
    width: 100%;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-qty-label,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-qty-label {
    order: 39;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .quantity,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .quantity {
    align-items: stretch;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 8px;
    display: inline-flex;
    margin: 0;
    order: 40;
    overflow: hidden;
    vertical-align: middle;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .button,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper button.single_add_to_cart_button,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .button,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper button.single_add_to_cart_button {
    order: 41;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-toggle,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-toggle {
    align-items: center;
    background-color: #fff !important;
    border: 1px solid #cfd6df;
    border-radius: 8px !important;
    color: #4473A8;
    cursor: pointer;
    display: inline-flex;
    font-family: Quattrocento Sans, sans-serif;
    font-size: 15px !important;
    font-weight: 700;
    gap: 8px;
    line-height: 1 !important;
    padding: 10px 14px !important;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-toggle::after,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-toggle::after {
    border-color: #4473A8 transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0;
    content: "";
    height: 0;
    width: 0;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper.px-table-options-open .px-table-options-toggle::after,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper.px-table-options-open .px-table-options-toggle::after {
    border-color: transparent transparent #4473A8;
    border-width: 0 4px 5px;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-toggle:hover,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-toggle:hover {
    background-color: #f5f8fb !important;
    border-color: #4473A8;
    color: #2f5f95;
}

.page-template-page-table-of-products .wc-product-table .product .add-to-cart-wrapper a.button,
.page-template-page-table-of-products .wc-product-table-controls .wc-product-table-multi-form .button {
    line-height: 0;
}

.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper input.qty,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper input.qty {
    color: #474e57;
    font-size: 16px;
    font-weight: 400;
    width: 50px;
    border: none !important;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    text-align: center;
    padding: 12px 0;
    -moz-appearance: textfield;
    background: transparent;
    margin: 0;
    height: auto;
    box-shadow: none !important;
    height: 62px;
}

.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper input.qty::-webkit-inner-spin-button,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper input.qty::-webkit-outer-spin-button,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper input.qty::-webkit-inner-spin-button,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .qty-minus,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .qty-plus,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .qty-minus,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .qty-plus {
    align-items: center;
    background: #fff !important;
    border: none;
    color: #555;
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    font-size: 20px !important;
    justify-content: center;
    line-height: 1 !important;
    padding: 0 !important;
    width: 40px;
}

.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .qty-minus:hover,
.page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .qty-plus:hover,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .qty-minus:hover,
.page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .qty-plus:hover {
    background: #f0f0f0 !important;
    color: var(--primary-color);
}

.page-template-page-table-of-products .wpo-options-container .wpo-field.ip-wcpo-field-wide .nice-select-dropdown span.wpo-choice-label span.ip-wide-price {
    color: #2B8B7F;
}

.page-template-page-table-of-products .wpo-options-container .wpo-field.ip-wcpo-field-wide .nice-select span.current span.wpo-choice-label span.ip-wide-price-wrap {
    display: none;
}

.page-template-page-table-of-products .wpo-options-container .wpo-field.ip-wcpo-field-wide span.ip-wcpo-tooltip {
    margin-left: auto;
}

.page-template-page-table-of-products .wc-product-table .wpo-options-container .wpo-field-products .remove,
.page-template-page-table-of-products .wc-product-table .wpo-options-container .wpo-remove-product,
.page-template-page-table-of-products .wc-product-table .wpo-options-container .wpo-selected-product-remove,
.page-template-page-table-of-products .wc-product-table .wpo-options-container button[class*="remove"],
.page-template-page-table-of-products .wc-product-table .wpo-options-container button[class*="delete"],
.page-template-page-table-of-products .wc-product-table .wpo-options-container button[aria-label*="Remove"],
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container .wpo-field-products .remove,
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container .wpo-remove-product,
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container .wpo-selected-product-remove,
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container button[class*="remove"],
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container button[class*="delete"],
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container button[aria-label*="Remove"] {
    align-items: center;
    background: #e8e8e8 !important;
    border: 1px solid #d5d5d5 !important;
    border-radius: 8px !important;
    color: #858585 !important;
    display: inline-flex;
    font-size: 0 !important;
    font-weight: 700;
    height: 34px;
    justify-content: center;
    line-height: 1 !important;
    min-width: 34px;
    padding: 0 !important;
    width: 34px;
}

.page-template-page-table-of-products .wc-product-table .wpo-options-container .wpo-field-products .remove::before,
.page-template-page-table-of-products .wc-product-table .wpo-options-container .wpo-remove-product::before,
.page-template-page-table-of-products .wc-product-table .wpo-options-container .wpo-selected-product-remove::before,
.page-template-page-table-of-products .wc-product-table .wpo-options-container button[class*="remove"]::before,
.page-template-page-table-of-products .wc-product-table .wpo-options-container button[class*="delete"]::before,
.page-template-page-table-of-products .wc-product-table .wpo-options-container button[aria-label*="Remove"]::before,
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container .wpo-field-products .remove::before,
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container .wpo-remove-product::before,
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container .wpo-selected-product-remove::before,
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container button[class*="remove"]::before,
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container button[class*="delete"]::before,
.page-template-page-table-of-products .wc-product-table-wrapper .wpo-options-container button[aria-label*="Remove"]::before {
    content: "\00d7";
    font-size: 20px;
    line-height: 1;
}

@media (max-width: 720px) {
    .page-template-page-table-of-products .wc-product-table .add-to-cart-wrapper .px-table-options-popover,
    .page-template-page-table-of-products .wc-product-table-wrapper .add-to-cart-wrapper .px-table-options-popover {
        left: auto;
        min-width: min(340px, 88vw);
        right: 0;
        width: min(520px, 88vw);
    }
}

.woocommerce-checkout .payment_method_ebizcharge label {
    display: ruby;
}

/* Side cart */
body.side-cart-open {
    overflow: hidden;
}

.side-cart-overlay {
    background: rgba(0, 0, 0, 0.45);
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9998;
}

.side-cart-overlay[hidden] {
    display: none;
}

.side-cart {
    background: #fff;
    bottom: 0;
    box-shadow: -8px 0 24px rgba(0, 0, 0, 0.18);
    max-width: 560px;
    overflow-y: auto;
    padding: 24px;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(100%);
    transition: transform 180ms ease;
    width: 90%;
    z-index: 999999;
}

body.side-cart-open .side-cart {
    transform: translateX(0);
}

.side-cart-header {
    align-items: center;
    border-bottom: 1px solid #d7d7d7;
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 14px;
}

.side-cart-header h2 {
    font-size: 24px;
    line-height: 1.2;
    margin: 0;
}

.side-cart-close {
    background: transparent;
    border: 0;
    color: #4372a7;
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
    padding: 4px;
}

.side-cart .widget_shopping_cart_content,
.side-cart .woocommerce-mini-cart {
    margin: 0;
}

.side-cart ul.cart_list,
.side-cart ul.product_list_widget {
    list-style: none;
    margin-left: 0;
}

.side-cart ul.cart_list li,
.side-cart ul.product_list_widget li {
    border-bottom: 1px solid #e5e5e5;
    min-height: 88px;
    padding: 12px 0 12px 92px !important;
    position: relative;
}

body .side-cart ul.cart_list li img,
body .side-cart ul.product_list_widget li img,
body.woocommerce .side-cart ul.cart_list li img,
body.woocommerce .side-cart ul.product_list_widget li img {
    background: #fff;
    border: 1px solid #e4ebf0;
    box-sizing: border-box;
    float: none !important;
    height: 56px !important;
    left: 26px;
    margin: 0 !important;
    object-fit: contain;
    padding: 4px;
    position: absolute;
    top: 12px;
    width: 56px !important;
}

.side-cart ul.cart_list li a,
.side-cart ul.product_list_widget li a {
    font-size: 16px;
    line-height: 1.25;
}

.side-cart ul.cart_list li > a:not(.remove),
.side-cart ul.product_list_widget li > a:not(.remove) {
    color: #0073aa;
    display: block;
    font-family: 'Libre Baskerville', serif;
    font-size: 18px;
    font-weight: 700;
    position: static !important;
}

.side-cart ul.cart_list li a.remove,
.side-cart ul.product_list_widget li a.remove {
    color: #b00000 !important;
    left: 0;
    position: absolute;
    top: 18px;
    z-index: 2;
}

.side-cart ul.cart_list li dl,
.side-cart ul.product_list_widget li dl {
    margin: 2px 0 6px;
    padding: 0 0 0 8px;
}

.side-cart ul.cart_list li dl dt,
.side-cart ul.product_list_widget li dl dt {
    clear: left;
    float: left;
    color: #526273;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 3px 1px 0;
    padding: 0;
}

.side-cart ul.cart_list li dl dd,
.side-cart ul.product_list_widget li dl dd {
    color: #263545;
    font-size: 12px;
    line-height: 1.15;
    margin: 0 0 1px;
    padding: 0;
}

.woocommerce .side-cart ul.cart_list li dl dd,
.woocommerce .side-cart ul.product_list_widget li dl dd {
    margin-bottom: 0;
}

.side-cart ul.cart_list li dl dd p,
.side-cart ul.product_list_widget li dl dd p {
    font-size: 12px;
    line-height: 1.15;
    margin: 0;
}

.side-cart .quantity {
    display: block;
    font-size: 12px;
    margin-top: 4px;
}

.side-cart ul.cart_list li.srs-cart-addon-item,
.side-cart ul.product_list_widget li.srs-cart-addon-item {
    background: #f8fbfd;
    margin-left: 10px;
    min-height: 56px;
    padding: 10px 0 10px 58px !important;
}

body .side-cart ul.cart_list li.srs-cart-addon-item img,
body .side-cart ul.product_list_widget li.srs-cart-addon-item img,
body.woocommerce .side-cart ul.cart_list li.srs-cart-addon-item img,
body.woocommerce .side-cart ul.product_list_widget li.srs-cart-addon-item img {
    height: 34px !important;
    left: 12px;
    opacity: 0.78;
    top: 12px;
    width: 34px !important;
}

.side-cart ul.cart_list li.srs-cart-addon-item > a:not(.remove),
.side-cart ul.product_list_widget li.srs-cart-addon-item > a:not(.remove) {
    color: #475766;
    font-family: "Quattrocento Sans", sans-serif;
    font-size: 13px;
    line-height: 1.2;
}

.side-cart ul.cart_list li.srs-cart-addon-item > a:not(.remove)::before,
.side-cart ul.product_list_widget li.srs-cart-addon-item > a:not(.remove)::before {
    color: #7f9cb1;
    content: "Add-on";
    display: none;
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 2px;
    text-transform: uppercase;
}

.side-cart ul.cart_list li.srs-cart-addon-item dl,
.side-cart ul.product_list_widget li.srs-cart-addon-item dl {
    border-left-color: #e2edf4;
}

.side-cart .widget_shopping_cart .total,
.side-cart .woocommerce-mini-cart__total {
    border-top: 3px double #ccc;
    font-size: 18px;
    margin-top: 18px;
    padding-top: 14px;
}

.side-cart .woocommerce-mini-cart__buttons {
    display: flex;
    gap: 12px;
}

.side-cart .woocommerce-mini-cart__buttons .button {
    background-color: var(--primary-color) !important;
    border-radius: 0 !important;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    font-family: inherit;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1em;
    margin-bottom: 0 !important;
    ortant: 42px;
    padding: 12px 18px 11px !important;
    text-align: center;
    width: auto;
}

.side-cart .woocommerce-mini-cart__buttons .button:hover {
    background-color: #2f5f92 !important;
    color: #fff !important;
}

.side-cart .woocommerce-mini-cart__buttons .button:last-child {
    margin-bottom: 0;
}

.side-cart .woocommerce-mini-cart__empty-message {
    font-size: 17px;
    margin: 0;
}

.side-cart dt.variation-Total,
.side-cart dd.variation-Total {
    display: none;
}

@media only screen and (max-width: 480px) {
    .side-cart {
        max-width: none;
        padding: 20px;
        width: 100%;
    }

    .side-cart ul.cart_list li,
    .side-cart ul.product_list_widget li {
        min-height: 96px;
        padding-left: 82px !important;
    }

    body .side-cart ul.cart_list li img,
    body .side-cart ul.product_list_widget li img,
    body.woocommerce .side-cart ul.cart_list li img,
    body.woocommerce .side-cart ul.product_list_widget li img {
        height: 50px !important;
        left: 18px;
        width: 50px !important;
    }

    .side-cart ul.cart_list li.srs-cart-addon-item,
    .side-cart ul.product_list_widget li.srs-cart-addon-item {
        margin-left: 8px;
        padding-left: 58px !important;
    }

    body .side-cart ul.cart_list li.srs-cart-addon-item img,
    body .side-cart ul.product_list_widget li.srs-cart-addon-item img,
    body.woocommerce .side-cart ul.cart_list li.srs-cart-addon-item img,
    body.woocommerce .side-cart ul.product_list_widget li.srs-cart-addon-item img {
        height: 34px !important;
        width: 34px !important;
    }
}

body.woocommerce-cart table.shop_table.cart tr td.actions button {
    padding: 10px 12px !important;
}


.single-product .wpo-options-container .wpo-field.ip-wcpo-field-wide .nice-select-dropdown span.wpo-choice-label span.ip-wide-price {
    color: #2B8B7F;
}
.single-product .wpo-options-container .wpo-field.ip-wcpo-field-wide .nice-select span.current span.wpo-choice-label span.ip-wide-price-wrap {
    display: none;
}

.single-product .wpo-options-container .wpo-field.ip-wcpo-field-wide span.ip-wcpo-tooltip {
    margin-left: auto;
}

.single-product div.product form.cart:not(.variations_form) .wpo-options-container {
    width: 100%;
}
.page-template-page-table-of-products .wc-product-table .ip-wcpo-section .wpo-option-name {
    margin-bottom: unset;
}

div#gform_wrapper_5 {
    border: 1px solid #ccc;
    padding: 1em;
    background: #FAFAFA;
}

#gform_5 h3 {
    text-align: center;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #ccc;
}

.ginput_container.ginput_container_fileupload #input_5_1 {
    padding: 1em;
    border: 1px solid #ccc;
    width: auto;
}

div#field_5_6, div#field_5_5 {
    width: 100%;
    display: inline-block;
    grid-column: span 6;
}

@media only screen and (max-width: 768px) {
    div#field_5_6, div#field_5_5 {
        grid-column: 1 / -1;
    }
}
