/*
Theme Name:   	Storefront Child Theme - Pipe Insulation Online
Theme URI:    	https://mediabunker.co.uk
Author:       	mediaBunker
Author URI:		  https://mediabunker.co.uk
Template:     	storefront
Description:  	Bespoke theme for Pipe Insulation Online website
Version:      	1.2
License:      	GNU General Public License v2 or later
License URI:  	http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  	pipe_insulation_online
Tags: accessibility-ready, custom-colors, custom-menu, featured-images

Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer https://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/

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, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

article, aside, details, figcaption, figure, footer, header, main, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  font-weight: normal;
  text-align: left;
}

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

blockquote, q {
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  quotes: none;
}

a:hover, a:active {
  outline: 0;
}

a img {
  border: 0;
}

input:focus, select:focus, textarea:focus, button:focus {
  outline: none;
}

/**************************************/
/*** Pipe Insulation Online Styling ***/
/**************************************/

/*** Base Styles ***/

@font-face {
  font-family: 'PipeInsulationOnline';
  src: url('./assets/fonts/pipeinsulationonline-demi-webfont.eot');
  src: url('./assets/fonts/pipeinsulationonline-demi-webfont.eot?#iefix') format('embedded-opentype'),
       url('./assets/fonts/pipeinsulationonline-demi-webfont.woff2') format('woff2'),
       url('./assets/fonts/pipeinsulationonline-demi-webfont.woff') format('woff'),
       url('./assets/fonts/pipeinsulationonline-demi-webfont.ttf') format('truetype'),
       url('./assets/fonts/pipeinsulationonline-demi-webfont.svg#pipe_insulation_online') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap; 
}

html {
	scroll-behavior: smooth;
}

body {
  font-family: "Red Hat Display", Arial, sans-serif;
  font-weight: 500; /* Medium */
  font-size: 16px; font-size: 1.6rem;
  font-style: normal;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased; /* Makes certain fonts look less heavy! */
  -moz-osx-font-smoothing: grayscale;
  color: #0D0E3A;
  background-color: #F4F4F4;
  text-align: left;
  line-height: 1.3em;
  letter-spacing: 0;
  min-width: 320px;
  height: 100%;
}

h1 {
	font-size: 25px; font-size: 2.5rem;
  font-weight: 700; /* Bold */
  line-height: 110%;
  letter-spacing: 0;
}

h1.special {
	font-family: 'PipeInsulationOnline', Helvetica, Arial, sans-serif;
  line-height: 115%;
}

h2 {
	font-size: 22px; font-size: 2.2rem;
  font-weight: 700; /* Bold */
  letter-spacing: 0;
  line-height: 110%;
}

h2.special {
	font-family: 'PipeInsulationOnline', Helvetica, Arial, sans-serif;
  line-height: 112%;
}

h3 {
	font-size: 19px; font-size: 1.9rem;
  font-weight: 700; /* Bold */
  letter-spacing: 0;
  line-height: 120%;
}

h3.special {
	font-family: 'PipeInsulationOnline', Helvetica, Arial, sans-serif;
  line-height: 117%;
}

h4 {
	font-size: 13px; font-size: 1.3rem;
	font-weight: 700; /* Bold */
  line-height: 140%;
}

h5 {
	font-size: 12px; font-size: 1.2rem;
  font-weight: 700; /* Bold */
  line-height: 130%;
}

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

  body {
    font-size: 19px; font-size: 1.9rem;
  }

  h1 {
    font-size: 40px; font-size: 4.0rem;
  }
  
  h2 {
    font-size: 35px; font-size: 3.5rem;
  }

  h3 {
    font-size: 25px; font-size: 2.5rem; /* TOO BIG? */
  }
	
  h4 {
	  font-size: 16px; font-size: 1.6rem;
  }

  h5 {
	  font-size: 15px; font-size: 1.5rem;
  }
}

a, a:link, a:visited {
  text-decoration: underline;
  color: inherit;
  font-weight: 500;
  cursor: pointer;
}

a.noUnderline, a.noUnderline:link, a.noUnderline:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a.cta, span.cta, button.cta  {
  display: inline-flex;
  align-items: center;
  
  width: fit-content !important;
  height: 47px;
  padding: 0 0 0 22px;
  margin-top: 10px;
  margin-bottom: 10px;
 
  color: #fff;
  background: linear-gradient(to right, #065DB0 50%, #0377D8 50%);
  background-size: 200% 100%;
  background-position:right bottom;

  font-family: "Red Hat Display", Arial, sans-serif;
  font-weight: 600; /* Semi Bold */
  font-size: 17px; font-size: 1.7rem;
  text-decoration: none;

  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;

  border: 0;
  cursor: pointer;
}

a.cta.invert, span.cta.invert, button.cta.invert {
  background: linear-gradient(to right, #D9EBF9 50%, #ffffff 50%);
  background-size: 200% 100%;
  background-position:right bottom;
  color: #0377D8;
}

a.cta.compact, span.cta.compact, button.cta.compact  {
  padding-left: 12px;
  height: auto;
}

.products .product a.cta {
  height: auto;
}

a.cta::after, button.cta::after, span.cta::after {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 41px;
  height: 41px;
  background-color: #fff;
  color: #0377D8;
  margin: 3px 3px 3px 18px;
  padding-left: 1.5px;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;

  -webkit-transition: all 0.5s 0s ease;
  -moz-transition: all 0.5s 0s ease;
  -o-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;

  -webkit-font-smoothing: antialiased;
  font-family: "Phosphor-Bold";
  font-weight: normal;
  font-size: 29px; font-size: 2.9rem;
  content: "\e06c";
}

a.cta.invert::after, span.cta.invert::after, button.cta.invert::after {
  background-color: #0377D8;
  color: #fff;
}

a.cta.compact::after, button.cta.compact::after, span.cta.compact::after {
  width: 27px;
  height: 27px;
  font-size: 23px; font-size: 2.3rem;
}

a.cta:last-child, span.cta:last-child, button.cta:last-child {
  margin-bottom: 0;
}

a.cta.download::after, button.cta.download::after {
  content: "\e03e";
}

a.cta.basket::after, button.cta.basket::after {
  content: "\E41E";
}

a.cta.compact.basket::after, button.cta.compact.basket::after {
  font-size: 23px; font-size: 2.2rem;
}

a.cta:hover, a:hover span.cta, button.cta:hover,
.products .product:hover a.cta {
  background-color: #065DB0;
}

a.cta:active, button.cta:active {
  background-image: none;
}

@media only screen and (min-width: 690px) {
   
  a.cta, span.cta, button.cta {
    font-size: 20px; font-size: 2.0rem;
    height: 50px;
    padding: 0 0 0 18px;
    
    -webkit-transition: all 0.5s 0s ease;
    -moz-transition: all 0.5s 0s ease;
    -o-transition: all 0.5s 0s ease;
    transition: all 0.5s 0s ease;
  }

  a.cta.compact, span.cta.compact, button.cta.compact  {
    padding-left: 15px;
  }

  a.cta:hover, a:hover span.cta, button.cta:hover,
  .products .product:hover a.cta {
    background-position: left bottom;
  }

  a.cta::after, button.cta::after, span.cta::after {
    width: 44px;
    height: 44px;
    margin: 3px 3px 3px 13px;

    font-size: 32px; font-size: 3.2rem;
  }

  a.cta.compact::after, button.cta.compact::after, span.cta.compact::after {
    width: 31px;
    height: 31px;

    margin-left: 13px;
    font-size: 28px; font-size: 2.8rem;
  }

  a.cta:hover::after, button.cta:hover::after, span.cta:hover::after,
  .products .product:hover a.cta::after {
    padding-left: 5px;
  }

  a.cta.compact:hover::after, button.cta.compacthover::after, span.cta.compact:hover::after {
    padding-left: 4px;
  }

  a.cta.download:hover::after, button.cta.download:hover::after, span.cta.download:hover::after {
    padding-left: 1.5px;
    padding-top: 5px;
  }
}

h3.underline {
  text-align: center;
} 

h3.underline:after {
  background: none repeat scroll 0 0 #4299E1;
  bottom: -15px;
  content: "";
  display: block;
  height: 3px;
  position: relative;
  width: 150px;
  margin-bottom: 37px;
  margin-left: auto;
  margin-right: auto;
} 

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

  h3.underline:after {
    bottom: -20px;
    width: 200px;
    margin-bottom: 50px; 
  }
}

h3.preColumnsWrapper.underline:after {
  margin-bottom: 20px;
}

i, em {
  font-style: italic;
}

mark {
  background-color: #0377D8;
  padding-left: 5px;
  padding-right: 5px;
  color: #fff;
}

main strong {
  font-weight: 700; /* Bold */
}

img, svg {
  display: inline-block;
  color: transparent;
  max-width: 100%;
  height: auto;
}

main p {
  margin-bottom: 18px;
}

main p:last-child {
  margin-bottom: 0;
}


main li {
  /* margin-bottom: 5px; */
}

h1 + p, h2 + p, h3 + p, h4 + p,
h1 + ul, h2 + ul, h3 + ul, h4 + ul,
ul + h1, ul + h2, ul + h3, ul + h4,
ul + p, h1 + table, h2 + table, h3 + table, 
h1 + ol, h2 + ol, h3 + ol, h4 + ol,
h1 + address, h2 + address, h3 + address, h4 + address {
  margin-top: 7px;
}

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

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

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

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

p + h1, p + h2, p + h3,
ul + h1, ul + h2, ul + h3,
ol + h1, ol + h2, ol + h3 {
  margin-top: 45px;
}

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

  main p {
    margin-bottom: 20px;
  }
  
  main li {
    /* margin-bottom: 125px; */
  }
  
  h1 + p, h2 + p, h3 + p, h4 + p,
  h1 + ul, h2 + ul, h3 + ul, h4 + ul,
  ul + h1, ul + h2, ul + h3, ul + h4,
  ul + p, h1 + table, h2 + table, h3 + table,
  h1 + ol, h2 + ol, h3 + ol, h4 + ol,
  h1 + address, h2 + address, h3 + address, h4 + address {
    margin-top: 12px;
  }

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

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

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

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

  p + h1, p + h2, p + h3,
  ul + h1, ul + h2, ul + h3,
  ol + h1, ol + h2, ol + h3 {
    margin-top: 45px;
  }
}

.smallPrint {
  font-size: 12px; font-size: 1.2rem;
}

/*** Columns & Responsive Setup ***/
section {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

section#introduction {
  margin-top: 0;
}

section .columnsWrapper {
  margin:	0 auto;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  position: relative;
  justify-content: stretch;
  justify-content: flex-start;
}

section .columnsWrapper.restrictWidth {
  max-width: 1200px;
}

section .columnsWrapper.extremeRestrictWidth {
  max-width: 800px;
}

section .column {
  flex-grow: 1;
  margin: 0 auto 0;
  flex-basis: 100%;
  overflow: hidden;
  position: relative; 
}

section .column .contentWrapper {
  display: block;
  padding: 40px 20px;
  overflow: hidden;
}

section .column .contentWrapper.removeTopPadding {
  padding-top: 0;
}

section .column .contentWrapper.removeBottomPadding {
  padding-bottom: 0;
}

section .column .contentWrapper.removeTopAndBottomPadding {
  padding-top: 0;
  padding-bottom: 0;
}

section .column .contentWrapper.expandedPeripheral {
  padding: 60px 20px;
}

section.fiveColumns .column {
  flex-basis: 50%;
}

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

  section .column .contentWrapper, section.twoColumns .column:first-child .contentWrapper {
    padding: 80px 20px;
  }

  section.twoColumns .column, section.fourColumns .column {
    flex-basis: 50%;
  }

  section.fiveColumns .column {
    flex-basis: 33.3333%;
  }

  section .column .contentWrapper.expandedPeripheral {
    padding: 80px 20px;
  }
}

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

  section.threeColumns .column {
    flex-basis: 33.3333%;
  }

  section.fourColumns .column {
    flex-basis: 33.3333%;
  }
}

@media only screen and (min-width: 1500px) {
    
  section.fourColumns .column {
    flex-basis: 25%;
  }

  section.fiveColumns .column {
    flex-basis: 20%;
  }
}

/*** Header & Navigation ***/
header#navigation {
  display: block;
  z-index: 500;
  position: fixed;
  top: 0;
  width: 100%;
  min-width: 320px;
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0px,0px,0px); /* Fix to allow instant fixed nav on ios (not just after finger release) */
  -webkit-transition: all .1s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  
  box-shadow: 1px 3px 17px 3px rgba(0,0,0,0.1);
  -webkit-box-shadow: 1px 3px 17px 3px rgba(0,0,0,0.1);
  -moz-box-shadow: 1px 3px 17px 3px rgba(0,0,0,0.1);
}

header#navigation.hidden {
  margin-top: -300px;
}

header#navigation nav div.wrapper {
  position: relative;
  margin:	0 auto;
  padding: 0 20px;
  overflow: visible;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  max-width: 1500px;
  width: 100%;
}

header#navigation nav div.wrapper > ul {
  display: flex;
}

header#navigation nav div.wrapper ul li {
  margin: 0;
  position: relative
}

header#navigation nav div.wrapper ul li a {
  text-decoration: none;
  padding-top: 0;
  padding-bottom: 0;
}

header#navigation nav#promotionAndContact {
  background-color: #0D0E3A;
  background-color: #0377D8; /* NS style chnage */
  color: #fff;
}

header#navigation nav#promotionAndContact ul li.promotions {
  flex-grow: 1;
  align-items: center;
  min-width: 0;
}

header#navigation nav#promotionAndContact ul li.promotions .promotionSlider {
  display: flex;
  flex-direction: column; 
  justify-content: center;
  height: 53px;
  opacity: 0;
  overflow: hidden; /* Bug fix to prevent all slider content showing on page load */
}

header#navigation nav#promotionAndContact ul li.promotions .promotionSlider .slick-slide:nth-child(n+1) {
  display: none;
} 

header#navigation nav#promotionAndContact ul li.promotions .promotionSlider.slick-initialized {
  opacity: 1;
  height: 100%;
}

header#navigation nav#promotionAndContact ul li.promotions .promotionSlider.slick-initialized .slick-slide {
  display: block;
}

header#navigation nav#promotionAndContact ul li.promotions .promotionSlider > div {
  text-align: center;
}

header#navigation nav#promotionAndContact ul li.promotions h2 {
  font-size: 13px; font-size: 1.3rem;
  font-weight: 700; /* Bold */
  padding-left: 5px;
  padding-right: 5px;
  line-height: 110%;
}

header#navigation nav#promotionAndContact ul li.promotions a,
header#navigation nav#promotionAndContact ul li.promotions a:link,
header#navigation nav#promotionAndContact ul li.promotions a:visited {
  font-weight: 700; /* Bold */
}

header#navigation nav#promotionAndContact ul li.promotions strong {
  color: #065DB0; /* NS style chnage */
  color: #fff;
  text-transform: uppercase;
  padding-right: 4px;
  font-weight: 800; /* Extra Bold */
}

header#navigation nav#promotionAndContact ul li.contact {
	flex-grow: 0;
  margin-left: 20px;
}

header#navigation nav#promotionAndContact ul li.contact .cta.compact {
  margin-top: 10px;
  margin-bottom: 10px;
}

header#navigation nav#promotionAndContact ul li.contact .cta.compact.full {
  display: none;
}

header#navigation nav#promotionAndContact ul li.contact .cta.compact.iconsOnly {
  padding-left: 7px;
}

header#navigation nav#promotionAndContact ul li.contact .cta.compact.iconsOnly i {
  font-size: 2.8px; font-size: 2.8rem;
}

header#navigation nav#promotionAndContact ul li.contact .cta.compact.iconsOnly::after {
  margin-left: 8px;
}

header#navigation nav#main {
  background-color: #fff;
  position: relative;
  z-index: 2000;
}

header#navigation nav#main .wrapper > ul {
   -webkit-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s; 
}

@keyframes searchFadeIn {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

header#navigation nav#main.searchActive .wrapper > ul {
  filter: blur(4px);
}

header#navigation nav#main #searchWrapper {
  width: 100%;
  height: 100%;
  display: none;
  /* opacity: 0; */
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  padding: 0 20px;
  background-color: #fff;
  background-color: rgba(255,255,255, 0.2);
}

header#navigation nav#main.searchActive #searchWrapper {
  display: block;
  -webkit-animation: searchFadeIn 0.5s linear;
  -moz-animation: searchFadeIn 0.5s linear;
  -o-animation: searchFadeIn 0.5s linear;
  animation: searchFadeIn 0.5s linear; 
}

header#navigation nav#main #searchWrapper span.fullSearchField {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  top: calc(50%);
  transform: translateY(-50%);
}

header#navigation nav#main ul li.logo {
  width: 40%;
  min-width: 100px;
  max-width: 225px;
  padding: 10px 20px 10px 0;
}

@media only screen and (min-width: 690px) {
  header#navigation nav#main ul li.logo {
    padding: 20px 20px 20px 0;
  }
}

header#navigation nav#main ul li.logo a img {
  display: block;
}

header#navigation nav#main li.topMenu {
  flex-grow: 1;
  justify-content: center;
  display: none;
  position: relative;
  z-index: 2500;
}

header#navigation nav#main ul li.topMenu  a {
  padding-top: 12px;
  padding-bottom: 12px;
}

header#navigation nav#main li.topMenu > ul.menu {
  display: flex;
  position: relative;
  width: 100%;
  justify-content: center;
}

header#navigation nav#main li.topMenu ul.menu > li {
  display: flex;
  position: relative;
  flex-direction: column; 
  justify-content: center;
  padding: 3px 3% 0 3%;
  width: 100%;
  white-space: nowrap;
  height: 100%;
  text-align: center;
  border-bottom: 3px solid transparent;
  -webkit-transition: all 0.8s;
  -ms-transition: all 0.8s;
  transition: all 0.8s; 
}

header#navigation nav#main ul li.topMenu ul.menu > li.current-menu-item {
  border-bottom: 3px solid #0377D8;
}

header#navigation nav#main li.topMenu ul.menu > li:hover {
  color: #0377D8;
  border-bottom: 3px solid #0377D8;
}

header#navigation nav#main ul li.topMenu ul.menu > li > a {
  font-weight: 800;
  vertical-align: middle;
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper {
  display: block;
  position: fixed;
  transform: translateX(-50%);
  left: 50%;
  top: 100%;
  width: 100vw; 
  background-color: #0D0E3A;
  border-bottom: 3px solid #0377D8;
  padding-top: 0;
  padding-left: 45px;
  padding-right: 45px;
  padding-bottom: 0px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s;
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper:after {
  content: "";
  position: absolute;
  width: 100%;
  bottom: -3px;
  left: 0;
  right: 0;
  box-shadow: 1px 3px 17px 3px rgba(0,0,0,0.3);
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children:hover > div.sub-menu-outer-wrapper {
  opacity: 100;
  visibility: visible;
  padding-top: 20px;
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper > div.sub-menu-inner-wrapper {
  max-width: 1500px;
  display: block;
  position: relative;
  margin: 0 auto;
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper > div.sub-menu-inner-wrapper > ul.sub-menu {
  display: block;
  position: relative;
  color: #fff;
  margin: 0 auto;
  width: 100%;
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper > div.sub-menu-inner-wrapper > ul.sub-menu > li {
  float: left;
  text-align: left;
  display: block;
  width: 250px;
  margin-bottom: 15px;
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper > div.sub-menu-inner-wrapper > ul.sub-menu > li.menu-gutter-sizer {
  width: 30px;
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper > div.sub-menu-inner-wrapper > ul.sub-menu > li > a {
  font-weight: 700; 
  margin-bottom: 15px;
  display: block;
  padding-top: 0;
  padding-bottom: 0;
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper > div.sub-menu-inner-wrapper > ul.sub-menu > li a {
  -webkit-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s; 
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper > div.sub-menu-inner-wrapper > ul.sub-menu > li a:hover {
  color: #0377D8;
}

header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children li.menu-item-has-children ul.sub-menu {
  margin-top: 2px;
  padding-left: 15px;
  margin-bottom: 10px;
  border-left: 2px solid #0377D8;
}

header#navigation nav#main ul li.shopNavWrapper {
  display: flex;
	flex-grow: 1;
  align-items: center;
  justify-content: right;
  padding-left: 20px;
}

header#navigation nav#main ul li.shopNavWrapper ul {
  display: flex;
	flex-grow: 1;
  align-items: center;
  justify-content: right;
  padding-left: 20px;
}

header#navigation nav#main ul li.shopNavWrapper ul li {
  margin-left: 10px;
  vertical-align: middle;
}

header#navigation nav#main ul li.shopNavWrapper ul li a {
  -webkit-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s; 
  color: #494A6B;
  display: inline-block;
}

header#navigation nav#main ul li.shopNavWrapper ul li a:hover {
  color: #0377D8;
}

header#navigation nav#main ul li.shopNavWrapper ul li a i {
  vertical-align: middle;
  font-size: 28px; font-size: 2.8rem;
}

header#navigation nav#main ul li.shopNavWrapper ul li a span.cartAndCounter {
  position: relative;
  display: inline-block;
}

header#navigation nav#main ul li.shopNavWrapper ul li a span.cartAndCounter span.counter {
  position: absolute;
  display: block;
  top: -7px;
  right: -7px;
  height: 19px;
  width: 19px;
  line-height: 19px;
  text-align: center;
  vertical-align: middle;
  background-color: #0377D8;
  color: #fff;
  font-size: 10px; font-size: 1.0rem;
  font-weight: 900; /* Black */
  border-radius: 50%;
  -moz-box-shadow: 0 0 2px 2px  #fff;
  -webkit-box-shadow: 0 0 2px 2px  #fff;
  box-shadow: 0 0 2px 2px  #fff;
}

header#navigation nav#main ul li.shopNavWrapper ul li a span.cartTotal {
  display: none;
  font-weight: 800;
  margin-left: 8px;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu {
  margin-left: 13px;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu button {
  border: none;
  background: none;
  cursor: pointer;
  padding-block-end: 0;
  padding-block-start: 0;
  padding-inline-start: 0;
  padding-inline-end: 0;
  padding-bottom: 2.6px;
  display: block;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu #hamburgerIcon {
  width: 30px;
  height: 20px;
  position: relative;
} 

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu #hamburgerIcon span {
  display: block;
  position: absolute;
  height: 2.6px;
  border-radius: 10px;
  width: 100%;
  background: #494A6B;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu a:hover #hamburgerIcon span {
  background-color: #0377D8;
  -webkit-transition: all 0.5s 0s ease;
  -moz-transition: all 0.5s 0s ease;
  -o-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu #hamburgerIcon span:nth-child(1) {
  top: 0px;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu #hamburgerIcon span:nth-child(2) {
  top: 50%;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu #hamburgerIcon span:nth-child(3) {
  top: 100%;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu .active #hamburgerIcon span {
  background-color: #0377D8;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu .active #hamburgerIcon span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0px;
  left: 3.25px;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu .active #hamburgerIcon span:nth-child(2) {
  width: 0%;
  opacity: 0;
}

header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu .active #hamburgerIcon span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 21.5px;
  left: 3.5px;
}

header#navigation nav#breadcrumb {
  background-color: #0377D8;
  /* background-color: rgba(3, 119, 216, 0.8); */
  overflow: hidden;
  z-index: 1000;
}

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

  header#navigation nav#promotionAndContact ul li.promotions h2 {
    font-size: 16px; font-size: 1.77rem;
  }

  header#navigation nav#promotionAndContact ul li.contact .cta.compact.full {
    display: flex;
  }

  header#navigation nav#promotionAndContact ul li.contact .cta.compact.iconsOnly {
    display: none;
  }
}

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

  header#navigation nav#main li.topMenu {
    display: flex;
  }

  header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper > div.sub-menu-inner-wrapper > ul.sub-menu > li {
    width: 300px;
  }

  header#navigation nav#main li.topMenu ul.menu > li.menu-item-has-children > div.sub-menu-outer-wrapper > div.sub-menu-inner-wrapper > ul.sub-menu > li.menu-gutter-sizer {
    width: 60px;
  }

  header#navigation nav#main ul li.shopNavWrapper {
    flex-grow: 0;
    align-items: center;
  }

  header#navigation nav#main ul li.shopNavWrapper ul li a span.cartTotal {
    display: inline-block;
  }

  header#navigation nav#main ul li.shopNavWrapper ul li.sideMenu {
    display: none;
  }
}

/*** WordPress Default Wysiwyg Editor Styling ***/

/* Spacing */
:root { 
  --global--spacing-unit: 20px;
  --global--spacing-measure: unset;
  --global--spacing-horizontal: 25px;
  --global--spacing-vertical: 30px;

  --responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal) * 0.6);
  --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal));
  --responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal));
  --responsive--alignfull-width: 100%;
  --responsive--alignright-margin: var(--global--spacing-horizontal);
  --responsive--alignleft-margin: var(--global--spacing-horizontal);
}

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

  :root {
    --responsive--aligndefault-width: min(calc(100vw - 4 * var(--global--spacing-horizontal)), 610px);
    --responsive--alignwide-width: calc(100vw - 4 * var(--global--spacing-horizontal));
    --responsive--alignright-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
    --responsive--alignleft-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
  }
}
@media only screen and (min-width: 822px) {

  :root {
    --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 610px);
    --responsive--alignwide-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 1240px);
  }
}

.alignleft {
  /*rtl:ignore*/
  text-align: left;
  margin-top: 0;
}

.entry-content > .alignleft {
  max-width: var(--responsive--aligndefault-width);
}

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

  .alignleft {
    /*rtl:ignore*/
    float: left;
    /*rtl:ignore*/
    margin-right: var(--global--spacing-horizontal);
    margin-bottom: var(--global--spacing-vertical);
  }

  .entry-content > .alignleft {
    max-width: calc(50% - var(--responsive--alignleft-margin));
  }
}

.aligncenter {
  clear: both;
  display: block;
  float: none;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.alignright {
  margin-top: 0;
  margin-bottom: var(--global--spacing-vertical);
}

.entry-content > .alignright {
    max-width: var(--responsive--aligndefault-width);
}

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

  .alignright {
    /*rtl:ignore*/
    float: right;
    /*rtl:ignore*/
    margin-left: var(--global--spacing-horizontal);
  }

  .entry-content > .alignright {
      max-width: calc(50% - var(--responsive--alignright-margin));
  }
}

[class*=inner-container] > .alignleft + *,
[class*=inner-container] > .alignright + * {
  margin-top: 0;
}

.alignwide, .alignfull {
clear: both;
}

.has-left-content {
  justify-content: flex-start;
}

.has-right-content {
  justify-content: flex-end;
}

.has-parallax {
  background-attachment: fixed;
}

.has-drop-cap:not(:focus)::first-letter {
  font-family: var(--heading--font-family);
  font-weight: var(--heading--font-weight);
  line-height: 0.66;
  text-transform: uppercase;
  font-style: normal;
  float: left;
  margin: 0.1em 0.1em 0 0;
  font-size: calc(1.2 * var(--heading--font-size-h1));
}

.has-drop-cap:not(:focus)::after {
  content: "";
  display: table;
  clear: both;
  padding-top: 14px;
}

.desktop-only {
  display: none;
}

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

  .desktop-only {
    display: block;
  }
}

/*** Section: Generic ***/
main section {
  background-color: #ffffff;
}

main section.alt {
  background-color: #f4f4f4;    
}

section img.background {
  width: auto;
  height: auto;
  max-width: 100% !important;
  min-height: 100%;
  /* min-width: 100vw; */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 1;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}

@supports ( object-fit: cover ) {
  section img.background {
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      object-fit: cover;
      transform: none;
      overflow: hidden;
  }
}

section .backgroundOverlay {
  width:100%; 
  height:100%;
  position: relative;
  z-index: 2;
  display: block;
}

main section li {
  margin-left: 1.2em;
  margin-bottom: 10px;
  list-style: disc;
}

section.singleColumn .preColumnsWrapper + .columnsWrapper > .column .contentWrapper,
section.twoColumns .preColumnsWrapper + .columnsWrapper,
section.threeColumns .preColumnsWrapper + .columnsWrapper,
section .preColumnsWrapper + .multiBlockSlider.columnsWrapper {
  padding-top: 0;
}

section.singleColumns .preColumnsWrapper .columnsWrapper,
section.twoColumns .preColumnsWrapper .columnsWrapper,
section.threeColumns .preColumnsWrapper .columnsWrapper {
  padding-top: 0;
  padding-bottom: 0;
}

section .preColumnsWrapper .contentWrapper {
  padding-top: 0;
  padding-bottom: 0;
}

section *.preColumnsWrapper {
  text-align: center;
  padding: 40px 20px 20px 20px;
}

section div.preColumnsWrapper {
  text-align: left;
  padding: 40px 0 20px 0;
}

section *.preColumnsWrapper.removeTopPadding,
section.twoColumns .columnsWrapper.removeTopPadding,
section.threeColumns .columnsWrapper.removeTopPadding,
section .multiBlockSlider.columnsWrapper.removeTopPadding {
  padding-top: 0;
}

section *.preColumnsWrapper.removeBottomPadding,
section.twoColumns .columnsWrapper.removeBottomPadding,
section.threeColumns .columnsWrapper.removeBottomPadding,
section .multiBlockSlider.columnsWrapper.removeBottomPadding {
  padding-bottom: 0;
}

section *.preColumnsWrapper.removeTopAndBottomPadding,
section.twoColumns .columnsWrapper.removeTopAndBottomPadding,
section.threeColumns .columnsWrapper.removeTopAndBottomPadding,
section .multiBlockSlider.columnsWrapper.removeTopAndBottomPadding {
  padding-top: 0;
  padding-bottom: 0;
}

main > section *.preColumnsWrapper {
  padding-top: 30px;
}

section .callToActionWrapper {
  margin: 0 auto;
  text-align: center;
  padding: 0;
}

section.centerAll .contentWrapper *,
section .column.centerAll .contentWrapper {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

section.centerAll .contentWrapper ul,
section .column.centerAll .contentWrapper ul {
  list-style-position: inside;
  margin-left: auto;
  margin-right: auto;
  width: 80%;
}

section.centerAll .contentWrapper ul li,
section .column.centerAll .contentWrapper ul li {
  text-align: left;
}

section.centerAll .contentWrapper ul.hideBullets li,
section .column.centerAll .contentWrapper ul.hideBullets li {
  text-align: center;
}

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

  section *.preColumnsWrapper {
    padding: 90px 20px 30px 20px;
  }

  section div.preColumnsWrapper {
    padding: 90px 0 30px 0;
  }

  main > section *.preColumnsWrapper {
    padding-top: 65px;
  }

  section .callToActionWrapper {
    padding: 0;
  }

  section.centerOnWideDevicesOnly .contentWrapper *,
  section .column.centerOnWideDevicesOnly .contentWrapper * {
      text-align: center !important;
      margin-left: auto !important;
      margin-right: auto !important;
  }
  
  section.centerOnWideDevicesOnly .contentWrapper ul,
  section .column.centerOnWideDevicesOnly .contentWrapper ul {
      list-style-position: inside;
      margin-left: auto;
      margin-right: auto;
      width: 80%;
  }

  section.centerOnWideDevicesOnly .contentWrapper ul li,
  section .column.centerOnWideDevicesOnly .contentWrapper ul li {
      text-align: left;
  }
  
  section.centerOnWideDevicesOnly .contentWrapper ul.hideBullets li,
  section .column.centerOnWideDevicesOnly .contentWrapper ul.hideBullets li {
      text-align: center;
  }

  section .columnsWrapper .contentWrapper .innerContentWrapper.widerMargins {
    margin-left: 120px !important;
    margin-right: 120px !important;
  }
}

/*** Section: Introduction ***/
section#introduction.minimal .columnsWrapper {
  padding-bottom: 0;
}

section#introduction.minimal .column .contentWrapper,
section#introduction.minimal + section .column:first-child .contentWrapper {
  padding-top: 20px;
}

section#introduction.addBottomSpaceForBlockSlider .columnsWrapper {
  margin-bottom: 130px;
}

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

  section#introduction.minimal .columnsWrapper .column .contentWrapper, 
  section#introduction.minimal + section .columnsWrapper .column .contentWrapper {
    padding-top: 40px;
  }
}

section#introduction .column .contentWrapper {
  padding-left: 20px;
  padding-right: 20px;
}

section#introduction .column .contentWrapper.removeTopPadding {
  padding-top: 0;
}

section#introduction .column .contentWrapper.removeBottomPadding {
  padding-bottom: 0;
}

section#introduction.introSlider .slick-track {
  display: flex !important;
}

section#introduction.introSlider .slick-track .slick-slide {
  display: flex;
  height: auto;
  align-items: center;
  justify-content: center;
}

section#introduction.introSlider .slick-track .slick-slide .column {
  display: flex;
  align-items: center;
  justify-content: left;
}

section#introduction .titlesWrapper {
  overflow: visible;
  /* cursor: pointer; */
  width: 100%;
}

section#introduction .titlesWrapper h1 {
  margin-bottom: 20px;
}

section#introduction .titlesWrapper h1:last-child {
  margin-bottom: 0;
}

section#introduction .titlesWrapper * {
  color: #fff;
}

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

  section#introduction .columnsWrapper {
    padding-bottom: calc(15px + 1vw);
  }

  section#introduction .titlesWrapper {
    width: 70%;
  }

  section#introduction .titlesWrapper h1 {
    margin-bottom: 30px;
  }

  section#introduction .titlesWrapper h1:last-child {
    margin-bottom: 0;
  }
}

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

  section#introduction .columnsWrapper {
    padding-bottom: 0;
  }
}

/*** VIDEO TEST STUFF ***/
section video.background {
  width: auto;
  height: auto;
  max-width: 100% !important;
  min-height: 100%;
  /* min-width: 100vw; */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 1;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}

@supports ( object-fit: cover ) {
  section video.background {
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      object-fit: cover;
      transform: none;
      overflow: hidden;
  }
}

/*** Section: Introduction (Home) Link Block (Multi) Slider ***/
section.introMultiBlockSlider {
  /* background: none; */
  margin-top: -120px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 110px, rgb(255, 255, 255) 100%) !important;
}

section.introMultiBlockSlider.alt {
  background: linear-gradient(to bottom, rgba(244, 244, 244, 0) 0%, rgb(244, 244, 244) 110px, rgb(244, 244, 244) 100%) !important;
}

section.introMultiBlockSlider .columnsWrapper {
  margin-bottom: 40px;
} 

section.introMultiBlockSlider .columnsWrapper {
  display: block;
  padding: 0 20px;
  overflow: hidden;
}

section.introMultiBlockSlider .swiper-slide.column {
  /* flex-shrink: unset; */
  flex-basis: unset;
  /* align-items:center; */
  /* justify-content:center; */
  background-color: #fff;
  border-radius: 20px;
  border: 8px solid #fff;
  box-sizing: border-box;
  height: auto !important;
  overflow: hidden;
}

section.introMultiBlockSlider .contentWrapper {
  position: relative;
  margin: 0;
  height: 100%;
  padding: 20px;
}

section.introMultiBlockSlider .contentWrapper .innerWrapper {
  border-bottom: solid #4299E1 2px;
  color: #fff;
  padding: 0 0 20px 0;
  margin-bottom: 80px;
}

section.introMultiBlockSlider a:link {
  text-decoration: none;
}

section.introMultiBlockSlider .column .contentWrapper .cta {
  position: absolute;
  bottom: 20px;
  right: 20px;
  /* margin: 0; */
  padding-left: 0;
  height: auto;
}

section.introMultiBlockSlider .column .contentWrapper .cta::after {
  margin: 0;
}

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

  section.introMultiBlockSlider {
    margin-top: -130px;
  }

  section.introMultiBlockSlider .columnsWrapper {
    margin-bottom: 80px;
    padding: 0 20px;
  } 

  section.introMultiBlockSlider .column .contentWrapper .cta::after {
    margin: 0;
  }

  section.introMultiBlockSlider .column a:hover .contentWrapper .cta::after {
    padding-left: 5px;
  }
}

/*** Section: 1 Column Google Map Block (Multi markers) ***/
section.googleMap .googleMapLocations {
  width: 100%;
  padding-top: 100px; /* Fall back for IE */
  padding-bottom: 100px; /* Fall back for IE */
  padding-top: calc(20vh);
  padding-bottom: calc(20vh);
}

section.googleMap .contentWrapper {
  padding-left: 0;
  padding-right: 0;
}

section.googleMap .googleMapLocations img { /* Fixes potential theme css conflict */
  max-width: inherit !important;
}

section.googleMap .googleMapLocations .gm-style-iw-d h3 + p {
  margin-top: 0px;
}

section.googleMap .googleMapLocations .gm-style-iw-d p + p {
  margin-top: 5px;
}

/*** Section: 1 Column Testimonials Summary ***/
section.testimonialSummary .slick-list {
  margin-bottom: 10px;
}

section.testimonialSummary .slick-track {
  display: flex;
  align-items: center;
}

section.testimonialSummary .quoteWrapper {
  margin: 0 0 15px 0 !important;
  padding: 5px 20px 0 20px;
}

section.testimonialSummary .quoteWrapper blockquote {
  padding: 0;
  margin: 0;
  position: relative;
  display: inline;
  overflow: visible;
}

section.testimonialSummary .quoteWrapper:before {
  font-family: "Phosphor-Bold";
  font-weight: normal;
  font-size: 20px; font-size: 2.0rem;
  content: "\E660";
  position: absolute;
  color: #0377D8;
  transform: rotateY(180deg);
  margin-left: -23px;
  margin-top: -1px;
}

section.testimonialSummary .quoteWrapper:after {
  font-family: "Phosphor-Bold";
  font-weight: normal;
  font-size: 20px; font-size: 2.0rem;
  content: "\E660";
  position: absolute;
  color: #0377D8;
  margin-top: -1px;
  margin-left: 3px;
  overflow: visible;
}

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

  section.testimonialSummary .slick-list {
    margin-bottom: 20px;
  }

  section.testimonialSummary .quoteWrapper:before {
    margin-left: -23px;
    margin-top: -4px;
  }

  section.testimonialSummary .quoteWrapper:after {
    margin-top: -4px;
    margin-left: 3px;
  }
}

/*** Section: 1 Column All Testimonials v2 ***/
section.allTestimonials .contentWrapper {
  padding-top: 25px;
  padding-bottom: 25px;
}

section.allTestimonials ul.testimonialsWrapper {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

section.allTestimonials li.singleTestimonial {
  margin: 0 0 2% 0;
  background-color: #fff;
  border-radius: 20px;
  border: 8px solid #fff;
  box-sizing: border-box;
  height: auto !important;
  position: relative;
  overflow: hidden;
  color: #fff;
}

section.allTestimonials li.singleTestimonial .contentWrapper {
  margin: 0;
  height: 100%;
  padding: 20px;
  display: flex;
  align-items: center; 
}

section.allTestimonials li.singleTestimonial .quoteWrapper {
  margin: 0 0 15px 0 !important;
  padding: 5px 25px 5px 25px;
}

section.allTestimonials li.singleTestimonial .quoteWrapper blockquote {
  padding: 0;
  margin: 0;
  position: relative;
  display: inline;
  overflow: visible;
}

section.allTestimonials li.singleTestimonial .quoteWrapper:before,
section.allTestimonials li.singleTestimonial .quoteWrapper:after {
  font-family: "Phosphor-Bold";
  font-weight: normal;
  font-size: 22px; font-size: 2.2rem;
  position: absolute;
  color: #4299E1;
  content: "\E660";
}

section.allTestimonials li.singleTestimonial .quoteWrapper:before {
  transform: rotateY(180deg);
  margin-left: -23px;
  margin-top: -1px;
}

section.allTestimonials li.singleTestimonial .quoteWrapper:after {
  margin-top: -1px;
  margin-left: 3px;
  overflow: visible;
}

section.allTestimonials li.singleTestimonial .quoteSourceWrapper {
  margin: 30px 0 0 0 !important;
  padding: 15px 0 0 0;
  border-top: solid #4299E1 2px;
  text-align: right;
}


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

  section.allTestimonials .contentWrapper {
    padding-top: 40px;
    padding-bottom: 25px;
  }

  section.allTestimonials ul.testimonialsWrapper li.singleTestimonial {
    width: 49%;
    margin: 0 1.8% 1.8% 0;
  }

  section.allTestimonials ul.testimonialsWrapper li.singleTestimonial:nth-child(2n) {
    margin-right: 0;
  }

  section.allTestimonials li.singleTestimonial .quoteWrapper:before {
    margin-left: -26px;
    margin-top: -4px;
  }

  section.allTestimonials li.singleTestimonial .quoteWrapper:after {
    margin-top: -4px;
    margin-left: 4px;
  }
}


/*** Section: 1 Column All Testimonials OLD ***/
section.testimonials .quoteWrapper {
  margin: 0 0 15px 0 !important;
  padding: 5px 20px 0 20px;
}

section.testimonials .quoteWrapper blockquote {
  padding: 0;
  margin: 0;
  position: relative;
  display: inline;
  overflow: visible;
}

section.testimonials .quoteWrapper:before {
  font-family: "Phosphor-Bold";
  font-weight: normal;
  font-size: 20px; font-size: 2.0rem;
  content: "\E660";
  position: absolute;
  color: #0377D8;
  transform: rotateY(180deg);
  margin-left: -23px;
  margin-top: -1px;
}

section.testimonials .quoteWrapper:after {
  font-family: "Phosphor-Bold";
  font-weight: normal;
  font-size: 20px; font-size: 2.0rem;
  content: "\E660";
  position: absolute;
  color: #0377D8;
  margin-top: -1px;
  margin-left: 3px;
  overflow: visible;
}

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

  section.testimonials .slick-list {
    margin-bottom: 20px;
  }

  section.testimonials .quoteWrapper:before {
    margin-left: -23px;
    margin-top: -4px;
  }

  section.testimonials .quoteWrapper:after {
    margin-top: -4px;
    margin-left: 3px;
  }
}

/*** Section: 2 Column Content ***/
section.twoColumns .columnsWrapper {
  padding-top: 40px;
  padding-bottom: 40px;
}

section.twoColumns .columnsWrapper .column {
  width: 100%;
  min-height: 300px;
}

section.twoColumns .columnsWrapper.reverseColumns {
  flex-direction: column-reverse;
}

section.twoColumns .column.verticallyAlign,
section.twoColumns .column.verticallyAlign .backgroundOverlay {
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;
}

@media only screen and (min-width: 690px) {
  section.twoColumns .columnsWrapper {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  section.twoColumns .columnsWrapper.reverseColumns {
    flex-direction: initial;
  }

  section.twoColumns .columnsWrapper .column {
    width: 100%;
    min-height: unset;
  }
}

/*** Section: 2 Column Content (with Google Map) ***/
section.twoColumns.googleMapColumn .column.googleMaps .contentWrapper {
  padding: 0;
  width: 100%;
  height: 100%;
}

section.twoColumns.googleMapColumn .column.googleMaps .contentWrapper .googleMapLocations {
  width: 100%;
  height: 100%;
  padding-top: 100px; /* Fall back for IE */
  padding-bottom: 100px; /* Fall back for IE */
  padding-top: calc(20vh);
  padding-bottom: calc(20vh);
}

section.twoColumns.googleMapColumn .googleMapLocations img { /* Fixes potential theme css conflict */
  max-width: inherit !important;
}

section.twoColumns.googleMapColumn .googleMapLocations .gm-style-iw-d h3 + p {
  margin-top: 0px;
}

section.twoColumns.googleMapColumn .googleMapLocations .gm-style-iw-d p + p {
  margin-top: 5px;
}

/*** Section: 3 Column Content ***/
section.threeColumns .columnsWrapper {
  padding-top: 40px;
  padding-bottom: 40px;
}

section.threeColumns.centerAll .contentWrapper * {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

section.threeColumns.centerAll .contentWrapper .cta {
  text-align: left !important;
}

section.threeColumns.centerAll .contentWrapper ul  {
  list-style-position: inside;
  margin-left: auto;
  margin-right: auto;
  width: 80%;
}

section.threeColumns.centerAll .contentWrapper ul li {
  text-align: left;
}

section.threeColumns.centerAll .contentWrapper ul.hideBullets li {
  text-align: center;
}

section.threeColumns.reducedSpacing {
  margin-top: -20px;
}

section.threeColumns .columnsWrapper.reverseColumns {
  flex-direction: column-reverse;
}

@media only screen and (max-width: 689px) {
  
  section.threeColumns.reducedSpacing {
    margin-top: 0;
  }

  section.threeColumns.reducedSpacing .columnsWrapper .column .contentWrapper {
    padding-top: 0;
  }

  section.threeColumns .columnsWrapper .column .contentWrapper.reducedSpacing {
    padding-top: 30px;
  }

  section.threeColumns .columnsWrapper .column:first-child .contentWrapper.reducedSpacing {
    padding-top: 0;
  }

  section.threeColumns.center .contentWrapper .cta {
    margin-left: auto;
    margin-right: auto;
  }

  section.threeColumns.center .contentWrapper form {
      width: 100% !important;
      display: inline-block;
  }

  section.threeColumns .columnsWrapper.reverseColumns .column:last-child .contentWrapper {
      padding-bottom: 0;
  }
  
  section.threeColumns .columnsWrapper.reverseColumns .column:first-child .contentWrapper {
      padding-bottom: 30px;
  }

  section.threeColumns.reducedSpacing .columnsWrapper.reverseColumns .column:first-child .contentWrapper {
    padding-top: 30px;
  }

  section.threeColumns.reducedSpacing .columnsWrapper.reverseColumns .column:last-child .contentWrapper {
    padding-top: 0;
  }
}

section.threeColumns .column.verticallyAlign {
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;
}

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

  section.threeColumns .columnsWrapper {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  section.threeColumns .columnsWrapper.reverseColumns {
      flex-direction: initial;
  }
  
  section.threeColumns.centerOnWideDevicesOnly .contentWrapper * {
      text-align: center !important;
      margin-left: auto !important;
      margin-right: auto !important;
  }
  
  section.threeColumns.centerOnWideDevicesOnly .contentWrapper ul  {
      list-style-position: inside;
      margin-left: auto;
      margin-right: auto;
      width: 80%;
  }

  section.threeColumns.centerOnWideDevicesOnly .contentWrapper ul li {
      text-align: left;
  }
  
  section.threeColumns.centerOnWideDevicesOnly .contentWrapper ul.hideBullets li {
      text-align: center;
  }
}

/*** Section: 3 Columns Blog Summary ***/
section.blogSummary .columnsWrapper {
  padding-left: 20px;
}

section.blogSummary .column {
  padding-bottom: 20px;
  padding-right: 20px;
  margin-left: 0;
  margin-right: 0;
}

section.blogSummary .column:last-child {
  /* padding-bottom: 0; */
}

section.blogSummary a.singlePost {
  display: inline-block;
  background-color: #E7E7EB;
  border-radius: 20px;
  text-decoration: none;
  height: 100%;
 
}

section.blogSummary .column .imageWrapper {
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-radius: 20px;
  border: 8px solid #E7E7EB;
  height: 250px;
}

section.blogSummary .column .imageWrapper .imageOverlay {
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  width: 100%;
  height: 100%;
  z-index: 3;
  position: relative;
  /* background-color: rgba(0,0,0, 0.0); */
}

section.blogSummary .column:hover .imageWrapper .imageOverlay {
  /* background-color: rgba(0,0,0, 0.3); */
}

section.blogSummary .column .imageWrapper img {
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  -webkit-backface-visibility: hidden; /* Bug fix for Safari to prevent square edges outside of curved parent element */
  -webkit-transform: translate3d(0, 0, 0); /* Bug fix for Safari to prevent square edges outside of curved parent element */
}

section.blogSummary .column:hover .imageWrapper img {
  /* transform: scale(1.03); 
  overflow: hidden; */
}

section.blogSummary .column a.singlePost {
  position: relative;
}

section.blogSummary .column .contentWrapper {
  position: relative;
  padding: 13px 13px 90px 13px;
  overflow: visible;
}

section.blogSummary h2 {
	font-size: 20px; font-size: 2.0rem;
  font-weight: 700; /* Bold */
  color: #0377D8;
  text-align: left;
}

section.blogSummary h5.smallPrint {
  margin-top: 8px;
}

section.blogSummary .innerWrapper {
  margin-top: 15px;
  -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
}

section.blogSummary .column .cta {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

section.blogSummary .column.noPosts {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

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

  section.blogSummary .column {
    margin-left: 0;
    max-width: 33.333%;
  }

  section.blogSummary h2 {
    font-size: 23px; font-size: 2.3rem;
  }

  section.blogSummary.nonPostPage .column {
    padding-bottom: 0;
  }

  section.blogSummary .column .imageWrapper {
    height: 350px;
  }

  section.blogSummary .column .contentWrapper {
    padding: 20px 20px 80px 20px;
  }

  section.blogSummary .innerWrapper {
    margin-top: 25px;
  }
}

@media only screen and (min-width: 1024px) {
  section.blogSummary .column {
    /* padding-bottom: 0; */
  }

  section.blogSummary .column .cta {
    bottom: 20px;
  }
}

/*** Section: Multi Block Slider (Base for variants) ***/
section.blockSlider .columnsWrapper {
  display: block;  /* Fix if slides to show equals total slides */
  padding-top: 40px;
  padding-bottom: 40px;
}

section.blockSlider .slick-track {
   display: flex;
}

section.blockSlider .slick-prev,
section.blockSlider .slick-next {
    top: 50%;
    margin-top: -22px;
}

section.blockSlider .slick-dots {
  position: relative;
  bottom: 0;
}

section.blockSlider .slick-dots li button:before {
  color: #4F4A2A;
}

section.blockSlider .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #4F4A2A;
}

section.blockSlider .slick-list {
  padding: 0;
}

section.blockSlider .column {
  display: flex;
  height: auto;
  align-items: center;
  justify-content: center;
  min-height: 350px;
  margin-left: 20px;
  margin-right: 20px;
}

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

  section.blockSlider .columnsWrapper {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  section.blockSlider .slick-prev {
    left: 25px;
  }
  section.blockSlider .slick-next {
    right: 25px;
  }
  
  section.blockSlider .column {
    min-height: 550px;
  }
}

/*** Section: Multi Block Slider - Image & Overlayed Title ***/

section.blockSlider.overlayedTitle .column img.background {
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

section.blockSlider.overlayedTitle .column.hasLink:hover img.background {
  transform: scale(1.03); 
}

section.blockSlider.overlayedTitle a.backgroundOverlay {
  text-decoration: none;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

section.blockSlider.overlayedTitle .contentWrapper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  background-color: rgba(0,0,0, 0.0);
  padding: 0 80px;
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

section.blockSlider.overlayedTitle a.backgroundOverlay:hover .contentWrapper {
  background-color: rgba(0,0,0, 0.3);
}

section.blockSlider.overlayedTitle .contentWrapper .titleWrapper {
  width: 100%;
}

section.blockSlider.overlayedTitle .contentWrapper h2 {
  color: #fff;
  width: 100%;
  text-align: center;
  /* text-shadow: 0px 0px 8px rgba(53, 34, 21, 0.9); */
  font-size: 20px; font-size: 2.0rem;
}

section.blockSlider.overlayedTitle .contentWrapper h4 {
  color: #fff;
  width: 100%;
  text-align: center;
  /* text-shadow: 0px 0px 8px rgba(53, 34, 21, 0.9); */
  font-size: 22px; font-size: 2.2rem;
	font-weight: 400;
  margin-top: 20px;
}

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

  section.blockSlider.overlayedTitle .contentWrapper h2 {
    font-size: 26px; font-size: 2.6rem;
  }

  section.blockSlider.overlayedTitle .contentWrapper h4 {
    font-size: 24px; font-size: 2.4rem;
  }
}

/*** Section: Multi Block Slider - Image, Title & Text ***/
section.blockSlider.imageTitleText a.backgroundOverlay {
  display: block;
  font-weight: 400;
  color: #1e1e1e;
  background-color: #F7F5F0;
  text-decoration: none;
}

section.blockSlider.imageTitleText .column .imageWrapper {
  height: 250px;
  position: relative;
  z-index: 2;
  overflow: hidden;
}

section.blockSlider.imageTitleText .column .imageWrapper .imageOverlay {
  
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  width: 100%;
  height: 100%;
  z-index: 3;
  position: relative;
  background-color: rgba(0,0,0, 0.0);
}

section.blockSlider.imageTitleText .column:hover .imageWrapper .imageOverlay {
  background-color: rgba(0,0,0, 0.3);
}

section.blockSlider.imageTitleText .column .imageWrapper img {
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

section.blockSlider.imageTitleText .column:hover .imageWrapper img {
  transform: scale(1.03); 
  overflow: hidden;
}

section.blockSlider.imageTitleText .column .contentWrapper {
  /* padding: 40px 20px;  */
}

section.blockSlider.imageTitleText h2 {
  color: #1e1e1e;
}

section.blockSlider.imageTitleText .innerWrapper {
  margin-top: 15px;
}

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

  section.blockSlider.imageTitleText .column .imageWrapper {
    height: 350px;
  }

  section.blockSlider.imageTitleText .column .contentWrapper {
    padding: 40px 30px;
  }

  section.blockSlider.imageTitleText .innerWrapper {
    margin-top: 25px;
  }
}

/*** Section: Newsletter Signup ***/
section#newsletterSignUp .innerContentWrapper { 
  max-width: 700px;
  color: #fff;
}

section#newsletterSignUp .formWrapper {
  margin-top: 20px;
}

section#newsletterSignUp .smallPrint { 
  margin-bottom: 20px;
}

section#newsletterSignUp .smallPrint a:link { 
  font-weight: 700;
}

section#newsletterSignUp input { 
  border-color: #fff;
}

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

  section#newsletterSignUp .formWrapper {
    margin-top: 30px;
  }

  section#newsletterSignUp .formWrapper input:not([type='checkbox']) {
  width: 48%;
  display: inline-block;
}

  section#newsletterSignUp .formWrapper span.wpcf7-form-control-wrap + span {
    margin-left: 2%;
  }
}

/*** Pagination - Blog Index & Single Post Page ***/
section .pagination {
  width: 100%;
  margin: 50px 20px 20px 0;
  text-align: center;
}

section.singlePost .pagination {
  margin: 50px 0 0 0;
}

section .pagination .cta {
  margin-bottom: 10px;
}

section .pagination .cta.previous {
  float: right;
}
   
section .pagination .cta.next {
  float: left;
  padding: 0 13px 0 0;
}

section .pagination .cta.previous {
  padding: 0 0 0 13px;
}

section .pagination .cta.next::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 41px;
  height: 41px;
  background-color: #fff;
  color: #0377D8;
  margin: 3px 8px 3px 3px;
  padding-right: 1.5px;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;

  -webkit-transition: all 0.5s 0s ease;
  -moz-transition: all 0.5s 0s ease;
  -o-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;

  -webkit-font-smoothing: antialiased;
  font-family: "Phosphor-Bold";
  font-weight: normal;
  font-size: 29px; font-size: 2.9rem;
  content: "\e058";
}

section .pagination .cta.next::after {
  content: none;
}

section .pagination .cta.previous::after {
  margin: 3px 3px 3px 8px;
}

section.singlePost .pagination .cta.next {
  float: left;
}

section.singlePost .pagination .cta.previous {
  float: right;
}

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

  section .pagination {
    margin: 50px 20px 20px 0;
  }

  section .pagination .cta.next {
    padding: 0 22px 0 0;
  }

  section .pagination .cta.previous {
    padding: 0 0 0 22px;
  }

  section .pagination .cta.next::before {
    width: 44px;
    height: 44px;
    margin: 3px 18px 3px 3px;
    font-size: 32px; font-size: 3.2rem;
  }

  section .pagination .cta.previous::after {
    margin: 3px 3px 3px 18px;
  }

  section .pagination .cta:hover::before {
    padding-right: 5px;
  }
}

/*** Generic Forms ***/
main section.centerAll .contentWrapper form input:not([type='checkbox']), 
main section.centerAll .contentWrapper form select,
main section.centerAll .contentWrapper form textarea {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

section .column form .columnsWrapper .column *:last-child input,
section .column form .columnsWrapper .column *:last-child textarea { 
  padding-bottom: 0;
  margin-bottom: 0;
}

section .column form .columnsWrapper .column {
  min-height: auto;
}

section .column form .columnsWrapper .column:first-child p:last-child {
  margin-bottom: 18px;
}

section .column form .columnsWrapper .column:last-child * {
  height: 100%;
}

section .column form .columnsWrapper .column .contentWrapper {
  padding: 0;
}

section .column form #sendWrapper {
  padding-top: 18px;
}

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

  section .column form .columnsWrapper .column:first-child .contentWrapper {
    padding-right: 10px;
  }

  section .column form .columnsWrapper .column:first-child p:last-child {
    margin-bottom: 0;
  }

  section .column form .columnsWrapper .column:last-child .contentWrapper {
    padding-left: 10px; 
  }
}

main form input:not([type='checkbox']), main form select, main form textarea {
  font-family: "Red Hat Display", Arial, sans-serif;
  font-weight: 500; /* Medium */
  font-size: 16px; font-size: 1.6rem;
	font-style: normal;
  font-optical-sizing: auto;

  color: #0D0E3A !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;

  outline: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; 

  width: 100%;
  height: 40px;
  line-height: 29px;
  vertical-align: middle;
  
  -webkit-border-radius: 20px !important; 
  border-radius: 20px;
  border: 6px solid #fff;

  border: 2px solid #E7E7EB;
  background-color: #fff;

  margin-bottom: 10px;
}

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

  main form input:not([type='checkbox']), main form textarea {
    font-size: 19px; font-size: 1.9rem;
  }
}

main form input[type='checkbox'] {
  vertical-align: middle;
  margin-right: 6px;
  width: 20px;
  height: 20px;
}

main form input:not([type='checkbox']), main form select {
  padding: 0 15px 0 15px;
  position: relative;
  display: block;
}

main form input:hover, main form input:focus {
  border: 2px solid #DDDDE2;
}

main form .choices.is-focused .choices__inner {
  border: 6px solid #fff;
}

main form input.choices__input:focus {
  border: none !important;
}

main form textarea {
  height: 234px;
  padding: 9px;
  resize: vertical;
}

main form input::-moz-focus-inner { /* Remove weird border around button in Firefox */
  padding: 0;
  border: 0
}

::-webkit-input-placeholder {
  color: #ADADBB !important;
}

:-moz-placeholder {
  color: #ADADBB !important;
}

::-moz-placeholder {
  color: #ADADBB !important;
}

:-ms-input-placeholder {
  color: #ADADBB !important;
}

input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
  color: transparent !important;
}

input:focus:-moz-placeholder, textarea:focus:-moz-placeholder {
  color: transparent !important;
}

input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
  color: transparent !important;
}

input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
  color: transparent !important;
}

input:-webkit-autofill, input:-webkit-autofill:focus { /*  Prevent autofill fields going yellow */
  -webkit-box-shadow: 0 0 0 1000px white inset;
  -webkit-text-fill-color: #333;
}

/*** Contact Form 7 ***/
.wpcf7-spinner {
    background-color: #0377D8;
    opacity: 1;
    margin-bottom: 5px;
    position: relative;
    vertical-align: middle;
}

.wpcf7 form .wpcf7-response-output {
	margin: 0 0 20px 0;
  padding: 0;
  font-weight: 700; /* Bold */
  border: none;
}

.wpcf7-not-valid-tip {
  display: none !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border: none;
}

/*** Fluent Forms ***/
.ff-el-group.custom-form-label-style.custom-multiple-choice {
  text-align: left !important;
}

.ff-el-input--content.__flow-synced-hover__,
.choices.__flow-synced-hover__,
.choices__inner.__flow-synced-hover__,
.choices__list.choices__list--multiple.__flow-synced-hover__,
.choices__item {
  text-align: left !important;
}

.fluentform .ff-el-is-error .ff-el-form-control {
  border-color: #4F4A2A !important;
}

.fluentform .ff-el-is-error .text-danger {
  font-size: 16px; font-size: 1.6rem !important;
  color: #4F4A2A !important;
  text-align: left !important;
}

.frm-fluent-form .choices {
  margin-bottom: 0 !important;
}

.frm-fluent-form .choices[data-type*=select-multiple] .choices__input {
  font-size: 16px !important; font-size: 1.6rem !important;
}

.frm-fluent-form .choices__list--multiple .choices__item {
  background-color: #4F4A2A !important;
  border: 1px solid #4F4A2A !important;
  font-size: 16px !important; font-size: 1.6rem !important;
  font-weight: 400 !important;
}

.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after {
  margin-left: -2px !important;
}

.frm-fluent-form .choices__list--multiple .choices__item {
 margin-right: 5px !important;
}

.frm-fluent-form .choices__list--dropdown .choices__item {
  font-size: 16px !important; font-size: 1.6rem !important;
}

.frm-fluent-form .choices__list--dropdown {
  border: 1px solid #4F4A2A !important;
}
 
.fluentform .ff-el-group.custom-form-checkbox-style {
  display: flex;
  align-items: center;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.fluentform .custom-form-checkbox-style .ff-el-input--label {
  padding: 0 10px 0 0 !important;
  text-align: left !important;
  flex-basis: 270px !important;
}

.fluentform .custom-form-checkbox-style .ff-el-input--label label {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

.fluentform .custom-form-checkbox-style .ff-el-input--content {
	margin-left: 0 !important;
	flex: 1 !important;
}
.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
	display: none;
}
.fluentform .ff-el-group.custom-margin-one {
  margin-bottom: 30px;
}

.fluentform .ff-el-form-check.ff-el-form-check- {
  text-align: left !important;
  padding-left: 0 !important;
}

.fluentform .ff-el-form-check label {
  position: relative;
  margin-right: 8px !important;
  height: 21px !important;
  display: inline-block;
}
.fluentform .ff-el-form-check label span {
  display: none;
}
.fluentform .ff-el-form-check label.ff-el-form-check-label::before {
  left: 1px;
  top: 2px;
  width: 19px;
  height: 19px;
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  transition: all .2s;
  opacity: 0;
  background: url(/images/form-tick.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: 3px !important;
}
.fluentform .ff-el-form-check.ff_item_selected label.ff-el-form-check-label::before {
  opacity: 1;
  z-index: 1;
}
.fluentform .ff-el-form-check label.ff-el-form-check-label::after {
  background: #fff;
  height: 21px;
  width: 21px;
  margin-left: 0;
  margin-top: 3px !important;
  content: "";
  position: absolute;
  top: 0 !important;
  transition: all .2s;
}
.fluentform input[type="checkbox"] {
	display: none !important;
}

.fluentform .ff-message-success {
  border: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

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

  .frm-fluent-form .choices[data-type*=select-multiple] .choices__input {
    font-size: 19px !important; font-size: 1.9rem !important;
  }

  .frm-fluent-form .choices__list--multiple .choices__item {
    font-size: 19px !important; font-size: 1.9rem !important;
  }

  .frm-fluent-form .choices__list--dropdown .choices__item {
    font-size: 19px !important; font-size: 1.9rem !important;
  }
}

/*** Footer ***/
footer {
  background-color: #0D0E3A;
  color: #EDEDF4;
  font-size: 16px; font-size: 1.6rem;
  background-image: url('./assets/images/branding/pipe-insulation-online_icon_blue.svg');
  background-repeat: no-repeat;
  background-position: right 8% bottom 15px;  
  background-size: 50%;
}

footer section .columnsWrapper {
  padding-top: 60px;
  padding-bottom: 60px;
}

footer section .column .contentWrapper {
  padding-top: 0;
  padding-bottom: 40px;
}

footer section .column:last-child .contentWrapper {
  padding-bottom: 0px;
}

footer h3 {
  font-size: 20px; font-size: 2.0rem;
}

footer h3 + ul, footer h3 + p {
  margin-top: 15px;
}

footer i {
  color: #0377D8;
  font-size: 24px; font-size: 2.4rem;
  vertical-align: top;
  margin-right: 3px;
  -webkit-transition: all 0.5s 0s ease;
  -moz-transition: all 0.5s 0s ease;
  -o-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}

footer a, footer a:link, footer a:visited {
  text-decoration: none;
  -webkit-transition: all 0.5s 0s ease;
  -moz-transition: all 0.5s 0s ease;
  -o-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}

footer a:hover {
  text-decoration: none;
  color: #0377D8;
}

footer a:hover i {
  color: #065DB0;
}

footer ul ul {
  padding-left: 15px;
  border-left: solid 2px #0377D8;
  margin-left: 1px;
  margin-top: 4px;
  margin-bottom: 10px;
}

footer ul ul ul {
  padding-left: 15px;
  margin-bottom: 8px;
}

footer li.menu-item-has-children > a,
footer ul#footerProductCategories > li > a {
  font-weight: 700; /* Bold */
}

footer .spacer {
  margin-top: 15px;
}

footer a.logo {
  display: inline-block;
  max-width: 150px;
}

footer section.copyright {
  background-color: #0377D8;
  padding: 10px 3%;
  text-align: center;
}

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

  footer {
    background-position: right 5% bottom 0;  
    background-size: 35%; 
  }

  footer section .columnsWrapper {
    padding-top: 80px;
    padding-bottom: 120px;
  }

  footer h3 + ul, footer h3 + p {
    margin-top: 20px;
  }

  footer ul ul {
    margin-bottom: 12px;
  }

  footer ul ul ul {
    margin-bottom: 13px;
  }

  footer .spacer {
    margin-top: 20px;
  }
}

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

  footer {
    background-position: right 5% bottom -90px;  
    background-size: 20%;
  }

  footer section .columnsWrapper {
    padding-top: 80px;
    padding-bottom: 120px;
  }

  footer section .column .contentWrapper {
    padding-bottom: 0px;
  }
}

/* Justified Gallery Plugin Overrides */
.dgwt-jg-caption__font--14 {
  letter-spacing: -0.2px !important;
}

.dgwt-jg-effect-standard .dgwt-jg-caption {
  background-color: rgba(56,62,66,0.7) !important;
}

.justified-gallery {
  margin: 0;
}

/* Instragram Feed Plugin Overrides */
#sb_instagram {
  padding-bottom: 0 !important;
}

#sb_instagram #sbi_images {
  padding: 0;
}

/* Woocommerce */

/*** Generic ***/
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap:normal !important
}

table {
    border-spacing: 0;
    width: 100%;
    margin: 0 0 1.41575em;
    border-collapse:separate
}

table caption {
    padding: 1em 0;
    font-weight:600
}

table td, table th {
    padding: 1em 1.41575em;
    text-align: left;
    vertical-align:top
}

table td p:last-child, table th p:last-child {
    margin-bottom:0
}

table th {
    font-weight:600
}

table thead th {
    padding: 1.41575em;
    vertical-align:middle
}

/*** Products (Grid Format) ***/
main ul.products {
  display: flex; /* Force all product panels to same height when in rows */
  flex-wrap: wrap;
}

main ul.products li.product {
	background-color: #E7E7EB;
  border-radius: 20px;
	position: relative;
	cursor: pointer;
  text-align: left;
  list-style: none;
  margin-left: 0;
  padding-bottom: 70px;
}

main ul.products .product:nth-child(2n) {
  margin-right: 0;
}

ul.products .product a:link, main ul.products .product a:visited {
	text-decoration: none;
}

main ul.products .product img {
  border-radius: 20px;
  border: 8px solid #E7E7EB;
}

main ul.products .product h2.special {
	font-size: 20px; font-size: 2.0rem;
  font-weight: 700; /* Bold */
  color: #0377D8;
  text-align: left;
  padding-left: 13px;
  padding-right: 13px;
}

main ul.products .product p.description {
  text-align: left;
  padding-left: 13px;
  padding-right: 13px;
  -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
  max-height: 60px;
  margin-bottom: 5px;
  font-size: 13px; font-size: 1.3rem;
  line-height: 1.1em;
}

main ul.products .product span.price {
  text-align: left;
  padding-left: 13px;
  padding-right: 13px;
  margin-bottom: 7px;
  color: #0D0E3A;
  position: absolute;
  bottom: 10px;
}

main ul.products .product span.amount {
  font-size: 20px; font-size: 2.0rem;
  font-weight: 700; /* Bold */
}

main ul.products .product a.cta {
  position: absolute;
  right: 13px;
  bottom: 7px;
}

@media(min-width: 690px) {

  main ul.products .product h2.special {
    padding-left: 20px;
    padding-right: 20px;
  }

  main ul.products .product p.description {
    padding-left: 20px;
    padding-right: 20px;
  }

  main ul.products .product span.price {
    padding-left: 20px;
    padding-right: 20px;
  }

  main ul.products .product a.cta {
    right: 20px;
    bottom: 10px;
  }
}

@media(max-width: 1190px) {

  main ul.products .product a.cta {
    padding: 0;
  }

  main ul.products .product a.cta span {
    display: none;
  }

  main ul.products .product a.cta::after {
    margin-left: 3px;
    width: 33px;
    height: 33px;
  }
}

@media(min-width: 769px) {

  main ul.products li.product {
    padding-bottom: 90px;
  }

  main ul.products .product h2.special {
    font-size: 23px; font-size: 2.3rem;
  }

  main ul.products .product p.description {
    max-height: 90px;
    margin-bottom: 15px;
    font-size: 18px; font-size: 1.8rem;
    line-height: 1.2em;
  }

  main ul.products .product a.cta {
    display: flex;
  }
}

/*** Single Product Page ***/
section#introduction.singleProductPage h1 {
  color: #0377D8;
}

section#introduction.singleProductPage h3 {
  display: inline-block;
  margin-top: 0;
  font-weight: 500; /* Medium */
}

section.singleProduct .column.imageAndGallery {
  margin: 0;
  max-width: 415px;
}

section.singleProduct .column.imageAndGallery .contentWrapper {
  padding-bottom: 0;
}

section.singleProduct h2 {
  font-size: 19px; font-size: 1.9rem;
  line-height: 100%;
}

@media(min-width: 690px) {

  section.singleProduct h2 {
    font-size: 25px; font-size: 2.5rem;
    line-height: 110%;
  }
}

@media(min-width: 1024px) {
  section.singleProduct .column.cartWrapper {
      max-width: 290px;
  }	
}

/*** Product Page: Gallery & Thumbnails ***/
.singleProduct .woocommerce-product-gallery {
    position: relative;
}	

.singleProduct .woocommerce-product-gallery > div {
  border-radius: 20px;
  border: 6px solid #E7E7EB;
  overflow: hidden;
  -webkit-backface-visibility: hidden; /* Bug fix for Safari to prevent square edges outside of curved parent element */
  -webkit-transform: translate3d(0, 0, 0); /* Bug fix for Safari to prevent square edges outside of curved parent element */
  display: block;
  text-align: left;
}	

.singleProduct .woocommerce-product-gallery > div .woocommerce-product-gallery__image--placeholder img,
.singleProduct .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div > a img {
  display: block;
}

.singleProduct .woocommerce-product-gallery .zoomImg {
  background-color: #fff;
}

.singleProduct .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: .875em;
  right: .875em;
  display: block;
  height: 2em;
  width: 2em;
  border-radius: 3px;
  z-index: 99;
  text-align: center;
}

.singleProduct .woocommerce-product-gallery .flex-control-thumbs {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 10px;
}

.singleProduct .woocommerce-product-gallery .flex-control-thumbs li {
  margin: 0;
  list-style: none;
  cursor: pointer;
  display: flex;
}

.singleProduct .woocommerce-product-gallery .flex-control-thumbs li img {
  border: 4px solid #E7E7EB;
  border-radius: 10px;
  -webkit-transition: all 0.5s 0s ease;
  -moz-transition: all 0.5s 0s ease;
  -o-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
  display: inline-block;
  width: 100%;
}

.singleProduct .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    border-color: #0377D8;
}

.singleProduct .woocommerce-product-gallery .flex-control-thumbs li:hover img {
    border-color: #0465BE;
}

.singleProduct .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  text-indent: -999px;
  overflow: hidden;
  text-decoration: none;
  background-color: #0377D8;
	color: #ffffff;
  border-radius: 20px;
  -webkit-transition: all 0.5s 0s ease;
  -moz-transition: all 0.5s 0s ease;
  -o-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}

.singleProduct .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
	background-color: #065DB0;
	color: #ffffff;
}
  
.singleProduct .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  vertical-align: baseline;
  display: block;
  line-height: 2;
  text-indent: 0;
  font-family: "Phosphor-Bold";
  font-weight: normal;
  content: "\E30C";
}

/*** Product Page: Summary ***/
.singleProduct div.summary h3.productAttributes {
  margin-top: 45px;
}

.singleProduct div.summary table.woocommerce-product-attributes {
  border-collapse: collapse;
  margin-bottom: 45px;
}

.singleProduct div.summary table.woocommerce-product-attributes th,
.singleProduct div.summary table.woocommerce-product-attributes td {
  border: 2px solid #E7E7EB;
  padding: 5px;
}

.singleProduct div.summary table.woocommerce-product-attributes th {
  text-align: right;
}

.singleProduct div.summary table.woocommerce-product-attributes td {
  width: 100%;
}

.singleProduct div.summary table.woocommerce-product-attributes .woocommerce-product-attributes-item__label {
  font-weight: 700; /* Bold */
}

.singleProduct div.summary .productDocumentsLinks {
  margin-bottom: 45px;
}

.singleProduct div.summary .productDocumentsLinks ul li {
  list-style: none;
  margin-left: 0;
  line-height: 30px;
}

.singleProduct div.summary .productDocumentsLinks ul li:before {
   -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 
  font-family: "Phosphor-Bold";
  font-weight: normal;
  font-size: 20px; font-size: 2.0rem;
  content: "\E23A";
  display: inline-block;
  margin-right: 5px;
  border: 2px solid #0377D8;
  box-sizing: border-box;
  color: #0377D8;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  line-height: 27px;
  vertical-align: top;
  text-align: center;
}

.singleProduct div.summary .productDocumentsLinks ul.webLinks li:before {
  content: "\E288";
}

.singleProduct div.summary .product_meta {
    border: 0;
    border-top: 2px solid #4299E1;
    margin-bottom: 0;
    margin-top: 20px;
    padding-top: 20px;
    width: 100%;
}

.singleProduct div.summary .product_meta .posted_in,
.singleProduct div.summary .product_meta .sku_wrapper,
.single-product div.summary .product_meta .tagged_as {
    display: block;
}

/*** Product Page: Cart ***/
main section.singleProduct .productVariationsCart form {
	background-color: #E7E7EB;
  border-radius: 20px;
  padding: 20px 12px 0 12px;
  text-align: right;
}

main section.singleProduct .cartWrapper .out-of-stock {
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 20px;
}

main section.singleProduct .productVariationsCart .woocommerce-variation-price,
main section.singleProduct .productVariationsCart .woocommerce-simple-price {
	font-weight: 700; /* Bold */
	font-size: 28px; font-size: 2.8rem;
	text-align: right;
}

@media only screen and (min-width: 690px) {
	main section.singleProduct .productVariationsCart .woocommerce-variation-price,
  main section.singleProduct .productVariationsCart .woocommerce-simple-price {
		font-size: 35px; font-size: 3.5rem;	
	}
}

main section.singleProduct .cartWrapper .postPrice {
	font-size: 12px; font-size: 1.2rem;
	font-weight: 500;
	margin-bottom: 10px;
}

main section.singleProduct .cartWrapper table.variations {
    width: 100%;
}

main section.singleProduct .cartWrapper table.variations td,
main section.singleProduct .cartWrapper table.variations th {
    display: list-item;
    padding: 0;
    list-style: none;
    text-align: right;
}

main section.singleProduct .cartWrapper table.variations label,
main section.singleProduct .cartWrapper h4.quantityLabel {
  margin-bottom: 3px;
  display: block;
  text-align: right;
  width: 100%;
  font-weight: 700; /* Bold */
  font-size: 16px; font-size: 1.6rem;
}

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

  main section.singleProduct .cartWrapper table.variations label,
  main section.singleProduct .cartWrapper h4.quantityLabel {
    font-size: 19px; font-size: 1.9rem;
  }
}

main section.singleProduct .cartWrapper table.variations .value {
    margin-bottom: 10px
}

main section.singleProduct .cartWrapper select {
  padding-right: 16px;
  position: relative;
  background-image: url('data:image/svg+xml,<svg width="26" height="33" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%230377D8"><path d="M7.5 0 15 15.074H0zM7.5 33 0 17.926h15z"/></g><path fill="none" d="M0 15h26v3H0z"/></g></svg>');
  background-repeat: no-repeat;
  background-size: 16px 20px;
  background-position: right center;
  background-clip: border-box;
  -moz-background-clip: border-box;
  -webkit-background-clip: border-box;
}

main section.singleProduct .cartWrapper .single_variation_wrap > div,
main section.singleProduct .cartWrapper .simple_wrap > div {
  display: flex;
  flex-direction:row-reverse; /* Items stack right-to-left */
  flex-wrap: wrap;         
  justify-items: right;
  align-items: center;
}

main section.singleProduct .cartWrapper .single_variation_wrap > div > *,
main section.singleProduct .cartWrapper .simple_wrap > div > * {
	margin-bottom: 10px; 
}

main section.singleProduct .cartWrapper h4.quantityLabel {
  margin-right: 5px;
  order: 2;
  flex: 1;
}

main section.singleProduct .cartWrapper .quantity {
  order: 1;
  width: 100px;
}

main section.singleProduct .cartWrapper .quantity input {
  text-align: right !important;
  padding-right: 28px !important;
  position: relative;
  background-image: url('data:image/svg+xml,<svg width="26" height="33" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%230377D8"><path d="M7.5 0 15 15.074H0zM7.5 33 0 17.926h15z"/></g><path fill="none" d="M0 15h26v3H0z"/></g></svg>');
  background-repeat: no-repeat;
  background-size: 16px 20px;
  background-position: right center;
  background-clip: border-box;
  -moz-background-clip: border-box;
  -webkit-background-clip: border-box;
  -moz-appearance: textfield;
  margin-bottom: 0;
}    
      
main section.singleProduct .cartWrapper .quantity input::-webkit-outer-spin-button,
main section.singleProduct .cartWrapper .quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none; /*  Hide default arrow controller */
}

main section.singleProduct .cartWrapper .quantity input::after {
  margin: 3px 3px 3px 10px;
}

main section.singleProduct .cartWrapper .cartButtonsWrapper {
  order: 3;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: right;
  align-items: right;
  width: 100%;
  gap: 0 10px;
}

main section.singleProduct .cartWrapper div.blockOverlay { /* This (briefly) flashes over the cart panel when it updates */
  	background-color: #E7E7EB !important;
}

main section.singleProduct .cartWrapper a.paymentMethods {
	padding: 10px 4px 0 4px;
  width: 100%;
  order: 4;
}

/*** Cart ***/
table.shop_table {
  width: 100%;
}

table.shop_table th {
  background-color: #E7E7EB;
  font-weight: 700;
}

table.shop_table tbody tr td {
  background-color: #F4F4F4;
  vertical-align: top;
}

table.shop_table tbody tr:nth-child(2n) td {
  background-color: #F9F9F9;
}

table.shop_table_responsive thead,
table.shop_table_responsive tbody th {
  display: none;
}

table.shop_table_responsive tr td {
    display: block;
    text-align: right;
    clear: both
}

table.shop_table_responsive tr td::after, table.shop_table_responsive tr td::before {
    content: '';
    display: table
}

table.shop_table_responsive tr td::after {
    clear: both
}

table.shop_table_responsive tr td[data-title]::before {
    content: attr(data-title) ": ";
    font-weight: 600;
    float: left
}

table.shop_table_responsive tr td.product-remove a {
    text-align: left
}

table.shop_table_responsive tr td.actions::before, table.shop_table_responsive tr td.download-actions::before {
    display: none
}

table.shop_table_responsive tr td.download-actions .button {
    display: block;
    text-align: center
}

table.shop_table_responsive.my_account_orders .order-actions {
    text-align: right
}

table.shop_table_responsive.my_account_orders .order-actions::before {
    display: none
}

table.cart {
    margin-bottom: 3.706325903em
}

table.cart .product-quantity .minus, table.cart .product-quantity .plus {
    display: none
}

table.cart .product-thumbnail img {
    margin: 0 auto;
    max-width: 3.706325903em;
    height: auto
}

table.cart .product-thumbnail::before {
    display: none
}

table.cart tr:first-child td.product-remove {
    border-top-width: 0
}

table.cart td.product-remove {
    padding: 0;
    border-top: 5px solid #fff;
    position: relative
}

table.cart td.product-remove a.remove {
    position: absolute;
    font-size: 1.41575em;
    top:0 ;
    right: 0;
    display: block;
    width: 1.618em;
    height: 1.618em;
    line-height: 1.618;
    text-indent: -9999px;
}

table.cart td.product-remove a.remove:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  vertical-align: -.125em;
  font-family: "Phosphor-Bold";
  font-weight: normal;
  content: "\E4F8";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: #0377D8;
  line-height: 1.618;
  text-indent: 0;
  text-align: center;
}

table.cart td.product-remove a.remove:hover:before {
  color: #065DB0;
}

table.cart td.product-quantity .qty {
    padding: .326em;
    width: 3.706325903em;
    display: inline-block;
}

table.cart td, table.cart th {
    padding: .875em .875em 0
}

table.cart td.product-subtotal {
    padding-bottom: .875em
}

table.cart td.actions {
    border-top: 1em solid #fff;
    padding-bottom: .875em;
}

table.cart td.actions label {
    display: none;
}

table.cart td.actions .coupon {
    padding-bottom: 1em;
    margin-bottom: 1em;
    border-bottom: 1px solid rgba(0, 0, 0, .05)
}

table.cart td.actions input {
    display: block;
    width: 100%;
    line-height: 40px;
    height: 40px;
}

table.cart td.actions button, .wc-proceed-to-checkout .button {
  display: inline-block;
  width: 100%;
  
  color: #fff;
  /* background: linear-gradient(to right, #065DB0 50%, #0377D8 50%); */
  background-color: #0377D8;
  background-size: 200% 100%;
  background-position:right bottom;

  font-family: "Red Hat Display", Arial, sans-serif;
  font-weight: 600; /* Semi Bold */
  font-size: 17px; font-size: 1.7rem;

  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;

  line-height: 35px;
  outline: 0;
  border: none;
  text-decoration: none;
  cursor: pointer;
}

table.cart td.actions button:hover, .wc-proceed-to-checkout .button:hover {
  background-color: #065DB0;
}

table.cart td.actions input[name=update_cart]:focus {
    outline: 0
}

.wc-proceed-to-checkout {
    margin-bottom: 1.618em
}

.wc-proceed-to-checkout::after, .wc-proceed-to-checkout::before {
    content: '';
    display: table
}

.wc-proceed-to-checkout::after {
    clear: both
}

.wc-proceed-to-checkout .button {
    display: block;
    text-align: center;
    margin-top: 1em;
    margin-bottom: 1em;
    line-height: 47px;
}

.woocommerce-shipping-calculator {
    margin: 0
}

.woocommerce-shipping-calculator > p:first-child {
    margin: 0
}

.woocommerce-shipping-calculator .shipping-calculator-form {
    padding-top: 1.41575em
}

ul#shipping_method {
    list-style: none;
    margin-left: 0;
    margin-bottom: 10px;
}

ul#shipping_method li {
    margin-bottom: .2360828548em;
    list-style: none;
    margin-left: 0;
}

ul#shipping_method li:last-child {
    margin-bottom: 0
}

ul#shipping_method input {
    margin-right: .3342343017em
}

.woocommerce-checkout ul#shipping_method {
    margin-bottom: 0
}

.checkout_coupon {
    margin-bottom: 2.617924em
}

.checkout_coupon .cta {
  margin-top: 0;
  padding-left: 0;
}

.cart_totals table.shop_table td, .cart_totals table.shop_table th {
    padding: .875em;
}

p.cart-empty {
	padding: 10px;
	margin-bottom: 20px;
}

@media only screen and (min-width: 691px) {
	
	table.shop_table_responsive tbody tr td, table.shop_table_responsive tbody tr th {
        text-align: left;
    }
	
	table.shop_table_responsive thead {
        display: table-header-group
    }

    table.shop_table_responsive tbody th {
        display: table-cell
    }

    table.shop_table_responsive tr td {
        display: table-cell
    }

    table.shop_table_responsive tr td::before {
        display: none
    }
	
	.page-template-template-fullwidth-php table.cart .product-thumbnail {
        display: table-cell
    }

    table.cart td, table.cart th {
        padding: 1.618em;
    }

    table.cart td.actions {
     padding-bottom: 1.618em
    } 

    table.cart .qty {
        padding: .326em;
        max-width: 3.632em
    }

    table.cart td.product-remove {
        display: table-cell;
        padding: 1.618em;
        border: 0
    }

    table.cart td.product-remove a.remove {
        float: none;
        position: relative;
        top: auto;
        right: auto;
    }

    table.cart .product-quantity .minus, table.cart .product-quantity .plus {
        display: inline-block
    }

    table.cart .quantity .qty {
        padding: .6180469716em
    }

    table.cart td.actions {
        text-align: right
    }

    table.cart td.actions label {
        display: none
    }

    table.cart td.actions .coupon {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none;
        display: inline-block;
        float: left
    }

    table.cart td.actions input {
        display: inline-block;
        width: auto;
        margin: 0;
    }

    table.cart td.actions button, .wc-proceed-to-checkout .button {
      display: inline-block;
      width: auto;
      margin: 0;
      color: #fff;
      background: linear-gradient(to right, #065DB0 50%, #0377D8 50%);
      background-size: 200% 100%;
      background-position:right bottom;
      font-size: 20px; font-size: 2.0rem;
      padding-left: 18px;
      padding-right: 18px;
      text-decoration: none;

      -webkit-border-radius: 100px;
      -moz-border-radius: 100px;
      border-radius: 100px;

      border: 0;
      cursor: pointer;
      line-height: 35px;
      vertical-align: middle;

      -webkit-transition: all 0.5s 0s ease;
      -moz-transition: all 0.5s 0s ease;
      -o-transition: all 0.5s 0s ease;
      transition: all 0.5s 0s ease;
    }

    .wc-proceed-to-checkout .button {
      margin-top: 1em;
      margin-bottom: 1em;
      line-height: 50px;
      width: 100%;
    }

    table.cart td.actions button:hover, .wc-proceed-to-checkout .button:hover {
      background-color: #065DB0;
      background-position: left bottom;
    }

    .cart-collaterals::after, .cart-collaterals::before {
        content: '';
        display: table
    }

    .cart-collaterals::after {
        clear: both
    }

    .cart-collaterals .cross-sells {
        width: 41.1764705882%;
        float: left;
        margin-right: 5.8823529412%
    }

    .cart-collaterals .cross-sells ul.products li.product {
        width: 42.8571428571%;
        float: left;
        margin-right: 14.2857142857%
    }

    .cart-collaterals .cross-sells ul.products li.product:nth-child(2n) {
        margin-right: 0 !important
    }

    .cart-collaterals .cart_totals, .cart-collaterals .shipping_calculator {
        width: 52.9411764706%;
        float: right;
        margin-right: 0;
        margin: 0;
        clear: right
    }

    .cart-collaterals .cart_totals small.includes_tax {
        display: block
    }

    .cart-collaterals .shipping_calculator {
        clear: right
    }

    .page-template-template-fullwidth-php .cart-collaterals .cross-sells {
        width: 47.8260869565%;
        float: left;
        margin-right: 4.347826087%
    }

    .page-template-template-fullwidth-php .cart-collaterals .cross-sells ul.products li.product {
        width: 45.4545454545%;
        float: left;
        margin-right: 9.0909090909%
    }

    .page-template-template-fullwidth-php .cart-collaterals .cart_totals,
    .page-template-template-fullwidth-php .cart-collaterals .shipping_calculator {
        width: 47.8260869565%;
        float: right;
        margin-right: 0
    }

    #ship-to-different-address {
        position: relative
    }

    #ship-to-different-address label {
        font-weight: 300
    }

    #ship-to-different-address .woocommerce-form__input-checkbox {
        position: absolute;
        top: 50%;
        right: 0;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        margin-right: 0
    }

}

/*** Checkout  ***/

form.checkout {
    position: static !important;
}

form.checkout::after, form.checkout::before {
    content: '';
    display: table;
}

form.checkout::after {
    clear: both
}

form.checkout > .blockUI {
    position: fixed !important
}

form.checkout h3 {
  margin-top: 10px;
  margin-bottom: 10px;
}

form.checkout #order_review .shop_table td,  form.checkout #order_review .shop_table th {
    padding: .875em;
}

#payment::after, #payment::before {
    content: '';
    display: table
}

#payment::after {
    clear: both
}

#payment .create-account {
    clear: both
}

#payment .payment_methods {
    margin: 0 !important;
    padding: 0 !important
}

#payment .payment_methods > .wc_payment_method > label, #payment .payment_methods > .woocommerce-PaymentMethod > label {
    display: block;
    padding: 1.41575em;
    cursor: pointer;
}

#payment .payment_methods li {
    list-style: none !important;
    margin-left: 0;
    position: relative;
}

#payment .payment_methods li img {
    float: right;
    border: 0;
    padding: 0;
    max-height: 1.618em
}

#payment .payment_methods li:last-child:not(.woocommerce-notice) {
    padding-bottom: 0;
    border-bottom: 0
}

#payment .payment_methods li p {
    margin: 0
}

#payment .payment_methods li .payment_box {
    padding: 1.41575em
}

#payment .payment_methods li .payment_box fieldset {
    border: 0;
    margin: 0;
    padding: 1em 0 0;
    font-size: .875em
}

#payment .payment_methods li .payment_box fieldset label {
    width: auto;
    margin-left: 0
}

#payment .payment_methods li .payment_box fieldset .form-row {
    margin-bottom: 1em
}

#payment .payment_methods li .payment_box fieldset .form-row input[type=checkbox] {
    margin-right: 5px;
    width: 20px !important;
    height: 20px !important;
}

#payment .payment_methods li .payment_box fieldset #cvv {
    width: 22% !important
}

#payment .payment_methods li .payment_box fieldset .help {
    width: 75%;
    float: right
}

#payment .payment_methods li .payment_box .woocommerce-SavedPaymentMethods {
    padding-top: 1em;
    margin: 0
}

#payment .payment_methods li .payment_box .woocommerce-SavedPaymentMethods li {
    margin-top: .6180469716em
}

#payment .payment_methods li .payment_box .woocommerce-SavedPaymentMethods li input[type=radio] {
    margin-right: .236em
}

#payment .payment_methods li .payment_box ul.wc-saved-payment-methods {
    margin-left: 0
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-cvc,
#payment .payment_methods li .payment_box .wc-credit-card-form-card-expiry,
#payment .payment_methods li .payment_box .wc-credit-card-form-card-number {
    font-size: 1.41575em
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-number {
    background-repeat: no-repeat;
    background-position: right .6180469716em center;
    background-size: 31px 20px;
    background-image: url(../../../assets/images/credit-cards/unknown.svg)
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-number.visa {
    background-image: url(../../../assets/images/credit-cards/visa.svg)
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-number.mastercard {
    background-image: url(../../../assets/images/credit-cards/mastercard.svg)
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-number.laser {
    background-image: url(../../../assets/images/credit-cards/laser.svg)
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-number.dinersclub {
    background-image: url(../../../assets/images/credit-cards/diners.svg)
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-number.maestro {
    background-image: url(../../../assets/images/credit-cards/maestro.svg)
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-number.jcb {
    background-image: url(../../../assets/images/credit-cards/jcb.svg)
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-number.amex {
    background-image: url(../../../assets/images/credit-cards/amex.svg)
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-number.discover {
    background-image: url(../../../assets/images/credit-cards/discover.svg)
}

#payment .terms {
    width: 100%;
    clear: both;
    float: none;
    margin-bottom: 1em
}

#payment .terms label {
    display: block;
    cursor: pointer
}

#payment .woocommerce-terms-and-conditions {
    padding: 1em;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2);
    margin-bottom: 16px;
    background-color: rgba(0, 0, 0, .05)
}

#payment .place-order {
    padding: 1.41575em;
    margin-bottom: 0;
    float: none;
    width: 100%;
    margin-top: 2.617924em
}

table.woocommerce-checkout-review-order-table .product-name {
    width: 300px;
    word-wrap: break-word
}

.admin-bar .woocommerce-checkout #wc_checkout_add_ons label + br {
    display: none
}

.woocommerce-password-strength {
    font-weight: 600;
    padding: .5407911001em 0;
    text-align: right;
    font-size: .875em
}

.woocommerce-password-strength.strong {
    color: #0f834d
}

.woocommerce-password-strength.short {
    color: #e2401c
}

.woocommerce-password-strength.bad {
    color: #e2401c
}

.woocommerce-password-strength.good {
    color: #3d9cd2
}

label.inline {
    display: inline !important;
    margin-left: 1em
}

.woocommerce-MyAccount-navigation ul {
    margin-left: 0;
    border-top: 1px solid #E7E7EB;
}

.woocommerce-MyAccount-navigation ul li {
    list-style: none;
    border-bottom: 1px solid #E7E7EB;
    position: relative;
    margin-left: 0;
}

.woocommerce-MyAccount-navigation ul li a {
    padding: .875em 0;
    display: block
}

ul.order_details {
  list-style: none;
  position: relative;
  margin: 2.5em 0;
}

ul.order_details li {
  list-style: none;
  position: relative;
  margin: 2.5em 0;
}

ul.order_details::after, ul.order_details::before {
    content: '';
    display: table;
}

ul.order_details::after {
    clear: both;
}

ul.order_details::after, ul.order_details::before {
    content: '';
    display: block;
    position: absolute;
    top: -16px;
    left: 0;
    width: 100%;
    height: 16px;
    background-size: 0 100%, 16px 16px, 16px 16px;
}

ul.order_details::after {
    top: auto;
    bottom: -16px;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.order_details {
	background-color: #f8f8f8;
}

.order_details > li {
	border-bottom: 1px dotted #e3e3e3;
}

.order_details:before, .order_details:after {
	background: -webkit-linear-gradient(transparent 0,transparent 0),-webkit-linear-gradient(135deg,#f8f8f8 33.33%,transparent 33.33%),-webkit-linear-gradient(45deg,#f8f8f8 33.33%,transparent 33.33%)
}

ul.order_details li {
    padding: 1em 1.618em;
    font-size: .8em;
    text-transform: uppercase
}

ul.order_details li:first-child {
    padding-top: 1.618em
}

ul.order_details li:last-child {
    border: 0;
    padding-bottom: 1.618em
}

ul.order_details li strong {
    display: block;
    font-size: 1.41575em;
    text-transform: none
}

section .woocommerce-order-details {
	/* padding: 0; */
}

.wc-item-meta {
    font-size: .875em;
    margin-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.wc-item-meta li {
  margin: 0;
  list-style: none;
}

.wc-item-meta li::before, .wc-item-meta li::after {
    content: "";
    display:table;
}

.wc-item-meta li::after {
    clear:both;
}

.wc-item-meta li strong, .wc-item-meta li p {
    display:inline-block;
}

.my_account_orders .button, .woocommerce-MyAccount-downloads .button {
    padding: 1em .875em;
    font-size: .875em;
    margin-right: .236em;
    line-height: 0;
}

.woocommerce-MyAccount-content h2,
#customer_login h2 {
  margin-bottom: 20px;
}

.woocommerce-MyAccount-content #payment .payment_methods {
    margin-bottom: 1.618em !important
}

.woocommerce-form__label-for-checkbox {
    cursor: pointer;
    display: block
}

.woocommerce-form__label-for-checkbox .woocommerce-form__input-checkbox {
    margin-right: .3342343017em
}

.form-row label {
    display: block
}

.form-row input, .form-row select, .form-row textarea {
    width: 100%
}

.form-row .button {
    width: auto
}

.form-row.create-account label {
    display: inline-block
}

.form-row.woocommerce-validated input.input-text {
    /* box-shadow: inset 2px 0 0 #0f834d */
}

.form-row.woocommerce-invalid input.input-text {
    /* box-shadow: inset 2px 0 0 #e2401c */
    border: 2px solid #e2401c;
}

.form-row-last {
    margin-right: 0 !important
}

.form-row-wide {
    clear: both;
    width: 100%
}

.required {
    border-bottom: 0 !important;
    color: #e2401c;
}

h3#ship-to-different-address {
	margin: 20px 0 20px 0;
}

.wc_payment_method input.input-radio {
	margin: 1.41575em 0 0 1.41575em;
}

.wc_payment_method img {
	width: auto;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p {
	padding-bottom: 14px;
}

.woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 20px;
}

#payment .place-order .button {
  line-height: 60px;
  height: 60px;
  width: 100%;
  white-space: pre-wrap;
  vertical-align: middle;
  color: #fff;
  
  background-color: #0377D8;
  background-size: 200% 100%;
  background-position:right bottom;

  font-family: "Red Hat Display", Arial, sans-serif;
  font-weight: 600; /* Semi Bold */
  font-size: 17px; font-size: 1.7rem;

  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;

  outline: 0;
  border: none;
  text-decoration: none;
  cursor: pointer;
}

#payment .place-order .button:hover {
  background-color: #065DB0;
}


/*** Checkout (3/4) ***/
#payment .payment_methods > li .payment_box,
#payment .place-order {
    background-color: #F4F4F4;
}

#payment .payment_methods > li:not(.woocommerce-notice) {
    background-color: #E7E7EB;
}

#payment .payment_methods > li:not(.woocommerce-notice):hover {
    background-color: #DDDDE2;
}


/*** Checkout (4/4) ***/
@media only screen and (min-width: 691px) {

 #payment .place-order .button {
      display: inline-block;
      margin: 0;
      color: #fff;
      background: linear-gradient(to right, #065DB0 50%, #0377D8 50%);
      background-size: 200% 100%;
      background-position:right bottom;
      font-size: 20px; font-size: 2.0rem;
      padding-left: 18px;
      padding-right: 18px;
      text-decoration: none;

      -webkit-border-radius: 100px;
      -moz-border-radius: 100px;
      border-radius: 100px;

      border: 0;
      cursor: pointer;
      
      -webkit-transition: all 0.5s 0s ease;
      -moz-transition: all 0.5s 0s ease;
      -o-transition: all 0.5s 0s ease;
      transition: all 0.5s 0s ease;
    }

    #payment .place-order .button:hover {
      background-position: left bottom;
    }

	.col2-set {
        width: 52.9411764706%;
        float: left;
        margin-right: 5.8823529412%
    }

    .col2-set .form-row-first {
        width: 33.3333333333%;
        float: left;
        margin-right: 11.1111111111%
    }

    .col2-set .form-row-last {
        width: 55.5555555556%;
        float: right;
        margin-right: 0
    }

    .col2-set .col-1, .col2-set .col-2 {
        margin-bottom: 1.618em
    }

    .col2-set + #customer_details {
        display: none
    }

    .col2-set .woocommerce-billing-fields::after, .col2-set .woocommerce-billing-fields::before {
        content: '';
        display: table
    }

    .col2-set .woocommerce-billing-fields::after {
        clear: both
    }

    .col2-set.addresses {
        width: 100%;
        float: left;
        margin-left: 0;
        margin-right: 0
    }

    .col2-set.addresses .col-1 {
        width: 47.0588235294%;
        float: left;
        margin-right: 5.8823529412%
    }

    .col2-set.addresses .col-2 {
        width: 47.0588235294%;
        float: right;
        margin-right: 0
    }

    #customer_details + #wc_checkout_add_ons {
        width: 41.1764705882%;
        float: right;
        margin-right: 0
    }

    #wc_checkout_add_ons input[type=radio] {
        float: left;
        margin-right: .5407911001em;
        clear: left;
        margin-top: .35em
    }

    #order_review, #order_review_heading {
        width: 41.1764705882%;
        float: right;
        margin-right: 0;
        clear: right
    }

    #order_review {
        -webkit-transition: box-shadow ease .4s;
        transition: box-shadow ease .4s
    }

    #order_review_heading {
        padding-bottom: .6180469716em
    }

    .page-template-template-fullwidth-php.woocommerce-order-pay #order_review,
    .woocommerce-order-pay #order_review {
        width: 100%;
        float: none
    }

    .page-template-template-fullwidth-php.woocommerce-order-pay #order_review #payment h3,
    .woocommerce-order-pay #order_review #payment h3 {
        padding-left: 1em;
        padding-top: 1em
    }

    .page-template-template-fullwidth-php.woocommerce-order-pay #order_review #payment .form-row,
    .woocommerce-order-pay #order_review #payment .form-row {
        padding: 1em
    }

    .page-template-template-fullwidth-php.woocommerce-order-pay #order_review .payment_methods + .form-row,
    .woocommerce-order-pay #order_review .payment_methods + .form-row {
        padding: 1em
    }

    .page-template-template-fullwidth-php.woocommerce-order-pay #order_review .button#place_order,
    .woocommerce-order-pay #order_review .button#place_order {
        display: block;
        width: 100%;
        font-size: 1.41575em
    }

    .page-template-template-fullwidth-php .col2-set {
        width: 47.8260869565%;
        float: left;
        margin-right: 4.347826087%
    }

    .page-template-template-fullwidth-php .col2-set .form-row-first {
        width: 45.4545454545%;
        float: left;
        margin-right: 9.0909090909%
    }

    .page-template-template-fullwidth-php .col2-set .form-row-last {
        width: 45.4545454545%;
        float: right;
        margin-right: 0
    }

    .page-template-template-fullwidth-php .col2-set.addresses .col-1 {
        width: 47.8260869565%;
        float: left;
        margin-right: 4.347826087%
    }

    .page-template-template-fullwidth-php .col2-set.addresses .col-2 {
        width: 47.8260869565%;
        float: right;
        margin-right: 0
    }

    .page-template-template-fullwidth-php #order_review, .page-template-template-fullwidth-php #order_review_heading {
        width: 47.8260869565%;
        float: right;
        margin-right: 0
    }

    .page-template-template-fullwidth-php #customer_details + #wc_checkout_add_ons {
        width: 47.8260869565%;
        float: right;
        margin-right: 0
    }

    #order_review .shop_table {
        margin-bottom: 2.617924em
    }

    form.checkout {
      
    }
}

/*** My Account ***/
#payment .payment_methods > .wc_payment_method > label::before, #payment .payment_methods > .woocommerce-PaymentMethod > label::before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    vertical-align: -.125em;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    line-height: inherit;
    vertical-align: baseline;
    content: "\f111";
    margin-right: .5407911001em;
    -webkit-transition: color, ease, .2s;
    transition: color, ease, .2s
}

#payment .payment_methods li.wc_payment_method > input[type="radio"]:first-child, #payment .payment_methods li.woocommerce-PaymentMethod > input[type="radio"]:first-child {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important
}

#payment .payment_methods li.wc_payment_method > input[type="radio"]:first-child:checked + label::before, #payment .payment_methods li.woocommerce-PaymentMethod > input[type="radio"]:first-child:checked + label::before {
    content: "\f192"
}

.woocommerce-password-strength::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    vertical-align: -.125em;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    line-height: inherit;
    vertical-align: baseline;
    content: "\f119";
    margin-left:.5407911001em
}

.woocommerce-password-strength.strong::after {
    content: "\f118"
}

.woocommerce-password-strength.good::after {
    content: "\f11a"
}

.woocommerce-MyAccount-navigation ul li.is-active a::before {
    opacity:1
}

.woocommerce-MyAccount-navigation ul li a::before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    vertical-align: -.125em;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    line-height: inherit;
    vertical-align: baseline;
    content: "\f15c";
    line-height: 1.618;
    margin-left: .5407911001em;
    width: 1.41575em;
    text-align: right;
    float: right;
    opacity:.25
}

.woocommerce-MyAccount-navigation ul li a:hover::before {
    opacity:1
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before {
    content: "\f3fd"
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before {
    content: "\f291"
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before {
    content: "\f1c6"
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before {
    content: "\f015"
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a::before {
    content: "\f09d"
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before {
    content: "\f007"
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    content: "\f2f5"
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--subscriptions a::before {
    content: "\f021"
}

.my_account_orders .button.view::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    vertical-align: -.125em;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    line-height: inherit;
    vertical-align: baseline;
    content: "\f06e";
    margin-left:.5407911001em
}

p.order-again .button::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    vertical-align: -.125em;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    line-height: inherit;
    vertical-align: baseline;
    content: "\f021";
    margin-left:.5407911001em
}

.woocommerce-MyAccount-downloads .button::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    vertical-align: -.125em;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    line-height: inherit;
    vertical-align: baseline;
    content: "\f381";
    margin-left:.5407911001em
}

.addresses header.title a {
    display: block;
    width: 1em;
    height: 1em;
    text-indent: -9999px;
    position: relative;
    padding:.875em
}

.addresses header.title a::before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    vertical-align: -.125em;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    line-height: inherit;
    vertical-align: baseline;
    content: "\f044";
    line-height: 1.618;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    text-align: center;
    text-indent:0
}

.woocommerce-MyAccount-content table {
    border-spacing: 0;
    width: 100%;
    border-collapse: separate;
    margin: 20px 0 1.41575em;
}

.woocommerce-MyAccount-content table caption {
    padding:1em 0
}

.woocommerce-MyAccount-content table td, table th {
    padding: 1em 1.41575em;
    text-align: left;
    vertical-align:top
}

.woocommerce-MyAccount-content table td p:last-child, table th p:last-child {
    margin-bottom:0
}

.woocommerce-MyAccount-content table thead th {
    padding: 1.41575em;
    vertical-align:middle
}

.woocommerce-MyAccount-content h2 + address {
  margin-top: 10px;
}

.woocommerce-MyAccount-content label + input {
  margin-top: 5px;
}

.woocommerce-MyAccount-content label,
.woocommerce-MyAccount-content fieldset legend {
  margin-bottom: 10px;
  font-weight: 700;
}

.woocommerce-MyAccount-content p {
    margin:0 0 1.41575em
}

.woocommerce-MyAccount-content button.show-password-input {
  width: 10px;
  height: 10px;
}

.woocommerce form .password-input,
.woocommerce-page form .password-input {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.woocommerce form .password-input input[type=password],
.woocommerce form .password-input input#password,
.woocommerce-page form .password-input input[type=password] {
  padding-right: 30px;
}

.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
  position: absolute;
  right: 5px;
  top: 1em;
  cursor: pointer;
  background-color: transparent !important;
  border: none;
  outline: none;
  box-shadow: none;
}

.woocommerce form .show-password-input::after,
.woocommerce-page form .show-password-input::after {
  font-family: "Phosphor-Bold";
  font-weight: normal;
  speak: never;
  text-transform: none;
  
  -webkit-font-smoothing: antialiased;
  outline: none;
  box-shadow: none;
  content: "\E220";
  text-decoration: none;
  font-size: 15px; font-size: 1.5rem;
}

.woocommerce form .show-password-input.display-password::after,
.woocommerce-page form .show-password-input.display-password::after {
  content: "\E222";
}

.woocommerce-ResetPassword p.woocommerce-form-row.form-row-first {
 margin-bottom: 0;
}

.woocommerce-ResetPassword .clear {
  clear: both;
}

@media only screen and (min-width: 691px) {
    table + .addresses {
        margin-top:1.618em
    }

    .col2-set#customer_login, .col2-set.addresses {
        width: 100%;
        float: left;
        margin-left: 0;
        margin-right:0
    }

    .col2-set#customer_login .col-1, .col2-set.addresses .col-1 {
        width: 41.1764705882%;
        float: left;
        margin-right:5.8823529412%
    }

    .col2-set#customer_login .col-2, .col2-set.addresses .col-2 {
        width: 52.9411764706%;
        float: right;
        margin-right:0
    }

    .woocommerce-MyAccount-navigation {
        width: 17.6470588235%;
        float: left;
        margin-right:5.8823529412%
    }

    .woocommerce-MyAccount-content {
        width: 76.4705882353%;
        float: right;
        margin-right:0
    }

    .woocommerce-MyAccount-content .form-row-first {
        width: 38.4615384615%;
        float: left;
        margin-right:7.6923076923%
    }

    .woocommerce-MyAccount-content .form-row-last {
        width: 53.8461538462%;
        float: right;
        margin-right:0
    }

    .left-sidebar:not(.page-template-template-fullwidth-php) .woocommerce-MyAccount-content {
        width: 76.4705882353%;
        float: left;
        margin-right:5.8823529412%
    }

    .left-sidebar:not(.page-template-template-fullwidth-php) .woocommerce-MyAccount-navigation {
        width: 17.6470588235%;
        float: right;
        margin-right:0
    }

    table.my_account_orders {
        font-size:.875em
    }

    .page-template-template-fullwidth-php .col2-set#customer_login .col-1, .page-template-template-fullwidth-php .col2-set.addresses .col-1 {
        width: 47.8260869565%;
        float: left;
        margin-right:4.347826087%
    }

    .page-template-template-fullwidth-php .col2-set#customer_login .col-2, .page-template-template-fullwidth-php .col2-set.addresses .col-2 {
        width: 47.8260869565%;
        float: right;
        margin-right:0
    }

    .page-template-template-fullwidth-php .woocommerce-MyAccount-content {
        width: 73.9130434783%;
        float: left;
        margin-right:4.347826087%
    }

    .page-template-template-fullwidth-php .woocommerce-MyAccount-content .form-row-first {
        width: 46.6666666667%;
        float: left;
        margin-right:6.6666666667%
    }

    .page-template-template-fullwidth-php .woocommerce-MyAccount-content .form-row-last {
        width: 46.6666666667%;
        float: right;
        margin-right:0
    }

    .page-template-template-fullwidth-php .woocommerce-MyAccount-content .col2-set {
        width:100%
    }

    .page-template-template-fullwidth-php .woocommerce-MyAccount-content .col2-set .col-1 {
        width: 46.6666666667%;
        float: left;
        margin-right:6.6666666667%
    }

    .page-template-template-fullwidth-php .woocommerce-MyAccount-content .col2-set .col-2 {
        width: 46.6666666667%;
        float: right;
        margin-right:0
    }

    .page-template-template-fullwidth-php .woocommerce-MyAccount-navigation {
        width: 21.7391304348%;
        float: right;
        margin-right:0
    }

    .addresses header.title::after, .addresses header.title::before {
        content: '';
        display:table
    }

    .addresses header.title::after {
        clear:both
    }

    .addresses header.title a {
        float:right
    }

    .addresses header.title h3 {
        float:left
    }

    .form-row-first {
        width: 47.0588235294%;
        float: left;
        margin-right: 5.8823529412%;
        clear:both
    }

    .form-row-last {
        width: 47.0588235294%;
        float: right;
        margin-right:0
    }
}


/*** Notices ***/
.woocommerce-error, .woocommerce-info, .woocommerce-message, .woocommerce-noreviews, p.no-comments {
    display: block;
    float: left;
    margin: 0 0 20px 0;
    position: relative;
    padding: 15px 20px;
    width: 100%;
    background-color: #0377D8;
}

section.woocommerceNoProductsFound {
  background-color: #0377D8;
}

section.woocommerceNoProductsFound .woocommerce-info {
  padding: 20px 0;
  margin-bottom: 0;
}

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

.woocommerce-error a:link, .woocommerce-info a:link, .woocommerce-message a:link {
    color: #fff !important;
    text-decoration:underline
}

.woocommerce-error a:hover, .woocommerce-info a:hover, .woocommerce-message a:hover {
    text-decoration: none
}

.woocommerce-message {
    background-color: #0D0E3A !important;
    color:#fff !important
}

.woocommerce-error {
    background-color: #0D0E3A !important;
    color:#fff !important
}

.woocommerce-error.wc-stripe-error li {
    background-color: #0D0E3A !important;
}

.woocommerce-info {
    background-color: #0377D8 !important;
    color: #fff !important;
    margin-bottom: 20px
}

.woocommerce-error .button, .woocommerce-info .button, .woocommerce-message .button, .woocommerce-noreviews .button, p.no-comments .button {
    float: right;
    padding: 0;
    background: 0 0;
    color: #fff;
    box-shadow: none;
    padding-left: 1em;
    border-width: 0;
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: #fff;
    border-radius: 0;
    width: unset;
    text-align:initial
}

.woocommerce-error .button:hover, .woocommerce-info .button:hover, .woocommerce-message .button:hover, .woocommerce-noreviews .button:hover, p.no-comments .button:hover {
    background: 0 0;
    color: #fff;
    opacity:.75
}


/*** Breadcrumb ***/
header nav#breadcrumb .woocommerce-breadcrumb { 
	display: block;
	float: left;
  background-image: linear-gradient(to bottom, transparent 30px, #5EA8E6 1px),  linear-gradient(transparent 1px, transparent 1px);
  background-size: 31px 31px;
  margin-bottom: -1px;
  z-index: 500;
  position: relative;
  background-color: transparent;
	font-weight: 700; /* Bold */
	font-size: 16px; font-size: 1.6rem;
	line-height: 30px;
	color: #fff;
  position: relative;
  z-index: 1500;
}

header nav#breadcrumb .woocommerce-breadcrumb a {
	border-right: 1px solid #5EA8E6;
  border-bottom: 1px solid #5EA8E6;
	padding: 0 10px 0 10px;
	display: block;
  font-weight: 700; /* Bold */
	float: left;
	color: #fff;
	-webkit-transition: background 0.2s linear;
  -moz-transition: background 0.2s linear;
  -ms-transition: background 0.2s linear;
  -o-transition: background 0.2s linear;
  transition: background 0.2s linear;
  text-decoration: none;
  vertical-align: middle;
  line-height: 31px;
  height: 31px;
}

header nav#breadcrumb .woocommerce-breadcrumb a.span {
  display: none;
}

header nav#breadcrumb .woocommerce-breadcrumb a:first-child  {
  width: 36px;
}

header nav#breadcrumb .woocommerce-breadcrumb a:last-child {
	margin-right: 10px;
}

header nav#breadcrumb .woocommerce-breadcrumb a:hover {
	background-color: #0465BE;
}

header nav#breadcrumb .woocommerce-breadcrumb a:first-of-type:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  
  display: inline-block;
  line-height: 30px;
  vertical-align: top;
  margin-right: .5407911001em;

  font-family: "Phosphor-Bold";
  font-weight: normal;
  content: "\E2C2";
}

header nav#breadcrumb .woocommerce-breadcrumb span {
  display: inline-block;
  padding: 0 10px 0 10px;
	background-color: #065DB0;
}

@media only screen and (max-width: 690px) {
	main .action {
		font-size: 12px; font-size: 1.2rem;
	}
}

/*** Sorting ***/
section.sorting .contentWrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: right;
  flex-wrap: wrap;
}

section.sorting.top .contentWrapper {
  margin-top: 20px;
  margin-bottom: 20px;
}

section.sorting.bottom .contentWrapper {
  /* margin-top: 20px; */
}

section.sorting .contentWrapper > * {
  margin-top: 8px;
}

main section.sorting form.woocommerce-ordering {
  flex-grow: 0;
  width: 100%;
  padding: 0;
  margin-top: 0;
  border-radius: 20px;
  background-color: #fff;
  border: 2px solid #fff;
}

main section.sorting form select.orderby {
  height: 30px;
  background-color: transparent;
  border: none;
  font-weight: 700; /* Bold */
  outline: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 13px; font-size: 1.3rem;
  padding-right: 16px;
  position: relative;
  background-color: transparent;
  background-image: url('data:image/svg+xml,<svg width="26" height="33" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%230377D8"><path d="M7.5 0 15 15.074H0zM7.5 33 0 17.926h15z"/></g><path fill="none" d="M0 15h26v3H0z"/></g></svg>');
  background-repeat: no-repeat;
  background-size: 16px 20px;
  background-position: right center;
  background-clip: border-box;
  -moz-background-clip: border-box;
  -webkit-background-clip: border-box;
  margin-bottom: 0;
}

main section.sorting form select.orderby::-ms-expand {
    display: none;
}

section.sorting .contentWrapper form.woocommerce-ordering input {
  /* line-height: 30px; */
  padding: 0 7px 0 7px;
  margin: 0 5px 0 0;
}

main section .woocommerce-result-count {
  flex-grow: 0;
  white-space: nowrap;
  margin-left: 20px;
  margin-bottom: 0;
  font-size: 13px; font-size: 1.3rem;
  font-weight: 700; /* Bold */
}

.pagination, .woocommerce-pagination {
  display: inline-block;
  margin-left: 20px;
  padding: 0;
  text-align: center;
}

.pagination .page-numbers, .woocommerce-pagination .page-numbers {
  display: inline-block;
  white-space: nowrap;
  list-style: none;
  margin: 0;
}

.pagination .page-numbers li, .woocommerce-pagination .page-numbers li {
    display: inline-block;
    margin-left: 1px;
    margin-bottom: 0;
    vertical-align: middle;
}

.pagination .page-numbers li:first-child, .woocommerce-pagination .page-numbers li:first-child {
    margin-left: 0px;
}

.pagination .page-numbers li .page-numbers, .woocommerce-pagination .page-numbers li .page-numbers {
	font-weight: 700;
	font-size: 13px; font-size: 1.3rem;
  display: block;
  text-align: center;
  line-height: 30px;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  -webkit-transition: background 0.2s linear;
  -moz-transition: background 0.2s linear;
  -ms-transition: background 0.2s linear;
  -o-transition: background 0.2s linear;
  transition: background 0.2s linear;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
}

.pagination .page-numbers li .page-numbers.current, .woocommerce-pagination .page-numbers li .page-numbers.current {
    background-color: #0377D8;
    border-color: #0377D8;
    color: #fff;
}

.pagination .page-numbers li .page-numbers.dots, .woocommerce-pagination .page-numbers li .page-numbers.dots {
    background-color: transparent
}

.pagination .page-numbers li .page-numbers.next, .pagination .page-numbers li .page-numbers.prev,
.woocommerce-pagination .page-numbers li .page-numbers.next, .woocommerce-pagination .page-numbers li .page-numbers.prev {
    padding: 0;
}

.pagination .page-numbers li a.page-numbers:hover, .woocommerce-pagination .page-numbers li a.page-numbers:hover {
    background-color: #065DB0;
    color: #fff;
}

.woocommerce-pagination .next,
.woocommerce-pagination .prev {
	text-indent: -9999px;
	position: relative;
}

.woocommerce-pagination .next::after,
.woocommerce-pagination .prev::after {

  display: block;
  position: relative;
  margin: 0;
  
  -webkit-font-smoothing: antialiased;
  font-family: "Phosphor-Bold";
  font-weight: normal;
  font-size: 22px; font-size: 2.2rem;
  content: "\e058";
  top: -50%;
  left: 50%;
  text-align: center;
}

.woocommerce-pagination .next::after {
  content: "\e06c";
}

@media(min-width: 769px) {

  section.sorting .contentWrapper > * {
    margin-top: 0;
  }

  main section.sorting form.woocommerce-ordering {
    width: auto;
  }
}

/* Woocommerce.css core overrides */
ul.products li.product, ul.products .wc-block-grid__product, .wc-block-grid__products li.product, .wc-block-grid__products .wc-block-grid__product {
  margin-bottom: 3%;
  margin-right: 3%;
  width: 48.5%;
}

@media(min-width: 769px) {

  ul.products li.product, ul.products .wc-block-grid__product, .wc-block-grid__products li.product, .wc-block-grid__products .wc-block-grid__product {
    margin-bottom: 2%;
  }
    
  .site-main ul.products li.product {
    width: 29.4117647059%;
    margin-right: 5.8823529412%;
  }

  .site-main ul.products.columns-1 li.product {
      width: 100%;
      margin-right: 0;
  }

  .site-main ul.products.columns-2 li.product {
      width: 48%;
      margin-right: 3.8%;
  }

  .site-main ul.products.columns-3 li.product {
      width: 32%;
      margin-right: 2%;
  }

  .site-main ul.products.columns-3 li.product:nth-child(3n) {
    margin-right: 0;
  }

  .site-main ul.products.columns-4 li.product {
      width: 23.5%;
      margin-right: 2%;
  }

  .site-main ul.products.columns-4 li.product:nth-child(4n) {
      margin-right: 0;
  }

  .site-main ul.products.columns-5 li.product {
      width: 16.9%;
      margin-right: 3.8%;
  }

  .site-main ul.products.columns-6 li.product {
      width: 11.7647058824%;
      margin-right:5.8823529412%;
  }
}