/*
Theme Name: Nicholas Pools
Description: A custom theme for Nicholas Pools
Author: CoreWeb
Author URI: https://coreweb.co
Template: genesis
Version: 1.0.0
*/

/* Table of Contents
- HTML5 Reset
	- Baseline Normalize
	- Box Sizing
	- Float Clearing
- Defaults
	- CSS Variables
	- Typographical Elements
	- Typography
	- Links & Buttons, Button Blocks
	- Lists
	- Objects
	- Tables
	- Screen Reader Text
	- Skip Links
- Forms
- Common Classes
	- Flexbox
	- Styling classes
	- Avatar
	- Genesis
	- Search Form
	- WordPress
- Site Container
	- Site Container
	- Site Inner
- Site Header
	- Title Area
- Navigation
	- Responsive Menu
	- Header Menu
	- Footer Menu
- Site Footer
	- Footer Widgets
- Content Area
	- Page headers
	- Entry Content
	- Entry Meta
	- Pagination
	- Entry Comments
	- Custom page templates
- Sidebar
	- Widgets
- Blocks
	- Block classes
	- Native blocks
	- Custom blocks
- Media Queries
- Print Styles
*/


/* HTML5 RESET
---------------------------------------------------------------------------------------------------- */

/* Baseline Normalize
--------------------------------------------- */
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}

/* Box Sizing
--------------------------------------------- */

html {
	box-sizing: border-box;
	scroll-padding-top: 6rem;
	scroll-behavior: smooth;
}

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

/* Float Clearing
--------------------------------------------- */

.author-box::before,
.clearfix::before,
.entry::before,
.entry-content::before,
.footer-widgets::before,
.nav-primary::before,
.nav-secondary::before,
.pagination::before,
.site-container::before,
.site-footer::before,
.site-header::before,
.site-inner::before,
.widget::before,
.wrap::before {
	content: " ";
	display: table;
}

.author-box::after,
.clearfix::after,
.entry::after,
.entry-content::after,
.footer-widgets::after,
.nav-primary::after,
.nav-secondary::after,
.pagination::after,
.site-container::after,
.site-footer::after,
.site-header::after,
.site-inner::after,
.widget::after,
.wrap::after {
	clear: both;
	content: " ";
	display: table;
}


/* DEFAULTS
---------------------------------------------------------------------------------------------------- */

/* Font imports */
@font-face {
	font-family: "Voire";
	font-weight: 300;	
	src: url("fonts/Voire/Voire-Light.woff") format("woff");
}

@font-face {
	font-family: "Metrisch";
	font-weight: 400;	
	src: url("fonts/Metrisch/Metrisch-Regular.woff") format("woff");
}

@font-face {
	font-family: "Metrisch";
	font-weight: 600;	
	src: url("fonts/Metrisch/Metrisch-Bold.woff") format("woff");
}

/* CSS Variables
--------------------------------------------- */
body {
	--font-secondary: "Voire", serif;
	--font-main: "Metrisch", Helvetica, sans-serif;
}


/* Typographical Elements
--------------------------------------------- */

html {
	font-size: 62.5%; /* 10px browser default */
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

body {
	background-color: #fff;
	color: var(--wp--preset--color--black);
	font-family: var(--font-main);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.625;
	margin: 0;
}

button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img {
	transition: all 0.2s ease-in-out;
}

p {
	margin: 0;
	padding: 0;
}

p + p {
	margin-top: 30px;
}

hr {
	border: 0;
	border-collapse: collapse;
	border-top: 1px solid #eee;
	clear: both;
	margin: 30px 0;
}

hr.wp-block-separator {
	margin-top: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid;
    width: 100px;
}

hr.wp-block-separator.is-style-wide {
	width: 100%;
	border-bottom: 1px solid;
}

b,
strong {
	font-weight: 700;
}

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

mark {
	background: #ddd;
	color: var(--wp--preset--color--black);
}

blockquote {
	margin: 30px;
}

blockquote::before {
	content: "\201C";
	display: block;
	font-size: 30px;
	font-size: 3rem;
	height: 0;
	left: -20px;
	position: relative;
	top: -10px;
}

::selection {
  color: #fff;
  background: var(--wp--preset--color--black);	
}

::-moz-selection { /* Code for Firefox */
  color: #fff;
  background: var(--wp--preset--color--black);
}


/* Typography
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 300;
	font-size: inherit;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 0;
}

.is-style-main {
	font-family: var(--font-main);
}

.is-style-secondary {
	font-family: var(--font-secondary);
}

h1, h2, h3, h4, p {
	margin-bottom: 20px;
}

h1 {
    font-size: var(--wp--preset--font-size--title);
    font-family: var(--font-secondary);
}

h2 {
    font-size: var(--wp--preset--font-size--x-large);
    font-family: var(--font-secondary);
	color: var(--wp--preset--color--dark-blue);
}

h3 {
    font-size: var(--wp--preset--font-size--large);
    font-family: var(--font-main);
	line-height: 1.5;
	letter-spacing: 1px;
}

h4 {
    font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--dark-blue);
	text-transform: uppercase;
}



/* Links & Buttons
--------------------------------------------- */

a {
	color: var(--wp--preset--color--black);
	text-decoration: none;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

a:focus,
a:hover,
.entry-title a:focus,
.entry-title a:hover {
	color: var(--wp--preset--color--black);
	text-decoration: none;
}

a.unstyled-link {
	color: inherit;
	text-decoration: underline;
}

a.unstyled-link:hover,
a.unstyled-link:focus {
	text-decoration: none;
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.25" /><feFuncG type="linear" slope="1.25" /><feFuncB type="linear" slope="1.25" /></feComponentTransfer></filter></svg>#filter');
	-webkit-filter: brightness(1.25);
	filter: brightness(1.25);
}

button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="reset"],
input[type="submit"],
input[type="submit"].gform_button,
.wp-block-button .wp-block-button__link {
	border-radius: 100px;	
	cursor: pointer;
	display: inline-block;
	font-size: 1.8rem;
	font-weight: 400;
	padding: 10px 20px;
	text-decoration: none;
	white-space: normal;
	width: auto;
	-webkit-transition: .25s all ease-in-out;
	transition: .25s all ease-in-out;
	text-transform: uppercase;
}

button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="reset"],
input[type="submit"],
input[type="submit"].gform_button,
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background-color: var(--wp--preset--color--dark-blue);
	border: 1px solid var(--wp--preset--color--dark-blue);
	color: var(--wp--preset--color--white);
}

.blue-outline-button .wp-block-button__link {
	background-color: transparent !important;
	border: 1px solid var(--wp--preset--color--dark-blue) !important;
	color: var(--wp--preset--color--dark-blue) !important;	
}

.wp-block-button.white-button {
		border-radius: 100px !important;
}

.wp-block-button .wp-block-button__link  {
	display: block;
    width:-moz-fit-content; 
	width: fit-content;
}

button:focus,
button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
.button:focus,
.button:hover,
input[type="submit"].gform_button:hover,
input[type="submit"].gform_button:focus,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus {
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.25" /><feFuncG type="linear" slope="1.25" /><feFuncB type="linear" slope="1.25" /></feComponentTransfer></filter></svg>#filter');
	-webkit-filter: brightness(1.25);
	filter: brightness(1.25);	
}
 
.outline, 
.button.outline,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--wp--preset--color--dark-blue);
	color: var(--wp--preset--color--dark-blue) !important;
}

/* Repeat this for as many colors as they will set for outline buttons */
.outline:hover,
.outline:focus, 
.button.outline:hover,
.button.outline:focus,
.wp-block-button.is-style-outline .wp-block-button__link.has-REPLACE-color:hover,
.wp-block-button.is-style-outline .wp-block-button__link.has-REPLACE-color:focus {
	background: var(--wp--preset--color--REPLACE);
	border-color: var(--wp--preset--color--REPLACE);
	color: #fff !important;
}

/* Safari ~13 doesn't support gap for flexbox, but WP 6.0 has it. Removing and replacing. */
.wp-block-buttons,
.wp-block-social-links,
.wp-block-columns {
	gap: 0 !important;
}

.wp-block-button + .wp-block-button {
	margin-left: .5em;
}

.wp-block-columns .wp-block-column:not(:first-of-type) {
    margin-top: 1em;
}

.wp-block-social-links .wp-social-link {
	margin-right: .5em;
}


/* Left-aligned buttons don't stay aligned on mobile */
.wp-block-buttons.is-content-justification-left {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	-ms-grid-row-align: flex-start;
	align-items: flex-start;
}

/* Scroll to top button */
#scroll-top {
  display: none !important;
  position: fixed; 
  bottom: 20px;
  right: 30px;
  z-index: 99;
  outline: none; 
  cursor: pointer;
  padding: 7px 13px 0;
}

.arrow.up {
  border: solid #fff;
  border-width: 0 1px 1px 0;
  display: inline-block;
  padding: 5px;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}


/* Lists 
--------------------------------------------- */
ol,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

.entry-content ol,
.entry-content ul {
	margin-bottom: 30px;
	margin-left: 40px;
}

.entry-content ol > li {
	list-style-type: decimal;
}

.entry-content ul > li {
	list-style-type: disc;
}

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


/* Objects
--------------------------------------------- */

embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}

img {
	height: auto;
	vertical-align: top;
}

figure {
	margin: 0;
}

.entry-content .caption {
	font-size: 14px;
	font-weight: 600;
	margin-top: -20px;
	text-align: center;
}

/* Tables
--------------------------------------------- */

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	word-break: break-all;
}

tbody {
	border-bottom: 1px solid #eee;
}

td,
th {
	line-height: 2;
	text-align: left;
	vertical-align: top;
}

td {
	padding: 0.5em;
}

tr {
	border-top: 1px solid #eee;
}

th {
	font-weight: 600;
	padding: 0.5em;
}

/* Screen Reader Text
--------------------------------------------- */
.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.widget_search input[type="submit"]:focus {
	background: #fff;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: var(--wp--preset--color--black);
	display: block;
	font-size: 1em;
	font-weight: 700;
	height: auto;
	padding: 15px 23px 14px;
	text-decoration: none;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

.more-link {
	display: inline-block;
	position: relative;
	margin-bottom: 30px;
}

/* Skip Links
------------------------------------------------ */

.genesis-skip-link {
	margin: 0;
}

.genesis-skip-link .skip-link-hidden {
	display: none;
	visibility: hidden;
}

.genesis-skip-link li {
	height: 0;
	list-style: none;
	width: 0;
}

/* FORMS
---------------------------------------------------------------------------------------------------- */

input,
select,
textarea {
	background-color: #fff;
	border: 1px solid #ddd;
	color: var(--wp--preset--color--black);
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 400;
	padding: 15px;
	width: 100%;
}

input:focus,
textarea:focus {
	border: 1px solid #999;
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

::-moz-placeholder {
	color: var(--wp--preset--color--black);
	opacity: 1;
}

::-webkit-input-placeholder {
	color: var(--wp--preset--color--black);
}


.site-container button:disabled,
.site-container button:disabled:hover,
.site-container input:disabled,
.site-container input:disabled:hover,
.site-container input[type="button"]:disabled,
.site-container input[type="button"]:disabled:hover,
.site-container input[type="reset"]:disabled,
.site-container input[type="reset"]:disabled:hover,
.site-container input[type="submit"]:disabled,
.site-container input[type="submit"]:disabled:hover {
	background-color: #eee;
	border-width: 0;
	color: #777;
	cursor: not-allowed;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}

/* GRAVITY FORMS */

/* Adjust whitespace between fields, and labels to fields */ 
body .gform_wrapper.gravity-theme .gfield_label {
    margin-bottom: 0;
}

.gform_wrapper.gravity-theme .gfield {
    margin-top: 14px;
}

.gform_confirmation_wrapper {
    border: 2px solid;
    padding: 20px;
    margin-top: 25px;
    font-weight: bold;
}


/* COMMON CLASSES
---------------------------------------------------------------------------------------------------- */


/* Flexbox & Grid
--------------------------------------------- */
.flexbox,
.site-header .wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;	
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;	
}

.justify-content-center {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;		
}

.justify-content-space-between,
.wp-block-columns.is-style-col-spread {
	 -webkit-box-pack: justify;
 	 -webkit-justify-content: space-between;
	 -ms-flex-pack: justify;
         justify-content: space-between;		
}

.align-items-stretch {
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	-ms-grid-row-align: stretch;
	align-items: stretch;		
}

.align-items-center,
.site-header .wrap {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;		
}


.align-items-start,
.align-items-start.is-layout-flex,
.is-layout-flex.wp-block-buttons:not(.is-content-justification-center) {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;	
}

.flex-direction-column {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

.flex-1 {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;		
}



.flex-gap,
.gap {
	grid-gap: 1em;
	gap: 1em;
}

.flex-gap-lg,
.gap-lg {
	grid-gap: 2em;
	gap: 2em;
}

.col-3 .flex-item {
	-webkit-box-flex: 3;
	-ms-flex: 3 1 350px;
	  flex: 3 1 350px;
}

.grid {
	display: -ms-grid;
	display: grid;	
}

.grid.col-3,
.grid.col-4  {
	/*
	-ms-grid-columns: (minmax(355px, 1fr))[auto-fit];
	grid-template-columns: repeat(auto-fit, minmax(355px, 1fr));	
	*/
	grid-template-columns: 1fr;
}


/* Styling classes
--------------------------------------------- */

.overflow {
	overflow: auto;
}

.position-relative {
	position: relative;
}

.no-margin {
	margin: 0 !important;
}

.wp-block-group.no-margin > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.margin-auto {
	margin-left: auto !important;
	margin-right: auto !important;
}

.margin-top-auto {
	margin-top: auto; /*for flexbox*/
}

.margin-left-auto {
	margin-left: auto; /* for flexbox */
}

.margin-bottom-none {
	margin-bottom: 0 !important;
}

.margin-top-none {
	margin-top: 0;
}

.padding-sm {
    padding: 15px !important;
}

.padding-md {
	padding: 20px;
}

.padding-default {
    padding: var(--wp--preset--spacing--default);
}

.padding-lg {
    padding: calc( var(--wp--preset--spacing--default) * 2) !important;
}

.padding-md {
    padding: calc( var(--wp--preset--spacing--default) * 1.5) !important;
}

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

.line-height-sm {
    line-height: 1.2 !important;
}

/* Used when default ScrollReveal should not run */
.disable-scrollreveal,
.footer-widgets .wp-block-column,
.footer-widgets .wp-block-image  {
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}

/* Avatar
--------------------------------------------- */

.avatar {
	border-radius: 50%;
	float: left;
}

.author-box .avatar,
.alignleft .avatar {
	margin-right: 20px;
}

.alignright .avatar {
	margin-left: 20px;
}

.comment .avatar {
	margin: 0 15px 20px 0;
}

/* Genesis
--------------------------------------------- */


.after-entry,
.archive-description,
.author-box {
	margin-bottom: 40px;
}

.after-entry {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
	padding: 20px 30px;
}

.after-entry .widget:last-of-type {
	margin-bottom: 0;
}

.breadcrumb {
	border-bottom: 1px solid #eee;
	font-size: 16px;
	margin-bottom: 40px;
	padding-bottom: 10px;
}

.genesis-title-hidden .breadcrumb {
	margin-top: 40px;
}

.archive-description p:last-child,
.author-box p:last-child {
	margin-bottom: 0;
}

/* Search Form
--------------------------------------------- */

.search-form {
	overflow: hidden;
}

.entry-content .search-form {
	margin-bottom: 40px;
	width: 50%;
}

.post-password-form input[type="submit"],
.search-form input[type="submit"] {
	margin-top: 10px;
}

.widget_search input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* WordPress
--------------------------------------------- */

a.aligncenter img {
	display: block;
	margin: 0 auto;
}

a.alignnone {
	display: inline-block;
}

.alignleft {
	float: left;
	text-align: left;
}

.alignright {
	float: right;
	text-align: right;
}

a.alignleft,
a.alignnone,
a.alignright {
	max-width: 100%;
}

img.centered,
.aligncenter,
.singular-image {
	display: block;
	margin: 0 auto 30px;
}

img.alignnone,
.alignnone {
	margin-bottom: 15px;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 20px 20px 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 20px 20px;
}

figcaption,
.gallery-caption,
.wp-caption-text {
	font-size: 14px;
	font-weight: 600;
	margin-top: 0.5em;
	margin-bottom: 1em;
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
}

.entry-content p.wp-caption-text {
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
	margin: 0 0 30px;
}

/* 404
--------------------------------------------- */
.error404 main#genesis-content {
    min-height: 80vh;
    padding-top: 3em;
}


/* SITE CONTAINER
---------------------------------------------------------------------------------------------------- */

/* Site Container
--------------------------------------------- */

.site-container {
	width: 100%; 
	max-width: 2560px;
	overflow: hidden;
	margin: auto;
	-webkit-animation: fadein 1s;
	animation: fadein 1s;
	word-wrap: break-word;
}

@keyframes fadein {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@-webkit-keyframes fadein {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.admin-bar .site-container {
	margin-top: 46px;
}

/* Site Inner
--------------------------------------------- */

.site-inner {
	clear: both;
	margin: 0 auto;
}


/* SITE HEADER
---------------------------------------------------------------------------------------------------- */

.site-header {
	background-color: var(--wp--preset--color--gray);
	padding: 8px 0;
}

/* Title Area
--------------------------------------------- */
.site-title {
	line-height: 1;
	margin-bottom: 0;
	padding: 8px 0;
}

.site-title a,
.site-title a:focus,
.site-title a:hover {
	position: relative;
    z-index: 999;
	display: block;
	width: 200px;
    height: 54px;
	background: url(images/logo/logo.svg) no-repeat;
    background-size: contain;
	color: transparent;
	text-decoration: none;	
}


/* NAVIGATION
---------------------------------------------------------------------------------------------------- */

.genesis-nav-menu {
	line-height: 1;
}

.genesis-nav-menu .menu-item {
	display: block;
	float: none;
	position: relative;
}

.genesis-nav-menu a,
.menu a {
	color: var(--wp--preset--color--dark-blue);
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 400;
	outline-offset: -1px;
	padding-bottom: 12px;
	padding-top: 12px;
	text-decoration: none;
}


.menu a:focus,
.menu a:hover,
.genesis-nav-menu a:focus,
.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:focus,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	color: var(--wp--preset--color--green);
	text-decoration: none;
}

.menu-item-1539 {
	background-color: transparent;
	border-radius: 100px;
	border: 1px solid var(--wp--preset--color--dark-blue);
}

.menu-item-1539 a {
	color: var(--wp--preset--color--dark-blue) !important;
}

.genesis-nav-menu .sub-menu,
.genesis-nav-menu .sub-menu a {
	width: 100%;
}

.genesis-nav-menu .sub-menu {
	clear: both;
	left: -9999px;
	margin: 0;
	opacity: 1;
	padding-left: 15px;
	position: static;
	z-index: 99;
}

.genesis-nav-menu .sub-menu a {
	background-color: var(--wp--preset--color--white);
	font-size: 14px;
	font-size: 1.4rem;
	position: relative;
	word-wrap: break-word;
	color: #1c2953 !important;
	width: 190px;
}

.genesis-nav-menu .menu-item:focus,
.genesis-nav-menu .menu-item:hover {
	position: relative;
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
	left: auto;
	opacity: 1;
}

#menu-footer a {
    padding: 0 0 5px 0;
}

button.button-toggle-sub-menu:before {
    content: '+';
}

.genesis-nav-menu .menu-item-has-children:hover button.button-toggle-sub-menu:before,
button.button-toggle-sub-menu[aria-expanded="true"]:before {
    content: '−';
}

button.button-toggle-sub-menu {
    background: transparent;
	border: 0;
    padding: 5px;
    margin-left: -12px;
	width: 13px;
}

/* Responsive Menu
--------------------------------------------- */
.mobile-menu-wrap {
	display: none;
	position: absolute;
    z-index: 100;
    opacity: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    left: 0;
    top: 0;
    padding: 5%;
}

.mobile-nav-active .mobile-menu-wrap {
	background-color: var(--wp--preset--color--gray);
	display: block;
	opacity: 1;
	overflow: scroll;
	position: fixed;
	-webkit-transform: translateX(0); 
	    -ms-transform: translateX(0);
	        transform: translateX(0);
	-webkit-transition: opacity 100ms ease-in-out;
	transition: opacity 100ms ease-in-out;
}

nav.mobile-menu-wrap .mobile-menu { /* move menu down so you can click the menu toggle without accidentally tapping a menu link*/
    margin-top: 6em;
}

.mobile-menu-wrap .mobile-menu .menu-item {
	opacity: 0;
	transform: translate(-10px);
	transition: transform 1s, opacity 2s;
	margin-bottom: 1em;
}

.mobile-nav-active .mobile-menu .menu-item {
	transform: translate(15px);
	opacity: 1;
}

.mobile-menu-wrap .genesis-nav-menu .sub-menu {
	display: none;
}


/*--- Menu toggle ---*/

.menu-toggle {
	position: relative;
	display: block;
	width: 30px;
	height: 20px;
	z-index: 200;
    margin: 0 0 0 auto;
    padding: 0;	
	background: transparent;
	border: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	cursor: pointer;	
}

.menu-toggle:focus,
.menu-toggle:hover {
	background: transparent;
}

.menu-toggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: var(--wp--preset--color--black);
	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;	
}

.menu-toggle span:nth-child(1) {
  top: 0px;
}

.menu-toggle span:nth-child(2), .menu-toggle span:nth-child(3) {
  top: 10px;
}

.menu-toggle span:nth-child(4) {
  top: 20px;
}

.mobile-nav-active .menu-toggle span:nth-child(1) {
  top: 10px;
  width: 0%;
  left: 50%;
}

.mobile-nav-active .menu-toggle span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mobile-nav-active .menu-toggle span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.mobile-nav-active .menu-toggle span:nth-child(4) {
  top: 10px;
  width: 0%;
  left: 50%;
}


/* .mobile-menu .menu-item-has-children > a:after {
    content: '+';
    margin-left: 15px;
}
 */
.mobile-menu .menu-item-has-children.submenu-expanded > a:after {
    content: "-";
	margin-left: 15px;
	position: absolute;
	z-index: -999;
	color: #acb825;
}

.mobile-menu #menu-item-2020 .plus {
    margin-left: 10px;
}

#menu-item-2020.submenu-expanded .plus {
    display: none;
}

/* Header Menu
--------------------------------------------- */

.nav-primary {
	clear: left;
	width: 100%;
	display: none;
}

/* Footer Menu
--------------------------------------------- */

.nav-secondary {
	margin-top: 10px;
}

.nav-secondary .genesis-nav-menu {
	line-height: 1.5;
}

.nav-secondary .menu-item {
	display: inline-block;
}

.nav-secondary a {
	margin-left: 10px;
	margin-right: 10px;
	padding: 0;
}



/* SITE FOOTER
---------------------------------------------------------------------------------------------------- */

.site-footer {
	background-color: #fff;
	border-top: 1px solid #eee;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.5;
	padding: 30px;
	text-align: center;
}

.site-footer p {
	margin-bottom: 0;
}

/* Footer widgets */

.footer-widgets {
	clear: both;
	font-size: 18px;
	font-size: 1.8rem;
	padding: 0;
}

.footer-widgets .wrap {
	margin-left: auto;
	margin-right: auto;
}

.footer-widget-area {
	margin-bottom: 40px;
}

.footer-widget-area:last-child ,
.footer-widgets .widget:last-child {
	margin-bottom: 0;
}


/* CONTENT AREA
---------------------------------------------------------------------------------------------------- */
.border-paragraph {
	border-top: 1px solid var(--wp--preset--color--green);
	border-bottom: 1px solid var(--wp--preset--color--green);
	width: 45%;
	padding: 10px 0px;
	margin-bottom: 40px;
}

.hero-border-paragraph {
	border-top: 1px solid var(--wp--preset--color--green);
	border-bottom: 1px solid var(--wp--preset--color--green);
	width: 35%;
	padding: 10px 0px;
	margin-bottom: 40px;
}

.heading-rotate-left {
	transform: rotate(-90deg);
	font-size: 9.6rem;
	opacity: .5;
}

.heading-rotate-left-new {
	transform: rotate(-90deg);
	font-size: 9.6rem;
	opacity: .7;
}

.heading-rotate-right {
	transform: rotate(90deg);
	font-size: 9.6rem;
	opacity: .7;
}

.hero-background .wp-block-image {
	max-width: 110%;
}

.wp-image-16835 {
	width: 130% !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.hero-background {
	background: url('/wp-content/uploads/2023/07/wave-bg-light.jpg');
	padding-bottom: 5% !important;
	background-size: cover;
}

.hero-background img, .footer-background img {
	width: 95vw !important;
}

.footer-background {
	background: url('/wp-content/uploads/2023/07/wave-bg-gradient.png');
	margin-top: -70px !important;
	background-size: cover;
}

.overlapping-cover-image {
	margin-left: -100px !important;
}

.overlapping-cover-image .wp-block-cover__inner-container {
	padding: 0px 10%;
}

.hover-column:hover {
	background-color: var(--wp--preset--color--gray);
	cursor: pointer;
}

.image-container {
	margin-left: 20% !important;
	top: 0% !important;
}

.image-container-2 {
	top: 0% !important;
}

.slider-group {
	margin-bottom: 60% !important;
}

.button-container {
	display: inline-block;
}

.wp-block-button {
	display: inline-block;
	margin-right: 10px;
}

#container .box {
	width: 100vh;
	height: 40vh;
	display: inline-block;
	position: relative;
}

.box.one {
	white-space: wrap;
}

.box.two {
	white-space: wrap;
}

#container .box > div {
	color:black;
	position:absolute;
	top: 50%;
	left: -20%;
}

#container {
	overflow-y: scroll;
	overflow-x: hidden;
	transform: rotate(270deg) translateX(-100%);
	transform-origin: top left;
	position: absolute;
	width: 95vh;
	height: 100vw;
	scrollbar-width: none; /* Hide scrollbar for Firefox */
	-ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
}

#container::-webkit-scrollbar {
	display: none; /* Hide scrollbar for Chrome, Safari, and Opera */
}

#container2 {
	transform: rotate(90deg) translateY(-100vh);
	transform-origin: top left;
	white-space:nowrap;
}

.two {
	margin-right: 20% !important;
	margin-left: 28% !important;
	width: 90% !important;
}

#container .box-1 > div {
	top: 95%;
}

.wcp-light-box figure {
	text-align: center !important;
}


/* Pool Installation*/

.overlapping-cover-image-left {
	margin-right: -100px !important;
}

.overlapping-cover-image-left .wp-block-cover__inner-container {
	padding: 0px 10%;
}

.z-index .wp-block-media-text__content {
	z-index: 1;
}

.accordion-faqs {
	width: 70%;
}

.accordion-faqs h3 {
	text-transform: uppercase;
	font-size: 2.1rem;
}

/* Blog Posts*/

.wp-block-latest-posts.wp-block-latest-posts__list li {
    clear: both;
    list-style-type: none;
}

.wp-block-latest-posts.is-grid li {
    margin: 0 1.25em 3em 0;
    padding: 2em;
}

.page-id-1083 .entry-content ul > li {
	list-style-type: none;
}

.entry-content .blog-posts ul > li {
	list-style-type: none;
}

.wp-block-post-title a {
	font-family: var(--font-main);
	margin-top: 20px;
	text-transform: uppercase;
}

.wp-block-post-excerpt__more-link {
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--dark-blue);
	padding: 10px 20px;
	border-radius: 100px;
	margin-top: 2%;
	text-transform: uppercase;
	color: var(--wp--preset--color--dark-blue) !important;
}

.wp-block-post {
	margin-top: 3% !important;
}

.wp-block-latest-posts__featured-image {
	margin-bottom: 5%;
}

/* Blog Page
---------------------------------------------------------*/
.single-post .post {
    max-width: 1048px;
    margin: auto;
}

.single-post .site-inner {
	background-image: url('/wp-content/uploads/2023/07/wave-bg-blog-inner-1.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-color: #FAFAFA;
}

.single-post .entry-content li{
	padding-top: 10px;
}

.single-post .entry-title{
	padding-top: 50px;
	text-align: center;	
	color: var(--wp--preset--color--dark-blue);
}

.single-post .entry-content {
	background-color: white;
	border-radius: 0px 0px 5px 5px;
	padding: 5%;
	margin-top: -50px;
}

.single-post .post-183 .entry-title::after {
	content: url('/wp-content/uploads/2019/05/pool4.jpg') !important;
}

.single-post .post-4 .entry-title::after {
	content: url('/wp-content/uploads/2019/05/pool-1.jpg') !important;
}

.single-post .post-810 .entry-title::after {
	content: url('/wp-content/uploads/2019/05/pool2.jpg') !important;
}

.single-post .post-813 .entry-title::after {
	content: url('/wp-content/uploads/2019/05/pool6-1.jpg') !important;
}

.single-post .post-818 .entry-title::after {
	content: url('/wp-content/uploads/2019/05/pool3.jpg') !important;
}


/* Page Headers
--------------------------------------------- */

.entry-title a {
	color: var(--wp--preset--color--black);
	text-decoration: none;
}

.entry-title a:focus,
.entry-title a:hover {
	color: #0073e5;
}

/* Entry Content
--------------------------------------------- */

.entry-content code {
	background-color: #f5f5f5;
}

.content .sticky {
	background-color: #f5f5f5;
	padding: 30px;
}

/* Entry Meta
--------------------------------------------- */

p.entry-meta {
	font-size: 16px;
	font-size: 1.6rem;
	margin-bottom: 0;
}

.entry-header .entry-meta {
	margin-bottom: 20px;
}

.entry-footer .entry-meta {
	border-top: 1px solid #eee;
	padding-top: 20px;
}

.entry-categories,
.entry-tags {
	display: block;
}

.entry-comments-link::before {
	content: "\2014";
	margin: 0 6px 0 2px;
}

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

.pagination {
	clear: both;
	margin: 60px 0;
}

.adjacent-entry-pagination {
	margin-bottom: 0;
}

.archive-pagination li {
	display: inline;
}

.archive-pagination li a {
	background-color: #f5f5f5;
	color: var(--wp--preset--color--black);
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 4px;
	padding: 8px 12px;
	text-decoration: none;
}

.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination li.active a {
	background-color: var(--wp--preset--color--black);
	color: #fff;
}

/* Entry Comments
--------------------------------------------- */

.comment-respond,
.entry-comments,
.entry-pings {
	font-size: 18px;
	font-size: 1.8rem;
	margin-bottom: 40px;
}

.comment-list li {
	padding: 40px 0 0 30px;
}

.comment-list .depth-1 {
	padding-left: 0;
}

.comment-header {
	margin-bottom: 30px;
}

.comment-content {
	clear: both;
}

.comment-content ul > li {
	list-style-type: disc;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 50%;
}

.comment-respond label {
	display: block;
	margin-right: 12px;
}

.comment-header p {
	margin-bottom: 0;
}

.entry-pings .reply {
	display: none;
}

/* Custom page templates (delete if not using)
--------------------------------------------- */


/* SIDEBAR
---------------------------------------------------------------------------------------------------- */

.sidebar {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5;
}

.sidebar .widget {
	margin-bottom: 40px;
}

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

/* Widgets
--------------------------------------------- */

.widget {
	margin-bottom: 40px;
}

.widget p:last-child,
.widget ul > li:last-of-type {
	margin-bottom: 0;
}

.widget ul > li {
	margin-bottom: 10px;
}

.widget ul > li:last-of-type {
	padding-bottom: 0;
}

.widget ol > li {
	list-style-position: inside;
	list-style-type: decimal;
	padding-left: 20px;
	text-indent: -20px;
}

.widget li li {
	border: 0;
	margin: 0 0 0 30px;
	padding: 0;
}

.widget_calendar table {
	width: 100%;
}

.widget_calendar td,
.widget_calendar th {
	text-align: center;
}



/* BLOCKS
------------------------------------------------------------------------------------------------------- */

/* Block classes
--------------------------------------------- */

.wrap,
.wp-block-cover__inner-container,
.wp-block-group,
.wp-block-columns,
.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {
	max-width: var(--wp--style--global--content-size);
	width: 100%;
	margin: auto;
}

.wrap,
.wp-block-cover__inner-container,
.alignfull.is-layout-flow > .wp-block-group,
.alignfull.is-layout-flow > .wp-block-columns,
.alignfull.is-layout-constrained {
	padding: 0 var(--wp--preset--spacing--default);
}


.wp-block-media-text .wp-block-media-text__content,
.alignfull.wp-block-group .wp-block-column > .wp-block-group {
    padding: var(--wp--preset--spacing--default);
}

.wp-block-cover, 
.wp-block-cover-image {
	padding: 0;
}


/* Allow bottom/left positioning for cover blocks */
.wp-block-cover.is-position-top-left.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-top-right.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-top-center.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-bottom-center.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-bottom-left.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-bottom-right.has-custom-content-position .wp-block-cover__inner-container {
	margin: 0 auto;
}


/* Alignwide is used for slightly narrower than the .wrap width.  */
.alignwide {
    width: calc(var(--wp--style--global--content-size) - 25%);
	max-width: 100%;
    margin: auto;
}

.alignfull,
.alignfull.wp-block-image,
.alignfull.blocks-gallery-grid {
	margin: 0 calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

.alignfull .wp-block-group__inner-container > .alignwide {
    padding-top: 0;
    padding-bottom: 0;
}

.narrow {
    max-width: 700px;
}

.x-narrow {
	max-width: 450px;
}

.narrow.has-text-align-center,
.x-narrow.has-text-align-center,
.centered {
	margin-left: auto;
	margin-right: auto;
}

.alignfull .wp-block-group__inner-container > .alignwide {
    padding-top: 0;
    padding-bottom: 0;
}

/* Makes Media-text blocks inside of groups be full width. 
 * Otherwise, they take on the padding from the group, which is too much padding on mobile. */
.wp-block-group.alignfull .wp-block-group__inner-container .wp-block-media-text {
	width: 100%;
	width: 100vw;
}

/* 3/4 alignments
.wp-block-group.alignright,
.wp-block-image.alignright {
    max-width: 80vw;
    width: 80vw;
	margin: 0 calc(50% - 50vw) 0 0;
    text-align: inherit;
}

.wp-block-group.alignleft,
.wp-block-image .alignleft {
    max-width: 80vw;
    width: 80vw;
    text-align: inherit;
	margin: 0 0 0 calc(50% - 50vw);
}

.wp-block-image .alignleft img,
.wp-block-image .alignright img {
	width: 100%;
}

p.alignright {
	text-align: left;
}

 */

/* Columns 
-------------------------*/

.wp-block-columns {
	margin-bottom: 0;
}

.wp-block-media-text.has-background .wp-block-media-text__content {
    padding: 15px;
}
	

/* Columns with no space between cols */
.wp-block-columns.is-style-col-no-space {
	gap: 0;
}

.wp-block-columns.is-style-col-no-space .wp-block-column {
	margin: 0 !important;
}

/* Native Blocks
--------------------------------------------- */

ul.blocks-gallery-grid,
.wp-block-image,
.wp-block-media-text__content p:last-of-type {
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-media-text__content p:last-of-type + * { /* Last paragraph in media-text blocks doesn't have margin. If it's followed by another element, we add margin back. */
    margin-top: 30px;
}

.wp-block-gallery .blocks-gallery-item figure {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;		
}

/* Cover blocks inside a column (with no padding) don't have extra padding (ie, a column with an image background won't have more padding than the other columns). */
.wp-block-column.no-padding .wp-block-cover__inner-container {
    padding: 0;
}


/* When cover blocks have zero opacity, the color is a background. */
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0 {
    opacity: 1;
    z-index: 0;
}


/* Custom cover style -- Make image contain, not cover */
.wp-block-cover.is-style-cover-contain-top img.wp-block-cover__image-background,
.wp-block-cover.is-style-cover-contain-bottom img.wp-block-cover__image-background,
.wp-block-cover.is-style-cover-left img.wp-block-cover__image-background,
.wp-block-cover.is-style-cover-right img.wp-block-cover__image-background {
    -o-object-fit: contain;
    object-fit: contain;
}

.wp-block-cover.is-style-cover-contain-top img.wp-block-cover__image-background {
    -o-object-position: 0 0 !important;
    object-position: 0 0 !important;	
    top: 0;
    bottom: auto;	
}

.wp-block-cover.is-style-cover-contain-bottom img.wp-block-cover__image-background {
    -o-object-position: 0 100% !important;
    object-position: 0 100% !important;		
}

.wp-block-cover.is-style-cover-left img.wp-block-cover__image-background {
	-o-object-position: top left;
    object-position: top left;
}

.wp-block-cover.is-style-cover-right img.wp-block-cover__image-background {
	-o-object-position: top right;
    object-position: top right;
}

/* Social links */
ul.wp-block-social-links {
	margin: 0;
}


/* Custom Blocks
--------------------------------------------- */


/* SVG */
.svg-img.aligncenter {
    text-align: center;
}

/* Custom spacer block */
.wp-block-spacer.spacer-xsmall-height {
    height: 1rem;
}

.wp-block-spacer.spacer-small-height {
    height: 25px;
}

.wp-block-spacer.spacer-medium-height {
    height: 2em;
}

.wp-block-spacer.spacer-large-height {
    height: 3em;
}



/* Swiper/slider styles */
.arrows-outside .swiper-wrapper {
    width: 85% !important;
    margin: auto;
}

.swiper-button-prev, 
.swiper-button-next {
    color: inherit !important;
	-webkit-transform: scale(.5);
    transform: scale(.5);
}

.swiper-pagination-bullet-active {
	background: var(--wp--preset--color--primary) !important;
}


/* MEDIA QUERIES
 * Theme uses min-width for responsive styling. There are some max-width queries to more easily 
 * overwrite the core Gutenberg styles.
---------------------------------------------------------------------------------------------------- */


@media only screen and (max-width: 480px) {
	
	/* Make stacked buttons equal width*/
	.wp-block-button .wp-block-button__link {
		width: 300px;
	}
	
	.mobile-border-column, .wp-container-34, .hero-border-paragraph {
		width: 100% !important;
	}
	
	.entry-content ul {
		margin-left: 0px !important;
		margin-bottom: 0px !important;
	}
	
	.single-post .entry-title {
		padding-top: 100px !important;
	}
}



	
@media only screen and (max-width: 600px) {
	
	/* Safari ~13 doesn't support gap for flexbox, but WP 6.0 has it. Removing and replacing. */
	.wp-block-buttons {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.wp-block-button + .wp-block-button {
		margin: .5em 0 0 0;
	}
	
}

@media only screen and (min-width: 768px) {
	
	.grid.col-3,
	.grid.col-4  {
		grid-template-columns: 1fr 1fr;
	}
	
	.admin-bar .site-container {
		margin-top: 32px;
	}
	
	.wp-block-media-text.has-background .wp-block-media-text__content {
		padding: var(--wp--preset--spacing--default);
	}
	
}

/* Admin bar changes height */
@media only screen and ( min-width: 782px ) {
	
	.admin-bar .site-container {
		margin-top: 32px;
	}

}

/* Columns collapse
 * ---------------------------------------------------------------------------*/
@media only screen and (max-width: 959px) {
	
	/* Media-text blocks */
	.wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100%!important;
	}

	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media, .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
	}
	
	.wp-block-media-text.is-image-fill .wp-block-media-text__media {
		height: 100%;
		min-height: 250px;
		background-size: cover;
	}
	
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}
	
	/* Columns */
	.wp-block-columns {
		flex-wrap: wrap !important;
	}	
	
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100%!important;
	}	
	
	/* .wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column:not(:first-child) { */
		/* margin: 0 !important; */
		/* padding-top: 0; */
	/* } */
	
	.wp-block-column:nth-child(2n) { /* combats Gutenberg default */
		margin-left: 0 !important;
	}	
	
	.wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column:not(:first-of-type) {
		margin-top: 1em;
		margin-left: 0;
	}
	
	.wp-block-columns.is-not-stacked-on-mobile .wp-block-column:not(:first-of-type) {
		margin-top: 0;
	}
	
	.alignfull > .wp-block-columns.col-no-padding {
		padding: 0 var(--wp--preset--spacing--default);
	}
	
	.wp-block-column.no-padding:not(:last-child) {
		padding-top: var(--wp--preset--spacing--default) !important;
	}	
		
	/* Media-text blocks without a background should not have additional padding */
	.wp-block-media-text:not(.has-background) .wp-block-media-text__content {
		padding-left: 0;
		padding-right: 0;
	}
	
	/* Full-width media-text blocks DO need padding*/
	.wp-block-media-text.alignfull .wp-block-media-text__content {
		padding: calc( var(--wp--preset--spacing--default) * 1.5);
	}	
	
	.heading-rotate-left {
		transform: none;
		font-size: 6rem;
		text-align: left;
	}
	
	.mobile-padding {
		padding: 30px !important;
	}
	
	.mobile-border-column {
		border: none;
		border-bottom: 1px solid var(--wp--preset--color--green) !important;
	}
	
	.mobile-border-column-none {
		border: none;
	}
	
	.eb-counter-number {
		font-size: 1.9em !important;
	}
	
	.hover-column {
		border-bottom: 1px solid var(--wp--preset--color--dark-blue);
	}
	
	.menu-item-1539 a {
		color: #ffffff !important
	}
	
		
	.menu-item-1539 {
		background-color: transparent;
	}
	
	.wp-container-17.wp-container-17, .faq-box {
		flex-direction: column !important;
	}
	
	.hot-tub-cover {
		height: 800px !important;
	}
	
	.contact-form {
		max-width: 100% !important;
	}
	
	.border-paragraph {
		width: 100%;
	}
	
	.overlapping-cover-image {
		margin-left: 0px !important;
	}
	
	.overlapping-cover-image-left {
		margin-right: 0px !important;
	}
	
	.esab__heading_tag {
		text-transform: none !important;
	}
	
	.single-post .entry-title {
		padding-top: 150px;
		padding-bottom: 20px;
		color: var(--wp--preset--color--black);
	}
	
	.mobile-max-width p, .mobile-max-width .wp-block-buttons, .mobile-max-width h2 {
		max-width: 100% !important;
	}
	
	.hero-border-paragraph {
		width: 75% !important;
	}
	
	.contact-info p, .contact-info .wp-block-buttons, .contact-info h2{
		max-width: 100% !important;
	}
	
	.contact-info {
		padding: 30px !important;
	}
	
	.footer-widgets .wp-block-column:not(:last-of-type) {
		border: none !important;
	}
	
	.installation-columns.wp-block-columns .wp-block-column:not(:first-of-type) {
		margin-left: 0px !important;
	}
	
	.recommended-text {
		display: none !important;
	}
	
	.smaller-min-height, .dedication-min-height {
		min-height: 0px !important;
	}
	
	.hero-video {
		object-fit: cover !important;
		-webkit-mask-image: url(/wp-content/uploads/2023/07/Vector-1-1.png) !important;
		mask-image: url(/wp-content/uploads/2023/07/Vector-1-1.png);
		-webkit-mask-size: 100% !important;
		-webkit-mask-repeat: no-repeat !important;
		-webkit-mask-position: center !important;
		width: 100% !important;
		height: 25vh !important;
		margin-bottom:30px;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	
}

/* Nav changes
 * ---------------------------------------------------------------------------*/
@media only screen and (max-width: 1279px) {
	
	.desktop {
		display: none;
	}

	
		
	/* Add class to elements that should be full width on mobile */
	.alignfull-mobile:not(.wp-block-image) {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: var(--wp--preset--spacing--default);
	}
	
	/* Image needs its own styling for full-width on mobile*/
	figure.alignfull-mobile img {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: 0;
	}	

}

@media only screen and (min-width: 1280px) {
	
	.mobile {
		display: none;
	}
	
		
	/* Flexbox & Grid */
	.grid.col-3 {
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.grid.col-4  {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
	

	/* Site Header
	--------------------------------------------- */

	.site-header {
		width: 100%;
		z-index: 9999;
		padding: 0 2em;
		transition: .2s top ease-in-out;
	}
	
	.scroll.site-header {
		position: fixed;
		top: 0;
	}

	/* Genesis Menu
	--------------------------------------------- */

	.genesis-nav-menu .menu-item {
		display: inline-block;
	}

	.genesis-nav-menu .menu-item:focus,
	.genesis-nav-menu .menu-item:hover {
		position: relative;
	}
	
	.genesis-nav-menu .menu-item:hover > .sub-menu,
	.genesis-nav-menu .menu-item:focus > .sub-menu, 
	.genesis-nav-menu .menu-item.has-expanded-sub-menu > .sub-menu {
		left: auto;
		opacity: 1;
		display: block !important;
	}

	.genesis-responsive-menu .genesis-nav-menu .sub-menu,
	.genesis-responsive-menu .genesis-nav-menu .sub-menu a {
		width: 180px;
	}

	.genesis-nav-menu .sub-menu {
		border-top: 1px solid #eee;
		opacity: 0;
		padding-left: 0;
		position: absolute;
		transition: opacity .4s ease-in-out;
	}

	.genesis-nav-menu .sub-menu a {
		border: 1px solid #eee;
		border-top: 0;
		padding-bottom: 15px;
		padding-top: 15px;
	}

	.genesis-nav-menu .sub-menu .sub-menu {
		margin: -46px 0 0 179px;
	}


	/* Responsive Menu
	--------------------------------------------- */

	.genesis-responsive-menu {
		display: block;
	}

	.menu-toggle,
	.sub-menu-toggle {
		display: none;
		visibility: hidden;
	}

	/* Header Menu
	--------------------------------------------- */

	.nav-primary {
		width: auto;
		margin-left: auto;
		display: block;
	}

	.nav-primary .genesis-nav-menu a {
		padding-left: 15px;
		padding-right: 15px;
	}


	/* Content
	--------------------------------------------- */

	.content {
		float: left;
		width: 65%;
	}

	.sidebar-content .content {
		float: right;
	}

	.full-width-content .content,
	.landing-page .content {
		float: none;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.wp-block-group.alignfull .wp-block-group__inner-container .wp-block-media-text {
		width: auto;
	}


	/* Sidebar
	--------------------------------------------- */

	.sidebar {
		float: right;
		width: 30%;
	}

	.sidebar-content .sidebar {
		float: left;
	}

	/* Author Box
	--------------------------------------------- */

	.author-box {
		background-color: #f5f5f5;
		padding: 30px;
	}

	/* After Entry
	--------------------------------------------- */

	.after-entry {
		padding: 40px 60px;
	}

	/* Entry Misc.
	--------------------------------------------- */

	.after-entry,
	.archive-description,
	.author-box,
	.comment-respond,
	.entry-comments,
	.entry-pings {
		margin-bottom: 60px;
	}

	/* Columns */
	.wp-block-columns .wp-block-column:not(:first-of-type) {
		margin-left: 1em;
		margin-top: 0;
	}

	/* Spacer block */
	.wp-block-spacer.spacer-medium-height {
		height: 3em;
	}

	.wp-block-spacer.spacer-large-height {
		height: 7em;
	}


}


/* Make typography larger and max-width wider for large screens */
@media only screen and (min-width: 1919px) {
	
	body {
		--wp--style--global--content-size: 1536px;
		font-size: 2rem;
	}
		
}

/* Print Styles
---------------------------------------------------------------------------------------------------- */

@media print {

	*,
	*::before,
	*::after {
		background: transparent !important;
		box-shadow: none !important;
		color: var(--wp--preset--color--black) !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]::after {
		content: " (" attr(href) ")";
	}

	abbr[title]::after {
		content: " (" attr(title) ")";
	}

	a[href^="javascript:"]::after,
	a[href^="#"]::after,
	.site-title > a::after {
		content: "";
	}

	thead {
		display: table-header-group;
	}

	img,
	tr {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 2cm 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	blockquote,
	pre {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	.content,
	.content-sidebar {
		width: 100%;
	}

	button,
	input,
	select,
	textarea,
	.breadcrumb,
	.comment-edit-link,
	.comment-form,
	.comment-list .reply a,
	.comment-reply-title,
	.edit-link,
	.entry-comments-link,
	.entry-footer,
	.genesis-box,
	.header-widget-area,
	.hidden-print,
	.home-top,
	.nav-primary,
	.nav-secondary,
	.post-edit-link,
	.sidebar {
		display: none !important;
	}

	.title-area {
		text-align: center;
		width: 100%;
	}

	.site-title > a {
		margin: 0;
		text-decoration: none;
		text-indent: 0;
	}

	.site-inner {
		padding-top: 0;
		position: relative;
		top: -100px;
	}

	.author-box {
		margin-bottom: 0;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		orphans: 3;
		page-break-after: avoid;
		page-break-inside: avoid;
		widows: 3;
	}


	img {
		page-break-after: avoid;
		page-break-inside: avoid;
	}

	blockquote,
	pre,
	table {
		page-break-inside: avoid;
	}

	dl,
	ol,
	ul {
		page-break-before: avoid;
	}

}
#hero_video{
	object-fit: cover;
  -webkit-mask-image: url('/wp-content/uploads/2023/07/Vector-1-e1690999530609.png');
  mask-image: url('/wp-content/uploads/2023/07/Vector-1-e1690999530609.png');
	-webkit-mask-size: 100%;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center;
	width: 95vw;
	height: 70vh;
	margin-left: auto;
	margin-right: auto;
}
/* GM Custom CSS */
.wp-block-buttons,
.wp-block-social-links,
.wp-block-columns {
	gap: 10px !important;
}
.hover-1,
.hover-2,
.hover-3,
.hover-4,
.hover-5,
.hover-6,
.hover-7,
.hover-8,
.hover-9,
.hover-10 {
	cursor: pointer;
	transition: 0.3s;
}
.hover-1:hover,
.hover-2:hover,
.hover-3:hover,
.hover-4:hover,
.hover-5:hover,
.hover-6:hover,
.hover-7:hover,
.hover-8:hover,
.hover-9:hover,
.hover-10:hover {
	-webkit-box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.3);
    -moz-box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.3);
    box-shadow: 1px 1px 7px 0px rgba(0,0,0,0.1);
}
@media(max-width: 1279px){
	.title-area {
		z-index: 999;
		background-color: #FAFAFA;
		padding: 10px 0;
	}
	header.site-header, .genesis-nav-menu a, .menu a {
		padding: 0;
	}
	.genesis-nav-menu .sub-menu a {
		background-color: transparent !important;
		padding: 0;
	}
	.genesis-nav-menu .sub-menu {
		padding-left: 0;
		padding-top: 10px;
	}
	nav.mobile-menu-wrap .mobile-menu {
		margin-left: -10px;
	}
	.site-container.mobile-nav-active .site-header {
		position: fixed;
		z-index: 9;
		width: 100%;
	}
	.genesis-nav-menu .sub-menu a:hover {
		color: #acb825 !important;
	}
}
@media(max-width: 650px){
    .wp-block-media-text.alignfull .wp-block-media-text__content {
        padding: 0px !important;
    }
    .wp-container-30.wp-container-30 > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
        max-width: 100% !important;
    }
    .wp-block-column {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
    .eb-counter-number {
        font-size: 1.5em !important;
        white-space: nowrap;
    }
    .eb-counter-wrapper.eb-counter-upvj9zu .counter-contents-wrapper, .eb-counter-wrapper.eb-counter-mpoehs5, .eb-counter-wrapper.eb-counter-5etgbwk .counter-contents-wrapper, .eb-counter-wrapper.eb-counter-mpoehs5 .counter-contents-wrapper {
        flex-direction: column !important;
    }
    .contact-info,
    .wp-block-cover__inner-container, .alignfull.is-layout-flow > .wp-block-group, .alignfull.is-layout-flow > .wp-block-columns, .alignfull.is-layout-constrained {
        padding: 50px 20px !important;
    }
    .wrap {
        padding-left: 20px;
        padding-right: 20px;
    }
    .wp-block-group.blog-posts.is-layout-constrained.wp-block-group-is-layout-constrained {
        padding-top: 50px;
        padding-bottom: 120px;
    }
    .wp-block-spacer,
    nav.wp-block-query-pagination.is-layout-flex.wp-block-query-pagination-is-layout-flex {
        display: none;
    }
    :where(.wp-block-columns.has-background) {
        padding: 50px 20px;
    }
    h2 {
        font-size: 26px;
    }
    .overlapping-cover-image {
        min-height: 0px !important;
    }
    .wpcp-carousel-wrapper.wpcp-wrapper-770.wpcp-loaded {
        padding-top: 50px;
    }
	.wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex {
		align-content: center;
	}
	.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-image-overlay {
		visibility: hidden;
		opacity: 0;
	}
	.wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile .wp-block-columns .wp-block-column {
		text-align: center;
	}
	.wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile .wp-block-columns .wp-block-column {
		text-align: center;
	}
	.counter-contents-wrapper {
		align-items: center;
	}
	h3.eb-counter-title {
		text-align: center;
	}
	.wp-block-group.alignfull .wp-block-columns .wp-block-column {
		margin-top: 10px !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	.wp-block-group.alignfull .wp-block-columns {
		gap: 0px !important;
	}
	.page-id-1083 .site-inner .wrap {
		padding-bottom: 50px;
	}
	.wp-block-group.contact-form.has-gray-background-color.has-background {
		padding: 30px 20px !important;
	}
}
@media(max-width: 550px){
	div#foogallery-gallery-650 {
        display: flex;
        width: 100% !important;
        flex-direction: column;
    }
    #foogallery-gallery-650 .fg-item.fg-type-image {
        position: relative !important;
        top: unset !important;
        width: 100% !important;
        margin-right: 0px !important;
    }
    .page-id-16 .site-inner .wrap {
        padding: 0px;
    }
}
/* END GM Custom CSS */