/*
Theme Name: Global Assets Partners
Theme URI: https://jfdesigns.com
Description: Divi Child Theme
Author: JF Designs
Author URI: https://jfdesigns.com
Template: Divi
Version: 1.1.5
*/

/* Parent stylesheet should be loaded from functions.php not using @import */

/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
Note: The best way to structure the use of media queries is to create the queries
near the relevant code. For example, if you wanted to change the styles for buttons
on small devices, paste the mobile query code up in the buttons section and style it
there.
*/


/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {}

/* Larger than tablet */
@media (min-width: 750px) {}

/* Larger than desktop */
@media (min-width: 1000px) {}

/* Larger than Desktop HD */
@media (min-width: 1200px) {}



/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
    font-size: 62.5%;
}

body {
    font-size: clamp(14px, 0vw + 12px, 16px);
    /* currently ems cause chrome bug misinterpreting rems on body element */
    line-height: 1.6;
    font-weight: 400;
   font-family: 'Open Sans',Helvetica,Arial,Lucida,sans-serif;
    color: #222;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}


/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*Text CSS Clamp is based on 1080px > 467px */

.gap-base-text h1,
.gap-base-text h2,
.gap-base-text h3,
.gap-base-text h4,
.gap-base-text h5,
.gap-base-text h6 {
    margin-top: 0;
    margin-bottom: 0 !important;
    font-weight: 300;
}

.gap-base-text h1 {
    font-size: clamp(36px, 1vw + 29px, 45px);
    line-height: 1.2;
	letter-spacing:.03em;
    word-spacing: 0.3em;
}

.gap-base-text h2 {
    font-size: clamp(32px, 1vw + 26px, 40px);
    line-height: 1.25;
	letter-spacing:.03em;
    word-spacing: 0.3em; 
}

.gap-base-text h3 {
    font-size: clamp(25px, 1vw + 20px, 32px);
    line-height: 1.3;
	letter-spacing:.03em;
    word-spacing: 0.3em;
}

.gap-base-text h4 {
    font-size: clamp(22px, 1vw + 20px, 25px);
    line-height: 1.35;
	letter-spacing:.03em;
	word-spacing: 0.3em;
}

.gap-base-text h5 {
    font-size:clamp(20px, 1vw + 18px, 22px);
    line-height: 1.5;
}

.gap-base-text h6 {
    font-size: clamp(14px, 1vw + 11px, 18px);
    line-height: 1.6;
    letter-spacing: .05em;
	word-spacing: 0.3em;
    text-transform:uppercase;
}
.gap-base-text p {
    font-size: clamp(14px, 1vw + 11px, 18px);
    line-height: 1.7;
}
p {
    margin-top: 0;
}

.gap-base-text {
	font-size: clamp(14px, 1vw + 11px, 18px);
    line-height: 1.7
}
/* headings */
.gap-base-text h1 {
    margin-bottom: .125em;
    /* h1 line-height differs 
  * from other headings */
    line-height: 1.25 !important;
}

/* add space above headings
* when in text flow */
.gap-base-text p + h1,
.gap-base-text p + h2,
.gap-base-text p + h3,
.gap-base-text p + h4,
.gap-base-text p + h5,
.gap-base-text p + h6 {
    margin-top: .75em;
}

/* padding-bottom on last  
* p not in blockquote */
p:not(.has-background):last-of-type {
    padding-bottom: 1em;
}

blockquote > p:not(.has-background):last-of-type,
.et_pb_blurb_description > p:not(.has-background):last-of-type{
    padding-bottom: 0 !important;
}

/* utility class to remove */
.padding-0,
.no-padding {
    padding: 0 !important;
}

.padding-bottom-0 {
    padding-bottom: 0 !important;
}

/* add space above header
* if following list */
.gap-base-text ul + h1,
.gap-base-text ul + h2,
.gap-base-text ul + h3,
.gap-base-text ul + h4,
.gap-base-text ul + h5,
.gap-base-text ul + h6,
.gap-base-text ol + h1,
.gap-base-text ol + h2,
.gap-base-text ol + h3,
.gap-base-text ol + h4,
.gap-base-text ol + h5,
.gap-base-text ol + h6 {
    padding-top: .375em !important;
}

/* add space below list items */
.et_pb_text ul,
.et_pb_text ol {
    margin-left: 1.5em
}

.et_pb_text li {
    margin-bottom: .75em
}

.et_pb_row.col-bot-margin-none .et_pb_column {
    margin-bottom: 0px !important
}

::selection {
    background-color: #C52E36;
    color: #fff;
}
/* create inline display */
.display-inline-block{
	display:inline-block !important
}
/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
    color: #C52E36;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}

a:hover {
    color: #761B20;
}

/* Read More Link Button Appearance */
a.more-link, article a.more-link, .et_pb_post .post-content a.more-link {
    display: inline-block;
    background-color: #C52E36;
    border: none;
    border-radius: 2px;
    line-height: 1.7em !important;
    padding: 0.3em 1em;
	color:#FFFFFF;
	font-family: 'Open Sans',Helvetica,Arial,Lucida,sans-serif;
    text-transform: uppercase;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}

 a.more-link:hover, article .more-link:hover, .et_pb_post .post-content a.more-link:hover {
    background: #7c8787;
	padding: 0.3em 2em 0.3em 0.7em;
}

a.more-link:after, article a.more-link:after, .et_pb_post .post-content a.more-link:after {
     font-family: 'ETmodules' !important;
     font-size: 1.6em;
     line-height: 1em;
     content: "\35";
     opacity: 0;
     position: absolute;
     margin-left: -1em;
     -webkit-transition: all 0.2s;
     transition: all 0.2s;
     text-transform: none;
     -webkit-font-feature-settings: "kern" off;
     font-feature-settings: "kern" off;
     font-variant: none;
     font-style: normal;
     font-weight: 400;
     text-shadow: none;
     transition: all 300ms ease 0ms;
}
 a.more-link:hover:after, article a.more-link:hover:after, .et_pb_post .post-content a.more-link:hover:after{
     opacity: 1;
     margin-left: 0;
}
/* MULTI COLUMNS */
.mutli-col{
	display:flex;
	flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
	flex-wrap:no-wrap;
	column-gap:60px;
	row-gap:0px;
	align-content:flex-start;
	justify-content:space-around;
}
.mutli-col ul {
	margin-bottom:0px;
	padding-bottom:0px
}

/* Menu Search Styling */

.et_pb_menu .et_pb_menu__search-input,
.et_pb_fullwidth_menu .et_pb_menu__search-input {
    border: 0;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    width: 100%;
    color: #FFF;
    padding: 10px;
    background: #333;
}

::placeholder {
    color: #fff;
}

/*HIDE MENU LOGO UNTIL STICKY ON HOME PAGE ONLY */
@media all and (min-width: 767px) {
body.home  #fluid-header .et_pb_row--with-menu:not(.et_pb_sticky) .et_pb_menu__logo {
    content: url('');
    width: clamp(300px,20vw + 205px,425px);
    max-height: 90px;
    transition: all 300ms linear 0ms;
	}
}

/* Enable full menu on tablet */

@media all and (min-width: 980px) {
	#fluid-header .et_pb_menu_inner_container {
    display: flex;
	flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

#fluid-header .et_pb_menu__logo-wrap {
   /*display: flex;
   align-items: center;
   justify-content: center; */
}

#fluid-header .et_pb_menu__wrap {
   /* justify-content: center; */
}
	
	#fluid-header {background:#ffffff;
	}
	
    #fluid-header .et_pb_menu__menu {
        display: block;
        margin-top: auto;
        margin-bottom: auto;
        padding-bottom: 0px;
    }

    #fluid-header .et_mobile_nav_menu {
        display: none;
    }

    #fluid-header .et_pb_menu__search-button {
        font-size: clamp(14px, 1.1vw, 18px);
        line-height: clamp(14px, 1.1vw, 18px);
        display: flex;
        flex-direction: row;
        margin-top: 0;
        margin-bottom: 0px;
        margin-left: 30px;
    }
}


#fluid-header a {
    font-size: clamp(10px, 1.05vw + -0.32px, 12px);
	letter-spacing: 0.1em;
    word-spacing: 0.3em;
}

/* Use 'clamp function to size dropdown link */

#fluid-header li li a {
	font-size: clamp(10px, 1.05vw + -0.32px, 12px);
	letter-spacing: 0.1em;
    word-spacing: 0.3em;
}

/* Use 'clamp function to size menu LH padding */

#fluid-header .et_pb_menu .et-menu li {
    padding-left: clamp(2px, 6vw + -42px, 20px);
}
#fluid-header .et_pb_menu .et-menu li li {
    padding-left: 0;
}

.et_pb_text a {
    transition: all 300ms linear 0ms;
}


/* Adjust Menu Color When Sticky */
/*.jfd-menu .et-menu a {
    color: #FFF !important;
    text-decoration: none;
    display: block;
    position: relative;
}

 .et_pb_sticky .jfd-menu .et-menu a {
    color: #FFF !important;
    text-decoration: none;
    display: block;
    position: relative;
}
*/
/* ADD PADDING TO TOP MENU TO ALIGN WITH LOGO */
.et_pb_menu .et-menu>li {
   padding-bottom: 15px;
}

/*==== Start Underline Grow FOR MAIN MENU ====*/

.pa-underline-grow nav ul li a {
   position: relative;
}

.pa-underline-grow nav ul li a::before {
   content: "";
   position: absolute;
   bottom: 20px;
   height: 0;
   width: 0;
   left: 50%;
   opacity: 0;
   background-color: #C52E36;
   z-index: 2;
   display: block;
   -webkit-transition: .3s;
   -o-transition: .3s;
   transition: .3s;
   -webkit-transition-timing-function: cubic-bezier(.58, .3, .005, 1);
   -o-transition-timing-function: cubic-bezier(.58, .3, .005, 1);
   transition-timing-function: cubic-bezier(.58, .3, .005, 1);
}

.pa-underline-grow nav ul li a:hover::before {
	/*==== disable for drop menu ====*/
   width: 100%;
   left: 0;
   opacity: 1;
   height: 2px;
}

.pa-underline-grow nav ul li li a:before,
.pa-underline-grow nav ul li li a:hover::before {
   width: 100%;
   left: 0;
   opacity: 0;
   height: 0px;
}


/*==== End Underline Grow ====*/



/* Add styling to drop menu */
.et_pb_menu .et_pb_menu__menu .sub-menu {
    /* width:200px; */
    top: calc(100% - 20px);
    border: none;
    -webkit-box-shadow: 0px 15px 30px -15px rgba(0, 0, 0, 0.8);
    box-shadow: 0px 15px 30px -15px rgba(0, 0, 0, 0.8);
}

.et_pb_menu .et_pb_menu__menu .sub-menu ul.sub-menu {

}

.et-menu li li.menu-item-has-children > a:first-child:after {
    top: 0px;
}

.et_pb_menu .et_pb_menu__menu .sub-menu a {
    width: 240px;
	text-transform: uppercase;
}
/* HOME PAGE SLIDER SUBTITLE */
.home-page-mast-subtitle span.slider-tag strong {
	color:red;
	font-weight:700
}
@media only screen and (max-width: 767px) {
	.home-page-mast-subtitle p {
		padding:0px !important	
	}
	.home-page-mast-subtitle span.slider-tag {
	font-family: 'Michroma',Helvetica,Arial,Lucida,sans-serif;
	word-spacing:.2em;
	font-weight:400;
	color:#ffffff;
	display:inline-block;
	margin-top:0px !important;
	padding:.5em .5em .5em .5em;
	font-size:clamp(24px, 0.89vw + 19.84px, 30px);
	line-height: 1.5;	
	text-shadow: 0px 0px 15px #ffffff;
	}
	
	.home-page-mast-subtitle span.slider-tag-description {
    font-family: 'Michroma',Helvetica,Arial,Lucida,sans-serif;
	word-spacing:.2em;
	font-weight:400;
	display:inline-block;
	margin-top:0px !important;
	color:#ffc12b;
	background-color: transparent;
	padding:.5em .5em .5em .5em;
    font-size:clamp(18px, 0.3vw + 16.61px, 20px);
	line-height: 1.5;
	text-shadow: 0px 0px 15px #ffffff;
	}
	
	.home-page-mast-subtitle .wp-image-241879 {
	display:none;
	}
	
}
@media only screen and (min-width: 768px) {
	.home-page-mast-subtitle p {
	padding:0px !important	
	}
	
	.home-page-mast-subtitle span.slider-tag {
 	font-family: 'Michroma',Helvetica,Arial,Lucida,sans-serif;
  	word-spacing:.2em;
	font-weight:400;
	color:#ffffff;
	display:inline-block;
	margin-top:0px !important;
	background-color: transparent;
	padding:.5em .5em .5em .5em;
	font-size: clamp(20px, 1.49vw + 13.06px, 30px);
	line-height: 1.5;
	transform: translateY(0px);
	text-shadow: 0px 0px 15px #ffffff;
	}
	
	.home-page-mast-subtitle span.slider-tag-description {
	font-family: 'Michroma',Helvetica,Arial,Lucida,sans-serif;
	word-spacing:.2em;
	font-weight:400;
	display:inline-block;
	margin-top:0px !important;
	color:#ffc12b;
	background-color: transparent;
	padding:.5em .5em .5em .5em;
	font-size:clamp(18px, 0.3vw + 16.61px, 20px);
	line-height: 1.5;
	transform: translateY(0px);
	text-shadow: 0px 0px 15px #ffffff;
	}
	
}



/* Style the Blog Page */
@media only screen and (max-width: 767px) {
.et_pb_blog_grid .et_pb_post {
	margin: 36px 0px 36px 0px !important;
	-webkit-box-shadow: 0px 9px 28px -15px rgba(0,0,0,0.5);
    -moz-box-shadow: 0px 9px 28px -15px rgba(0,0,0,0.5);
    box-shadow: 0px 9px 28px -15px rgba(0,0,0,0.5);
    }
}

.et_pb_blog_grid .et_pb_post {
	margin:36px 18px;
	-webkit-box-shadow: 0px 9px 28px -15px rgba(0,0,0,0.5);
    -moz-box-shadow: 0px 9px 28px -15px rgba(0,0,0,0.5);
    box-shadow: 0px 9px 28px -15px rgba(0,0,0,0.5);
}


@media only screen and (max-width: 890px) {
	.mutli-col{
	display:flex;
	flex-direction:column;
	gap:0px;
	align-content:flex-start;
	justify-content:center;
	}
}
/*HOME PAGE SERVICE BLURBS */
.gap-home-blurb .et_pb_module_header{
	margin-top:15px;
}
.gap-home-blurb .et_pb_blurb_description {
	padding:0px 30px 30px 30px;
}

/* CONTACT FORM 7 STYLE OVERRIDES */

/* Removes a stubborn left border on containers set by Divi Theme */
#main-content .container:before {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: 0px;
    background-color: none;
}

/* Containers set to 100% Override */
.cf7sg-container .cf7-smart-grid.has-grid .container {
  max-width: 100% !important;
  padding: 0 0 !important;
  margin: 0 auto !important;
  width: 100% !important;
  flex-wrap: wrap;
  display: block;
}

@media (max-width: 980px) {

  /* Sets Tablet Column Width Breakpoints */
  .cf7sg-container .cf7-smart-grid.has-grid form .container .row .columns {
    float: none !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .cf7sg-container .cf7-smart-grid.has-grid form .container .row .columns.one-half {
    float: left !important;
    margin: 0 0 0 2.12766% !important;
    width: 48.93617% !important;
  }

  .cf7sg-container .cf7-smart-grid.has-grid form .container .row .columns.one-half:first-child {
    float: left !important;
    margin: 0 0 0 0 !important;
    width: 48.93617% !important;
  }

  .cf7sg-container .cf7-smart-grid.has-grid form .container .row .columns.one-third {
    float: left !important;
    margin: 0 0 0 2.12766% !important;
    width: 31.91489% !important;
  }

  .cf7sg-container .cf7-smart-grid.has-grid form .container .row .columns.one-third:first-child {
    float: left !important;
    margin: 0 0 0 0 !important;
    width: 31.91489% !important;
  }
}

@media (max-width: 768px) {

  /* Sets Mobile Column Width Breakpoints */
  .cf7sg-container .cf7-smart-grid.has-grid form .container .row .columns,
  .cf7sg-container .cf7-smart-grid.has-grid form .container .row .columns.one-half,
  .cf7sg-container .cf7-smart-grid.has-grid form .container .row .columns.one-half:first-child,
  .cf7sg-container .cf7-smart-grid.has-grid form .container .row .columns.one-third,
  .cf7sg-container .cf7-smart-grid.has-grid form .container .row .columns.one-third:first-child {
    float: none !important;
    margin: 0 0 0 0 !important;
    width: 100% !important;
  }

  /* Adds Margin-top to School Listing Rows on Mobile */
  .cf7sg-container .cf7-smart-grid.has-grid .container.spacer-margin-top {
    margin-top: 15px !important;
  }

}
/* Sets line-height to the form paragraphs */
.cf7sg-container {
  line-height: 1.7!important;
}
/* Adds Margin-top to a Module */
.spacer-margin-top {
  margin-top: 30px !important;
}


/* Adds Margin-top to a Field Labels */
.cf7-smart-grid.has-grid .field > label {
  display: block;
  margin-top: 15px;
  margin-bottom: 5px;
}

span.wpcf7-list-item {
  display: block !important;
}

span.desc-caption {
  font-size: .75em
}

/* Sets Font Size for File Upload Field */
.codedropz-upload-inner h3 {
  font-size: 1em !important
}
.numbered-list ol {
  list-style-type: decimal;
  margin-left: 1.5em;
  list-style-position: outside!important;
  padding-left: 15px!important;
  padding-bottom: 1em;
}   
.numbered-list li{
  margin-bottom: .75em;
}   
.cf7-smart-grid.has-grid .info-tip {
  font-size: 80%;
  font-style: italic;
  color: grey;
  margin: 5px 0 5px 0;
}

/* Styling the Signature Box*/
.wpcf7-form-control-signature-body canvas{
  width:100%;
  height:150px;
  border: 1px solid #e0e0e0;
  border-radius: 5px;
  color:#333333;
  background:#eee;
}
.wpcf7-form-control-signature-wrap {
  width:70% !important;
  height:165px !important;
}

@media screen and (max-width: 768px) {
  .wpcf7-form-control-signature-wrap {
    width:100% !important;
  }
} 
input[type="button" i] {
  color: #311a4f!important;
  border-color: #311a4f;
  font-size: 14px;
  font-weight: 500;
  padding: .3em 1em;
  line-height: 1.7em!important;
  background-color: transparent;
  background-size: cover;
  background-position: 50%;
  background-repeat: no-repeat;
  border: 2px solid;
  border-radius: 3px;
} 
input[type="button" i]:hover {
  background-color: rgba(0,0,0,.05);
}    
.wpcf7-response-output {
  /*display: none !important; */
	display: block
}
.wpcf7 form.sent .cf7sg-response-output {
    display: none !important;
}
.cf7-smart-grid.has-grid div.field span.wpcf7-not-valid-tip {
  /* display: none !important; */
    text-transform: uppercase !important;
    font-size: 10px !important;
    letter-spacing: .5px !important;
    font-weight: 700 !important;
    display: block !important;
    position: relative !important;
    left: 0 !important;
    top: 100% !important;
    padding: 3px 0px 20px 0px !important;
    min-width: auto !important;
    line-height: 1.2em !important;
    z-index: 7777 !important;
    background: none !important;
}
.wpcf7-not-valid {
  border: 1px solid red !important;
}
.wpcf7-form.sent div.container
{
    display:none  !important;
	-webkit-transition: all 0.5s 0s ease;
-moz-transition: all 0.5s 0s ease;
-o-transition: all 0.5s 0s ease;
transition: all 0.5s 0s ease;
}

.wpcf7 div.wpcf7-response-output {
   font-size:22px;
	text-align:center;
}