/*
Theme Name: Divi Theme Child
Theme URI: https://jfdesigns.com
Description: Divi Child Theme
Author: JF Designs
Author URI: https://jfdesigns.com
Template: Divi
Version: 1.1
*/

/* 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) {
}

/* MAKE DIVI MODAL WIDOW MENU FIXED */
.mce-panel .mce-stack-layout-item.mce-first {
    position: sticky !important;
    top: -60px;
}


/* STYLE GUIDE PAGE ONLY */

   .colordvconline {
   float: left;
   margin: 5px 0;
   text-align: center;
   padding: 0;
   width: 90px;
   text-transform:uppercase;
   color:#ccc;
   }
   .colordvaline {
   height: 90px;
   width: 100%;
   }
   .clearfix:before, 
   .clearfix:after {
   display: table;
   content: " ";
   }
   .clearfix:after {
   clear: both;
   }

/* 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%;
}
:root {
  --primary-color: hsla(358, 53%, 32%, 1);
  --primary-color-dark: hsla(110, 45%, 35%, 1);
}

 body {
	 /* FLUID KEY: 1140PX - 467PX */
     font-size: clamp(14px, 0.59vw + 11.22px, 18px);
    /* currently ems cause chrome bug misinterpreting rems on body element */
     line-height: 1.6;
     font-weight: 400;
     font-family: Roboto, Helvetica, Arial, sans-serif;
     color: #222;
     -webkit-transition: all .5s ease;
     -moz-transition: all .5s ease;
     -o-transition: all .5s ease;
     transition: all .5s ease;
}
/* Typography –––––––––––––––––––––––––––––––––––––––––––––––––– */
/* FLUID KEY: 1140PX - 467PX */
 .jfd-base-text h1, .jfd-base-text h2, .jfd-base-text h3, .jfd-base-text h4, .jfd-base-text h5, .jfd-base-text h6 {
     margin-top: 0;
     margin-bottom: 0 !important;
     font-weight: 300;
}
 .jfd-base-text h1 {
     font-size: clamp(36px, 1vw + 29px, 45px);
     line-height: 1.2;
}
 .jfd-base-text h2 {
     font-size: clamp(32px, 1vw + 26px, 40px);
     line-height: 1.25;

}
 .jfd-base-text h3 {
     font-size: clamp(25px, 1vw + 20px, 32px);
     line-height: 1.3;
}
 .jfd-base-text h4 {
     font-size: clamp(22px, 1vw + 20px, 25px);
     line-height: 1.35;
}
 .jfd-base-text h5 {
     font-size:clamp(20px, 1vw + 18px, 22px);
     line-height: 1.5;
}
 .jfd-base-text h6 {
     font-size: clamp(14px, 1vw + 11px, 18px);
     line-height: 1.6;
     letter-spacing: .05em;
     text-transform:uppercase;
}
 .jfd-base-text, .jfd-base-text p {
     font-size: clamp(14px, 1vw + 11px, 18px);
     line-height: 1.7;
}
 p {
     margin-top: 0;
}
/* headings */
 h1 {
     margin-bottom: .125em;
    /* h1 line-height differs * from other headings */
     line-height: 1.25 !important;
}
/* add space above headings * when in text flow */
 p + h1, p + h2, p + h3, p + h4, p + h5, 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 {
     padding-bottom: 0 !important;
}
 sup{
     bottom: 0.5em;
     font-size:.7em 
}
/* 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 */
 ul + h1, ul + h2, ul + h3, ul + h4, ul + h5, ul + h6, ol + h1, ol + h2, ol + h3, ol + h4, ol + h5, 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 
}

/* create inline display */
.display-inline-block{
	display:inline-block !important
}
/* Links –––––––––––––––––––––––––––––––––––––––––––––––––– */
 a {
     color: #3B6B80;
     -webkit-transition: all .5s ease;
     -moz-transition: all .5s ease;
     -o-transition: all .5s ease;
     transition: all .5s ease;
}
 a:hover {
     color: #89a6b2;
}
/* Read More Link Button Appearance */
 a.more-link, article a.more-link, .et_pb_post .post-content a.more-link {
    clear: both;
    display: inline-block;
    text-align: center;
    padding: 0.5em 1em 0.5em 1em;
    color: #333 !important;
    border: solid 1px !important;
    border-color: #333 !important;
    border-radius: 2px;
    letter-spacing: 0.05em;
    font-size: 1em;
    line-height: 1.3em;
    /*font-family:  ; */
    font-weight: 600!important;
    text-transform: uppercase!important;
    background-color: #FFFFFF;
	-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 {
    padding: 0.5em 2em 0.5em 0.7em;
    color: #333!important;
    border-color: #333!important;
    background-color: #e1e1e1;
}
 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.3em;
     line-height: .85em;
     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
}

@media only screen and (max-width: 890px) {
	.mutli-col, .mutli-col-no-wrap  {
	display:flex;
	flex-direction:column;
	gap:0px;
	align-content:flex-start;
	justify-content:center;
	}
	.mutli-col-no-wrap {
	display:flex;
	flex-direction:row;
	gap:30px;
	align-content:flex-start;
	justify-content:center;
	}
}

/* RESPONSIVE IMAGE FILLS DIVI COLUMN */

/*ADD jfd-full-height-image-column CLASS TO IMAGE AND SET ROW TO EQUALIZE HEIGHT */

/*this sets the height of the image module*/
.jfd-full-height-image-column {
	height: 100%;
}

/*this sets the height of the image container*/

.jfd-full-height-image-column .et_pb_image_wrap {
	height: 100%;
}

/*this sets the height and fit of the actual image*/
.jfd-full-height-image-column img {
	object-fit: cover;
	height: 100%;
}
/* 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: #7B8794;
}
 .et_pb_menu .et_pb_menu__search-input, .et_pb_fullwidth_menu .et_pb_menu__search-input::placeholder {
     color: #fff;
}
/* Enable full menu on tablet */
 @media all and (min-width: 980px) {
     #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, 1vw + 11px, 18px);
         line-height: clamp(14px, 1vw + 11px, 18px);
         display: flex;
         flex-direction: row;
         margin-top: 0;
         margin-bottom: 0px;
         margin-left: 30px;
    }
}
 #fluid-header a {
    /* FLUID KEY: 1140PX - 1080PX */
     font-size: clamp(14px, 3.33vw + -22px, 16px);
}
/* Use 'clamp function to size dropdown link */
 #fluid-header li li a {
    /* FLUID KEY: 1140PX - 1080PX */
    /*font-size: clamp(12px, 3.33vw + -24px, 14px);
     */
     line-height: 1.7em;
}
/* 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;
}

 /* special menu link hover only when the menu is sticky */
#fluid-header .et_pb_sticky .et_pb_menu ul li a:hover {
      color: var(--primary-color) !important;
}
/*SCROLLING ACTIVE LINK COLOR CHANGE ACTIVE STATE */
#fluid-header .alg-anchor-menu.et_pb_menu a.active {
    color: var(--primary-color) !important;
}

/* Add styling to drop menu */
 .et_pb_menu .et_pb_menu__menu .sub-menu {
    /* width:200px;
     */
     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: none !important;
}


/*set the Divi menu dropdown auto width*/
@media only screen and (min-width: 981px) {
	.nav li ul {
		width: fit-content;
		display: flex;
		flex-direction: column;
	}
	.nav li li {
		white-space: nowrap;
	}
	.nav li li a {
		width: auto !important;
	}
}

/* MENU CTA BUTTON */
 @media (min-width: 980px) {
     #fluid-header .menu_cta {
         position:relative;
		 padding-left: clamp(5px, 0.74vw + 1.53px, 10px) !important;
		 padding-right: clamp(5px, 0.74vw + 1.53px, 10px) !important;
         height: 46px;
         margin-top:auto;
         margin-bottom:auto;
		 margin-left:30px;
         color: var(--primary-color);
		 background: #ffffff;
         border-radius: 5px;
         font-weight: 600;
         cursor: pointer;
         transition: all 300ms linear 0ms;
    }
	 #fluid-header  .et_pb_sticky .menu_cta {
         color: #ffffff;
		 background: var(--primary-color);
    }
	 
     #fluid-header .menu_cta:hover{
		 opacity:1;
         background: var(--primary-color);
	 }
	  #fluid-header .et_pb_sticky .menu_cta:hover{
		 opacity:1;
         background: #fff;
	 }
	 
     #fluid-header .menu_cta:active {
         box-shadow: 0px 2px 0px 0px rgba(0,0,0,.2);
         top: 1px;
    }
     #fluid-header .XXXmenu_cta:after {
         content: '';
         width: 0;
         height: 0;
         display: block;
         border-top: 22px solid #CDA77F;
         border-bottom: 22px solid #CDA77F;
         border-left: 16px solid transparent;
         border-right: 20px solid #CDA77F;
         position: absolute;
         opacity: 0.6;
         right: 0;
         top: 0;
         border-radius: 0;
    }
     #fluid-header .menu_cta a{
         color: var(--primary-color) !important;
         text-align: left;
         padding: 15px;
    } 
	  #fluid-header .et_pb_sticky .menu_cta a{
         color: #ffffff !important;
         text-align: left;
         padding: 15px;
    } 
	 #fluid-header .menu_cta:hover a{
         opacity:1;
		 color: #ffffff !important;
         text-align: left;
    } 
}
/* 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);
}
/* CONTACT FORM 7 STYLE OVERRIDES */
/* Removes a stubborn left border on containers set by Divi Theme */
 #main-content .container:before {
     content: 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: #800000!important;
     border-color: #800000;
     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-form-control::placeholder {
     color: #333 !important;
}
 .wpcf7-response-output {
    /*display: none !important;
     */
     display: block 
}
 .wpcf7 form.sent .cf7sg-response-output {
     display: none !important;
}
 .wpcf7-not-valid-tip {
    /* display: none !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 0px 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;
}



/* Payment Button */
.et_pb_button_module_wrapper.et_pb_button_0_tb_header_wrapper.et_pb_module{
    max-width: 1140px;
    margin-inline: auto;
  text-align: right;
}
/* Payment Button Mobile Layout */
 @media (max-width: 1260px) {
	 .et_pb_button_module_wrapper.et_pb_button_0_tb_header_wrapper.et_pb_module{
    max-width: 90%;
    margin-inline: auto;
 	 text-align: right;
	padding-right:5%
 }
}





