/*
Theme Name: Clearspecs Showerspecs 2025
Theme URI: https://showerspecs.com
Description: Clearspecs Showerspecs 2025
Author: HeliumStudio
Author URI: https://heliumstudio.com
Version: 2.0
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

@font-face {
  font-family: 'FontAwesome';
  src: url("fonts/fontawesome/fontawesome-webfont.eot?v=4.2.0");
  src: url("fonts/fontawesome/fontawesome-webfont.eot?#iefix&v=4.2.0") format("embedded-opentype"), url("fonts/fontawesome-webfont.woff?v=4.2.0") format("woff"), url("fonts/fontawesome/fontawesome-webfont.ttf?v=4.2.0") format("truetype"), url("fonts/fontawesome/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular") format("svg"); }

/* ==========================================

    HTML5 Reset

========================================== */

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,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,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;}body{line-height:1}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:60%;line-height: initial;}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important}

body.logged-in > header { margin-top: 32px; }
	@media screen and (max-width: 1200px) {
		body.logged-in > header {
			margin-top: revert;
			}
		}



/* ==========================================

    Layout

========================================== */

html { font-size: 62.5%; overflow-x: hidden}
body {
	font-size: 1.6rem;
	line-height: 19px;
	background: #ffffff;
	color: #2F2F2F;
	font-family: 'gotham', 'Montserrat', sans-serif;
	-webkit-font-smoothing: antialiased;
	width: 100%;
	overflow-x: hidden;
}

::selection {
    background: #000;
    color: #fff;
}
::-moz-selection {
    background: #000;
    color: #fff;
}

.row {
	max-width: 1440px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	*zoom: 1;
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
}
.row:before,
.row:after { content: normal; display: table; }
.row:after { clear: both; }
.row.full { max-width: 100% !important; padding: 0;}

.inner { width: 100%;}

img {
	width: 100%;
	height: auto;
}
.panel img {
    width: revert;
}

.bg-white {
	background-color: #ffffff !important;
}
.bg-light-green {
	background-color: #e9f4f0 !important;	
}
.bg-green {
	background-color: #D3E2DE !important;
}
.bg-light-gray,
.bg-gray {
	background-color: #ececeb !important;
}
.bg-light-blue {
	background-color: #D4E1F4 !important;
}

.desktop {
	display: content;
}
.mobile {
	display: none;
	visibility: hidden;
}
@media screen and (max-width: 760px) {
	.desktop {
		display: none;
	}
	.mobile {
		display: unset;
		visibility: unset;
	}
}
/* ==========================================

    Fonts

========================================== */

h1 {
	font-size: 6rem;
	line-height: 62px;
	font-weight: 300;
	color: #2F2F2F;
	font-family: 'quincy-cf', 'Libre Baskerville', serif;
	margin: 10px 0;
	word-break: keep-all;
	letter-spacing: -1px;
}

h2 {
    font-size: 4.6rem;
    line-height: 48px;
	font-weight: 300;
	color: #2F2F2F;
	font-family:  'quincy-cf', 'Libre Baskerville', serif;
	margin: 10px 0;
	word-break: keep-all;
}

h3 {
	font-size: 2.0rem;
	line-height: 22px;
	color: #2F2F2F;
	font-family: 'gotham', 'Montserrat', sans-serif;
	margin: 10px 0;
	font-weight: 400;
}

h4 {
	font-size: 1.8rem;
	line-height: 21px;
	color: #2F2F2F;
	font-family:  'quincy-cf', 'Libre Baskerville', serif;
	margin-bottom: 30px;
}

h5 {
	font-size: 1.7rem;
	line-height: 19px;
	color: #2F2F2F;
	font-family:  'quincy-cf', 'Libre Baskerville', serif;
}


p {
	font-size: 2rem;
	line-height: 26px;
	color: #2F2F2F;
	font-family: 'quincy-cf', 'Libre Baskerville', serif;
	font-weight: 400;
	margin-bottom: 20px;
}
a {
	color: #2F2F2F;
}
a:hover {
	color: #444444;
}
em, i {
    font-weight: 400;
	font-style: italic;
}
strong, b {
	font-weight: 600;
}
.middle {
    margin: 40px 0 40px 0;
	align-self: center;
	display: inline-block;
}
@media screen and (max-width: 940px) {
		.middle {
		    margin:  0;
		}
	}

@media screen and (max-width: 760px) {
	h1 {
		font-size: 4rem;
		line-height: 42px;
	}
	h2 {
		font-size: 2.6rem;
		line-height: 28px;
	}
	h3 {
		font-size: 1.7rem;
		line-height: 20px;
	}
}

/* ==========================================

    Header

========================================== */

header#site-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	padding: 0;
	transition: all .5s;
	background-color: #D4E1F4;
}
.row.header-bar {
    min-height: 90px;
	margin: 0 20px;
	-webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
}
.row.header-bar.scroll {
    min-height: 60px;
}
#logo-container {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	display: flex;
	justify-content: left;
	align-self: center;
}
img#logo {
	-webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
}
img#logo:hover {
	opacity: .5;
}

@media screen and (max-width: 1200px) {
	#logo-container {
		    display: flex;
		    align-items: center;
		    justify-content: center;
			margin-left: 35px;
		}
	}

header#site-header #logo {
    max-width: 330px;
    -webkit-transition: linear .3s;
	-moz-transition: linear .3s;
	-ms-transition: linear .3s;
	-o-transition: linear .3s;
	transition: linear .3s;
	margin: 5px 0;
}

header#site-header.scroll {
	box-shadow: 0 0px 20px rgba(0,0,0,.1);
	min-height: 40px;
}

header#site-header .header-bar.scroll #logo {
    max-width: 200px;
	padding: 0 0 10px 0;
    -webkit-transition: linear .3s;
	-moz-transition: linear .3s;
	-ms-transition: linear .3s;
	-o-transition: linear .3s;
	transition: linear .3s;
	top: 14px;
}

/* alert */

#alert {
    background-color: #bdc9da;
    color: #2F2F2F;
    text-align: center;
    font-size: 1.6rem;
	font-weight: 600;
    display: block;
	z-index: 1000;
    padding: 10px 10px;
}
.alert-text p {
	color: #2F2F2F;
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 0;
}
.alert-text a {
	color: #2F2F2F;
	font-weight: 700;
	margin-bottom: 0;
}
.alert-text a:hover {
	text-decoration: none;
}
/*.has-alert {
    margin-top: 46px;
}*/


/* ghost */

#ghost-header {
    position: relative;
    width: 100%;
    height: 90px;
    -webkit-transition: linear .6s;
	-moz-transition: linear .6s;
	-ms-transition: linear .6s;
	-o-transition: linear .6s;
	transition: linear .6s;
}
#ghost-header.sticky {
    opacity: 1;
	height: 90px;
}



/* ------------------------------------------

    Navigation

------------------------------------------ */

#main-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
}
#main-nav a {
	font-size: 14px;
	font-size: 1.4rem;
	font-family: 'gotham', 'Montserrat', sans-serif;
	font-weight: 600;
	letter-spacing: 1px;
	display: inline-block;
	text-decoration: none;
	padding: 0 20px;
	text-transform: uppercase;
	position: relative;
	color: #2F2F2F;
	margin: 15px 0;
}
#main-nav .current_page_item a,
#main-nav .current-menu-ancestor a,
#main-nav .current-menu-parent a {
    color: #2F2F2F;
}
#main-nav .current_page_item a:after {
	content: "";
	height: 1px;
	width: calc(100% - 50px);
	margin-left: 25px;
	background-color: #2F2F2F;
	position: absolute;
	bottom: -8px;
	left: 0;
}
#main-nav ul {
	display: flex;
	white-space: nowrap;
}
header#site-header.scroll #main-nav   {
	top: 20px;
	-webkit-transition: linear .3s;
	-moz-transition: linear .3s;
	-ms-transition: linear .3s;
	-o-transition: linear .3s;
	transition: linear .3s;
}
nav#main-nav ul > li:hover::after {
	margin-left: -20px;
	width: 40px;
}

nav#main-nav ul.sub-menu {
	background-color: #2F2F2F;
    position: absolute;
    display: none;
    padding: 0 10px 10px 10px;
    width: auto;
	min-width: 200px;
    white-space: nowrap;
    box-shadow: 0 2px 4px 0 rgb(0 0 0 / 50%);
    z-index: 10;
}

nav#main-nav ul > li:hover > ul {
	display: block;
}



header#site-header.scroll #main-nav a {
	color: #2F2F2F;
}
#main-nav a:hover,
header#site-header.scroll #main-nav a:hover {
	color: #4A6E7D;
	-webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
}
nav#main-nav ul.sub-menu li a,
header#site-header.scroll nav#main-nav ul.sub-menu li a {
	padding: 6px 5px;
	font-family: 'gotham', 'Montserrat', sans-serif;
	text-transform: uppercase;
	color: #2F2F2F;
}
nav#main-nav ul.sub-menu a,
header#site-header.scroll nav#main-nav ul.sub-menu li a {
	margin-bottom: 0;
}
nav#main-nav ul.sub-menu a::after {
    content: none;
}
.cart-icon {
    top: -2px;
    font-size: 2rem!important;
    cursor: pointer;
    text-align: center;
	display: flex;
    text-align: center;
    align-items: center;
}
.cart-icon a {
   color: #2F2F2F;
   text-decoration: none;
	-webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
}
.cart-icon a:hover {
    color: #4A6E7D;
}
	@media screen and (max-width: 1200px) {
	.cart-icon {
	     margin: 0 0 0 10px;
		}
	}


/* ------------------------------------------
    Mobile Nav
------------------------------------------ */

#nav-trigger {
  display: none;
  position: absolute;
  cursor: pointer;
  padding: 0;
  width: 28px;
  height: 20px;
  z-index: 9999;
  top: 35px;
  left: 0;
}
#nav-trigger #hamburger-top,
#nav-trigger #hamburger-mid,
#nav-trigger #hamburger-btm {
  height: 3px;
  background-color: #2F2F2F;
  width: 28px;
  display: block;
  position: absolute;
  border-radius: 3px;
  left: 0;
  transition: all .3s;
}
#nav-trigger #hamburger-top { top: 0;}
#nav-trigger #hamburger-mid { top: 8px;}
#nav-trigger #hamburger-btm { top: 16px;}
#nav-trigger.triggered #hamburger-top,
#nav-trigger.triggered #hamburger-mid,
#nav-trigger.triggered #hamburger-btm {
  background-color: #2F2F2F;
}
html.csstransforms #nav-trigger.triggered #hamburger-top {
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  top: 8px;
}
html.csstransforms #nav-trigger.triggered #hamburger-btm {
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  top: 8px;
}
html.csstransforms #nav-trigger.triggered #hamburger-mid { 
	opacity: 0;
}

#mobile-nav {
	display: none;
	width: 100%;
	position: relative;
	background-color: #D4E1F4;
}
#mobile-nav nav {
	display: none;
}
#mobile-nav nav .sub-menu {
  display: none;
  overflow: hidden!important;
}
#mobile-nav ul.sub-menu {
	background-color: #5a8995;
}
li.mnav-trigger > a::after  {
    content: url(images/icon_menu-arrow-down.svg);
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 30px;
    height: 30px;
	margin-top: -10px;
    position: absolute;
    right: 48px;
    transition: all .5s;
	-webkit-transform-origin: 50% 50%;
	-moz-transform-origin: 50% 50%;
	-ms-transform-origin: 50% 50%;
	-o-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}
li.mnav-trigger.open > a::after {
    transform: rotate(180deg);
    right: 28px;
}
#mobile-nav a {
	font-size: 16px;
	font-size: 1.6rem;
	font-family: 'gotham', 'Montserrat', sans-serif;
	font-weight: 600;
	display: block;
	color: #2F2F2F;
	padding: 25px 40px;
	transition: background-color .5s;
	text-decoration: none;
	text-transform: uppercase;
	position: relative;
	margin-bottom: 0;
}

#mobile-nav a:hover {
	background-color: #bdc9da;
}
#mobile-nav li.btn.sm a {
	letter-spacing: normal;
	border-radius: 0;
	line-height: normal;
	border: none;
	margin: 0;
}
#mobile-nav ul, #mobile-nav ol {
	margin: 0;
}

@media screen and (max-width: 1200px) {
	header#site-header {
	    position: relative!important;
		background-color: #D4E1F4;
	}
	header#site-header #logo {
	    max-width: 240px;
	}
	#main-nav {
		display: none;
	}
	#mobile-nav,
	#nav-trigger {
		display: block;
	}
	.row {
		max-width: 100%
	}
	.row.block-wrap {
		max-width: 80%;
	}
    #ghost-header {
		display: none;
    }
}

@media screen and (max-width: 880px) {
	.row.header-bar {
		min-height: 60px;
	}
	header#site-header #logo {
	    max-width: 180px;
	}
	#nav-trigger {
	    top: 20px;
	}
}

@media screen and (max-width: 600px) {
	header#site-header {
	}

}

/* ==========================================

    Animate

========================================== */

/* The animation code */
@keyframes fadein {
    from {opacity: 0;}
    to {opacity: 1;}
}

.home-intro,
product-image img {
    animation-name: fadein;
    animation-duration: 2s;
}



/* ========================================== 

	 Page Title

========================================== */

img.pre-header-logo {
    max-width: 800px;
    padding: 40px;
	margin-top: 50px;
}

.header-panel {
	height: 630px;
}
.header-wrap {
	padding: 0 20px;
	z-index: 1;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: left;
}
.header-wrap h1 {
    font-size: 7.6rem;
    line-height: 80px;
	font-family: 'quincy-cf', 'Libre Baskerville', serif;
    font-weight: 300;
    margin-bottom: 0;
	letter-spacing: -1px;
}
.header-wrap.light h1 {
    color: #ffffff;
}
.header-wrap p {
    font-size: 2rem;
    line-height: 22px;
    color: #4A6E7D;
	font-weight: 500;
    margin-top: 20px;
}

	@media screen and (max-width: 1200px) {
		.header-panel {
			height: 500px;
			margin-top: 0;
		}
		img.pre-header-logo {
			margin-top: 0;
		}
	}
	@media screen and (max-width: 860px) {
		.header-panel {
			height: 340px;
			margin-top: 0;
		}
		.header-wrap h1 {
		    font-size: 4.4rem;
			line-height: 46px;
		}
		.header-wrap p {
		    font-size: 1.9rem;
		    line-height: 22px;
		}
	}

/* ==========================================
    FLEX PANELS
========================================== */

.narrow {
    max-width: 1040px;
}
.narrower {
    max-width: 840px;
}


/* ------------------------------------------
    LANDER HERO (W/LOGOS) PANEL
------------------------------------------ */

.lander-hero-panel {
    position: relative;
    overflow: hidden;
}
.lander-hero-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0.8), transparent);
    z-index: 1;
    pointer-events: none;
}
.row.lander-hero-wrap {
    padding: 40px 60px;
    justify-content: left;
    z-index: 2;
}
.row.lander-hero-wrap .inner {
	max-width: 500px;
	text-align: center;
}
.lander-hero-wrap h1 {
    font-size: 66px;
    font-size: 6.6rem;
    line-height: 68px;
    font-weight: 300;
    color: #2F2F2F;
    margin: 0 0 20px 0;
    word-break: keep-all;
}
.lander-hero-wrap h2 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 30px;
    font-weight: 300;
    color: #2F2F2F;
    margin: 0 0 20px 0;
    word-break: keep-all;
}
.lander-hero-button {
	text-align: center;
}
.lander-hero-button a {
	text-transform: uppercase;
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "Montserrat Medium", sans-serif;
    font-weight: 800;
    padding: 12px 40px;
    display: inline-block;
    color: #2F2F2F;
    background-color: #D3E2DE !important;
    text-decoration: none;
    display: inline-block;
    transition: all .5s;
    line-height: 18px;
    border: none;
    margin-bottom: 20px;
    border-radius: 30px;
}
.lander-hero-button a:hover {
    color: #D3E2DE;
    background-color: #2F2F2F !important;
    text-decoration: none;
}
.logo-repeater-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 15px;
    justify-items: center;
    align-items: center; 
}
.logo-image-block {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: auto;
}

@media screen and (max-width: 860px) {
	.row.lander-hero-wrap {
	    padding: 30px 20px;
	    justify-content: left;
	    z-index: 2;
	}
	.row.lander-hero-wrap .inner {
	    max-width: 60%;
	    text-align: left;
	}
	.lander-hero-wrap h1 {
	    font-size: 50px;
	    font-size: 5rem;
	    line-height: 52px;
		margin-bottom: 10px;
	}
	.lander-hero-wrap h2 {
	    font-size: 26px;
	    font-size: 2.6rem;
	    line-height: 26px;
	}
	
	.lander-hero-wrap h2 {
	    font-size: 22px;
	    font-size: 2.2rem;
	    line-height: 24px;
	}
	
	.lander-hero-button a {
	    text-align: center;
	    display: block;
		margin: 30px 20px 0 20px;
	}
	.logo-repeater {
		padding: 0 20px 30px 20px;
	}
}
@media screen and (max-width: 768px) {
	.lander-hero-wrap h1 {
	    font-size: 42px;
	    font-size: 4.2rem;
	    line-height: 44px;
	}
	.lander-hero-wrap h2 {
	    font-size: 20px;
	    font-size: 2.2rem;
	    line-height: 24px;
	}
	.logo-repeater-wrapper {
	    gap: 0 5px;
	}
	.logo-image-block {
	    width: 80px;
	}
}
@media screen and (max-width: 500px) {
	.row.lander-hero-wrap .inner {
	    max-width: 70%;
	}
	.lander-hero-panel::before {
	    background: rgba(255, 255, 255, .3);
	}
}

/* ------------------------------------------
    HOME HERO PANEL
------------------------------------------ */

.hero-panel.row.full {
	padding: 20px 40px 20px 40px;
	text-align: center;
	height: 800px;
}
.hero-panel h1 {
	font-size: 8rem;
	line-height: 80px;
	font-weight: 300;
	color: #2F2F2F;
	word-break: keep-all;
    letter-spacing: -1px;
	margin: 80px 0 0 0;
}
.hero-panel h2 {
	font-size: 38px;
	font-size: 3.8rem;
	line-height: 38px;
}

	@media screen and (max-width: 1200px) {
		.hero-panel.row.full {
			height: 600px;
		}
		.hero-panel h1 {
			margin: 40px 0 10px 0;
		}
	}
	@media screen and (max-width: 1040px) {
		.hero-panel.row.full {
			padding: 0 20px 20px 20px;
			height: 540px;
		}
		.hero-panel h1 {
			font-size: 6rem;
			line-height: 60px;
		}
		.hero-panel h2 {
			font-size: 2.4rem;
			line-height: 27px;
		}
	}
	@media screen and (max-width: 860px) {
		.hero-panel.row.full {
			height: 440px;
		}
		.hero-panel h1 {
			font-size: 5rem;
			line-height: 50px;
		}
	}

/* ------------------------------------------
    BASIC CONTENT / INTRO PANEL
------------------------------------------ */

.basic-panel.row.full {
	padding: 60px 40px;
}

.narrow-bottom-padding {
	padding-bottom: 20px !important;
}
.basic-wrap {
	flex-direction: column;
}
.basic-panel h2 {
	font-weight: 300;
	color: #2F2F2F;
}
.basic-panel h3 {
	font-size: 3rem;
	line-height: 3.3rem;
    font-family: 'quincy-cf', 'Libre Baskerville', serif; 
	font-weight: 300;
	color: #2F2F2F;
	text-align: center;
}
.basic-panel-content ul  {
    list-style-type: disc;
	color: #2F2F2F;
    font-weight: 400;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
    margin-left: 50px;
	margin-bottom: 20px;
}
.basic-panel img {
    max-width: fit-content;
	width: unset;
}
	@media screen and (max-width: 1200px) {
		.add-top-margin {
			margin-top: 0;
		}
	}
	@media screen and (max-width: 860px) {
		.basic-panel.row.full {
			padding: 30px 20px;
		}
	}

/* ------------------------------------------
    VIMEO PANEL
------------------------------------------ */

.video-panel.row.full {
	padding: 60px 40px;
	text-align: center;
}

.embed-container { 
    position: relative; 
    width: 100%; /* Ensure the video container takes up the full width */
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0; 
    overflow: hidden; 
    max-width: 100%; /* Make sure it doesn't exceed the parent container */
}

.embed-container iframe, 
.embed-container object, 
.embed-container embed { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; /* Full width for iframe */
    height: 100%; /* Full height for iframe */
}
.video-panel h1 {
	margin-bottom: 30px;
}
.video-panel a.btn.ghost {
    margin-top: 40px;
}

/* ------------------------------------------
    TWO COL TEXT PANEL
------------------------------------------ */

.tile-repeater-panel.row.full {
	padding: 80px 40px 100px 40px;
	text-align: center;
	max-width: 1040px;
}
.narrow-bottom-padding {
	padding-bottom: 20px !important;
}
.tile-repeater-panel h2 {
	margin-bottom: 25px;
}
.tile-repeater-block img {
    max-width: fit-content;
}
.tile-repeater p {
	font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
}
.tile-repeater-wrap {
	display: flex;
    gap:30px;
}
.tile-repeater-block {
    flex: 1;
    text-align: center;
	padding: 20px;
}
	@media screen and (max-width: 860px) {
		.tile-repeater-wrap {
		    flex-direction: column;
		}
	}



/* ------------------------------------------
    PRODUCTS PANEL (Product lander)
------------------------------------------ */

.products-panel.row.full {
	background-color: #ffffff;
	padding: 80px 40px;
}
	@media screen and (max-width: 1200px) {
	.products-panel.row.full {
		padding: 60px 20px;
		}
	}


.products-panel.row.full.trim-top {
	padding-top: 0;
}
.products-panel.row.full.trim-bottom {
	padding-bottom: 0;
}
#column-blocks {
	margin-top: 30px;
}
	@media screen and (max-width: 940px) {
	#column-blocks .row {
	    display: block;
		}
}
.products-intro {
	text-align: center;
	flex-direction: column;
}
.products-intro p {
	font-size: 2.6rem;
	line-height: 2.8rem;
	text-align: center;
    font-family: 'quincy-cf', 'Libre Baskerville', serif; 
    margin: 5px 0 20px 0;
	text-align: center;
}
.products-block {
    position: relative;
    top: 0;
    transition: all .5s;
	padding: 25px;
	text-align: left;
	flex: 1;
	text-align: center;
}
.products-block h2 {
    font-size: 4.2rem;
    line-height: 44px;
    font-weight: 300;
    color: #2F2F2F;
    margin: 20px 0 2px 0;
}

.price {
	font-size: 2.4rem !important;
	color: #2F2F2F !important;
    display: block;
    font-weight: 400;
	margin: 0 0 20px 0;
	text-decoration: none !important;
}
.presale-price {
	    color: #dd3545 !important;
    text-decoration: line-through;
    margin-bottom: 0;
    font-size: 15px !important;
}
	ins {
	text-decoration: none ;
	}
	.woocommerce div.product p.price del, .woocommerce div.product span.price del {
	    opacity: 1 !important;
		font-size: 15px;
	}
	.woocommerce div.product p.price ins, .woocommerce div.product span.price ins {
	    display: block;
	}
	.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
		    color: #4A6E7D !important;
	}	
	.price del bdi {
	    color: #dd3545 !important;
		opacity: 1;
	}
	.woocommerce ul.products li.product .price del {
	    opacity: 1 !important;
	}
	.woocommerce span.onsale {
		display: none;
	}
	
	.inset-product-price del {
	    display: block; 
	    color: red; 
	    font-size: 0.8em; 
	    margin-bottom: 5px;
	}
	
	.inset-product-price ins {
	    display: block; 
	    font-size: 1.2em;
	    color: inherit; 
	}
	
	.inset-product-price {
	    text-align: center; 
	}

.products-block ul.swatches {
	list-style: none;
	margin: 0 0 20px 0;
	padding: 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: center;
}
.products-block ul.swatches li {
	list-style: none;
	margin: 0;
	padding: 0;
	border-radius: 100%;
	webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: var(--wvs-item-background-color,#fff);
	-webkit-box-shadow: var(--wvs-item-box-shadow,0 0 0 1px #a8a8a8);
	box-shadow: var(--wvs-item-box-shadow,0 0 0 1px #a8a8a8);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: var(--wvs-item-text-color,#000);
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: var(--wvs-single-product-item-height,30px);
	justify-content: center;
	margin: 4px;
	padding: 2px;
	position: relative;
	width: var(--wvs-single-product-item-width,30px);
	height: var(--wvs-archive-product-item-height,30px);
}
.products-block ul.swatches li:active,
.products-block ul.swatches li:focus,
.products-block ul.swatches li:hover {
	-webkit-box-shadow: var(--wvs-hover-item-box-shadow,0 0 0 3px #ddd);
	box-shadow: var(--wvs-hover-item-box-shadow,0 0 0 3px #ddd);
}
.products-block ul.swatches li div {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	position: relative;
	width: 100%;
}
.products-block ul.swatches li div span {
	display: block;
	height: 100%;
	width: 100%;
	border-radius: 100%;
	line-height: 1;
	margin: 0;
	overflow: hidden;
	cursor: pointer;
}


/* ------------------------------------------
    FULL WIDTH CTA PANEL w/ PHOTO OPTION
------------------------------------------ */

.photo-cta-panel.row.full {
	padding: 160px 0 180px;
	background-color: #2F2F2F;
	background-repeat: no-repeat;
    background-position-x: center;
    background-position-y: center;
    background-size: 100%;
}
.panel-white.row.full {
	background-color: #ffffff;
	padding: 120px 0 120px;
	width: 100%;
}
.panel-white.row.full h3,
.panel-white.row.full h4 {
	color: #0F3475;
}
.panel-white.row.full p {
    color: #2F2F2F;
}
.photo-cta {
	text-align: center;
	font-size: 60px;
	color: #0F3475;
	position: relative;
	z-index: 1;
	padding: 0 40px;
	max-width: 1140px;
}

.photo-cta h3 {
	color: #ffffff;
	font-weight: 600;
	text-transform: uppercase;
	max-width: 840px;
	margin: 0 auto;
}
.photo-cta h4 {
	font-size: 46px;
    font-size: 4.6rem;
    line-height: 46px;
	color: #ffffff;
    font-weight: 300;
	margin: 20px 0;
}
.photo-cta p {
	font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
	color: #ffffff;
	font-family: 'gotham', 'Montserrat', sans-serif;
    font-weight: 400;
}
.photo-cta img {
    max-width: 280px;
    margin-bottom: 30px;
}

/* ------------------------------------------
    PRESS PANEL
------------------------------------------ */

.press-panel.row.full {
	background-color: #F4F4F3;
	padding: 80px 40px;
}
.press-panel.row.full.trim-top {
    padding-top: 5px;
}
.press-panel.row.full.trim-bottom {
    padding-bottom: 5px;
}
.press-intro {
	margin: 0 0 40px 0;
}
.press-intro h2 {
    font-size: 3rem;
    line-height: 36px;
	color: #2F2F2F;
	font-family: 'gotham', 'Montserrat', sans-serif;
    font-weight: 700;
	text-transform: uppercase;
}
.press-tile-wrap {
	display: flex;
	flex-wrap: wrap;
	margin: -19px; /* Compensate for the negative margin on the boxes */
}
a.press-tile {
    flex-basis: calc(25% - 38px);
	margin: 19px;
	background-color: #ffffff;
    text-decoration: none;
    padding: 25px;
    border-top: 4px solid #4A6E7D;
}
.press-tile .date {
	font-size: 14px;
    font-size: 1.4rem;
	line-height: 15px;
	color: #969696;
	flex: 1;
	text-align: right;
}
.press-tile .source {
    font-size: 1.4rem;
	line-height: 15px;
	color: #4A6E7D;
	font-weight: 600;
	text-transform: uppercase;
	flex: 1;
}
.press-tile h3 {
    font-size: 2.6rem;
    line-height: 28px;
    font-family: 'quincy-cf', 'Libre Baskerville', serif; 
	font-weight: 500;
	color: #2F2F2F;
	margin-top: 20px;
	letter-spacing: -.2px;
}
	@media screen and (max-width: 1200px) {
		a.press-tile {
		    flex-basis: calc(33% - 38px);
		}
		.press-tile .source,
		.press-tile .date {
			width: 100%;
			text-align: left;
			display: block;
			flex: unset;
		}
	}

	@media screen and (max-width: 860px) {
		.press-panel.row.full {
			padding: 40px 20px;
		}
		a.press-tile {
		    flex-basis: calc(50% - 38px);
			padding: ;
		}	
	}
	@media screen and (max-width: 660px) {
		a.press-tile {
		    flex-basis: calc(100%);
		}	
	}

/* ------------------------------------------
    MULTI COLUMN LOGO PANEL
------------------------------------------ */

.logos-panel.row.full {
	background-color: #ECECEB;
	padding: 80px 40px;
}
.logos-panel.row.full.trim-top {
    padding-top: 5px;
}
.logos-panel.row.full.trim-bottom {
    padding-bottom: 5px;
}
.logo-intro {
	margin: 20px 0 20px 0;
}
.logo-intro h2 {
    font-size: 3rem;
    line-height: 3.2px;
	color: #2F2F2F;
	font-family: 'gotham', 'Montserrat', sans-serif;
    font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.logo-grid {
    display: flex;
    flex-wrap: wrap; 
	padding-bottom: 20px;
}

.logo-grid img {
    flex: 1 0 calc(100% / var(--columns)); /* Dynamic width based on columns */
    max-width: calc(100% / var(--columns)); /* Ensure max-width aligns with flex basis */
    padding: 0 10px; /* Add left and right padding */
    box-sizing: border-box; /* Include padding in width calculations */
}

/* Responsive Overrides */
@media screen and (max-width: 1040px) {
    .logo-grid {
        --columns: 5; /* Adjust to 5 columns for wider tablets */
    }

    .logo-grid img {
        flex: 1 0 calc(100% / 5 - 20px); /* Adjust image width for 5 columns */
        max-width: calc(100% / 5 - 20px); /* Ensure proper max-width */
    }
}

@media screen and (max-width: 860px) {
    .logo-grid {
        --columns: 3; /* Adjust to 3 columns for smaller tablets */
    }

    .logo-grid img {
        flex: 1 0 calc(100% / 3 - 20px); /* Adjust image width for 3 columns */
        max-width: calc(100% / 3 - 20px); /* Ensure proper max-width */
    }
}

@media screen and (max-width: 560px) {
    .logo-grid {
        --columns: 2; /* Adjust to 2 columns for mobile */
    }

    .logo-grid img {
        flex: 1 0 calc(100% / 2 - 20px); /* Adjust image width for 2 columns */
        max-width: calc(100% / 2 - 20px); /* Ensure proper max-width */
    }
}
@media screen and (max-width: 400px) {
  .logo-grid {
    --columns: 1;
  }

  .logo-grid img {
    flex: 1 0 100%;
    max-width: 100%;
  }
}


/* ------------------------------------------
    VIDEO CARD PANEL
------------------------------------------ */

.row.full.video-card-panel {
	padding: 60px 0;
}
.video-card-panel h2 {
    color: #2F2F2F;
    font-size: 42px;
    font-size: 4.2rem;
	line-height: 44px;
	font-weight: 600;
	font-family: 'gotham', 'Montserrat', sans-serif;
	padding-bottom: 40px;
	text-transform: uppercase;
	text-align: center;
	margin: 0 20px;
}
.video-card-slider .splide__list {
    display: flex;
    gap: 20px; 
    margin: 0;
    padding: 0;
}
.video-card-slider .splide__slide {
    flex: 0 0 calc(20% - 20px);
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
.video-card-slider .video-card video {
    width: 100%; 
    height: auto;
}
.video-preview {
	border-radius: 30px;
}
@media (max-width: 1024px) {
    .video-card-slider .splide__slide {
        flex: 0 0 calc(25% - 20px);
    }
}

@media (max-width: 768px) {
    .video-card-slider .splide__slide {
        flex: 0 0 calc(33% - 20px);
    }
	.row.full.video-card-panel {
		padding: 60px 20px;
	}
	.video-card-panel h2 {
	    font-size: 26px;
	    font-size: 2.6rem;
	    line-height: 28px;
	}

}

/* ------------------------------------------
    TESTIMONIAL SINGLE SLIDER
------------------------------------------ */

.row.full.testimonial-single-panel {
	background-color: #fff;
	padding: 60px 40px;
}
.stars-wrap {
    text-align: center;
}
.stars-large {
	color: #2F2F2F;
    font-size: 32px;
    font-size: 3.2rem;
	margin: 20px auto;
	width: 100%;
	display: block;
}
.testimonial-single-panel h2 {
    font-size: 6rem;
    line-height: 62px;
    font-weight: 300;
    color: #2F2F2F;
    font-family: 'quincy-cf', 'Libre Baskerville', serif; 
	text-align: center;
}
.testimonial-photos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    justify-content: center;
	max-width: 900px;
}
.testimonial-image-block {
    aspect-ratio: 1 / 1;
    background-size: cover;
    background-position: center;
}


/* Splide Container */
.testimonial-single-panel .splide {
	max-width: 800px;
	width: 80%;
    margin: 0 auto;
    padding: 20px 20px 0 20px;
}
.testimonial-single-panel .splide__slide.testimonial-solo {
    font-size: 2.4rem;
    line-height: 28px;
    color: #2F2F2F;
	font-family: 'gotham', 'Montserrat', sans-serif;
    font-weight: 400;
    margin-bottom: 20px;
	text-align: center;
}

@media (max-width: 1024px) {
	.testimonial-single-panel h2 {
	    font-size: 40px;
	    font-size: 4rem;
		line-height: 42px;
	}

}

@media (max-width: 768px) {
	.row.full.testimonial-single-panel {
		background-color: #fff;
		padding: 30px 20px;
	}
	.testimonial-single-panel h2 {
	    font-size: 30px;
	    font-size: 3rem;
		line-height: 32px;
	}
	.testimonial-single-panel .splide {
		width: 100%;
	    padding: 20px 0 0 0;
	}
}

	
/* ------------------------------------------
    TESTIMONIAL CARD SLIDER
------------------------------------------ */

.row.full.testimonial-card-panel {
	background-color: #e9f4f0;
	padding: 60px 0;
}
.testimonial-card-panel h2 {
    color: #2F2F2F;
    font-size: 42px;
    font-size: 4.2rem;
	line-height: 44px;
	font-weight: 600;
	font-family: 'gotham', 'Montserrat', sans-serif;
	padding-bottom: 40px;
	text-transform: uppercase;
	text-align: center;
	margin: 0 20px;
}


/* Splide Container */
.testimonial-card-panel .splide {
    width: 100%; 
    margin: 0 auto;
    padding: 20px 20px 0 20px;
}
.testimonial-card-panel .splide__slide.testimonial-card {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 20px;
    text-align: left;
    font-size: 18px;
    line-height: 20px;
    color: #333;
}
.five-stars {
	color: #0071a1;
	margin: 10px 0;
}
/* Responsive Adjustments */
@media (max-width: 1240px) {
    .testimonial-card-panel .splide__slide.testimonial-card {
        flex: 0 0 calc(33.3333% - 20px); /* 3 slides per page */
    }
}
@media (max-width: 1024px) {
    .testimonial-card-panel .splide__slide.testimonial-card {
        flex: 0 0 calc(50% - 20px); /* 2 slides per page */
    }
	.testimonial-card-panel h2 {
	    font-size: 32px;
	    font-size: 3.2rem;
		line-height: 34px;
	}

}

@media (max-width: 768px) {
    .testimonial-card-panel .splide__slide.testimonial-card {
        flex: 0 0 100%; /* 1 slide per page */
    }
	.testimonial-card-panel h2 {
	    font-size: 28px;
	    font-size: 2.8rem;
		line-height: 28px;
	}
}

/* Splide Pagination */
.splide__pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 45px;
    z-index: 2; /* Ensure it's above other elements */
    position: relative;
}

.splide__pagination__page {
    width: 12px;
    height: 12px;
    background-color: #ccc;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.3s ease;
    border: none; /* Remove default button styles */
}

.splide__pagination__page.is-active {
    background-color: #4A6E7D; /* Highlight active bullet */
	transform: none;
}

.splide__pagination__page:focus {
    outline: none; 
}


/* ------------------------------------------
    MULTI COLUMN ICON PANEL
------------------------------------------ */

.cta-panel.row.full {
	background-color: #e9f4f0;
	padding: 60px 40px;
}

.cta-panel.row.full.trim-top,
.row.col-items.trim-top {
    padding-top: 5px;
}
.cta-panel.row.full.trim-bottom,
.row.col-items.trim-bottom {
    padding-bottom: 5px;
}
.inner.cta-intro {
	text-align: center;
}
.inner.cta-intro h2,
.inner.cta-intro p {
	max-width: 1240px;
	margin: auto;
	padding-bottom: 20px;
}
.cta-intro h2 {
	color: #2F2F2F;
}
.cta {
	position: relative;
	flex: 1;
	margin-bottom: 10px;
	text-align: center;
}
.cta a {
	text-decoration: none;
}
.cta .inner h3 {
	color: #2F2F2F;
    font-size: 16px;
    font-size: 1.6rem;
	font-family: 'gotham', 'Montserrat', sans-serif;
    line-height: 22px;
    font-weight: 600;
	margin-bottom: 5px;
    display: block;
	transition: color .25s ease-in-out, background .25s ease-in-out;
	text-transform: uppercase;
}
.cta .inner h3:hover {
    color: #4A6E7D;
	transition: color .25s ease-in-out, background .25s ease-in-out;
}
.cta-btn {
	text-align: center;
}
article.cta p {
    margin-bottom: 20px;
}
.col-items {
	padding: 40px 0 0 0;
	gap: 10px 30px;
}
.cta-panel img {
    max-width: 125px !important;
	margin: 5px 0;
	transition: all .2s ease-in-out;
}
.cta-panel img:hover {
    transform: scaleX(1.16) scaleY(1.16)!important;
}
	@media screen and (max-width: 1040px) {
		.cta {
			flex: 1 0 24%;
		}
	}
	@media screen and (max-width: 860px) {
		.cta-panel.row.full {
			padding: 20px 20px;
			}
		.cta {
			flex: 1 0 30%;
			max-width: fit-content;
		}
		.col-items {
			padding: 20px 0 0 0;
			gap: 20px;
		}
		.cta-panel img {
		    max-width: 105px !important;
		}
		.cta .inner h3 {
			font-size: 14px;
			font-size: 1.4rem;
			line-height: 18px;
		}
	}

/* ------------------------------------------
    HOME NEWS PANEL
------------------------------------------ */

.news-panel.row.full {
	background-color: #F4F4F3;
	padding: 60px 80px;
}
	@media screen and (max-width:1200px) {
		.news-panel.row.full {
			padding: 30px 30px;
		}
	}

.news {
	display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-gap: 30px;
	margin: 40px 0;
}
@media screen and (max-width:900px) {
	.news {
	    grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}
h2.news-header {
    min-width: 100%;
}
.news-header a {
	color: #2F2F2F;
	text-decoration: none;
}
.news-header a::after {
    content: '\f324';
    font-family: 'Font Awesome 6 Pro';
    color: #4A6E7D;
    font-size: 18px;
	font-weight: 800;
    position: absolute;
    top: -2px;
    left: 155px;
    margin: 13px 0 auto auto;
	transition: all .5s ease-in-out;
}
.news-header a:hover:after {
    left: 160px;
}
.news a {
	color: #2F2F2F;
	text-decoration: none;
    text-align: center;
}
.news-wrap {
    background-color: #ffffff;
	transition: all .5s ease-in-out;
}
.news-wrap:hover {
	filter: drop-shadow(0px 0px 3px #999999);
}
.news-info {
	background-color: #ffffff;
	margin: 30px 25px;
}
.news-image {
    min-width: 100%;
    min-height: 300px;
}
	@media screen and (max-width: 1200px) {
		.news-image {
			min-height: 200px;
		}
	}

.news-wrap date {
    color: #4A6E7D;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 18px;
    text-transform: uppercase;
    text-align: center;
    display: block;
}
.news-feature-link h3 {
    color: #2F2F2F;
	font-size: 24px;
	font-size: 2.4rem;
    line-height: 28px;
	font-weight: 500;
    font-family: 'quincy-cf', 'Libre Baskerville', serif; 
}
	@media screen and (max-width: 980px) {
		.news-feature-link h3  {
			font-size: 18px;
			font-size: 1.8rem;
		    line-height: 20px;
		}
	}
	
/* ------------------------------------------
    PRODUCT FEED PANEL (Lander)
------------------------------------------ */

.row.full.product-feed-panel {
    padding: 60px 40px 80px 40px;
	background-color: #ececeb;
	text-align: center;
}
.product-feed-panel-header {
	max-width: 900px;
}
.product-feed-panel h2 {
    color: #2F2F2F;
    font-size: 46px;
    font-size: 4.6rem;
    line-height: 48px;
    font-weight: 300;
    font-family: 'quincy-cf', 'Libre Baskerville', serif; 
	margin-bottom: 20px;
}
.product-feed-panel h3 {
    font-size: 25px;
    font-size: 2.5rem;
	line-height: 27px;
	font-weight: 600;
	font-family: 'gotham', 'Montserrat', sans-serif;
	margin: 15px;
}
a.product-feed-jumplink  {
	text-transform: uppercase;
    font-size: 16px;
    font-size: 1.6rem;
	font-family: 'gotham', 'Montserrat', sans-serif;
    font-weight: 800;
    padding: 12px 40px;
    display: inline-block;
    color: #2F2F2F;
    background-color: #ffffff;
    text-decoration: none;
    display: inline-block;
    transition: all .5s;
    line-height: 18px;
    border: none;
    margin-bottom: 40px;
    border-radius: 30px;
}
a.product-feed-jumplink:hover  {
    color: #fff;
    background-color: #4A6E7D;
}
.row.inset-product-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 38px;
}
	.inset-product {
	    background-color: rgba(255, 255, 255, .8);
		padding-bottom: 30px;
	}
	.inset-product:hover {
	    background-color: rgba(255, 255, 255, 1);
	}
	.variation-buttons {
	    display: flex;
	    gap: 5px;
	    margin: 15px;
	    justify-content: center;
	}
	.variation-button {
	    font-size: 13px;
		color: #2F2F2F;
		font-family: 'gotham', 'Montserrat', sans-serif;
		font-weight: 600;
		border: 1px solid #2F2F2F;
	    background-color: #fff !important;
	    border-radius: 8px;
	    min-width: 45px !important;
		padding: 6px 10px;
	    cursor: pointer;
	    transition: all 0.3s ease;
	}
	.variation-button:hover {
	    border-color: #2F2F2F;
	    background: #2F2F2F;
		color: #ffffff;
	}
	.variation-button.selected {
	    border-color: #2F2F2F;
	    background-color: #2F2F2F !important;
		color: #ffffff;
	}
button.single_add_to_cart_button.button.alt.lander-btn {
		color: #fff !important;
		background-color: #2F2F2F !important;
		border-color: #2F2F2F;
}
button.single_add_to_cart_button.button.alt.lander-btn:disabled {
		color: #2F2F2F !important;
	    background-color: #fff !important;
	    cursor: not-allowed !important;
}
	button.single_add_to_cart_button.button.alt.lander-btn.added {
		color: #2F2F2F !important;
	    display: block;
	    margin: 0 auto 20px auto;
	}
	button.single_add_to_cart_button.button.alt.lander-btn.added:hover {
		color: #fff !important;
		background-color: #2F2F2F !important;
	}

@media screen and (max-width: 1040px) {
	.product-feed-panel h2 {
	    font-size: 40px;
        font-size: 4rem;
        line-height: 42px;
	}
	.row.inset-product-wrap {
		display: grid;
		grid-template-columns: 1fr;
		gap: 38px;
	}
}
@media screen and (max-width: 768px) {
	.product-feed-panel h2 {
	    font-size: 30px;
        font-size: 3rem;
        line-height: 32px;
	}
}

/* ------------------------------------------
    PRODUCT INFO PHOTO PANEL
------------------------------------------ */

.flex-photo-panel.row.full {
	padding: 40px 0 40px 0;
}
.flex-photo-panel.row.full.trim-top {
	padding-top: 0;
}
.flex-photo-panel.row.full.trim-bottom {
	padding-bottom: 0;
}

.panel-gray {
	background-color: #f2f2f2 !important;
}
.info-panel-wrap {
	padding: 0 40px;
}
.info-panel {
	display: flex;
	padding: 20px 0 20px 0;
	gap: 50px;
	flex-direction: row;
}
.info-panel.img-toggle-left {
	flex-direction: row-reverse;
}
.info-panel img {
	width: unset;
}
.info-panel-image {
	width: 40%;
	flex: 1;
}
.info-panel-image img {
	width: 100%;
	height: auto;
	border-radius: 60px;
	border: 4px solid #000;
}
.img-toggle {
	float: left !important;
}
img.photo-panel-logo {
    float: unset;
    margin: 20px 0;
}
.info-content {
	flex: 1;
}
.info-panel h2 {
    display: block;
}
.info-panel p {
	margin-bottom: 15px;
}
.info-panel ul {
    margin: 0 0 20px 20px;
}
.info-panel li {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
    color: #2F2F2F;
	font-family: 'gotham', 'Montserrat', sans-serif;
    font-weight: 400;
    list-style-type: circle;
}
.info-links {
    margin-bottom: 30px;
}
.info-links a {
    text-transform: uppercase;
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "Montserrat Medium", sans-serif;
    font-weight: 800;
    padding: 14px 25px;
    display: inline-block;
    color: #2F2F2F;
	background-color: #ffffff;
    text-decoration: none;
    display: inline-block;
    line-height: 18px;
    border: 1px solid #2F2F2F;
    transition: all .5s;
    margin: 0;
}
.info-links a:hover {
    color: #ffffff;
	background-color: #4A6E7D;
    border: 1px solid #4A6E7D;
    transition: all .5s;
}
.photo-panel-link {
    margin: 10px 0;
}
i.fal.fa-file-pdf {
	font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
	color: #49A4B4;
    margin-right: 10px;
	float: left;
    height: 20px;
	margin-left: 3px;
}
a.panel-link {
	font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
	color: #53717F;
	font-weight: 300;
    text-decoration: none;
	display: block;
    margin-left: 30px;
}
a.panel-link:hover {
	color: #F27E6B;
}

.nopadding {
	padding: 0;
}
.inset-text {
	padding: 0 50px;
}


	@media screen and (max-width: 940px) {
		.info-panel {
		    flex-direction: column;
			gap: 20px;
		}
		.product-image {
			width: 100%;
		}
		.info-panel.img-toggle-left {
		    flex-direction: column;
		}
	}

	@media screen and (max-width: 760px) {
		.info-panel-wrap {
			    padding: 0 20px;
		}
		.info-links .btn, .info-links .link {
		    margin: 5px 0;
		    text-align: center;
		}

	}


/* ------------------------------------------
    Block Image Panel
------------------------------------------ */

.blocks-panel.row.full {
    padding: 0;
	background-color: #ffffff;
    max-width: none;
}
.flex-blocks.row {
	display: flex;
	flex-flow: row wrap;
	gap: 0;
	max-width: none;
    margin: 0;
	text-align: center;
}

.flex-blocks.row div {
	flex: 1 0 calc(33.333% - 20px);
	opacity: 1;
	transition: 0.3s;
	color: #ffffff;
	min-height: 600px;
	text-decoration: none;
	position: relative;
	overflow: hidden;
}
.flex-blocks.row div:hover .background-img {
    transform: scale(1.05); /* Slight zoom */
    transition: transform 0.3s ease-in-out;
}

.block-wrap .background-img {
    position: absolute;
    background-size: cover;
    min-width: 100%;
    min-height: 100%;
    opacity: 0.85;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    background-position-x: center;
    background-position-y: 25%;
    background-repeat: no-repeat;
    transition: transform 0.3s ease-in-out; /* Smooth zoom */
}

	@media screen and (max-width: 1100px) {
		.flex-blocks.row div {
			flex: 1 0 48%;
		}
	}
	@media screen and (max-width: 760px) {
		.flex-blocks.row div {
			flex: 1 0 100%;
		}
	}

/* ------------------------------------------
    Accordion Panel
------------------------------------------ */

.accordion-panel.row.full {
	background-color: #e9f4f0;
	padding: 60px 0;
}
	@media screen and (max-width: 1520px) {
		.accordion-panel.row.full {
			padding: 60px 40px;
		}
	}
	@media screen and (max-width: 1200px) {
		.accordion-panel.row.full {
			padding: 30px 40px;
		}
	}
	@media screen and (max-width: 760px) {
		.accordion-panel.row.full {
			padding: 20px;
		}
	}

ul.accordion-list {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	list-style: none;
	}
ul.accordion-list li {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    padding: 20px 20px 20px 0 ;
    margin: 0 auto 15px auto;
    cursor: pointer;
	border-bottom: 1px solid #333;
    }
ul.accordion-list li h3 {
    font-size: 2rem;
    line-height: 25px;
	font-weight: 800;
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	padding: 0 20px 10px 0;
	margin: 0;
	letter-spacing: 0.01em;
	cursor: pointer;
	}
div.answer {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	cursor: pointer;
	}
div.answer  p {
	position: relative;
	display: block;
    font-size: 1.7rem;
    line-height: 20px;
    font-family: 'gotham', 'Montserrat', sans-serif;
	font-weight: 300;
	padding: 10px 0 0 0;
	cursor: pointer;
	margin: 0 0 15px 0;
	}
ul.accordion-list .answer ol,
ul.accordion-list .answer ul {
	padding-left: 20px;
}
ul.accordion-list .answer ol li {
    font-size: 1.7rem;
    line-height: 20px;
	padding: 0;
    border-bottom: none;
    list-style-type: auto;
    display: list-item;
}
ul.accordion-list .answer ul li {
    font-size: 1.7rem;
    line-height: 20px;
	padding: 0;
    border-bottom: none;
	list-style-type: circle;
    display: list-item;
}
ul.accordion-list li h3:after {
	content: '\02795'; 
	font-weight: 100;
	font-size: 14px;
    color: #2F2F2F;
	float: right;
	margin-left: 5px;
	position: absolute;
	top: 0;
	right: 0;
}

ul.accordion-list li.active h3::after {
	content: "\2796"; 
	}
	@media screen and (max-width: 680px) {
		ul.accordion-list li h3 {
				font-size: 1.8rem;
		}
	}



/* ------------------------------------------
    Block Image Panel
------------------------------------------ */

.row.related-recipes {
    gap: 40px;
    max-width: 980px;
}

h2.related-header {
    flex: 1;
    min-width: 100%;
    text-align: center;
}
.related-wrap {
    text-align: left;
    position: relative;
    flex: 1;
    margin-bottom: 20px;
    text-align: center;
    max-width: 50%;
}
.related-wrap a {
	color: #4A6E7D;
    font-size: 18px;
    font-size: 1.8rem;
    font-family: 'quincy-cf', 'Libre Baskerville', serif; 
    line-height: 22px;
    font-weight: 100;
    margin-bottom: 5px;
    display: block;
    transition: color .25s ease-in-out, background .25s ease-in-out;
	text-decoration: none;
}
.related-wrap a:hover {
    color: #2F2F2F;
	text-decoration: none;
}
.related-wrap img {
    opacity: 1;
	transition: 0.3s;
}
.related-wrap img:hover {
    opacity: 0.5;
}
.print-icon {
    display: inline-block;
}
.print-icon a {
    color: #ffffff;
	text-decoration: none;
    background-color: #2F2F2F;
    height: 32px;
    line-height: 30px;
    width: 32px;
	border-radius: 4px;
    opacity: 1;
}
.print-icon a:hover {
    background-color: #333333;
}
	@media screen and (max-width: 760px) {
		.row.related-recipes {
		    max-width: 100%;
		    display: block;
		}
		.related-wrap {
		    max-width: 100%;
		}
	}

/* ==========================================

    Blog Styles

========================================== */


/* ------------------------------------------
    BLOG MAIN (index)
------------------------------------------ */

.row.full.blog-outer {
	padding: 200px 40px 60px 40px;
}

.blog-container {
    display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 50px;
	margin: 30px 0 20px 0;
}
.blog-container :first-child {
  grid-column: 1 / -1;
}

.blog-image {
    width: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #000;
	display: flex;
	min-height: 520px;
}

.blog-wrapper {
    align-self: center;
	width: 100%;
    background-color: rgba(137, 173, 172, 0.8);
    padding: 40px;
    max-width: 50%;

}
a.blog-link {
    text-decoration: none;
    color: #ffffff;
}
a.blog-link h4 {
	color: #ffffff;
	text-decoration: none;
	font-size: 34px;
	font-size: 3.4rem;
    line-height: 38px;
    margin: 0;
}

	@media screen and (max-width: 1200px) {
		.row.full.blog-outer {
		    padding: 40px 40px 60px 40px;
		}
	}
	@media screen and (max-width: 860px) {
		.row.full.blog-outer {
		    padding: 40px 20px 40px 20px;
		}
		.inner.blog-container {
		    display: flex;
		    flex-direction: column;
			grid-gap: 30px;
		}
		.blog-image {
		    min-height: 380px;
		}
		.blog-wrapper {
		    align-self: flex-end;
		    width: 100%;
		    max-width: 100%;
			padding: 20px;
		}
		a.blog-link h4 {
			font-size: 22px;
			font-size: 2.2rem;
		    line-height: 26px;
		}
	}

/* ------------------------------------------
    Pagination
------------------------------------------ */

#blog-pagination.row.narrow {
	margin: 0px auto;
	padding: 0px 60px;
	text-align: center;
}
	#blog-pagination.row.narrow a,
	#blog-pagination.row.narrow span {
		display: inline-block;
		position: relative;
		width: 40px;
		height: 40px;
		margin: 0px 6px;
		padding: 10px 5px;
		background: #53717F;
		text-decoration: none;
		color: #fff;
		text-align: center;
		font-size: 18px;
		line-height: 18px;
		-webkit-transition: color .25s ease-in-out, background .25s ease-in-out;
		-o-transition: color .25s ease-in-out, background .25s ease-in-out;
		transition: color .25s ease-in-out, background .25s ease-in-out;
	}
	#blog-pagination.row.narrow a:hover,
	#blog-pagination.row.narrow a.next:hover {
		background: #F27E6B;
		color: #fff;
	}
	#blog-pagination.row.narrow a.next {
		background: #53717F;
		color: #fff;
	}
	#blog-pagination.row.narrow span.current {
		color: #fff;
		background: #F27E6B;
	}

/* ------------------------------------------
    Blog Single
------------------------------------------ */

#breadcrumbs {
    background-color: #eee;
	padding: 0 20px;
}
.breadcrumbs {
    margin: 20px 20px 20px 0;
	width: 100%;
}
.breadcrumbs a {
	color: #1F4357;
	text-decoration: none;
	font-size: 13px;
	font-size: 1.3rem;
}
section#insights {
	padding: 200px 0 80px 0;
}
.blog-feature {
    margin: 40px 0;
    text-align: center;
}
.blog-feature date {
	color: #4A6E7D;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 18px;
	text-transform: uppercase;
	text-align: center;
	display: block;
}
.blog-feature h1 {
	color: #4A6E7D;
	font-size: 42px;
	font-size: 4.2rem;
	line-height: 44px;
	font-weight: 300;
	text-align: center;
}
.social-share {
	margin-top: 20px;
}
.feat-img {
    width: 100%;
}
.feat-img img {
	min-width: 100%;
	margin-bottom: 20px;
}
.blog-single h2,
.blog-single h3,
.blog-single h4,
.blog-single h5,
.blog-single h6 {
	min-width: 100%;
}

.blog-single p {
	margin-bottom: 20px;
	min-width: 100%;
}
.blog-single a {
    word-break: break-word;
}
.blog-single ul {
    list-style-type: disc;
	color: #2F2F2F;
    font-weight: 400;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 22px;
    margin-left: 50px;
	margin-bottom: 20px;
}
.blog-single ol {
    list-style-type: decimal;
	color: #2F2F2F;
    font-weight: 400;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 22px;
    margin-left: 50px;
	margin-bottom: 20px;
}
.blog-single li {
    text-align: left;
	margin-bottom: 15px;
}
.blog-single img {
    max-width: max-content;
	margin: auto;
	padding: 20px 0;
	display: block;
}
.blog-single blockquote {
	background-color: #e9f4f0;
    margin: 0 0 20px 0;
    padding: 30px 30px 0 30px;
	min-width: 100%;
}
.blog-single blockquote p {
    color: #4A6E7D;
}
	@media screen and (max-width: 1200px) {
		section#insights {
		    padding: 40px 40px 60px 40px;
		}
	}
	@media screen and (max-width: 860px) {
		section#insights {
		    padding: 20px 20px 20px 20px;
		}
		.blog-feature {
			margin: 0;
		}
		.blog-feature h1 {
		    font-size: 26px;
		    font-size: 2.6rem;
		    line-height: 30px;
		}
	}


/* ==========================================

    Gravity Forms

========================================== */

p.gform_required_legend {
    display: none;
}
span.gfield_required {
    color: #444444 !important;
}
.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
	border: 1px solid #eeeeee !important;
	background-color: #efefef;
    font-size: 16px;
    font-size: 1.6rem;
	font-weight: 300;
	font-family: 'gotham', 'Montserrat', sans-serif;
}
.gform_wrapper.gravity-theme .gfield_label {
	font-size: 16px;
    font-size: 1.6rem;
	font-weight: 300 !important;
	font-family: 'gotham', 'Montserrat', sans-serif;
}
.gform_wrapper.gravity-theme .gfield_error label {
    color: #444444 !important;
}
.gform_wrapper.gravity-theme .gform_validation_errors {
    display: none !important;
}
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
    background: none !important;
    border: none !important;
    padding: 0 0 6px 0 !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    text-transform: none !important;
}
body img.gform_ajax_spinner {
 display: none !important;
}


/* ==========================================

    Footer

========================================== */


#site-footer {
	background-color: #e9f4f0;
    padding: 40px 40px 40px 40px;
	text-align: center;
	align-items: center;
}
	@media screen and (max-width: 860px) {
		#site-footer {
		    padding: 40px 20px;
		}
	}
.row.footer {
    flex-direction: column;
    align-items: center;
}
.footer p, .footer  {
	font-size: 15px;
    font-size: 1.5rem;
    line-height: 26px;
    color: #2F2F2F;
	font-family: 'gotham', 'Montserrat', sans-serif;
    font-weight: 400;
}
.footer a,
.footer a:hover,
.footer a:visited  {
	font-size: 15px;
    font-size: 1.5rem;
    line-height: 26px;
    color: #2F2F2F;
	font-family: 'gotham', 'Montserrat', sans-serif;
    font-weight: 400;
	text-decoration: none;
}
.row.footer-nav {
	gap:30px
}
	@media screen and (max-width: 860px) {
		.row.footer-nav {
		    flex-direction: column;
		}
	}

.row.footer-nav nav {
    flex: 1;
    text-align: left;
}
.row.footer-nav div {
    font-size: 1.5rem;
    line-height: 20px;
	font-weight: 700 !important;
	text-transform: uppercase;
    flex: 1;
    text-align: left;
}
.footer-newsletter {
	min-width: 40%;
}

.gform_footer.before {
    max-width: fit-content;
}
.gform-footer.gform_footer.top_label {
	position: relative;
}
input#gform_submit_button_1[type="submit"] {
    position: absolute;
    top: -50px;
    right: 0;
    background: none;
    color: transparent;
    height: 44px;
    margin: 0;
    border-radius: revert;
	padding: 0 10px;
}

.footer-newsletter .gform_wrapper.gravity-theme .gfield_label {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 20px;
	font-weight: 700 !important;
	text-transform: uppercase;
}
.footer-newsletter .gform_wrapper.gravity-theme .gfield input.large {
    background-color: #fff;
    border: none !important;
	height: 44px;
}

.copyright {
    margin: 20px 0;
    text-align: left;
    display: flex;
    flex-direction: column;
}
.social-list {
	display: flex;
    flex-direction: row-reverse;
}
.fb.social-link,
.li.social-link,
.tw.social-link,
.ig.social-link,
.yt.social-link {
	display: block;
	position: relative;
	margin: 0 0 10px 20px;
	width: 34px;
	height: 34px;
	padding: 3px;
	-webkit-transform: translateY(0px);
	    -ms-transform: translateY(0px);
	        transform: translateY(0px);
	opacity: 1;
	border: 1px solid #4A6E7D;
	border-radius: 50%;
	-webkit-transition: opacity .3s ease-in-out, -webkit-transform .25s ease-in-out;
	transition: opacity .3s ease-in-out, -webkit-transform .25s ease-in-out;
	-o-transition: transform .25s ease-in-out, opacity .3s ease-in-out;
	transition: transform .25s ease-in-out, opacity .3s ease-in-out;
	transition: transform .25s ease-in-out, opacity .3s ease-in-out, -webkit-transform .25s ease-in-out;
}
.social-link:hover {
	-webkit-transform: translateY(-5px);
	    -ms-transform: translateY(-5px);
	        transform: translateY(-5px);
	opacity: .8;
}
.social-link .icon {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	filter: invert(43%) sepia(25%) saturate(571%) hue-rotate(151deg) brightness(90%) contrast(86%);
}
	@media screen and (max-width: 860px) {
		.social-list {
			flex-direction: row;
		}
		.fb.social-link,
		.li.social-link,
		.tw.social-link,
		.ig.social-link,
		.yt.social-link {
			margin: 0 20px 10px 0;
		}
	}


/* ==========================================

    Landing Pages 

========================================== */

/*lander-header */
header#site-header-lander {
	margin: 0;
}
header#site-header-lander #logo {
    max-width: 450px;
	margin: 5px auto;
}

header.row.full.lander-header {
	background-color: rgba(115, 144, 156, 1);
}
header.row.full.lander-header.white-style {
	background-color: rgba(255, 255, 255, 1) !important;
}
/* lander footer */
#site-footer-lander {
	background-color: #d4e1f4;
	padding: 40px 40px 40px 40px;
}
.row.lander-footer-upper {
    justify-content: space-between;
	font-size: 22px;
	font-size: 2.2rem;
	font-family: "Montserrat Medium", sans-serif;
	font-weight: 800;
}
.row.lander-footer-lower img {
	max-width: 600px;
}

/* ==========================================

    Forms & Buttons

========================================== */

a.btn,
input[type='submit'] {
	text-transform: uppercase;
	font-size: 1.8rem;
	font-family: "Montserrat Medium", sans-serif;
	font-weight: 800;
	padding: 12px 30px;
	display: inline-block;
	color: #ffffff !important;
	background-color: #2F2F2F !important;
	text-decoration: none;
	display: inline-block;
	transition: all .5s;
	line-height: 18px;
	border: none;
	margin: 0;
	border-radius: 30px;
	border: 2px solid #2F2F2F;
}

a.btn:hover,
input[type='submit']:hover {
	color: #2F2F2F !important;
	background-color: #ffffff !important;
	border: 2px solid #2F2F2F;
}

a.btn.ghost {
	text-transform: uppercase;
	font-size: 1.8rem;
	font-family: "Montserrat Medium", sans-serif;
	font-weight: 800;
	padding: 12px 30px;
	display: inline-block;
	color: #2F2F2F !important;
	background-color: #ffffff !important;
	text-decoration: none;
	display: inline-block;
	transition: all .5s;
	line-height: 18px;
	border: none;
	margin: 0;
	border-radius: 30px;
	border: 2px solid #2F2F2F !important;
}
a.btn.ghost:hover {
	color: #ffffff !important;
	background-color: #2F2F2F !important;
	border: 2px solid #2F2F2F !important;
}
a.btn.outline {
	text-transform: uppercase;
	font-size: 16px;
	font-size: 1.6rem;
	font-family: "Montserrat Medium", sans-serif;
	font-weight: 800;
	padding: 12px 20px;
	display: inline-block;
	color: #ffffff;
    background-color: unset;
	text-decoration: none;
	display: inline-block;
	transition: all .5s;
	line-height: 18px;
	border: none;
	margin: 0;
	border-radius: 30px;
    border: 1px solid #ffffff;
}
a.btn.outline:hover {
	color: #4A6E7D;
	background-color: #ffffff;
    border: 1px solid #ffffff;
}

/* ==========================================

    WOOCOMMERCE

========================================== */

.woo-header-wrap {
	padding: 90px 20px 0 20px;
	z-index: 1;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: left;
}


.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
	font-size: 16px;
	font-size: 1.6rem;
	font-family: "Montserrat Medium", sans-serif;
	line-height: 18px;
	border: 1px solid #666666;
    padding: 8px;
}

/* PRODUCT CATEGORY */

div#primary {
    display: flex;
    justify-content: center;
}
section.row.full.category-main {
    padding: 50px 40px 80px 40px;
}
.woocommerce .woocommerce-result-count {
    display: none !important;
}
h1.woocommerce-products-header__title.page-title {
    text-align: center;
}
h2.woocommerce-loop-product__title {
    font-size: 3.2rem !important;
    line-height: 44px !important;
    letter-spacing: -.5px;
}
.term-description {
    margin: 20px 0 50px 0;
}
.term-description p {
    text-align: center;
    font-family: 'quincy-cf', 'Libre Baskerville', serif; 
    margin: 10px 0;
}
.woocommerce .products ul, .woocommerce ul.products {
	text-align: center;
    align-items: center;
    justify-content: center;
}
.woocommerce ul.products.columns-3 li.product {
    padding: 55px 0 40px 0;
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	text-align: center;
}
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item),
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item .variable-item-span {
    border-radius: 8px;
    min-width: 60px !important;
    background: none;
}
ul.archive-variable-items.enabled-catalog-display-limit-mode.wvs-style-squared.variable-items-wrapper.button-variable-items-wrapper {
    display: none !i;
}

a.button.product_type_variable.add_to_cart_button {
    background: none;
    border: 1px solid #666666;
    text-transform: uppercase;
    border-radius: 30px;
    padding: 10px 30px;
	font-size: 16px;
	font-size: 1.6rem;
    font-weight: 500;
    color: #4A6E7D;
}

/* PRODUCT SINGLE */

main#main {
    min-width: 100%;
}
section.row.full.product-main {
    margin: 0;
	background-color: #ececeb;
}
.summary.entry-summary {
    margin: 120px 0 0 0;
}
h1.product_title.entry-title {
	font-size: 52px;
    font-size: 5.2rem;
    line-height: 54px;
}
.woo-variation-product-gallery {
	margin-bottom: 0 !important;
}


.woocommerce .woocommerce-breadcrumb,
.woocommerce div.product form.cart .reset_variations,
.woocommerce-tabs.wc-tabs-wrapper,
div#sidebar,
.product_meta,
.single-product table.variations th.label > label {
    display: none !important;
}

button.single_add_to_cart_button.button.alt,
button.single_add_to_cart_button.button.alt.added,
button.single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed {
	text-transform: uppercase;
    font-size: 1.6rem;
    font-family: "Montserrat Medium", sans-serif;
    font-weight: 800;
    padding: 12px 20px;
    display: inline-block;
    color: #2F2F2F !important;
    background-color: #ffffff !important;
    text-decoration: none;
    display: inline-block;
    transition: all .5s;
    line-height: 18px;
    border: 2px solid #2F2F2F;
    margin: 0;
    border-radius: 30px;
}

button.single_add_to_cart_button.button.alt:hover {
	color: #ffffff;
    background-color: #2F2F2F;
    border: 2px solid #2F2F2F;
}
.woocommerce div.product div.summary {
	margin-bottom: 10px !important;
}
.woocommerce a.added_to_cart {
    display: none !important;
}

.woocommerce div.product form.cart .variations .label {
    display: none;
}

section.row.full.product-virtual {
	background-color: #4A6E7D;
	padding: 20px;
}
section.row.full.product-virtual h2 {
    color: #ffffff;
    font-size: 2.2rem;
    line-height: 24px;
    font-family: "Montserrat Medium", sans-serif;
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: 1px;
	margin-right: 20px;
}
.woocommerce div.product p.price {
	margin-bottom: 5px;
}
	@media screen and (max-width: 1200px) {
		.summary.entry-summary {
			margin-top: 55px !important;
		}
		h1.product_title.entry-title {
		font-size: 35px;
	    font-size: 3.5rem;
	    line-height: 40px;
		}
	}
	@media screen and (max-width: 768px) {
		h1.product_title.entry-title {
		font-size: 30px;
	    font-size: 3.0rem;
	    line-height: 34px;
		text-align: center;
		margin-top: 20px !important;
		}
		.woocommerce div.product p.price, .woocommerce div.product span.price {
			text-align: center;
		}
		.woo-variation-product-gallery {
		    width: 100% !important;
		    max-width: 100% !important;
			margin-bottom: 20px !important;
		}
		.woo-variation-swatches .variable-items-wrapper {
			text-align: center;
			justify-content: center !important;
		}
		.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled, 
		.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled,
		.woocommerce-product-details__short-description {
		    text-align: center;
		    justify-content: center !important;
		    display: flex;
			float: unset !important;
		}
		.woo-variation-gallery-slider-wrapper {
		    margin-top: -100px !important;
		}
	}

/* CART */

.woocommerce-cart {
    background-color: #eeeeee;
}
.woocommerce-message {
    margin: 0 20px !important;
}
.woocommerce-cart-form {
	margin: 50px 20px 20px 20px;
}
.cart-collaterals {
	margin: 20px 20px 20px 20px;
}
.woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals {
    max-width: 100%;
	width: unset !important;
}
.woocommerce-cart-header,
.cart_totals h2 {
    font-size: 20px;
    font-size: 2.0rem;
    line-height: 22px;
    font-family: "Montserrat Medium", sans-serif;
    font-weight: 800;
    margin-top: 40px;
	text-transform: uppercase;
	letter-spacing: 0;
}
table.shop_table.shop_table_responsive {
    background-color: #ffffff;
	margin: 0 !important;
    border: 1px solid rgba(0,0,0,.1) !important;
    padding: 15px !important;
	border-collapse: collapse;
}
.cart_totals {
    width: 100% !important;
}
.woocommerce .cart-collaterals::before {
	display: none !important;
}
a.checkout-button.button.alt.wc-forward {
	text-transform: uppercase;
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "Montserrat Medium", sans-serif;
    font-weight: 800;
    padding: 12px 20px;
    display: inline-block;
    color: #ffffff;
    background-color: #4A6E7D;
    text-decoration: none;
    display: inline-block;
    transition: all .5s;
    line-height: 18px;
    border: none;
    margin: 0;
    border-radius: 30px;
	max-width: fit-content;
	float: right;
}
a.checkout-button.button.alt.wc-forward:hover {
    background-color: #ffffff;
    color: #4A6E7D;
}
th.product-name {
    font-size: 16px;
    font-size: 1.6rem;
}
input#coupon_code {
    height: 36px;
    width: 200px;
}
.woocommerce-cart table.cart .product-thumbnail,
.woocommerce-cart table.cart .product-remove {
	display: none;
}
.cart-collaterals {
    margin-bottom: 40px;
}

/* EMPTY CART */
a.button.wc-backward {
    margin: 60px 20px 60px 20px !important;
    background-color: #ffffff !important;
}

/* CHECKOUT */

.woocommerce-notices-wrapper,
.cart-empty.woocommerce-info {
	margin: 0 20px !important;
}
.woocommerce-checkout {
    background-color: #eee;
}
form.checkout.woocommerce-checkout {
    padding: 0 20px;
}
.woocommerce-form-coupon-toggle {
	margin: 10px 20px 0 20px!important;
}

.woocommerce-info::before {
    display: none !important;
}
.woocommerce-info {
    border-top-color: #4A6E7D !important;
	padding: 1em 2em 1em 1em !important;
	background-color: #ffffff !important;
}
.woocommerce form.checkout_coupon {
	margin: 20px !important;
	background-color: #ffffff !important;
}
.woocommerce .col2-set, .woocommerce-page .col2-set {
    background-color: #ffffff;
	margin: 0 !important;
    border: 1px solid rgba(0,0,0,.1) !important;
    padding: 35px !important;
	border-collapse: collapse;
	border-radius: 5px;
}

table.shop_table.woocommerce-checkout-review-order-table {
    background-color: #fff;
    padding: 35px;
    border: 1px solid rgba(0,0,0,.1);
}
h3#order_review_heading {
    font-size: 20px;
    font-size: 2.0rem;
    line-height: 22px;
    color: #4A6E7D;
	font-family: "Montserrat Medium", sans-serif;
    font-weight: 800;
    margin-top: 40px;
	text-transform: uppercase;
	letter-spacing: 0;
}
.woocommerce-checkout #payment {
	background-color: #fff !important;
	padding: 20px;
}
.woocommerce form .form-row .input-text,
.woocommerce-page form .form-row .input-text,
#select2-billing_state-container,
#select2-shipping_state-container,
.select2-selection.select2-selection--single {
    background-color: #efefef;
    border: 1px solid rgba(0,0,0,.1) !important;
}
.select2-container--default .select2-selection--single {
     background-color: none !important;
     border: none !important;
     border-radius: none !important;
}
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    background-color: #efefef !important;
}
#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
	border: 1em solid #efefef !important;
    border-right-color: transparent !important;
    border-left-color: transparent !important;
    border-top-color: transparent !important;
}
#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid #fff !important;
}
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
     float: left !important;
}
#billing_country_field,
#shipping_country_field {
    display: none;
}

.wc-stripe-elements-field {
	padding: 10px !important;
}

:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt {
	text-transform: uppercase;
    font-size: 1.6rem;
    font-family: "Montserrat Medium", sans-serif;
    font-weight: 800;
    padding: 12px 20px;
    display: inline-block;
    color: #ffffff;
    background-color: #4A6E7D !important;
    text-decoration: none;
    display: inline-block;
    transition: all .5s;
    line-height: 18px;
    border: 2px solid #4A6E7D;
    margin: 0;
    border-radius: 30px;
	max-width: fit-content;
}

/* SIDE CART */

a.xoo-wsc-ft-btn.button.btn.xoo-wsc-ft-btn-cart,
a.xoo-wsc-ft-btn.button.btn.xoo-wsc-cart-close.xoo-wsc-ft-btn-continue,
a.xoo-wsc-ft-btn.button.btn.xoo-wsc-ft-btn-checkout {
    text-transform: uppercase;
    font-size: 1.6rem;
    font-family: "Montserrat Medium", sans-serif;
    font-weight: 800;
    padding: 12px 20px;
    display: inline-block;
    color: #ffffff;
    background-color: #4A6E7D;
    text-decoration: none;
    display: inline-block;
    transition: all .5s;
    line-height: 18px;
    border: none;
    margin: 0;
    border-radius: 30px;
    border: 2px solid #4A6E7D;
}
.xoo-wsc-ft-buttons-cont {
    grid-template-columns: 1fr !important;
}

/* Confirmation Page */
.woocommerce-order {
    margin: 20px;
}
section.woocommerce-columns.woocommerce-columns--2.woocommerce-columns--addresses.col2-set.addresses {
    line-height: 24px;
}
table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details {
    background-color: #fff;
    padding: 20px;
}



/* ==========================================

    404

========================================== */

.not-found-panel.row.full {
	background-color: #ffffff;
	padding: 40px 40px 20px 40px;
}
.not-found {
	text-align: center;
	max-width: 1040px;
    margin-bottom: 150px;
}
.not-found img {
	max-width: 300px;
	margin-top: 90px;
}
.not-found h1 {
	font-size: 50px;
	font-size: 5rem;
	line-height: 60px;
	font-weight: 300;
	color: #2F2F2F;
	word-break: keep-all;
    letter-spacing: -2px;
	margin: 10px 0 10px 0;
}
.not-found h2 {
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 24px;
}
	@media screen and (max-width:1200px) {
		.not-found h1 {
			margin: 0 0 10px 0;
		}
	}

/* ==========================================

    Hides & Fixes

========================================== */

.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }
.print-only { display: none!important; visibility: hidden;}
.hide { display: none; }

/* ==========================================

    Media: Print

========================================== */

@media print {

	#site-header {display: none;}
	.print-only { display: block!important; visibility: visible;}

  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
  a, a:visited { text-decoration: underline; }
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.25cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }

  #ghost-header,
  .cta-panel.row.full {
  	display: none;
  }
    header#site-header #logo {
		position: absolute;
		height: auto;
		top: 5px;
		padding-bottom: 1px;
		-moz-appearance: none;
		-webkit-appearance: none;
		appearance: none;
		max-width: 120px;
	}
	  img.logo{
      max-width: 300px!important;
	  }
	  img {
	      max-width: 200px!important;
	      width: inherit!important;
	      height: auto;
	      margin: 10px!important;
	      float: left!important;
	  }
	  .print-icon,
	  a.btn,
	  #site-footer {
	  	display: none;
	  }
	  h1 {
	  	font-size: 20px;
	  	font-size: 2.0rem;
	  	line-height: 22px;
	  	margin: 1px;
	  }
	  h2 {
	  	font-size: 15px;
	  	font-size: 1.5rem;
	  	line-height: 18px;
	  	margin: 1px;
	  }
	   p {
	  	font-size: 11px;
	  	font-size: 1.1rem;
	  	line-height: 14px;
	  }


}
