/* 
Theme Name: Client Focused Media Custom Theme
Description: Custom theme based on Hello Elementor
Author: Client Focused Media
Author URI: https://cfmedia.com
Template: hello-elementor
Version: 4.2
Text Domain: cfmbase
*/

/* GLOBAL */

html { scroll-behavior: smooth; }
body, main, #content { overflow-x: hidden; }
[type=button], [type=submit], button { border: inherit; }
.swiper-button-right, .swiper-button-next { text-align:right; }

.whiteText, .whiteText p, .whiteText h1, .whiteText h2, .whiteText h3, .whiteText h4, .whiteText li, .whiteText li:before, .whiteText a:not(.elementor-button), .whiteText a:not(.elementor-button):hover { color: #ffffff !important; }

.underlineLinks a:not(.elementor-button):hover, .alwaysUnderline a:not(.elementor-button) { text-decoration: underline; }
.noUnderline a:hover { text-decoration: none !important; }


ul.elementor-nav-menu--dropdown a, ul.elementor-nav-menu--dropdown a:focus, ul.elementor-nav-menu--dropdown a:hover {
    border-left: none;
}

@media (max-width:767px) {
	.mobileHide { display: none !important; }
}

@media (min-width:768px) {
	.mobileShow { display: none !important; }
}

@media (max-width: 640px) {
.wp-block-image figure {
	float: none;
	width: 100% !important;
	clear: both;
	text-align: center;
	}
}

.fullWidth {
	margin-left: -50vw;
	margin-right: -50vw;
	max-width: 100vw !important;
	position: relative;
	left: 50%;
	right: 50%;
	width: 100vw;
}

.disclaimer {
	font-size:0.8rem;
	line-height:1.1em;
	font-style:italic;
	margin-bottom:0 !important;
}

/* ACCESSIBILITY */

@supports selector(:focus-visible) {
	:focus { outline: none; }
	:focus-visible { outline: 1px dotted; outline-offset: 1px;}
}

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

.screen-reader-text:focus, .skipLink:focus  {
    background-color: #efefef !important;
    clip: none !important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #101010 !important;
    display: block;
    font-size: 1em;
    font: message-box;
    text-decoration: none;
    line-height: normal;
    padding: 12px 20px !important;
    left: 5px;
    top: 5px;
    height: auto;
    width: auto;
    min-width: 220px;
    z-index: 100000;
}

.hideElement {
    border: 0;
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; 
} 

.hideElement-focusable:active,
.hideElement-focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
} 


/* BUTTONS IN HORIZONTAL NAVIGATION MENUS */

.elementor-nav-menu--layout-horizontal .menuButton .elementor-item {
	padding: 8px 16px !important;
	color: #ffffff !important;
	background-color: var( --e-global-color-primary );
	border-radius: 5px;
	text-transform: uppercase !important;
	font-size: 1.1rem !important;
	font-weight: 500 !important;
}

.elementor-nav-menu--layout-horizontal .menuButton .elementor-item:hover {
	background-color: var( --e-global-color-secondary );
}

.elementor-nav-menu--layout-horizontal .menuButton .elementor-item:before, 
.elementor-nav-menu--layout-horizontal .menuButton .elementor-item:after {
	display:none;
	}

.menuIcon i {
	padding: 2px 0 0 8px;
}
	
/* GRAVITY FORMS GENERAL STYLES */

.gform_confirmation_wrapper.gravity-theme {
    border: 1px solid #333333;
    background-color: #efefef;
    padding: 20px 10px;
    text-align: center;
    font-size: 1.2rem;
}

.gform_wrapper.gravity-theme .gfield_description {
	padding: 0 !important;
	margin-top: 0 !important;
	font-style: italic;
	font-size: 0.9rem !important;
}

.gform_wrapper.gravity-theme .gfield_label, 
.gform_wrapper.gravity-theme .ginput_complex label {
	margin-bottom: 1px !important;
	padding: 0;
}

.gform_wrapper.gravity-theme .gfield_label, 
.gform_wrapper.gravity-theme .ginput_complex label {
	color:  var( --e-global-color-primary );
}

.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme .ginput_complex select {
	border-radius: 0;
	border-color: var( --e-global-color-primary );	
	min-height: 42.75px;
	max-width: 97.5%;
}

@media only screen and (min-width:641px) {
.gform_wrapper .gform_body .gform_fields .gfield .address_city, 
.gform_wrapper .gform_body .gform_fields .gfield .address_state {
	max-width: 40%;
	margin-bottom: 0 !important;
}
.gform_wrapper .gform_body .gform_fields .gfield .address_zip, 
.gform_wrapper .gform_body .gform_fields .gfield .address_line_2 {
	max-width: 20%;
	margin-bottom: 0 !important;
}
}

.gform_wrapper.gravity-theme .disclaimer {
		font-size: 1rem !important;
}

.gform_wrapper.gravity-theme .gfield_consent_label {
	font-size: 0.9rem;
	font-weight: normal;
	display: inline;
	color: #111111;
	line-height: 1.1em !important;
}

/* HIDE RECAPTCHA BANNER AND PUT TEXT UNDER FORM INSTEAD */

.gform_footer {flex-wrap:wrap;}

body .recaptchaNotice {
	display:block;
	padding:10px 5px 0;
	width:100%;
	font-size:0.9rem;
	line-height:1.1em;
	font-style:italic;
}

.whiteText .recaptchaNotice, .whiteText .recaptchaNotice a {
	color: #ffffff;
}
body .grecaptcha-badge { visibility: hidden; }


/* CUSTOM LIST STYLES */

.customList ul, .customList ol {
    margin: 0 0 1rem -0.5rem;
}

.customList li {
    margin-top: 2px;
    margin-bottom: 2px;
}

.customList ul {
    list-style: none;
}

.customList ul li::before {
  content: "\2014";
  color: var( --e-global-color-accent );
  font-weight: normal; 
  display: inline-block; 
  width: 1.5em;
  margin-left: -1.5em;
}

.customList .wp-block-columns {
    margin-bottom: 0.25rem;
}

/* GENERAL */

