/**********************************
	target
**********************************/

:target {
	scroll-margin-top: 65px;
}

.grecaptcha-badge {
	opacity: 0;
	visibility: hidden;
}

/**********************************
	hide
**********************************/

.hide {
	display:none;    
}

body.elementor-editor-active .hide {
	display:inherit;
	opacity: .45;
}

/**********************************
	input
**********************************/

input {
	outline-color:transparent !important;  
	outline: none !important;
}

input[type="checkbox"] {
	border: 1px solid var(--accent);
	width: 20px;
    height: 20px;
    
}

.elementor-field-option {
    display: flex;
    align-content: center;
    gap: 10px;
}

/**********************************
	New-Day-Solar-Logo
**********************************/

.chamelea_science_logo {
	display: block;
	width: 100%;
	max-width: 200px;
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}

	.chamelea_science_logo.animated .cs_logo-lid_top {
		animation: lid_top 2.5s infinite;
	}
	.chamelea_science_logo.animated .cs_logo-lid_bottom {
		animation: lid_bottom 2.5s infinite;
	}

.chamelea_science_logo svg {
	display: block;
	width: 100%;
}

.chamelea_science_logo .cs_logo-eye {
	fill: #151B1E;
}

.chamelea_science_logo .cs_logo-wordmark {
	fill: #D7EF6F;
}

.chamelea_science_logo .cs_logo-lid_top,
.chamelea_science_logo .cs_logo-lid_bottom {
	fill: #D7EF6F;
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}


.chamelea_science_logo .cs_logo-lids {
	clip-path: circle(75px at 0 0)
}

.chamelea_science_logo:hover .cs_logo-lid_top {
	animation: lid_top 2.5s infinite;
}

@keyframes lid_top {
	0% {
		transform: translateY(0px);
		fill: #D7EF6F;
	}
	10% {
		transform: translateY(5px);
		fill: #c3d962;
	}
	18%,
	75% {
		transform: translateY(0px);
		fill: #D7EF6F;
	}
	80% {
		transform: translateY(5px);
		fill: #c3d962;
	}
	88% {
		transform: translateY(0px);
		fill: #D7EF6F;
	}
}

.chamelea_science_logo:hover .cs_logo-lid_bottom {
	animation: lid_bottom 2.5s infinite;
}

@keyframes lid_bottom {
	0% {
		transform: translateY(0px);
		fill: #D7EF6F;
	}
	10% {
		transform: translateY(-3px);
		fill: #c3d962;
	}
	18%,
	75% {
		transform: translateY(0px);
		fill: #D7EF6F;
	}
	80% {
		transform: translateY(-3px);
		fill: #c3d962;
	}
	88% {
		transform: translateY(0px);
		fill: #D7EF6F;
	}
}

/**********************************
	MainMenu
**********************************/


/**********************************
	header
**********************************/

#header {
	position: relative;
	top:0;
	left:0;
	width: 100%;
}

.body_scroll_past_top #header {
	background:var(--white);
	box-shadow: 0 10px 20px rgba(0,0,0,.025);
}

#header .e-con-inner {
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}

.body_scroll_past_top #header .e-con-inner {
	padding-block-start:10px;
	padding-block-end:15px;
}

/**********************************
	elementorIconBlock
**********************************/

.elementorIconBlock .elementor-icon {
	display: block;
}

/**********************************
	bandDivider
**********************************/

.bandDivider {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 140px;
	overflow: hidden;
}

	@media (max-width: 1366px) {
		.bandDivider {
			height: 120px;
		}
	}

	@media (max-width: 1024px) {
		.bandDivider {
			height: 100px;
		}
	}

	@media (max-width: 767px) {
		.bandDivider {
			height: 60px;
		}
	}

.bandDivider p {
	margin: 0 !important;
	padding: 0 !important
}

.bandDivider svg {
	position: absolute;
	top:-1px;
	bottom:-1px;
	left: 0;
	z-index: 1;
	height: calc(100% + 2px);
	width: calc(100% + 2px);
}

/**********************************
	elementor-custom-embed-play
**********************************/

.elementor-custom-embed-play i, 
.elementor-custom-embed-play svg {
	opacity: .95 !important;
}

.elementor-widget-video:hover .elementor-custom-embed-play i, 
.elementor-widget-video:hover .elementor-custom-embed-play svg {
	transform: scale(1.1);
}

/**********************************
	swiper
**********************************/

.elementor-widget-n-carousel .swiper-pagination-bullet {
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}

.elementor-widget-n-carousel .swiper-pagination {
	z-index:99 !important;
}

.elementor-widget-n-carousel .elementor-swiper-button {
	z-index:99 !important;
}

/**********************************
	images
**********************************/

.alignleft {
	float:left;
	margin-right: 30px;
}

.alignright {
	float:right;
	margin-left: 30px;
}

@media (max-width: 767px) {
	.alignleft,
	.alignright {
		display: block;
		float:none;
		margin:0 auto 30px auto;
	}
}


/**********************************
	LIST ITEMS
**********************************/

ol, ul {
	padding: 0 0 10px 12px;
	margin: 0 0 0 5px;
}

ol ::marker, 
ul ::marker {
	color: var(--grey);
}

ol ol, 
ul ul {
	padding-bottom: 0;
	padding-top: 5px;
}

ol > li, 
ul > li {
	padding: 0 0 5px 0;
}

ol li:last-child, 
ul li:last-child {
	padding-bottom: 0;
}

/**********************************
	BUTTON TYPE: DEFAULT
**********************************/

.button-container .elementor-button:visited,
.elementor-widget-button .elementor-button:visited,	
.button-container .elementor-button,
.elementor-widget-button .elementor-button {	
	border-color: var(--accent);
	color: var(--primary);
	background-color: var(--accent);
	border-radius: 4px !important;
}	

	.button-container-button .elementor-button:hover,
	.button-container-button .elementor-button:focus,
	.elementor-widget-button .elementor-button:hover,
	.elementor-widget-button .elementor-button:focus {
		color: var(--accent);
		border-color: var(--primary);
		background-color: var(--primary);	
	}
	
	
/**********************************
	BUTTON TYPE: PRIMARY
**********************************/

.button-container-button-primary .elementor-button:visited,
.elementor-widget-button .elementor-button.button-primary:visited,
.button-container-button-primary .elementor-button,
.elementor-widget-button .elementor-button.button-primary {	
	border-color: var(--primary) !important;
	color: var(--white) !important;
	background-color: var(--primary) !important;
}	

	.button-container-button-primary .elementor-button:focus,
	.elementor-widget-button .elementor-button.button-primary:focus,
	.button-container-button-primary .elementor-button:hover,
	.elementor-widget-button .elementor-button.button-primary:hover {
		border-color: var(--secondary) !important;
		background-color: var(--secondary) !important;	
	}
	
.button-container-button-primary-outline .elementor-button:visited,
.elementor-widget-button .elementor-button.button-primary-outline:visited,
.button-container-button-primary-outline .elementor-button,
.elementor-widget-button .elementor-button.button-primary-outline {	
	border-color: var(--primary) !important;
	color: var(--primary);
	background-color: transparent !important;
}	

	.button-container-button-primary-outline .elementor-button:focus,
	.elementor-widget-button .elementor-button.button-primary-outline:focus,
	.button-container-button-primary-outline .elementor-button:hover,
	.elementor-widget-button .elementor-button.button-primary-outline:hover {
		border-color: var(--secondary) !important;
		background-color: var(--secondary) !important;	
	}

/**********************************
	BUTTON TYPE: SECONDARY
**********************************/

.button-container-button-secondary .elementor-button:visited,
.elementor-widget-button .elementor-button.button-secondary:visited,
.button-container-button-secondary .elementor-button,
.elementor-widget-button .elementor-button.button-secondary {	
	border-color: var(--secondary) !important;
	color: var(--white) !important;
	background-color: var(--secondary) !important;
}	

	.button-container-button-secondary .elementor-button:focus,
	.elementor-widget-button .elementor-button.button-secondary:focus,
	.button-container-button-secondary .elementor-button:hover,
	.elementor-widget-button .elementor-button.button-secondary:hover {
		border-color: var(--primary) !important;
		background-color: var(--primary) !important;	
	}
	
.button-container-button-secondary-outline .elementor-button:visited,
.elementor-widget-button .elementor-button.button-secondary-outline:visited,
.button-container-button-secondary-outline .elementor-button,
.elementor-widget-button .elementor-button.button-secondary-outline {	
	border-color: var(--secondary) !important;
	color: var(--secondary);
	background-color: transparent !important;
}

	.button-container-button-secondary-outline .elementor-button:focus,
	.elementor-widget-button .elementor-button.button-secondary-outline:focus,
	.button-container-button-secondary-outline .elementor-button:hover,
	.elementor-widget-button .elementor-button.button-secondary-outline:hover {
		border-color: var(--primary) !important;
		background-color: var(--primary) !important;	
	}	
	
/**********************************
	BUTTON TYPE: ACCENT
**********************************/

.button-container-button-accent .elementor-button:visited,
.elementor-widget-button .elementor-button.button-accent:visited,	
.button-container-button-accent .elementor-button,
.elementor-widget-button .elementor-button.button-accent {	
	border-color: var(--accent) !important;
	color: var(--primary) !important;
	background-color: var(--accent) !important;
	border-radius: 6px;
}	

	.button-container-button-accent .elementor-button:focus,
	.elementor-widget-button .elementor-button.button-accent:focus,
	.button-container-button-accent .elementor-button:hover,
	.elementor-widget-button .elementor-button.button-accent:hover {
		color: var(--accent) !important;
		border-color: var(--primary) !important;
		background-color: var(--primary) !important;	
	}
	
.button-container-button-accent-outline .elementor-button:visited,
.elementor-widget-button .elementor-button.button-accent-outline:visited,	    
.button-container-button-accent-outline .elementor-button,
.elementor-widget-button .elementor-button.button-accent-outline {	
	border-color: var(--accent) !important;
	color: var(--accent);
	background-color: transparent !important;
	border-radius: 6px;
}	

	.button-container-button-accent-outline .elementor-button:focus,
	.elementor-widget-button .elementor-button.button-accent-outline:focus,
	.button-container-button-accent-outline .elementor-button:hover,
	.elementor-widget-button .elementor-button.button-accent-outline:hover {
		border-color: var(--secondary) !important;
		background-color: var(--secondary) !important;	
	}    
	
/**********************************
	BUTTON TYPE: BUTTON TEXT
**********************************/

.button-container-button-text .elementor-button:visited,
.elementor-widget-button .elementor-button.button-text:visited,
.button-container-button-text .elementor-button,
.elementor-widget-button .elementor-button.button-text {	
	border-color: transparent !important;
	color: var(--primary);
	text-transform: none !important;
	letter-spacing: 0 !important;
	background-color: transparent !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	
	padding-top: 5px !important;
	padding-bottom: 5px !important;
}
	.button-container-button-text .elementor-button .elementor-button-content-wrapper,
	.elementor-widget-button .elementor-button.button-text .elementor-button-content-wrapper {
		transition: all .3s;
	}   
	
	.button-container-button-text .elementor-button:focus,
	.elementor-widget-button .elementor-button.button-text:focus, 
	.button-container-button-text .elementor-button:hover,
	.elementor-widget-button .elementor-button.button-text:hover {
		color: var(--secondary);
	}     
	
	.button-container-button-text .elementor-button:hover .elementor-button-content-wrapper,
	.elementor-widget-button .elementor-button.button-text:hover .elementor-button-content-wrapper {
		gap:20px !important;
	}    
	
/**********************************
	BUTTON SIZE
**********************************/

.elementor-widget-button .elementor-button.elementor-size-xs {
	font-size: 14px;
	padding: 10px 18px;	
}
			
.elementor-widget-button .elementor-button.elementor-size-sm {
	font-size: 14px;
	padding: 15px 28px;	
}
			
.elementor-widget-button .elementor-button.elementor-size-md {
	font-size: 16px;
	padding: 16px 30px;	
}
			
.elementor-widget-button .elementor-button.elementor-size-lg {
	font-size: 18px;
	padding: 17px 32px;	
}
			
.elementor-widget-button .elementor-button.elementor-size-xl {
	font-size: 20px;
	padding: 18px 36px;	
}

/**********************************
	absolute-hover
**********************************/

.cont-ofAbsolute {
    overflow: hidden;
}

.cont-ofAbsolute:hover .absolute-hover{
    top:0 !important;
    transition: all 0.5s ease-in-out;
}

.absolute-hover {
    top:100%;
    transition: all 0.5s ease-in-out;
}

/**********************************
	marqueeHolder
**********************************/

.marqueeText-holder {
	
	position:relative;

	max-width: 100%;
	overflow: hidden;

	display:flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
		
}

.marqueeText .e-con-inner {
	
	position: relative !important;
	white-space: nowrap !important;

	display: flex !important;
	align-items: center !important;
	flex-direction: row !important;
    flex-wrap: nowrap !important;
    
	padding: 0;
	margin: 0;
}

.marqueeTextItem {
	
	display:inline-block;
	
	padding:0;
	margin:0 10px 0 0;
	white-space: nowrap;

	transition-duration: 0s;
	transition-timing-function: ease-out;
		
}

/**********************************
	mobileNav
**********************************/

#mobileNav-container {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 996;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	transition-duration: .4s;
	transition-property: clip-path,background,opacity,visibility;
	transition-timing-function: ease-out;
	clip-path: circle(0% at 0% 0)
}

body.admin-bar #mobileNav-container {
	height: calc(100% - 32px);
}

#mobileNav-container #mobileNav {
	overflow-y: auto;
	height: 100%
}

#mobileNav-container #mobileNav-inner {
	min-height: 100vh
}

body.admin-bar #mobileNav-container #mobileNav-inner {
	min-height: calc(100vh - 32px);
}

#mobileNavTrigger {
	position: relative;
	display: block;
	
	width:44px;
	height:44px;
	
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
	
	-moz-user-select: none;
	user-select: none;
	-webkit-user-select: none;
}

#mobileNavTrigger span {
	display: block;
	background-color: var(--primary);
	
	height: 2px;
	width: 20px;
	
	position: absolute;
	top: 50%;
	left: 12px;
	z-index: 1;
	
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}
	
#mobileNavTrigger span:nth-child(1) {
	margin-top: -6px;
}

#mobileNavTrigger span:nth-child(2) {
	 margin-top: 0px;
}

#mobileNavTrigger span:nth-child(3) {
	 margin-top: 6px;
}

#mobileNavTrigger:hover span:nth-child(1),
#mobileNavTrigger:hover span:nth-child(3) {
	width: 16px;
}

/**********************************
	mobileNavTrigger
**********************************/

body.mobileNavTrigger {
	overflow: hidden;
}

body.mobileNavTrigger #header {
	background:transparent;
	box-shadow: 0 0 0 transparent;
}

body.mobileNavTrigger #headerCenter,
body.mobileNavTrigger #headerRight {
	top: -100px;
	opacity: 0;
	visibility: hidden;
}

body.mobileNavTrigger #header #New-Day-Solar-Logo .wordMark {
	fill: var(--white);
}

body.mobileNavTrigger #mobileNav-container {
	bottom: 0;
	opacity: 1;
	visibility: visible;
	clip-path: circle(100% at 50% 50%);
	transition-duration: .6s
}

body.mobileNavTrigger #mobileNavTrigger {
	transform: rotate(180deg);
}

body.mobileNavTrigger #mobileNavTrigger span {
	background-color: var(--white);
}

body.mobileNavTrigger #mobileNavTrigger span:nth-child(1) {
	transform: rotate(45deg);
	margin-top: -1px;
	width: 18px;
}

body.mobileNavTrigger #mobileNavTrigger span:nth-child(2) {
	opacity: 0;
}

body.mobileNavTrigger #mobileNavTrigger span:nth-child(3) {
	transform: rotate(-45deg);
	margin-top: -1px;
	width: 18px;
}
/**********************************
	LAZYLOAD
**********************************/	

.elementor-widget-n-menu {
	opacity: 0;
	transition-duration:0.3s;
	transition-property:all;
	transition-timing-function:ease;
}
	.elementor-editor-active .elementor-widget-n-menu,
	.e-lazyloaded .elementor-widget-n-menu {
		opacity: 1;
	}

/**********************************
	MENU
**********************************/	

.e-n-menu-item .e-n-menu-title {
	transition-duration:0.3s;
	transition-property:all;
	transition-timing-function:ease;
}

.e-n-menu-content .e-con-boxed {
	left:50% !important;
	transform: translateX(-50%);
}

.e-n-menu-item:hover .e-n-menu-dropdown-icon {
	transform: rotate(180deg) !important;
}

/**********************************
	BLOCKQUOTE
**********************************/

blockquote {	
	border-left: 4px solid var(--primary);
	padding: 0 0 0 30px;
	margin: 20px 0;
}

/**********************************
	SCROLL PAST: MOBILENAV
**********************************/

body.mobileNav_scroll_past_top #headerLeft,
body.mobileNav_scroll_past_top #headerCenter,
body.mobileNav_scroll_past_top #headerRight {
	top: -100px;
	opacity: 0;
	visibility: hidden;
}	

body.mobileNav_scroll_past_top #mobileNavTrigger {
	background:var(--black-dark);
}

/**********************************
	popup
**********************************/

.elementor-popup-modal .dialog-close-button {
	padding: 10px;
	border-radius: 999em;
}

/**********************************
	eom
**********************************/	

#eom {
	transition-duration: .3s;
	transition-timing-function: ease-out;
	position: relative;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 10px;
	line-height: 14px;
	text-transform: uppercase
}

#eom a {
	text-decoration: none;
	color: rgba(121,136,139,.85) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5px 0;
	transition-duration: .3s;
	transition-timing-function: ease-out;
}

#eom a em {
	display: block;
	font-style: normal
}

#eom a svg {
	background: rgba(255,255,255,0);
	fill: rgba(121,136,139,.85);
	border-radius: 999em;
	width: 40px;
	height: 40px;
	margin: 0 0 0 10px;
	padding: 1px;
	display: inline-block;
	opacity: .5;
	transition-duration: .3s;
	transition-timing-function: ease-out;
	transform: rotate(0deg) scale(.95)
}

#eom a:hover {
	color: var(--grey) !important
}

#eom a:hover svg {
	background: #fff;
	fill: #0072bc;
	opacity: 1;
	transform: rotate(360deg) scale(1)
}

/**********************************
	TEXT EDITOR
**********************************/	

.elementor-widget-text-editor p:last-child {
	margin-bottom:0;
}

/**********************************
	ANIMATIONS
**********************************/ 

.fadeInUp {
	animation-name: fadeInUpNew !important;
}

@keyframes fadeInUpNew {
	from {
		opacity: 0;
		transform: translate3d(0, 20%, 0);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/**********************************
	TOOLTIPS
**********************************/ 

.tooltipster-base {
	display: flex;
	position: absolute;
}

.tooltipster-box {
	flex: 1 1 auto;
}

.tooltipster-content {
	box-sizing: border-box;
	max-height: 100%;
	max-width: 100%;
	overflow: auto;
}

.tooltipster-ruler {
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: fixed;
	right: 0;
	top: 0;
	visibility: hidden;
}

.tooltipster-fade {
	opacity: 0;
	transform:scale(.75);
	-webkit-transition-property: opacity, transform;
	-moz-transition-property: opacity, transform;
	-o-transition-property: opacity, transform;
	-ms-transition-property: opacity, transform;
	transition-property: opacity, transform;
}
.tooltipster-fade.tooltipster-show {
	opacity: 1;
	transform:scale(1);
}

@keyframes tooltipster-fading {
	0% {
		opacity: 0;
		transform:scale(.75);
	}
	100% {
		opacity: 1;
		transform:scale(1);
	}
}

.tooltipster-update-fade {
	animation: tooltipster-fading 400ms;
}


.tooltipster-sidetip .tooltipster-box {
	box-shadow: 0 0 10px rgba(0,0,0,.125);
	background: var(--black);
	border-radius: 4px;
}

.tooltipster-sidetip.tooltipster-bottom .tooltipster-box {
	margin-top: 8px;
}

.tooltipster-sidetip.tooltipster-left .tooltipster-box {
	margin-right: 8px;
}

.tooltipster-sidetip.tooltipster-right .tooltipster-box {
	margin-left: 8px;
}

.tooltipster-sidetip.tooltipster-top .tooltipster-box {
	margin-bottom: 8px;
}

.tooltipster-sidetip .tooltipster-content {
	color: var(--white);
	font-size:14px;
	line-height: 20px;
	padding: 10px 15px;
}

.tooltipster-sidetip .tooltipster-arrow {
	overflow: hidden;
	position: absolute;
}

.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
	height: 10px;
	margin-left: -10px;
	top: -2px;
	width: 20px;
}

.tooltipster-sidetip.tooltipster-left .tooltipster-arrow {
	height: 20px;
	margin-top: -10px;
	right: 0;
	top: 0;
	width: 10px;
}

.tooltipster-sidetip.tooltipster-right .tooltipster-arrow {
	height: 20px;
	margin-top: -10px;
	left: 0;
	top: 0;
	width: 10px;
}

.tooltipster-sidetip.tooltipster-top .tooltipster-arrow {
	bottom: -2px;
	height: 10px;
	margin-left: -10px;
	width: 20px;
}

.tooltipster-sidetip .tooltipster-arrow-background, 
.tooltipster-sidetip .tooltipster-arrow-border {
	height: 0;
	position: absolute;
	width: 0;
}

.tooltipster-sidetip .tooltipster-arrow-background {
	border: 10px solid transparent;
}

.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background {
	border-bottom-color: var(--black);
	left: 0px;
	top: 3px;
}

.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background {
	border-left-color: var(--black);
	left: -3px;
	top: 0px;
}

.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background {
	border-right-color: var(--black);
	left: 3px;
	top: 0px;
}

.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {
	border-top-color: var(--black);
	left: 0px;
	top: -3px;
}