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

/* GLOBAL */

html { scroll-behavior: smooth; }
body {	
	display:block;
	max-width:100%;
	height:auto;
	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;
}

.lastParagraph p:last-of-type {margin-bottom:0;}

@media (max-width:767px) {
	.mobileHide { display: none !important; }
	.desktopShow { 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.15rem !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;}
	
/* FIX LIGHTBOX BUTTONS */

.fancybox-container .fancybox-button {
    display: inline-block;
    height: 44px;
    margin: 0;
    outline: 0;
    padding: 6px !important;
    vertical-align: top;
    width: 44px;
    color: #FFFFFF;
    background-color: #000000;
    border-color: #000000;
}

.fancybox-container .fancybox-button:hover, .fancybox-container .fancybox-navigation a:hover {
    color: #FFFFFF;
    background-color: #777777;
    border-color: #777777;
}

.fancybox-container .fancybox-button svg path {
    width: 24px;
}


/* GRAVITY FORMS GENERAL STYLES */

.gform_wrapper .gform_body .gform_fields .gfield .gchoice {
    position: relative;
}

/* NEW ORBITAL THEME */
.gform-theme--foundation {
	--gf-form-gap-y: 20px !important;}

.gform_wrapper.gform-theme .gform-field-label--type-sub, 
.gform_wrapper.gform-theme .gform-field-label {
	margin-bottom: 1px;
}

.gform_wrapper .gfield_description {
	padding: 0 !important;
	margin: 0 !important;
	font-size:0.9rem !important;}

.gform_wrapper .ginput_counter {
	margin-top: -7px !important; 
	font-size:0.8rem !important;
}

/* OLDER DEFAULT THEME */

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

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

.gform_wrapper .gform_body .gfield_label, 
.gform_wrapper .gform_body .ginput_complex label {
	margin-bottom: 1px;
	padding: 0;
}

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

.gform_wrapper .gform_body select,
.gform_wrapper .gform_body .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 .gform_body .disclaimer {
	font-size: 0.9rem;
}

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


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

body .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;
}


/* SELECT2 STYLE FIXES */

.select2-search--dropdown, .select2-selection__rendered, .select2-search__field, .select2-results {
	background-color: #fff;
	cursor:pointer;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: #000 transparent transparent  !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color:  transparent transparent #888 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	text-align:left;
	cursor:pointer;
}

.uael-gf-style .uael-gf-select-custom:after {display:none;}


/* CUSTOM LIST STYLES */

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

.customList li {
    margin-bottom: 5px;
}

.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 */

.elementor-post__excerpt p:after {
	content:"...";
}

.wp-block-heading strong {
	font-weight: inherit;
}

.cfmed-adlabel {
	font-size:0.6rem;
	text-transform:uppercase;
	text-align: center;
	margin-bottom: -1px;
}


.uael-post-wrapper-featured .uael-post__content-wrap  {
	background: linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,0.9) 90%) !important;
}


.elementor-widget-theme-post-content div > .fluid-width-video-wrapper {
	position: absolute !important;
	top: 0;
}

.elementor-widget-theme-post-content > div > iframe {max-height:420px;}

.question {font-size:1.2rem !important;margin-bottom:5px;}

.mce-btn .mce-txt, .mce-toolbar .mce-ico, .mce-btn button, .mce-window .mce-window-head .mce-close, .mce-window-head .mce-close .mce-i-remove, .mce-window-head .mce-close .mce-i-remove:before {
	color: #ffffff !important;
}

.mce-panel .mce-btn i.mce-caret {
	border-top-color:#ffffff !important;
}

.dce-dualcarousel-gallery-thumbs .dce-dualcarousel-item {
	max-width: 200px !important;
}