/*!
	Theme Name: Pools Patios and Spas
	Description: Pools Patios and Spas Theme by Channel Marker Media
	Author: Channel Marker Media
	Author URI: https://channelmarkermedia.com
	Text Domain: cmm-poolspatiosspas
	Template: hello-elementor
*/

/****** Misc ******/

.click-child
{
	cursor:pointer;
}

.white-border
{
	position:relative;
}

.white-border > *
{
	z-index:1;
}

.white-border:after
{
	content:"";
	position:absolute;
	width:calc(100% - 10px);
	height:calc(100% - 10px);
	top:5px;
	left:5px;
	background:transparent;
	border:2px solid rgba(250,250,250,0.8);
}

div.elementor-text-editor ul
{
	margin-bottom:15px;
	/*max-width:400px;*/
}

div.elementor-text-editor ul > li i.fas
{
	color:#73BC43;
}

div.elementor-text-editor a
{
	color:#257DBC;
	text-decoration:underline;
}

div.elementor-slideshow__title { display:none; }

body:not(.elementor-editor-active) .elementor-internal-anchor:before {
	content: "";
	display:block;
	height: 300px; /* fixed header height*/
	margin: -300px 0 0; /* negative fixed header height */
	visibility: hidden;
	pointer-events: none;
	position:relative;
	z-index:-1;
}

.elementor-internal-anchor > div.elementor-container
{
	z-index:1;
}


/****** Forms ******/

.cf-turnstile > div { text-align: center; }

.gform-footer { justify-content: center !important; }

div.ginput_recaptcha > div
{
	margin:0 auto;
}

div.gform_wrapper form li.gfield
{
	margin-top:0 !important;
	margin-bottom:0 !important;
}

div.gform_wrapper form li.gfield .ginput_container_email,
div.gform_wrapper form li.gfield .ginput_container_phone
{
	margin-top:0 !important;
}

@media screen and (min-width:768px)
{
	div.gform_wrapper form,
	form.wpcf7-form
	{
		padding: 0 30px;
	}
}

div.gform_wrapper form label,
form.wpcf7-form label
{
	font-size:0.75rem;
}

div.gform_wrapper form input[type=submit],
form.wpcf7-form input[type=submit]
{
    margin: 0 auto;
    text-align: center;
    display: block;
    min-width: 200px;
}

div.gform_wrapper form textarea,
form.wpcf7-form textarea.wpcf7-textarea
{
	max-height:100px;
}

.form-control, input[type="text"], input[type="search"], input[type="password"], input[type="email"], input[type="url"], input[type="tel"], input[type="number"], input[type="date"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="month"], textarea, select
{
	color:#333;
	border-color:#aaa;
	padding: 6px 12px !important;
	font-size: 14px !important;
	margin-bottom: 10px !important;
}

div.gform_wrapper form li.gfield.recaptcha
{
	text-align:center;
}

div.gform_wrapper form li.gfield.recaptcha > div.ginput_container
{
	display:inline-block;
}

div.gform_footer
{
	text-align:center;
}

div.gform_footer input.button
{
	background:#26A8E4 !important;
	font-size:22px !important;
	border-color:#26A8E4 !important;
	color:#fff !important;
	padding:15px 40px;
}

div.gform_footer input.button:hover
{
	opacity:0.75;
}

div.gform_confirmation_message
{
	text-align: center;
	font-weight: bold;
	margin-top: 15px;
}

@media screen and (max-width:767px)
{
	li.gfield
	{
		width:100% !important;
		margin-right:0 !important;
	}
}

.gform_wrapper div.validation_error
{
	background: #26A8E4 !important;
	color: #444 !important;
	border:none !important;
}

.gform_wrapper .validation_message
{
	color: #222 !important;
	padding: 5px 15px !important;
	font-weight:400 !important;	
}

.gform_wrapper li.gfield.gfield_error
{
	background-color: rgba(250,175,91,.75) !important;
}

@media screen and (min-width:767px)
{
	form.subscribe_form div.gform_body
	{
		width:75% !important;
	}
}

form.subscribe_form li.gfield
{
	/*padding:0;*/
}

/****** Header ******/

	/****** Main Nav ******/
	
	@media screen and (min-width:768px)
	{
		li.menu-item.mobile-only
		{
			display:none;
		}
	}
	
/****** Shortcode: pps_homepage_articles ******/

div.homepage-articles div.homepage-article-inner
{
	display:block;
	margin: 15px;
	border:1px solid #dadada;
	padding:30px;
	text-align:center;
	background:#fff;
	position:relative;
}


div.homepage-articles h3
{
	color: #257DBC;
	font-family: "PT Sans Narrow", Sans-serif;
	font-size: 28px;
	font-weight: 400;
}

div.homepage-articles h4
{
	color: #25388F;
	font-family: "PT Sans Narrow", Sans-serif;
	font-size: 20px;
	font-weight: 300;
}


@media screen and (min-width:768px)
{
	div.homepage-articles div.homepage-article-inner
	{
		margin:0 15px;
		padding-bottom: 120px;
		position:relative;
	}
	
	div.homepage-articles a.homepage-article-image
	{
		min-height: 300px;
		display: block;
		position: relative;
	}

	div.homepage-articles a.homepage-article-image > img
	{
		top: 50%;
		position: absolute;
		left: 0;
		transform: translatey(-50%);
	}
	
	
	div.homepage-articles div.homepage-article-button
	{
		position: absolute;
		width: 100%;
		bottom: 0;
		left: 0;
		padding: 30px;
	}
}


div.homepage-articles div.homepage-article-content
{
	font-size: 18px;
	line-height: 2em;
}

div.homepage-articles div.homepage-article-button > a
{
	display:block;
	background:#E39A07;
	padding:15px;
	color:#fff;
	font-size:18px;
	text-align:center;
	text-transform:uppercase;
}

/****** Footer ******/

section.footer-mobile-call-us
{
	position:fixed;
	width:100%;
	bottom:0px;
}

section.footer-mobile-call-us.collapsed
{	
	bottom:-300px;
}

body.page-contact section.footer-contact,
body.page-payment section.footer-contact
 { display:none; }