/*!
Theme Name: poolexperts
Theme URI: http://underscores.me/
Author: BWD Group
Author URI: https://www.bwdgroup.co.uk
Description: Custom eCommerce Development
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: poolexperts
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

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

poolexperts is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries


/*--------------------------------------------------------------
# Fonts
--------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css?family=Raleway:200,300,400,500,600,700,800,900");
@import url("https://fonts.googleapis.com/css?family=Oswald:300,400");
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
  margin: 0 5px 0 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
  color: #111;
  font-family: "Raleway", sans-serif;
  font-size: 14.4px;
  font-size: 0.9rem;
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
}

dfn, cite, em, i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code, kbd, tt, var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark, ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul, ol {
  margin: 0;
  padding: 0 0 0 25px;
}

ul li {
  list-style-type: square;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  color: #014b7c;
  border: 2px solid;
  border-color: #014b7c;
  background-color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  padding: 5px 10px;
  margin: 5px;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 2px solid #ccc;
  padding: 5px;
  margin: 5px 5px 5px 0;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  color: royalblue;
}

a:visited {
  color: purple;
}

a:hover, a:focus, a:active {
  color: midnightblue;
}

a:focus {
  outline: thin dotted;
}

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

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
  clear: both;
  display: block;
  float: left;
  width: 100%;
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  left: 100%;
}

.main-navigation ul ul a {
  width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}

.main-navigation li {
  float: left;
  position: relative;
}

.main-navigation a {
  display: block;
  text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: block;
  }
}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.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 !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */
}

.widget select {
  max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}

.post,
.page {
  margin: 0 0 1.5em;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

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

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

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

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

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

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

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

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

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Custom BWD Group Styles
--------------------------------------------------------------*/
.visible-tablet-desktop {
  display: none !important;
}

a {
  text-decoration: none;
  color: #014b7c;
}

header {
  display: grid;
  grid-template-columns: 180px 1fr;
  grid-template-rows: auto;
  background-size: cover;
  padding: 0 5%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000 !important;
  max-width: 1400px;
  margin: auto;
}

header .logo {
  background-color: #fff;
  -moz-border-radius-bottomright: 15px;
  -webkit-border-bottom-right-radius: 15px;
  border-bottom-right-radius: 15px;
  -moz-border-radius-bottomleft: 15px;
  -webkit-border-bottom-left-radius: 15px;
  border-bottom-left-radius: 15px;
  z-index: 100;
}

header .logo img {
  padding: 25px 20px 20px 25px;
}

header .navigation.mobile {
  display: none;
}

header .mobile.links {
  display: none;
}

.page, .post {
  margin: 0 !important;
}

.navigation nav {
  display: grid;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  background-color: #014b7c;
  font-size: 1.2em;
  padding: 0 5px;
  border-bottom: 5px solid #26c1e0;
}

.navigation nav .dropdown {
  z-index: 1000;
}

.navigation nav ul.dropdown {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-around;
}

.navigation nav .dropdown li {
  float: left;
  position: relative;
  list-style-type: none;
  word-wrap: break-word;
}

.navigation nav .dropdown li:nth-child(7) {
  float: right;
}

.navigation nav .dropdown li:nth-child(8) {
  float: right;
}

.navigation nav .dropdown li:nth-child(9) {
  float: right;
}

.navigation nav .dropdown li a {
  padding: 10px 8px;
  text-decoration: none;
  display: block;
  color: #fff;
  font-size: 90%;
}

.navigation nav .dropdown ul {
  position: absolute;
  padding: 0;
  border: 0;
  margin: 0;
  display: none;
}

.navigation nav .dropdown ul li {
  background-color: #26c1e0;
  z-index: 1000;
}

/* Nav Widths */
.navigation nav .dropdown ul.cat.pumps li {
  width: 260px;
}

.navigation nav .dropdown ul.cat.filters li {
  width: 320px;
}

.navigation nav .dropdown ul.cat.pumps-filters li {
  width: 350px;
}

.navigation nav .dropdown ul.cat.chlorination li {
  width: 120px;
}

.navigation nav .dropdown ul.cat.heating li {
  width: 75px;
}

.navigation nav .dropdown ul.cat.parts li {
  width: 150px;
}

.navigation nav .dropdown ul.cat.accessories li {
  width: 150px;
}

.navigation nav ul.cat li a {
  padding: 2px 10px;
}

.navigation nav ul.cat li:first-child {
  padding-top: 5px;
}

.navigation nav ul.cat li:last-child {
  padding-bottom: 5px;
}

.navigation nav .dropdown ul li a {
  display: block;
  color: #fff;
  float: none;
  border: 0;
  font-size: 80%;
}

.navigation nav .dropdown ul li a:hover {
  color: #014b7c;
}

/* Homepage */
section.home .pool-experts-slider .item .img-fill {
  height: 800px;
}

section.home .pool-experts-slider .item .overlay .text h1 {
  display: block;
  color: #fff;
  font-size: 2em;
  padding: 15px 25px;
  text-transform: uppercase;
  margin: 0;
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.63);
}

/* Home Range */
section.home .product-categories {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: auto;
  text-align: center;
  min-height: 200px;
  background-color: #eaeaea;
  padding: 25px 0;
}

section.home .product-categories h2 {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  font-size: 1.1em;
  font-weight: 500;
  color: #000;
  padding: 15px;
  margin: 0;
}

section.home .product-categories .cat img {
  padding: 0 15px;
}

section.home .product-categories .cat img:hover {
  opacity: 0.9;
}

section.home .pool-experts-slider .item .img-fill {
  display: grid;
}

section.home .pool-experts-slider .item .img-fill .overlay {
  display: grid;
  grid-template-rows: auto;
  grid-column-gap: 25px;
  padding: 0 5%;
}

section.home .pool-experts-slider .item .img-fill .slider-product {
  display: flex;
  align-self: center;
}

section.home .pool-experts-slider .item .img-fill .slider-text {
  display: grid;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  text-shadow: 1px 3px 8px rgba(0, 0, 0, 0.17);
  align-self: center;
  color: #fff;
}

section.home .pool-experts-slider .item .img-fill .overlay .slider-text {
  font-size: 1.4em;
  text-align: left;
}

section.home .pool-experts-slider .item .img-fill .overlay .slider-text h3 {
  font-size: 2.2em;
}

/* Slide One */
section.home .pool-experts-slider .item .img-fill.one {
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

section.home .pool-experts-slider .item .img-fill .overlay.one {
  grid-template-columns: 1fr 4fr 2fr;
}

section.home .pool-experts-slider .item .img-fill .overlay.one .slider-product img {
  width: 300px !important;
}

section.home .pool-experts-slider .item .img-fill .overlay.one .slider-text h3 {
  line-height: 1.2em;
  text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}

/* Slide Two */
section.home .pool-experts-slider .item .img-fill.two {
  background-position: 0% 20%;
  background-repeat: no-repeat;
}

section.home .pool-experts-slider .item .img-fill .overlay.two {
  grid-template-columns: 1fr 4fr 2fr;
}

section.home .pool-experts-slider .item .img-fill .overlay.two .slider-product img {
  width: 300px !important;
}

section.home .pool-experts-slider .item .img-fill .overlay.two .slider-text h3 {
  line-height: 1.2em;
  text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}

/* Slide Three */
section.home .pool-experts-slider .item .img-fill.three {
  background-position: 0 30%;
  background-repeat: no-repeat;
  background-size: cover;
}

section.home .pool-experts-slider .item .img-fill .overlay.three {
  grid-template-columns: 1fr 3fr 1fr;
}

section.home .pool-experts-slider .item .img-fill .overlay.three .slider-product img {
  width: 300px !important;
}

section.home .pool-experts-slider .item .img-fill .overlay.three .slider-text h3 {
  line-height: 1.2em;
  text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}

/* Slide Four */
section.home .pool-experts-slider .item .img-fill.four {
  background-position: 0 50%;
  background-repeat: no-repeat;
}

section.home .pool-experts-slider .item .img-fill .overlay.four {
  grid-template-columns: 1fr 3fr 1fr;
}

section.home .pool-experts-slider .item .img-fill .overlay.four .slider-product img {
  width: 300px !important;
}

section.home .pool-experts-slider .item .img-fill .overlay.four .slider-text h3 {
  line-height: 1.2em;
  text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}

/* About */
section.home .about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  padding: 0;
  margin: 0;
  background-color: #014b7c;
  color: #fff;
}

section.home .image {
  background: url("https://www.pool-experts.co.uk/wp-content/uploads/pool-experts-parts.jpg") center no-repeat;
  background-size: cover;
}

section.home .about .text {
  padding: 25% 10%;
}

section.home .about .text a {
  color: #26c1e0;
  text-decoration: none;
}

section.home .about .text h2 {
  color: #26c1e0;
  padding: 25px 0 5px 0;
}

section.home .about .text h1 {
  font-size: 2em;
  margin: 0;
}

section.home .about .text h1::after {
  content: '';
  display: block;
  width: 5%;
  border-bottom: 4px solid #fff;
  padding-top: 5px;
}

section.home .about .text ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  grid-gap: 25px;
  margin: 0;
  padding: 0;
}

section.home .about .text ul li {
  font-family: 'Oswald', sans-serif;
  list-style-type: none;
  text-align: center;
  font-size: 1.4em;
  text-transform: uppercase;
  padding: 10px 15px;
  margin: 15px 0;
}

section.home .about .text ul li:nth-child(1) {
  background-color: #fff;
  color: #000;
  grid-column: 1 / 2;
}

section.home .about .text ul li:nth-child(2) {
  background-color: #000;
  color: #fff;
  grid-column: 2 / 3;
}

section.home .about .text ul li:nth-child(1) a {
  text-decoration: none;
  color: #000;
}

section.home .about .text ul li:nth-child(2) a {
  text-decoration: none;
  color: #fff;
}

section.home .links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
  background-color: #eaeaea;
  padding: 0;
}

section.home .links h3 {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  font-size: 1.6em;
}

section.home .links h3::after {
  content: '';
  display: block;
  width: 10%;
  border-bottom: 4px solid #014b7c;
  padding-top: 5px;
}

section.home .links a {
  text-decoration: none;
  color: #014b7c;
}

section.home .links a.btn {
  display: inline-block;
  background: #014b7c;
  color: #fff;
  text-decoration: none;
  padding: 5px 10px;
  border-radius: 3px;
  font-size: 90%;
}

section.home .links a.btn:hover {
  background-color: #000;
  color: #fff;
  transition: 0.5s;
}

section.home .links .col_1 {
  padding: 25px;
}

section.home .links .col_2 {
  padding: 25px;
  background-color: #f1f1f1;
}

section.home .links .col_3 {
  padding: 25px;
}

section.home .links .col_4 {
  padding: 25px;
  background-color: #f1f1f1;
}

/* Page */
section.pages {
  display: grid;
  grid-template-columns: 1fr;
  padding: 25px 5% 50px 5%;
  margin: auto;
  max-width: 1400px;
}

section.pages h2 {
  color: #014b7c;
}

section.pages a {
  text-decoration: none;
  color: #014b7c;
}

section.pages ul {
  padding: 0;
  margin: 0 0 0 15px;
}

section.pages ul li {
  list-style-type: square;
}

/* Page */
section.parts {
  display: grid;
  grid-template-columns: 1fr;
  padding: 25px 5% 50px 5%;
  margin: auto;
  max-width: 1400px;
}

section.parts h2 {
  color: #014b7c;
}

section.parts a {
  text-decoration: none;
  color: #014b7c;
}

section.parts ul {
  padding: 0 0 25px 0;
  margin: 0;
}

section.parts ul li {
  list-style-type: square;
  display: inline-block;
}

section.parts ul li a {
  background-color: #26c1e0;
  color: #fff;
  padding: 5px 10px;
  margin: 5px 0 0 0;
  text-decoration: none;
  display: inline-block;
}

/* Parts Lookup */
section.parts-lookup {
  display: grid;
  grid-template-columns: 1fr;
  padding: 25px 5% 50px 5%;
}

section.parts-lookup a {
  text-decoration: none;
  color: #26c1e0;
  font-weight: bold;
}

section.parts-lookup-results {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 25px 5% 5% 5%;
  grid-column-gap: 5%;
}

section.parts-lookup-results table {
  font-family: arial;
  border-collapse: collapse;
  border: 1px solid #000;
  font-size: 85%;
}

section.parts-lookup-results table td, section.parts-lookup-results table tr {
  border: 1px solid #014b7c;
  padding: 2.5px;
}

section.parts-lookup-results table tr:hover {
  background-color: #eaeaea;
}

section.parts-lookup-results table th {
  border: 1px solid #000;
  padding: 2px 5px;
}

section.parts-lookup-results table td:nth-child(1), section.parts-lookup-results table td:nth-child(2) {
  text-align: center;
}

section.parts-lookup-results table tbody tr td a.add-to-cart {
  display: inline-block;
  background-color: #26c1e0;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 2px 5px;
  width: 100%;
}

section.parts-lookup-results table tbody tr:nth-child(even) {
  background-color: #efefef;
}

section.parts-lookup-results .image {
  display: grid;
  justify-content: center;
  align-content: center;
}

/* Upsells */
section.upsells, .cross-sells {
  grid-column: 1 / 3;
}

section.upsells ul, .cross-sells ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 5%;
}

section.upsells ul li, .cross-sells ul li {
  display: grid;
  grid-template-columns: 1fr !important;
  text-align: center;
}

.cross-sells h2 {
  font-family: 'Oswald', sans-serif;
  color: #014b7c;
  font-size: 1em;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  min-height: 65px;
}

.cross-sells span.price {
  font-family: 'Oswald', sans-serif;
  font-size: 1.2em;
  width: 100%;
  display: inline-block;
  text-align: center;
  padding: 10px 0;
  color: #26c1e0;
}

.cross-sells a.button {
  width: 100%;
  display: inline-block;
  text-align: center;
  padding: 5px 0;
  background-color: #014b7c;
  color: #fff;
  border: none;
  font-size: 90%;
  margin: 10px 0;
}

/* Shop */
section.woocommerce_header {
  height: 300px;
  background: url("https://www.pool-experts.co.uk/wp-content/uploads/pool-experts-pumps-slide.jpg") center no-repeat;
  background-size: cover;
}

section.woocommerce_breadcrumbs {
  background-color: #014b7c;
  font-size: 90%;
  padding: 15px 5%;
  color: #26c1e0;
  text-transform: uppercase;
}

section.woocommerce_breadcrumbs .breadcrumbs {
  max-width: 1400px;
}

section.woocommerce_breadcrumbs a {
  text-decoration: none;
  padding: 5px;
  color: #fff;
}

section.woocommerce_breadcrumbs a:hover {
  color: #26c1e0;
}

.archive section.woocommerce_shop {
  display: grid;
  grid-template-columns: 1fr;
  padding: 25px 5%;
  margin: auto;
  max-width: 1400px;
}

section.woocommerce_shop .featured_products h2 {
  font-size: 1.6em;
}

section.woocommerce_shop .featured_products h2 a {
  text-decoration: none;
  color: #26c1e0;
}

section.woocommerce_shop .featured_products h3 {
  font-size: 1.6em;
}

section.woocommerce_shop .featured_products ul.woocommerce_products .woocommerce ul li {
  display: inline-block;
}

section.woocommerce_shop .featured_products ul.woocommerce_products .woocommerce.columns-4 ul li img {
  display: none;
}

section.woocommerce_shop .featured_products ul.woocommerce_products .woocommerce.columns-4 ul li {
  font-size: 80%;
  background-color: #26c1e0;
  margin-bottom: 5px;
}

section.woocommerce_shop .featured_products ul.woocommerce_products .woocommerce.columns-4 ul li h2 {
  min-height: auto;
  padding: 5px 10px;
  font-weight: 500;
  color: #fff;
}

section.woocommerce_shop ul.products {
  margin: 25px 0;
  padding: 0;
}

section.woocommerce_shop ul.products li {
  margin-bottom: 10px;
}

section.woocommerce_shop ul.products.columns-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  grid-column-gap: 25px;
}

section.woocommerce_shop ul.products li {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #fff;
  text-align: center;
}

section.woocommerce_shop ul.products li a {
  text-decoration: none;
  color: #014b7c;
}

section.woocommerce_shop ul.products li img {
  padding: 15px;
}

section.woocommerce_shop ul.products li h2 {
  font-family: 'Oswald', sans-serif;
  color: #014b7c;
  font-size: 1em;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  min-height: 65px;
}

section.woocommerce_shop ul.products li a {
  text-decoration: none;
}

section.woocommerce_shop ul.products li span.price {
  font-family: 'Oswald', sans-serif;
  font-size: 1.2em;
  width: 100%;
  display: inline-block;
  text-align: center;
  padding: 10px 0;
  color: #26c1e0;
}

section.woocommerce_shop ul.products li a.add_to_cart_button {
  width: 100%;
  display: inline-block;
  text-align: center;
  padding: 5px 0;
  background-color: #014b7c;
  color: #fff;
  border: none;
  font-size: 90%;
  margin: 10px 0;
}

section.woocommerce_shop ul.products li a.product_type_simple {
  width: 100%;
  display: inline-block;
  text-align: center;
  padding: 5px 0;
  background-color: #014b7c;
  color: #fff;
  border: none;
  font-size: 90%;
  margin: 10px 0;
}

section.woocommerce_shop .product_filter {
  grid-column: 1 / 3;
  grid-row: 3 / 4;
  text-align: left;
}

section.woocommerce_shop .product_filter h5 {
  font-size: 1.2em;
  color: #014b7c;
  margin: 5px 0;
}

section.woocommerce_shop .product_filter ul {
  margin: 0;
  padding: 10px 0;
  color: #000;
  font-size: 90%;
}

section.woocommerce_shop .product_filter ul li {
  list-style-type: none;
  display: inline-block;
  padding: 10px;
  background: #26c1e0;
  margin: 5px;
  color: #fff;
}

section.woocommerce_shop .product_filter .woocommerce-widget-layered-nav-list__item--chosen.chosen {
  background-color: #014b7c !important;
  font-style: italic;
}

section.woocommerce_shop .product_filter ul li a {
  font-family: 'Oswald', sans-serif;
  text-decoration: none;
  color: #fff;
  text-transform: uppercase;
}

section .woocommerce-widget-layered-nav ul li .count {
  display: none;
}

section .widget_shopping_cart_content ul {
  margin: 0;
  padding: 0;
}

section .widget_shopping_cart_content ul li {
  display: grid;
  grid-template-columns: 15px 100px 1fr;
  list-style-type: none;
}

section .widget_shopping_cart_content ul li img {
  width: 100%;
  padding: 25px;
}

section .widget_shopping_cart_content span.quantity {
  grid-column: 1 / 3;
}

section.woocommerce h2.widget-title {
  color: #014b7c;
  text-transform: uppercase;
  font-size: 1.4em;
}

section.woocommerce ul.product-categories {
  padding: 0;
  margin: 0 15px 0 0;
}

section.woocommerce ul.product-categories li ul {
  margin-left: 0px;
}

section.woocommerce ul.product-categories li {
  background-color: #fff;
  list-style-type: none;
}

section.woocommerce ul.product-categories li a {
  text-decoration: none;
  color: #014b7c;
  text-transform: uppercase;
}

section.woocommerce .woocommerce_shop_sidebar {
  background-color: #fff;
  padding: 15px 0 0 0;
}

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

section.woocommerce .woocommerce-notices-wrapper a {
  font-weight: bold;
  text-decoration: none;
  color: #014b7c;
}

section.woocommerce .woocommerce-message {
  padding: 15px 25px;
  margin-bottom: 15px;
}

.woocommerce .cart-collaterals .cross-sells ul {
  margin: 0;
  padding: 0;
}

.woocommerce .cart-collaterals .cross-sells ul li {
  list-style-type: none;
}

/* Single Product Layout */
.single-product section.woocommerce_shop {
  padding: 50px 5%;
  background-color: #fff;
  max-width: 1400px;
  margin: auto;
}

.single-product section.woocommerce_shop .product {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.single-product section.woocommerce_shop .product .woocommerce-product-gallery {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  background-color: #fff;
}

.single-product section.woocommerce_shop .product .summary {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  margin: 0;
  padding: 0 25px;
}

.single-product section.woocommerce_shop .product .summary .quantity {
  display: inline-block;
  float: left;
}

.single-product section.woocommerce_shop .product .summary input {
  width: 50px;
  padding: 3px 10px;
}

.single-product section.woocommerce_shop .product .summary button[type=submit] {
  background-color: #014b7c !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer;
  border-radius: 0 !important;
  font-size: 95% !important;
}

.single-product section.woocommerce_shop .product .summary h1 {
  font-family: 'Oswald', sans-serif;
  color: #014b7c;
  margin: 0 0 10px 0;
}

.single-product section.woocommerce_shop .product .summary p.price {
  font-family: 'Oswald', sans-serif;
  color: #26c1e0;
  font-size: 1.4em;
}

.single-product section.woocommerce_shop .product .summary .product_details a {
  background-color: #26c1e0;
  color: #fff;
  padding: 5px 10px;
  margin: 5px 0 0 0;
  text-decoration: none;
  display: inline-block;
}

.single-product section.woocommerce_shop .product .woocommerce-tabs {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
}

.single-product section.woocommerce_shop .product .woocommerce-tabs h2 {
  font-size: 1.2em;
  color: #014b7c;
}

.single-product section.woocommerce_shop .product .woocommerce-tabs ul.tabs {
  padding: 25px 0 0 0;
  display: none;
}

.single-product section.woocommerce_shop .product .woocommerce-tabs ul.tabs li {
  display: inline-block;
}

.single-product section.woocommerce_shop .product .woocommerce-tabs ul.tabs li a {
  background-color: #014b7c;
  color: #fff;
  text-decoration: none;
  padding: 5px 10px;
}

.single-product section.woocommerce_shop .product .woocommerce-tabs .woocommerce-Tabs-panel {
  background-color: #fafafa;
  padding: 25px;
}

.single-product section.related.products {
  grid-column: 1 / 3;
  grid-row: 3 / 4;
}

.single-product section.related.products h2 {
  font-size: 1.2em;
}

.single-product section.related.products ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
  grid-column-gap: 25px;
  padding: 0;
}

.single-product section.related.products ul li.product {
  display: grid;
  grid-template-columns: 1fr;
}

.single-product .product .summary .product_meta {
  display: none;
}

.single-product .product .summary .product_details ul {
  padding: 0;
  margin: 0;
  font-size: 90%;
}

.single-product .product .summary .product_details h2 {
  font-size: 0.9em;
  padding-top: 25px;
  text-transform: uppercase;
}

.single-product .product .summary .product_details h3 {
  font-size: 0.9em;
  padding: 0;
  text-transform: uppercase;
}

.single-product .product .summary .product_details ul li {
  list-style-type: none;
  padding-bottom: 2px;
}

.single-product .product .summary .product_details ul li strong {
  color: #014b7c;
  display: inline-block;
  text-transform: uppercase;
}

.single-product .product .summary .product_details ul li a {
  text-decoration: none;
  text-transform: uppercase;
  color: #014b7c;
  font-weight: bold;
}

.single-product a.return {
  text-decoration: none;
  padding: 25px 0 0 0;
  color: #014b7c;
  font-weight: bold;
}

/* Archive Product Layout */
.tax-product_cat section.woocommerce {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 25px 5% 50px 5%;
}

.tax-product_cat section.woocommerce h1 {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}

.tax-product_cat section.woocommerce .term-description {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
}

.tax-product_cat section.woocommerce .woocommerce-ordering {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
  align-self: center;
}

.tax-product_cat section.woocommerce .woocommerce-result-count {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
  text-align: right;
}

.tax-product_cat section.woocommerce .woocommerce-notices-wrapper {
  grid-column: 2 / 3;
  grid-row: 4 / 5;
}

.tax-product_cat section.woocommerce .columns-3 {
  grid-column: 1 / 3;
  grid-row: 5 / 6;
}

.tax-product_cat section.woocommerce .columns-3 ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

/* WooCommerce CSS Grid :) */
.woocommerce-info, .woocommerce-noreviews, p.no-comments {
  background-color: #fff !important;
}

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
  background: none !important;
  margin-bottom: 25px;
}

.woocommerce .variations label {
  font-weight: bold;
}

.woocommerce .variations a {
  padding: 5px 25px;
  margin: 0 15px;
  color: #fff;
  background-color: #26c1e0;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 80%;
}

.woocommerce_shop .woocommerce-ordering {
  display: none;
}

.woocommerce .variations select {
  background-color: #fff;
}

.woocommerce .woocommerce-variation-price {
  font-family: 'Oswald', sans-serif;
  color: #26c1e0;
  font-size: 1.2em;
  padding: 10px 0;
}

.woocommerce span.onsale {
  display: none;
}

.woocommerce .woocommerce-pagination {
  padding: 0 5%;
}

.woocommerce .woocommerce-pagination ul.page-numbers {
  display: flex !important;
  justify-content: space-around !important;
  margin: 30px 0 0 0;
}

.woocommerce .woocommerce-pagination ul.page-numbers li {
  list-style-type: none;
}

.woocommerce .woocommerce-pagination ul.page-numbers li span {
  background-color: #26c1e0;
  padding: 10px 15px;
  color: #fff;
  border-radius: 5px;
}

.woocommerce .woocommerce-pagination ul.page-numbers li a {
  background-color: #ccc;
  padding: 10px 15px;
  color: #000;
  border-radius: 5px;
  text-decoration: none;
}

/* Checkout Process */
.woocommerce-cart-form table {
  margin: 0;
  width: 100%;
  border: 1px solid #ccc;
  border-collapse: collapse;
}

.woocommerce-cart-form table thead {
  background-color: #014b7c;
  color: #fff;
}

.woocommerce-cart-form table thead tr {
  display: grid;
  grid-template-columns: 50px 100px 1fr 80px 80px 80px;
  grid-template-rows: auto;
}

.woocommerce-cart-form table thead th {
  align-self: center;
}

.woocommerce-cart-form table thead tr th.product-name {
  text-align: left;
  padding: 5px 15px;
}

.woocommerce-cart-form table tbody tr {
  display: grid;
  grid-template-columns: 50px 100px 1fr 80px 80px 80px;
  grid-auto-rows: minmax(100px, auto);
}

.woocommerce-cart-form table tbody tr:last-child {
  border-bottom: none;
}

.woocommerce-cart-form table tbody tr {
  border-bottom: 1px solid #ccc;
}

.woocommerce-cart-form table tbody td {
  align-self: center;
}

.woocommerce-cart-form table tbody td.product-name {
  padding: 0 15px;
}

.woocommerce-cart-form table tbody td.product-remove, .product-price, .product-quantity, .product-subtotal {
  text-align: center;
}

.woocommerce-cart-form table tbody td.product-remove a {
  text-decoration: none;
  background-color: #26c1e0;
  color: #fff;
  width: 26px;
  height: 25px;
  border-radius: 50%;
  display: inline-block;
  font-size: 1.1em;
  margin: 5px;
}

.woocommerce-cart-form table tbody td.product-remove a:hover {
  background-color: red;
}

.woocommerce-cart-form table tbody td.product-quantity input {
  width: 50px;
}

/* Coupon */
.woocommerce-cart-form table tbody tr:last-child td {
  grid-column: 1 / 7;
}

.woocommerce-cart-form table tbody tr td .coupon {
  padding: 25px 10px;
  background-color: #fafafa;
  border-bottom: 1px solid #cccccc;
}

.woocommerce-cart-form table tbody tr td .coupon label {
  font-weight: bold;
}

.woocommerce-cart-form table tbody tr td .coupon button {
  border-color: #ccc !important;
}

.woocommerce-cart-form table tbody tr td button[name=update_cart] {
  margin: 25px;
}

/* Sub Totals */
.woocommerce .cart-collaterals table {
  margin: 25px 0 50px 0;
  width: 100%;
  border: 1px solid #ccc;
  border-collapse: collapse;
}

.woocommerce .cart-collaterals .cart_totals table tbody tr {
  text-align: left;
  border-bottom: 1px solid #ccc;
}

.woocommerce .cart-collaterals .cart_totals table tbody tr th {
  padding: 15px;
}

.woocommerce .cart-collaterals .cart_totals ul {
  margin: 0;
  padding: 0;
}

.woocommerce .cart-collaterals .cart_totals ul li {
  list-style-type: none;
}

.woocommerce .cart-collaterals .cart_totals table tbody tr.woocommerce-shipping-totals td {
  padding: 25px 0;
}

.woocommerce .wc-proceed-to-checkout a {
  color: #fff;
  border: none;
  background-color: #014b7c;
  font-weight: 600;
  text-transform: uppercase;
  padding: 10px;
}

/* Checkout */
.woocommerce h3 {
  color: #000;
}

.woocommerce .woocommerce-form-login, .woocommerce-form-register {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-column-gap: 25px;
  padding: 25px;
  border: 1px solid #ccc;
  min-height: 400px;
}

.woocommerce .woocommerce-form-login, .woocommerce-form-register {
  width: 100%;
}

.woocommerce .woocommerce-form-login, .woocommerce-form-register p label {
  display: inline-block;
  min-width: 120px;
}

.woocommerce .woocommerce-form-login p label {
  width: 230px;
  display: inline-block;
}

.woocommerce .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 25px;
}

.woocommerce .col2-set .col-1 {
  padding: 15px;
  margin: 25px 0;
  border: 1px solid #ccc;
}

.woocommerce .col2-set .col-2 {
  padding: 15px;
  margin: 25px 0;
  border: 1px solid #ccc;
}

.woocommerce .woocommerce-billing-fields__field-wrapper p {
  display: grid;
  grid-template-columns: 1fr;
}

.woocommerce .woocommerce-billing-fields__field-wrapper p span input {
  width: 100%;
  margin: 10px 0;
}

.woocommerce .woocommerce-shipping-fields .shipping_address {
  display: grid;
}

.woocommerce .woocommerce-shipping-fields__field-wrapper p {
  display: grid;
  grid-template-columns: 1fr;
}

.woocommerce .woocommerce-shipping-fields__field-wrapper p span input {
  width: 100%;
}

.woocommerce .woocommerce-checkout-review-order-table {
  padding: 10px;
  border: 1px solid #ccc;
}

.woocommerce .woocommerce-checkout-review-order-table tr th {
  width: 50%;
  color: #26c1e0;
}

.woocommerce .woocommerce-checkout-review-order table thead {
  text-align: left;
}

.woocommerce .woocommerce-checkout-review-order tbody .cart_item {
  border-bottom: 1px solid #ccc;
}

.woocommerce .woocommerce-checkout-review-order table tfoot {
  text-align: left;
}

.woocommerce .woocommerce-checkout-review-order table tfoot ul.woocommerce-shipping-methods {
  margin: 0;
  padding: 0;
}

.woocommerce .woocommerce-checkout-review-order table tfoot ul.woocommerce-shipping-methods li {
  list-style-type: none;
  margin: 5px 0;
}

.woocommerce .woocommerce-checkout-review-order table tfoot ul.woocommerce-shipping-methods li label {
  padding-left: 5px;
}

.woocommerce .woocommerce-checkout-review-order table tfoot .woocommerce-shipping-totals {
  border-top: 1px solid #ccc;
  margin: 10px 0;
}

.woocommerce .woocommerce-checkout-payment {
  padding: 10px;
  background-color: #fafafa;
  border-radius: 5px;
}

.woocommerce .woocommerce-checkout-payment ul {
  margin: 0;
  padding: 0;
}

.woocommerce .woocommerce-checkout-payment ul li {
  list-style-type: none;
}

.woocommerce .woocommerce-checkout-payment ul li label {
  font-weight: bold;
  color: #014b7c;
}

.woocommerce .woocommerce-checkout-payment ul li img {
  display: none;
}

.woocommerce .woocommerce-checkout-review-order .woocommerce-checkout-payment .wc_payment_methods label {
  padding: 10px 0 10px 5px;
  display: inline-block;
}

/* Payzone */
.woocommerce .woocommerce-checkout-review-order .woocommerce-checkout-payment .payment_box.payment_method_payzone {
  padding: 10px;
  border-radius: 5px;
  background: url("https://www.pool-experts.co.uk/wp-content/uploads/payzone.png") bottom right no-repeat;
  background-position: 98% 98%;
  min-height: 70px;
}

.woocommerce .woocommerce-checkout-review-order .woocommerce-checkout-payment .payment_box.payment_method_payzone select {
  border: 2px solid #ccc;
  padding: 5px;
  margin: 5px;
}

/* My Account */
.woocommerce .woocommerce-MyAccount-navigation {
  margin: 0;
}

.woocommerce .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0 0 25px 0;
}

.woocommerce .woocommerce-MyAccount-navigation ul li {
  list-style-type: none;
  display: inline-block;
  padding: 5px 10px;
  text-decoration: none;
  background-color: #014b7c;
  color: #fff;
  margin: 5px 0;
  text-transform: uppercase;
  font-weight: 600;
  text-align: center;
}

.woocommerce .woocommerce-MyAccount-navigation ul li a {
  text-decoration: none;
  color: #fff;
  font-size: 90%;
}

.woocommerce .woocommerce-EditAccountForm fieldset {
  padding: 25px;
  border-style: solid;
  border-color: #26c1e0;
}

.woocommerce .woocommerce-EditAccountForm fieldset legend {
  background-color: #014b7c;
  color: #fff;
  padding: 10px;
}

.woocommerce .woocommerce-MyAccount-content form p {
  display: grid;
  grid-template-columns: 1fr 4fr;
  align-self: center;
}

.woocommerce .woocommerce-MyAccount-content form p label {
  align-self: center;
}

.woocommerce .woocommerce-MyAccount-content form p span {
  grid-column: 1 / 3;
  padding: 10px 0;
  font-size: 90%;
}

.woocommerce a.woocommerce-Button {
  display: block;
  padding: 10px 0;
}

.woocommerce .woocommerce-terms-and-conditions-checkbox-text {
  font-weight: bold;
}

/* Order Details */
.woocommerce .woocommerce-order-details table {
  margin: 25px 0 50px 0;
  width: 100%;
  border: 1px solid #ccc;
  text-align: left;
  border-spacing: 0;
}

.woocommerce .woocommerce-order-details table thead {
  background-color: #014b7c;
  color: #fff;
}

.woocommerce .woocommerce-order-details table thead tr, .woocommerce .woocommerce-order-details table tbody tr, .woocommerce .woocommerce-order-details table tfoot tr {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.woocommerce .woocommerce-order-details table thead tr th {
  padding: 5px;
}

.woocommerce .woocommerce-order-details table tbody tr td {
  padding: 5px;
}

.woocommerce .woocommerce-order-details table tfoot tr th {
  padding: 5px;
}

.woocommerce .woocommerce-order-details table tfoot tr td {
  padding: 5px;
}

/* Orders */
.woocommerce .woocommerce-orders-table {
  padding: 10px;
  border: 1px solid #ccc;
}

.woocommerce .woocommerce-orders-table thead {
  text-align: left;
  color: #26c1e0;
}

.woocommerce .woocommerce-orders-table tbody {
  text-align: left;
}

/* Contact Us */
section.contact-us {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: minmax(500px, auto);
}

section.contact-us input {
  border: none;
  background-color: #fff;
  border-bottom: 1px solid #014b7c;
  width: 95%;
  padding: 5px;
  border-radius: 0;
}

section.contact-us textarea {
  background-color: #ffffff;
  border: 1px solid #26c1e0;
  width: 95%;
  padding: 5px;
  border-radius: 0;
  margin-top: 20px;
}

section.contact-us .wpcf7-submit {
  background-color: #014b7c;
  color: #fff;
  text-transform: uppercase;
}

section.contact-us .form {
  padding: 0 10% 5% 10%;
}

section.contact-us .text {
  background-color: #014b7c;
  color: #fff;
  padding: 0 10% 5% 10%;
}

section.contact-us .text h2::after {
  content: '';
  bottom: 0;
  left: 0;
  display: block;
  width: 30px;
  border-bottom: 4px solid #26c1e0;
}

section.contact-us .text h3 {
  color: #26c1e0;
}

section.contact-us_map {
  height: 450px;
}

section.contact-us_map .map-canvas {
  width: 100%;
  height: 450px;
}

/* Footer */
footer {
  display: grid;
  grid-template-rows: auto;
  background-color: #fff;
  border-top: 50px solid #ccc;
}

footer .sitemap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 2fr;
  grid-template-rows: auto;
  grid-column-gap: 15px;
  padding: 30px 5%;
  font-size: 95%;
  margin: auto;
}

footer .sitemap .col_4 {
  display: grid;
  justify-content: center;
  align-content: center;
}

footer .sitemap h5 {
  font-size: 1.1em;
  text-transform: uppercase;
  margin: 10px 0;
  padding: 0 15px;
  color: #014b7c;
}

footer .sitemap h5 a {
  color: #014b7c;
  text-decoration: none;
}

footer .sitemap ul {
  margin: 0;
  padding: 0 15px;
}

footer .sitemap ul li {
  list-style-type: none;
}

footer .sitemap ul li a {
  text-transform: uppercase;
  font-size: 90%;
  text-decoration: none;
  color: #111;
}

footer .sitemap ul li a:hover {
  color: #014b7c;
}

footer .sitemap .col_4 ul li {
  background-color: #f1f1f1;
  padding: 15px 10px;
  border-radius: 5px;
  margin: 30px 0;
  word-break: break-word;
}

footer .sitemap .col_4 p {
  padding: 0 10px;
}

footer .sitemap a.cta {
  display: inline-block;
  font-size: 28px;
  line-height: 1.4em;
  padding: 10px 10px;
  text-align: center;
  border-radius: 15px;
  width: 100%;
  font-weight: bold;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  color: #014b7c;
}

footer .sitemap a.cta span {
  color: #26c1e0;
  font-size: 30px;
}

footer .twiget-feed {
  background: none;
}

footer .twiget-feed ul {
  margin: 0;
  padding: 0;
}

footer .twiget-feed ul li {
  list-style-type: none;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: none !important;
}

footer .twiget-feed .twiget-meta a {
  color: #014b7c;
}

.twiget-widget ul li {
  border-bottom: #ccc 1px solid;
  padding-bottom: 15px;
}

footer .copyright {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  grid-column-gap: 25px;
  padding: 25px 5%;
  background-color: #014b7c;
  color: #fff;
}

footer .copyright a {
  text-decoration: none;
  color: #fff;
}

footer .copyright p:nth-child(1) {
  text-align: left;
}

footer .copyright p:nth-child(2) {
  text-align: right;
}

footer .rsswidget img {
  display: none;
}

/* Responsive Styles */
@media screen and (max-width: 1024px) {
  .hidden-tablet-desktop {
    display: none !important;
  }
  .visible-tablet-desktop {
    display: block !important;
  }
  header {
    display: grid;
    grid-template-columns: 150px 1fr;
  }
  header .logo img {
    padding: 25px 15px 20px 15px;
  }
  section.home .links h3 {
    font-size: 1.4em;
  }
  section.home .links p {
    min-height: 90px;
  }
  section.home .pool-experts-slider .item .img-fill .overlay .slider-text {
    font-size: 1.2em;
    text-align: center;
  }
  section.home .pool-experts-slider .item .img-fill {
    height: 500px;
  }
  /* Slide One */
  section.home .pool-experts-slider .item .img-fill.one {
    background-size: cover;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.one {
    display: grid;
    grid-template-columns: 1fr;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.one .slider-text {
    grid-column: 1 / 2;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.one .slider-product {
    display: none;
  }
  /* Slide Two */
  section.home .pool-experts-slider .item .img-fill.two {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.two {
    display: grid;
    grid-template-columns: 1fr;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.two .slider-text {
    grid-column: 1 / 2;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.two .slider-product {
    display: none;
  }
  /* Slide Three */
  section.home .pool-experts-slider .item .img-fill.three {
    background-position: 0 30%;
    background-size: cover;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.three {
    display: grid;
    grid-template-columns: 1fr;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.three .slider-text {
    grid-column: 1 / 2;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.three .slider-product {
    display: none;
  }
  /* Slide Four */
  section.home .pool-experts-slider .item .img-fill.four {
    background-position: 0 30%;
    background-size: cover;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.four {
    display: grid;
    grid-template-columns: 1fr;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.four .slider-text {
    grid-column: 1 / 2;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.four .slider-product {
    display: none;
  }
  /* Parts */
  section.parts-lookup-results {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* Big Tablet */
@media screen and (max-width: 980px) {
  header {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    background-color: #fff;
    padding: 0;
  }
  header .logo {
    border-radius: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    grid-column: 1 / 3;
  }
  header .logo img {
    width: 200px;
  }
  header .navigation {
    z-index: 50;
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }
  header .navigation nav {
    padding: 0 25px;
  }
  header .slicknav_menu {
    background-color: #014b7c;
    padding: 5px 0 10px 0 !important;
  }
  header .slicknav_menu .slicknav_nav a:hover {
    background: none !important;
    border-radius: 0 !important;
  }
  header .slicknav_menu .slicknav_nav ul {
    margin: 0 !important;
    background-color: #26c1e0 !important;
  }
  header .slicknav_menu .slicknav_nav a:hover {
    color: #26c1e0 !important;
  }
  header .slicknav_menu .slicknav_nav ul li {
    font-size: 90% !important;
  }
  header .slicknav_menu .slicknav_nav ul li a:hover {
    color: #014b7c !important;
  }
  header .slicknav_menu .slicknav_btn {
    background: none !important;
    margin: 5px 25px 5px 0;
  }
  header .slicknav_menu .slicknav_icon-bar {
    border-radius: 0 !important;
    box-shadow: none !important;
    background-color: #fff !important;
  }
  header .slicknav_menu .slicknav_nav {
    font-family: 'Oswald', sans-serif !important;
    text-transform: uppercase;
    font-size: 100% !important;
  }
  header .slicknav_menu .slicknav_nav .slicknav_row:hover {
    background: none !important;
  }
  section.home .product-categories {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  section.home .links h3 {
    font-size: 1.3em;
  }
  section.woocommerce .tax-product_cat section.woocommerce .columns-3 ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  section.upsells ul, .cross-sells ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 5%;
  }
}

/* Small Tablet */
@media screen and (max-width: 768px) {
  header .logo {
    grid-column: 1 / 2;
  }
  header .navigation.desktop {
    display: none;
  }
  header .navigation.mobile {
    display: block;
  }
  header .mobile.links {
    display: grid;
  }
  header .mobile.links ul {
    display: flex;
    justify-content: space-evenly;
    align-self: center;
    margin: 0 20px 0 0;
  }
  header .mobile.links ul li {
    list-style-type: none;
    display: inline-block;
  }
  header .mobile.links ul li a {
    color: #888;
    font-size: 1.3em;
  }
  header .mobile.links ul li a:hover {
    color: #014b7c;
  }
  section.home .links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  section.home .about .text ul {
    grid-gap: 0;
  }
  section.home .about .text ul li:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }
  section.home .about .text ul li:nth-child(2) {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }
  section.home .links .col_4 {
    display: none;
  }
  section.home .about .text {
    padding: 5% 25px;
  }
  section.home .image {
    height: 300px;
  }
  section.home .about {
    display: grid;
    grid-template-columns: 1fr;
  }
  section.woocommerce_shop ul.products.columns-3 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  section.woocommerce_shop ul.products li h2 {
    min-height: 85px;
  }
  .tax-product_cat section.woocommerce .columns-3 ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .single-product section.woocommerce_shop .product .woocommerce-product-gallery {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
    background-color: #fff;
    text-align: center;
  }
  .single-product section.woocommerce_shop .product .summary {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    margin: 0;
    padding: 0 25px;
  }
  section.woocommerce_shop ul.products.columns-3 ul li:nth-child(3) {
    display: none;
  }
  .woocommerce-cart-form table thead tr {
    display: grid;
    grid-template-columns: 80px 1fr 1fr;
    grid-template-rows: auto;
  }
  .woocommerce-cart-form table tbody tr {
    display: grid;
    grid-template-columns: 80px 1fr 1fr;
    grid-auto-rows: minmax(80px, auto);
  }
  .woocommerce-cart-form table thead tr th.product-remove {
    display: none;
  }
  .woocommerce-cart-form table thead tr th.product-thumbnail {
    display: none;
  }
  .woocommerce-cart-form table thead tr th.product-quantity {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    padding: 10px;
  }
  .woocommerce-cart-form table thead tr th.product-name {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
    padding: 10px;
  }
  .woocommerce-cart-form table thead tr th.product-subtotal {
    grid-row: 1 / 2;
    grid-column: 3 / 4;
    padding: 10px;
  }
  .woocommerce-cart-form table thead tr th.product-price {
    display: none;
  }
  .woocommerce-cart-form table tbody tr td.product-thumbnail {
    display: none;
  }
  .woocommerce-cart-form table tbody .woocommerce-cart-form__cart-item .product-price {
    grid-row: 2 / 3;
    grid-column: 2 / 3;
    text-align: left;
    padding: 0 15px;
  }
  .woocommerce-cart-form table tbody .woocommerce-cart-form__cart-item .product-name {
    grid-row: 1 / 2;
    grid-column: 2 / 4;
    font-size: 90%;
  }
  .woocommerce-cart-form table tbody .woocommerce-cart-form__cart-item .product-quantity {
    grid-row: 2 / 3;
    grid-column: 1 / 2;
  }
  .woocommerce-cart-form table tbody .woocommerce-cart-form__cart-item .product-quantity .quantity {
    float: none;
  }
  .woocommerce-cart-form table tbody .woocommerce-cart-form__cart-item .product-subtotal {
    grid-row: 2  / 3;
    grid-column: 3 / 6;
  }
  .woocommerce-cart-form .woocommerce-cart-form__contents tbody tr td .coupon {
    display: grid;
  }
  .woocommerce-cart-form .woocommerce-cart-form__contents tbody tr td .coupon input {
    margin: 15px 0;
    width: 100%;
  }
  .woocommerce .woocommerce-checkout-review-order .woocommerce-checkout-payment .payment_box.payment_method_payzone {
    background: none;
  }
  .woocommerce .col2-set {
    display: grid;
    grid-template-columns: 1fr;
  }
  section.contact-us {
    display: grid;
    grid-template-columns: 1fr;
  }
  section.contact-us .text {
    padding: 5%;
  }
  footer .sitemap {
    grid-template-columns: auto;
    margin: unset;
  }
  footer .sitemap .col_4 {
    grid-row: 2 / 3;
    grid-column: 1 / 4;
  }
  footer .copyright {
    grid-template-columns: 1fr;
  }
  footer .copyright p:nth-child(1) {
    text-align: center;
  }
  footer .copyright p:nth-child(2) {
    text-align: center;
  }
}

/* Mobile */
@media screen and (max-width: 420px) {
  .woocommerce .woocommerce-Tabs-panel ul li {
    font-size: 80%;
  }
  section.home .product-categories {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  section.home .links {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  section.home .links .col_4 {
    display: block;
  }
  section.home .links h3 {
    font-size: 1.1em;
  }
  .slider-text h1 {
    font-size: 36px;
  }
  .tax-product_cat section.woocommerce .woocommerce-result-count {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
    text-align: left;
    font-size: 90%;
  }
  section.home .pool-experts-slider .item .img-fill .overlay .slider-text {
    text-align: center;
  }
  section.home .pool-experts-slider .item .img-fill .overlay.one .slider-text h1, section.home .pool-experts-slider .item .img-fill .overlay.three .slider-text h1, section.home .pool-experts-slider .item .img-fill .overlay.four .slider-text h1 {
    padding: 0 50px;
  }
  section.woocommerce_header {
    height: 150px;
  }
  section.woocommerce_shop ul.products li h2 {
    min-height: 100px;
  }
  footer .sitemap {
    display: none;
  }
  footer .sitemap .col_4 {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
  }
}
