/*
Theme Name: ChildTheme
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/


/* ------ fonts ------- */

/* font sizing and new classes */
.display-1 {
    font-size: clamp(55px, 1em + 7vw, 160px) !important;
	display: block;
}

.display-2 {
    font-size: clamp(55px, 1em + 5vw, 130px) !important;
	display: block;
}

.display-3 {
	font-size: clamp(45px, 1em + 4vw, 100px) !important;
	display: block;
 }
 
.display-4{
	font-size: clamp(40px, 1em + 3vw, 80px) !important;
	display: block;
}

.banner .res-text{
	font-size: 100% !important;
}

h1, h2, h3, h4, h5{
	margin-bottom: 15px;
}

h3, h4, h5, h6{
	line-height: 1.5;
}

h1{
	font-size: clamp(2.5em, 1em + 5vw, 3.5em);
}

h2{
	font-size: clamp(2.2em, 1em + 2vw, 2.8em);
}

h3{
	font-size: clamp(1.6em, 1em + 1.7vw, 2.2em);
}

h4{
	font-size: clamp(1.3em, 1em + 1.5vw, 1.7em);
}

h5{
	font-size: clamp(1.1em, 1em + .8vw, 1.4em);
}

h6{
	font-size: clamp(.9em, 1em + 0.3vw, 1.15em);
}

p, a span{
	font-size: clamp(.9em, 1em + .3vw, 1.15em);
}

p.lead{
	font-size: clamp(1.1em, 1em + .3vw, 1.3em);
}

.small{
	font-size: clamp(.7em, .8em + .3vw, 1em);
}

/* ------ Google Maps ------- */
/* adjust padding to change the height of maps */

.google-maps {
  position: relative;
  padding-bottom: 64%;
  height: 0;
  width:  100%;
  overflow: hidden;
}

.google-maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}


/* ------ Flatsome icons ------- */
/*change color of checkmarks from flatsome's green */
.dark ul li.bullet-checkmark:before, .dark ul li.bullet-arrow:before, .dark ul li.bullet-star:before{
	color: white;
}

/* change the color of bullets. Set your colors at the top */
ul li.bullet-checkmark:before, ul li.bullet-arrow:before, ul li.bullet-star:before{
	color: var(--fs-color-primary);
}

/* ------ Gravity Forms ------- */
.gform_wrapper legend{
    text-transform: none !important; 	
}

.gform_wrapper label{
    color: inherit;
}

.gform_wrapper .ginput_complex label{
	font-size: .8em !important;
}

.full-width .gform_button.button{
    width: 100%
}

.gform_wrapper.gravity-theme .gfield-choice-input{
	margin-bottom: 0;
}

.gform_wrapper .gfield_required{
	color: var(--fs-color-primary) !important;
}

.gform_button.button{
	border-radius: 5px;
}

/* horizontal forms */
.gform_wrapper .gf_simple_horizontal .gform_body{
	width: 100%;
	max-width: unset;
}

.gform_wrapper .gf_simple_horizontal .gform_button.button{
	margin: 0;
}

/* ------ Buttons ------- */
/* align buttons at bottom of cards (must be set to equal) */
.align-buttons:not(.push-down) .button, .push-down .col-inner div:nth-of-type(2){
	margin-top: auto;
}

.align-buttons .col-inner{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.align-buttons .text-center.col-inner{
	align-items: center;
}

.align-buttons .col-inner div{
	width: 100%;
}

/* for nested row buttons */

.align-buttons .col-inner > .row{
	height: 100%;
}

.align-buttons .row .col{
	padding-bottom: 0;
}

.align-buttons .row .col-inner{
	display: flex;
	height: 100%;
}

/* fix spacing on buttons */
.button{
	padding: .5em 1.5em;
	line-height: 1.6 !important;
}

.button span {
    display: inline;
}

@media (min-width: 850px){
	.center-lg-left-md .col-inner{
		text-align: center;
	}
}

/* fix social icons */
.social-icons .button.circle.icon{
	padding: 0;
}

.social-icons .button.circle.icon i{
	position: absolute;
	left: 50%;
	top: 50%; 
	transform: translate(-50%, -50%);
}

/* white button text color */
.button.white:not(.is-outline, .is-link, .is-underline), .button.white.is-outline:hover{
	color: var(--fs-color-primary) !important;
}

/* banner fix */
.banner a.fill{
	z-index: 11;
}

/* horizontally align icons */

.align-icons{
    align-items: center;
}


/* ------ Fill image height ------- */

.fill img, .fill .img-inner{
	height: 100%;
}

.fill img{
	object-fit: cover;
}

.show-radius .col-inner{
	overflow: hidden;
}

/* ------ Clickable Cards ------- */

/* position the a tag */
.clickable-card .clickable-card-link{
	position: absolute;
	display: block;
	width: 100%; 
	height: 100%;
	top: 0; 
	left: 0;
	z-index: 99;
}

.clickable-card .clickable-card-link span{
	font-size: 0;
	height: 0;
}

.clickable-card .clickable-card-link i{
	display: none;
}

/* hover effects */ 
.clickable-card > .col-inner, .clickable-card > .col-inner img{
	transition: .2s ease-in-out;
}

.clickable-card > .col-inner:hover{
	background-color: var(--fs-color-primary) !important; /* on hover, change your card color to a new color */
}

.clickable-card > .col-inner:hover *{
	color: white; /* make all the text inside your hovered card white */
}

.clickable-card > .col-inner:hover img{
	transform: scale(1.1); /* if you have an image in your card, make it grow on card hover */
}

/* ------ Flatsome Fixes ------- */
/* fix flatsome overlay error */
.overlay{
	width: calc(100% + 2px) !important;
}

/* fix for sliders with row align middle */
.flickity-slider .align-middle{
	align-self: unset !important;
}

/* fix alignment on absolute footer */
@media (min-width: 850px){
	.footer-secondary{
		padding: 0px !important;
	}
}


/* icon box fixes */
/* icon position on mobile for left aligned */
@media (max-width: 549px){
	.icon-box-left{
		display: block;
	}

	.icon-box-left .has-icon-bg .icon{
		position: unset;
	}

	.icon-box-left .icon-box-img+.icon-box-text {
		padding-left: 0px;
		padding-top: 15px;
	}
}

/* turn off hover for non-clickable elements */
.icon-box:hover:not(a .icon-box) .has-icon-bg .icon .icon-inner{
	background-color: transparent;
}

.icon-box:hover:not(a .icon-box) .has-icon-bg i, .icon-box:hover:not(a .icon-box) .has-icon-bg svg, .icon-box:hover:not(a .icon-box) .has-icon-bg svg path{
	fill: currentColor;
}

.dark a .icon-box:hover .has-icon-bg i, .dark a .icon-box:hover .has-icon-bg svg, .dark a .icon-box:hover .has-icon-bg svg path{
	fill: var(--fs-color-primary);
}

/* ------ Adjust Flatsome sizing ------- */
/* limit size of containers on mobile */
@media only screen and (max-width: 1200px){
	.container-width, .full-width .ubermenu-nav, .container:not(.banner-layers), .row:not(.row-collapse){
		width: calc(100% - 30px);
	}
}

/* adjust space on sides on >tablet */
@media screen and (min-width: 550px){
	
	/* header */
	.container{
		padding-left: 60px; 
		padding-right: 60px;
	}

	/* rows */
	.row:not(.row-full-width):not(.row .row){
		padding-left: 45px;
		padding-right: 45px;
	}
}

/* break to 6 or 12 columns at 1024px instead of 850px */
@media (max-width: 1024px) and (min-width: 850px){
	.break-early-6{
		flex-basis: 50%;
        max-width: 50%;
	}

	.break-early-12{
		flex-basis: 100%;
        max-width: 100%;
	}
	
	.be-remove-border:before {
		border-left: none !important;
	}

	.be-add-border:before{
		border-left: 1px dashed #ddd !important;
	}
}

/* ------ Add gradient overlays ------- */
/* half overlay */
.half-overlay * {
	z-index: 2;
}

.half-overlay .img-inner:before, .half-overlay .banner-bg:before{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(0deg, rgba(0, 0, 0, .35) 30%, rgba(0,0,0,0) 100%); /*customize gradient here*/
	z-index: 3;
}

@media (min-width: 850px){
	.half-overlay-left .section-bg-overlay{
		background-color: transparent !important;
		background: linear-gradient(90deg, rgba(0, 0, 0, .5) 0%, rgba(0,0,0,0) 100%); /*customize gradient here*/
	}
	
	.half-overlay-right .section-bg-overlay{
		background-color: transparent !important;
		background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0, 0, 0, .5) 100%); /*customize gradient here*/
	}
}


/* ------ Divided row fixes ------- */
/* divided borders on rows */
.row.row-divided > .col{
	padding-bottom: 0px;
}

@media (min-width: 850px){
	/* divided rows - add spacing for desktop */
	.row-divided .col-inner{
		padding: 30px;
	}
	
	.row.row-divided{
		padding-right: 15px !important;
		padding-left: 15px !important;
	}
}

@media (max-width: 849px){
	/* divided rows - add border and adjust spacing for mobile */
	.row-divided .col-inner{
		padding: 30px 0px 15px;
	}
	
	.row-divided>.col+.col:not(.large-12){
		border-top: 1px solid #ececec;
	}
}

/* Solid & Dashed borders on rows */
.row-solid > .col:first-child:before, .row-dashed > .col:first-child:before {
	border-left: none;
}

.row-dashed .col-inner, .row-solid .col-inner{
	padding: 30px;
}

.row.row-collapse.row-dashed .col-inner, .row.row-collapse.row-solid .col-inner{
	padding: 0px;
}

.row.row-small.row-dashed .col-inner, .row.row-small.row-solid .col-inner{
	padding: 15px;
}

.row-collapse.row-solid, .row-collapse.row-dashed{
	padding-right: 30px !important;
	padding-left: 30px !important;
}

@media (min-width: 550px){
	.row.row-large.row-dashed .col-inner, .row.row-large.row-solid .col-inner{
		padding: 50px;
	}

	.row.row-solid, .row.row-dashed{
		padding-right: 30px !important;
		padding-left: 30px !important;
	}

	.row-collapse.row-solid, .row-collapse.row-dashed{
		padding-right: 75px !important;
		padding-left: 75px !important;
	}
}

@media (max-width: 549px){
	.row-dashed .col-inner, .row-solid .col-inner{
		padding: 30px 15px;
	}
}


@media (min-width: 550px) and (max-width: 849px){
	.row-solid > .col.medium-12:before, .row-solid > .col.medium-6:nth-child(2n+1):before, .row-solid > .col.medium-5:nth-child(2n+1):before, .row-solid > .col.medium-4:nth-child(3n+1):before, .row-solid > .col.medium-3:nth-child(4n+1):before, .row-solid > .col.medium-2:nth-child(6n+1):before,  .row-solid > .col.medium-2:nth-child(12n+1):before, 
	.row-dashed > .col.medium-12:before, .row-dashed > .col.medium-6:nth-child(2n+1):before, .row-dashed > .col.medium-5:nth-child(2n+1):before, .row-dashed > .col.medium-4:nth-child(3n+1):before, .row-dashed > .col.medium-3:nth-child(4n+1):before, .row-dashed > .col.medium-2:nth-child(6n+1):before, .row-dashed > .col.medium-2:nth-child(12n+1):before, 
	.remove-border-md:before 
	{
		border-left: none;
	}

	.add-border-md:before{
		border-left: 1px dashed #ddd !important;
	}

	.row-solid .add-border-md:before{
		border-left-style: solid
	}
}

@media (min-width: 850px){
	.row-solid > .col.large-12:before, .row-solid > .col.large-6:nth-child(2n+1):before, .row-solid > .col.large-5:nth-child(2n+1):before, .row-solid > .col.large-4:nth-child(3n+1):before, .row-solid > .col.large-3:nth-child(4n+1):before, .row-solid > .col.large-2:nth-child(6n+1):before,  .row-solid > .col.large-2:nth-child(12n+1):before, 
	.row-dashed > .col.large-12:before, .row-dashed > .col.large-6:nth-child(2n+1):before, .row-dashed > .col.large-5:nth-child(2n+1):before, .row-dashed > .col.large-4:nth-child(3n+1):before, .row-dashed > .col.large-3:nth-child(4n+1):before, .row-dashed > .col.large-2:nth-child(6n+1):before, .row-dashed > .col.large-2:nth-child(12n+1):before, 
	.remove-border-lg.col:before 
	{
		border-left: none;
	}

	.add-border-lg:before{
		border-left: 1px dashed #ddd !important;
	}

	.row-solid .add-border-lg:before{
		border-left-style: solid !important;
	}
}

/* ------ Classes Unique to this site ------- */