/*
Theme Name: Divi-infosite-child - DEV SITE
Template: Divi
Theme URI: http://www.devinfosite.fusionpreteens.com
Version: 3.0.60
Description: This is a child theme of divi, created for the info website.
Author: Mark Cunzolo
Author URI: http://www.markcunzolo.com
*/

/*=================================================================================================================================*/
/*------------------------------------------------------------- Colors ------------------------------------------------------------*/
/*=================================================================================================================================*/

/*---------- Colors // BEGIN ------------------------------------------- 

Body background color = #f3f3f3
Body default text color = #404041
Primary nav and footer background color = #58595b
Mobile menu background color = #343434


Official rebrand colors
Purple = #8947dc
Orange = #fda074
Green = #00da98
Blue = #00afd0
Red = #f52a6c

-----------------------------------------------------------------------*/

/*=================================================================================================================================*/
/*------------------------------------------------------------- Fonts -------------------------------------------------------------*/
/*=================================================================================================================================*/

/*---------- Typekit font ---------------------------------------------

font-family = proxima-nova
weights = thin 100 / light 300 / regular 400 / medium 500 / semibold 600 / bold 700
style = all normal

Headlines = bold
Subheadings = semibold
Body text = regular

----------------------------------------------------------------------*/

/*=================================================================================================================================*/
/*----------------------------------------------------- Global styling/resets -----------------------------------------------------*/
/*=================================================================================================================================*/

* {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

html {
  font-size: 100%;
}

body {
  background-color: #343434;
  color: #404041;
  font-family: "proxima-nova", "Open Sans", Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  min-width: 320px;
}

@media screen and (max-width: 768px) {
  /*reduce base font size to 16px for tablet and lower*/
  body {
    font-size: 16px;
  }
}

#page-container {
  background-color: #f3f3f3;
}

#page-container article.project {
  margin-bottom: 0;
}

/*eliminates divi blue and inherits default body color*/
a {
  color: inherit;
}

/*eliminates bottom padding for nested lists*/
li.nested-list ul,
li.nested-list ol {
  padding-bottom: 0;
}

/* added 1/25/2022 for updated branding */

@font-face {
  font-family: "Larken Extra Bold";
  src: url("/wp-content/themes/divi-infosite-child/fonts/Larken-ExtraBold.otf");
}

@font-face {
  font-family: "Larken Extra Bold Italic";
  src: url("/wp-content/themes/divi-infosite-child/fonts/Larken-ExtraBoldItalic.otf");
}

@font-face {
  font-family: "Larken Italic";
  src: url("/wp-content/themes/divi-infosite-child/fonts/Larken-Italic.otf");
}

@font-face {
  font-family: "Gotham Bold";
  src: url("/wp-content/themes/divi-infosite-child/fonts/Gotham-Bold.otf");
}

@font-face {
  font-family: "Gotham Black";
  src: url("/wp-content/themes/divi-infosite-child/fonts/Gotham-Black.otf");
}

@font-face {
  font-family: "Gotham Medium";
  src: url("/wp-content/themes/divi-infosite-child/fonts/Gotham-Medium.otf");
}

@font-face {
  font-family: "Gotham Book";
  /*src: url("/wp-content/themes/fonts/GothamBook.ttf"); changed 7-6-2023*/
  src: url("/wp-content/themes/divi-infosite-child/fonts/Gotham-Book.otf");
}

@font-face {
  font-family: "Druk Wide Bold";
  src: url("/wp-content/themes/divi-infosite-child/fonts/Druk-Wide-Bold.ttf");
}

/* 2023 Branding refresh colors */
:root {
  --color-grit-blue: #252b36;
  --color-beige: #d7b259;
  --color-light-gray: #c9c9c6;
}

.grit-blue-color {
  color: var(--color-grit-blue);
}

.beige-color {
  color: var(--color-beige);
}

/*=================================================================================================================================*/
/*--------------------------------------------------- Typography global styling ---------------------------------------------------*/
/*=================================================================================================================================*/

h1,
h2,
h3,
h4,
h5,
h6 {
  color: inherit;
  line-height: 1.4;
}

h1 {
  font-size: 1.602em;
} /*used a 1.125 modular scale*/
h2 {
  font-size: 1.424em;
}
h3 {
  font-size: 1.125em;
}
h4 {
  font-size: 1em;
  font-family: "Gotham Bold";
}
h5 {
  font-size: 0.889em;
}
h6 {
  font-size: 0.79em;
}

p {
  line-height: 1.5;
  letter-spacing: 0.009em;
}

.white-text {
  color: white;
}

/*=================================================================================================================================*/
/*--------------------------------------------------------- Menu settings ---------------------------------------------------------*/
/*=================================================================================================================================*/

/*color of mobile menu icon*/
span.mobile_menu_bar:before,
span.mobile_menu_bar:after {
  color: #ffffff !important;
}

/* change current page highlight color in header Nav */
#top-menu li.current-menu-item > a {
  color: #8c8985;
}

/*change mobile icon to X when opened*/
.mobile_nav.opened .mobile_menu_bar:before {
  content: "\4d";
}

/*widen the menu on mobile header*/
@media screen and (max-width: 980px) {
  #main-header .clearfix.et_menu_container {
    width: 90%;
  }
}

/* to indent the Marriage & Family Ministry Roadmap menu items, added 9/10/2023 */
#top-menu li li.roadmap-submenu-item a {
  padding-left: 35px;
  line-height: 1.3;
}

.et_mobile_menu li.roadmap-submenu-item a {
  padding-left: 45px;
}

#top-menu li li a {
  padding-left: 10px;
}

#top-menu li li#menu-item-28353 a {
  line-height: 1.3;
}

/*
added board-nav-link-last class to next gen as last of type does not work on classes
this pushes the final 3 links down since they are not in separate containers
*/
#mobile_menu_slide li.board-nav-link-last {
  margin-bottom: 1em;
}
#mobile_menu_slide li.normal-nav-link-last {
  margin-bottom: 2em;
}

/* stop hover opacity effect */
.et_mobile_menu li a {
  opacity: 1;
}
.et_mobile_menu li a:hover {
  opacity: 1;
}
.et_slide_in_menu_container #mobile_menu_slide li li a {
  opacity: 0.7;
}
.et_slide_in_menu_container #mobile_menu_slide li li a:hover {
  opacity: 0.7;
}

/***** styling of the actual links -- BEGIN *****/
.et_slide_in_menu_container #mobile_menu_slide li.board-nav-link a,
.et_slide_in_menu_container #mobile_menu_slide li.normal-nav-link a {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1pt;
  line-height: 1;
  text-transform: uppercase;
}

.et_slide_in_menu_container #mobile_menu_slide li.board-nav-link a {
  color: #00da98;
}

/*separate links and toggle arrow color*/
.et_slide_in_menu_container #mobile_menu_slide li.normal-nav-link a,
.et_slide_in_menu_container #mobile_menu_slide .et_mobile_menu_arrow:before {
  color: #eeeeee;
}

/*positioning of the toggle arrow*/
li.board-nav-link.menu-item-has-children .et_mobile_menu_arrow {
  left: 50px;
  opacity: 1;
  top: 8px;
}

.et_slide_in_menu_container #mobile_menu_slide li.button-nav-link a {
  color: #343434;
  background: #00da98;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  padding: 10px;
}
/***** styling of the actual links -- END *****/

/*=================================================================================================================================*/
/*---------------------------------------------------------- Sections -------------------------------------------------------------*/
/*=================================================================================================================================*/

/*************************************************************** boxed *************************************************************/

.boxed-section {
  margin: 0 auto;
  max-width: 1024px;
}

/************************************************************** padding ************************************************************/

/* sections with ?px vertical and 0px horiz. padding at all screen widths*/
.vertical-padding-0px.et_pb_section {
  padding: 0 0;
}
.vertical-padding-10px.et_pb_section {
  padding: 10px 0;
}
.vertical-padding-20px.et_pb_section {
  padding: 20px 0;
}
.vertical-padding-30px.et_pb_section {
  padding: 30px 0;
}
.vertical-padding-40px.et_pb_section {
  padding: 40px 0;
}
.vertical-padding-50px.et_pb_section {
  padding: 50px 0;
}
.vertical-padding-60px.et_pb_section {
  padding: 60px 0;
}
.vertical-padding-70px.et_pb_section {
  padding: 70px 0;
}
.vertical-padding-80px.et_pb_section {
  padding: 80px 0;
}
.vertical-padding-90px.et_pb_section {
  padding: 90px 0;
}
.vertical-padding-100px.et_pb_section {
  padding: 100px 0;
}

/* sections with special top padding*/
.padding-top-0px.et_pb_section {
  padding-top: 0;
}
.padding-top-10px.et_pb_section {
  padding-top: 10px;
}
.padding-top-20px.et_pb_section {
  padding-top: 20px;
}
.padding-top-30px.et_pb_section {
  padding-top: 30px;
}
.padding-top-40px.et_pb_section {
  padding-top: 40px;
}
.padding-top-50px.et_pb_section {
  padding-top: 50px;
}
.padding-top-60px.et_pb_section {
  padding-top: 60px;
}
.padding-top-70px.et_pb_section {
  padding-top: 70px;
}
.padding-top-80px.et_pb_section {
  padding-top: 80px;
}
.padding-top-90px.et_pb_section {
  padding-top: 90px;
}
.padding-top-100px.et_pb_section {
  padding-top: 100px;
}

/* sections with special bottom padding*/
.padding-bottom-0px.et_pb_section {
  padding-bottom: 0;
}
.padding-bottom-10px.et_pb_section {
  padding-bottom: 10px;
}
.padding-bottom-20px.et_pb_section {
  padding-bottom: 20px;
}
.padding-bottom-30px.et_pb_section {
  padding-bottom: 30px;
}
.padding-bottom-40px.et_pb_section {
  padding-bottom: 40px;
}
.padding-bottom-50px.et_pb_section {
  padding-bottom: 50px;
}
.padding-bottom-60px.et_pb_section {
  padding-bottom: 60px;
}
.padding-bottom-70px.et_pb_section {
  padding-bottom: 70px;
}
.padding-bottom-80px.et_pb_section {
  padding-bottom: 80px;
}
.padding-bottom-90px.et_pb_section {
  padding-bottom: 90px;
}
.padding-bottom-100px.et_pb_section {
  padding-bottom: 100px;
}

/*=================================================================================================================================*/
/*------------------------------------------------------------- Rows --------------------------------------------------------------*/
/*=================================================================================================================================*/

/*************************************************************** width *************************************************************/

/*forced row to span whole width of section*/
.fullwidth-row {
  max-width: 100%;
  width: 100%;
}

/************************************************************** padding ************************************************************/

/*7% on sides but still default on top/bottom*/
.horizontal-padding-7-perc.et_pb_row {
  padding-left: 7%;
  padding-right: 7%;
}

/* rows with ?px vertical and 0px horiz. padding at all screen widths*/
.vertical-padding-0px.et_pb_row {
  padding: 0 0;
}
.vertical-padding-10px.et_pb_row {
  padding: 10px 0;
}
.vertical-padding-20px.et_pb_row {
  padding: 20px 0;
}
.vertical-padding-30px.et_pb_row {
  padding: 30px 0;
}
.vertical-padding-40px.et_pb_row {
  padding: 40px 0;
}
.vertical-padding-50px.et_pb_row {
  padding: 50px 0;
}
.vertical-padding-60px.et_pb_row {
  padding: 60px 0;
}
.vertical-padding-70px.et_pb_row {
  padding: 70px 0;
}
.vertical-padding-80px.et_pb_row {
  padding: 80px 0;
}
.vertical-padding-90px.et_pb_row {
  padding: 90px 0;
}
.vertical-padding-100px.et_pb_row {
  padding: 100px 0;
}

/* rows with special top padding*/
.padding-top-0px.et_pb_row {
  padding-top: 0;
}
.padding-top-10px.et_pb_row {
  padding-top: 10px;
}
.padding-top-20px.et_pb_row {
  padding-top: 20px;
}
.padding-top-30px.et_pb_row {
  padding-top: 30px;
}
.padding-top-40px.et_pb_row {
  padding-top: 40px;
}
.padding-top-50px.et_pb_row {
  padding-top: 50px;
}
.padding-top-60px.et_pb_row {
  padding-top: 60px;
}
.padding-top-70px.et_pb_row {
  padding-top: 70px;
}
.padding-top-80px.et_pb_row {
  padding-top: 80px;
}
.padding-top-90px.et_pb_row {
  padding-top: 90px;
}
.padding-top-100px.et_pb_row {
  padding-top: 100px;
}

/* rows with special bottom padding*/
.padding-bottom-0px.et_pb_row {
  padding-bottom: 0;
}
.padding-bottom-10px.et_pb_row {
  padding-bottom: 10px;
}
.padding-bottom-20px.et_pb_row {
  padding-bottom: 20px;
}
.padding-bottom-30px.et_pb_row {
  padding-bottom: 30px;
}
.padding-bottom-40px.et_pb_row {
  padding-bottom: 40px;
}
.padding-bottom-50px.et_pb_row {
  padding-bottom: 50px;
}
.padding-bottom-60px.et_pb_row {
  padding-bottom: 60px;
}
.padding-bottom-70px.et_pb_row {
  padding-bottom: 70px;
}
.padding-bottom-80px.et_pb_row {
  padding-bottom: 80px;
}
.padding-bottom-90px.et_pb_row {
  padding-bottom: 90px;
}
.padding-bottom-100px.et_pb_row {
  padding-bottom: 100px;
}

/********************************************** Custom row - 2col 47% split 768px break ********************************************/

@media screen and (min-width: 768px) {
  /*keep full width and don't break till 768px*/
  .row-2col-47-768 .et_pb_column {
    margin-bottom: 0;
    margin-right: 5.5% !important;
    width: 47.25% !important;
  }
}

/********************************************** Custom row - 3col 30% split 768px break ********************************************/

@media screen and (min-width: 768px) {
  /*keep full width and don't break till 768px*/
  .row-3col-30-768 .et_pb_column {
    margin-bottom: 0;
    margin-right: 5.5% !important;
    width: 29.666% !important;
  }
}

/*=================================================================================================================================*/
/*------------------------------------------------------------ Columns ------------------------------------------------------------*/
/*=================================================================================================================================*/

/*
divi adds margin bottom to all cols by default
this has now been removed on all final cols for spacing reasons
*/
.et_pb_row .et_pb_column:last-child {
  margin-bottom: 0;
}

/*=================================================================================================================================*/
/*---------------------------------------------------------- Inline links ---------------------------------------------------------*/
/*=================================================================================================================================*/

/***** inline text links -- BEGIN *****/
.inline-link {
  font-weight: 600;
} /* base link */
.inline-dotted {
  border-bottom: 1px dotted;
}
.inline-green {
  color: #00da98;
}
.inline-blue {
  color: #00afd0;
}
.inline-red {
  color: #f52a6c;
}
.inline-orange {
  color: #fda074;
}
.inline-purple {
  color: #8947dc;
}
.inline-white {
  color: #ffffff;
}
/***** inline text links -- END *****/

/***** inline text links BLOCK -- BEGIN *****/
.inline-link-block {
  display: block;
  padding-bottom: 30px;
}

.inline-link-block:last-child {
  padding-bottom: 0;
}
/***** inline text links BLOCK -- END *****/

/*=================================================================================================================================*/
/*------------------------------------------------------- Board page elements -----------------------------------------------------*/
/*=================================================================================================================================*/

/******************************************************** Main banner button *******************************************************/

/*
uses section and row with zero padding
only the padding of the link creates space in the containers
*/
.main-banner-button-container {
  background: transparent;
  color: #ffffff;
  font-size: 1.4em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2em;
  text-align: center;
  text-transform: uppercase;
  transition: all 0.3s;
}

.main-banner-button-container a {
  border: none;
  color: inherit;
  display: block;
  padding: 30px 20px;
  transition: all 0.3s;
}

.main-banner-button-container a .main-banner-button__icon {
  color: #ffffff;
  font-size: 1.5em;
  font-weight: 600;
  line-height: 0;
  margin-left: 10px;
  opacity: 0.75;
}

/* increase banner height and font size on tablet up*/
@media screen and (min-width: 768px) {
  .main-banner-button-container {
    font-size: 1.8em;
    letter-spacing: 0.1em;
  }

  .main-banner-button-container a {
    padding: 40px 20px;
  }
}

/* add hover effects for desktop */
@media screen and (min-width: 980px) {
  .main-banner-button-container:hover {
    background: #333333;
  }

  .main-banner-button-container:hover a {
    color: #09afd0;
  }
}

/***************************************************** Fullwidth portfolio grid ****************************************************/

/*background color of section, shows when cards don't fill*/
.et_pb_fullwidth_section.fullwidth-portfolio-section {
  background-color: #6d6e71;
}

/***** hide hover effects on mobile -- BEGIN *****/
.fullwidth-portfolio-section
  .et_pb_portfolio_item
  .et_pb_portfolio_image
  .et_overlay {
  background: transparent;
}

.fullwidth-portfolio-section
  .et_pb_portfolio_item
  .et_pb_portfolio_image
  .et_overlay:before {
  display: none;
}
/***** hide hover effects on mobile -- END *****/

/*add hover effects for desktop*/
@media screen and (min-width: 1024px) {
  /***** make card image zoom in -- BEGIN *****/
  .fullwidth-portfolio-section .et_pb_portfolio_item {
    overflow: hidden;
    position: relative;
  }

  .fullwidth-portfolio-section .et_pb_portfolio_item img {
    transition: transform 0.45s;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  .fullwidth-portfolio-section .et_pb_portfolio_item:hover img {
    -webkit-transform: scale(1.12);
    transform: scale(1.12);
  }
  /***** make card image zoom in -- END *****/

  /*overlay color*/
  .fullwidth-portfolio-section
    .et_pb_portfolio_item
    .et_pb_portfolio_image
    .et_overlay {
    background: rgba(0, 0, 0, 0.5);
  }

  /***** adjustments to hover icon -- BEGIN *****/
  .fullwidth-portfolio-section
    .et_pb_portfolio_item
    .et_pb_portfolio_image
    .et_overlay:before {
    color: #ffffff;
    font-size: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.35s;
  }

  .fullwidth-portfolio-section
    .et_pb_portfolio_item
    .et_pb_portfolio_image:hover
    .et_overlay:before {
    top: 50%;
  }
  /***** adjustments to hover icon -- END *****/
}

@media screen and (min-width: 1681px) {
  /*increase size of hover icon on large desktop*/
  .fullwidth-portfolio-section
    .et_pb_portfolio_item
    .et_pb_portfolio_image
    .et_overlay:before {
    font-size: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/*=================================================================================================================================*/
/*-------------------------------------------------- Card page level elements --------------------------------------------------*/
/*=================================================================================================================================*/

/*make card background same as page content background*/
.single-project #main-content {
  background-color: transparent;
}

/********************************************************* Top hero section ********************************************************/

/*margin does not show on mobile*/
.card-hero-top-section {
  margin-top: 0;
}

@media screen and (min-width: 1025px) {
  .card-hero-top-section {
    margin-top: 50px;
  }
}

/**************************************************** Colored bottom bar section ***************************************************/

/*bottom bar does not show on mobile*/
.card-bottom-bar-section {
  display: none;
}

/*bottom bar does show on desktop*/
@media screen and (min-width: 1025px) {
  .card-bottom-bar-section {
    display: block;
    margin-bottom: 50px;
  }
}

/*=================================================================================================================================*/
/*--------------------------------------------------- Card element level elements -------------------------------------------------*/
/*=================================================================================================================================*/

/*only observ margin when multiple text modules used in same row*/
.et_pb_row .et_pb_text.card-text-module,
.et_pb_row .et_pb_text.card-button-module,
.et_pb_row .et_pb_image.card-image-module,
.et_pb_row .et_pb_text.card-table-module,
.et_pb_row .et_pb_promo.card-cta-module {
  margin-bottom: 35px;
}

/*restrict, center, only observe margin when multiple text modules used in same row*/
.et_pb_row .et_pb_video.card-video-module {
  max-width: 550px;
  margin: 0 auto 35px auto;
}

/*restrict, center, only observe margin when multiple text modules used in same row*/
.et_pb_row .et_pb_countdown_timer.countdown-timer-module {
  max-width: 700px;
  margin: 0 auto 35px auto;
}

/************************************************************* Headings ************************************************************/

/* card main title module -- BEGIN */
.card-main-title h1 {
  font-size: 1.602em; /*used a 1.125 modular scale*/
  font-weight: 700;
  letter-spacing: -0.025em;
  padding-bottom: 0;
}

.card-main-title--with-copy h1,
.card-main-title--with-subheading h1 {
  padding-bottom: 10px;
}

.card-main-title--with-subheading p.body-p {
  padding-bottom: 0;
}
/* card main title module -- END */

h2.small-title {
  font-size: 0.889em;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding-bottom: 12px;
  text-transform: uppercase;
  font-family: "Gotham Bold"; /* added 1/24/2022 for updated branding */
}

h2.heading-text {
  text-transform: uppercase;
  font-family: "Gotham Black";
}

h3.subheading-text {
  font-size: 1em;
  /*font-style: italic;*/
  font-weight: 300;
  letter-spacing: -0.005em;
  padding-bottom: 15px;
}

h3 {
  font-family: "Gotham Medium"; /* added 1/24/2022 for updated branding */
}

h4.page-subsection-text {
  font-family: "Gotham Bold"; /* added 3/2/2022 for updated branding */
  font-size: 1rem;
}

h5.et_pb_toggle_title {
  font-family: "Gotham Medium";
}

/************************************************************* Body text ***********************************************************/

/*had to add card-text-module because new divi p:not rule interfering*/
.card-text-module p.body-p {
  padding-bottom: 30px;
}

p.body-p {
  color: #1d1f21;
  font-family: "Gotham Book", Arial, Helvetica, sans-serif;
}

p.body-p:last-child {
  padding-bottom: 0;
}

p.disclaimer-text {
  font-size: 0.7em;
  font-style: italic;
  padding-bottom: 0.5em;
}

/************************************************************ Basic lists **********************************************************/

ul,
ol {
  font-family: "Gotham Book";
}

ul.body-ul,
ol.body-ol {
  padding: 0 0 25px 1em; /* was 0 0 30px 1em */
  line-height: 1.5em;
}

ul.body-ul:last-child,
ol.body-ol:last-child {
  padding: 0 0 0 1em;
}

ol.body-ol {
  list-style-position: outside;
}

/*********************************************************** Basic buttons *********************************************************/

/***** base button *****/
.body-button {
  background-color: transparent;
  border: 2px solid;
  color: #58595b;
  display: inline-block;
  font-size: 0.889em;
  font-weight: 800;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
  min-width: 200px;
  padding: 12px 16px;
  text-align: center;
  text-transform: uppercase;
  transition: all 0s;
}

a.body-button-mp-widget {
  border: 4px;
  display: inline-block;
  font-family: "proxima-nova", "Open Sans", Arial, sans-serif;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
  min-width: 200px;
  padding: 8px 16px;
  text-align: center;
  color: white;
  background-color: #023c75;
  border-radius: 4px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.35);
}

@media screen and (min-width: 450px) {
  a.body-button-mp-widget:not(last-of-type) {
    margin-right: 50px;
  }
}

a.body-button-mp-widget:hover {
  background-color: #277cf1;
}

.body-button-narrow {
  min-width: 150px;
  padding: 12px;
  font-size: 0.8rem;
}

.body-button:last-child,
.inline-buttons-container:last-child,
.body-button-left:last-child {
  margin-bottom: 0;
}

/***** disabled button *****/
.body-button-disabled {
  cursor: default !important;
  opacity: 0.2;
}

/***** multiple buttons in a row - BEGIN *****/
/*split difference with button margin bottom*/
.inline-buttons-container {
  margin-bottom: 15px;
}

/*kept margin bottom for stacking*/
.body-button-left {
  margin-right: 0;
  margin-bottom: 15px;
}

@media all and (min-width: 450px) {
  .body-button-left {
    margin-right: 15px;
  }
}
/***** multiple buttons in a row - END *****/

/***** ghost buttons - BEGIN *****/
.body-button-blue-ghost {
  border-color: #00afd0;
  color: #00afd0;
}

.body-button-green-ghost {
  border-color: #00da98;
  color: #00da98;
}

.body-button-red-ghost {
  border-color: #f52a6c;
  color: #f52a6c;
}

.body-button-orange-ghost {
  border-color: #fda074;
  color: #fda074;
}

.body-button-purple-ghost {
  border-color: #8947dc;
  color: #8947dc;
}

.body-button-white-ghost {
  border-color: #ffffff;
  color: #ffffff;
}

.body-button-kb-dark-grey-ghost {
  border-color: #303030;
  color: #303030;
}
/***** ghost buttons - END *****/

/***** full buttons - BEGIN *****/
.body-button-grey-full {
  background-color: #58595b;
  border-color: #58595b;
  color: #ffffff;
}

.body-button-blue-full {
  background-color: #00afd0;
  border-color: #00afd0;
  color: #ffffff;
}

.body-button-green-full {
  background-color: #00da98;
  border-color: #00da98;
  color: #ffffff;
}

.body-button-red-full {
  background-color: #f52a6c;
  border-color: #f52a6c;
  color: #ffffff;
}

.body-button-orange-full {
  background-color: #fda074;
  border-color: #fda074;
  color: #ffffff;
}

.body-button-purple-full {
  background-color: #8947dc;
  border-color: #8947dc;
  color: #ffffff;
}

.body-button-white-full {
  background-color: #ffffff;
  border-color: #ffffff;
}

.body-button-kb-dark-grey-full {
  background-color: #303030;
  border-color: #303030;
  color: #ffffff;
}
/***** full buttons - END *****/

/*********************************************************** Basic tables **********************************************************/
.et_pb_module .tablepress thead th {
  background-color: #58595b;
  color: #ffffff;
}

/************************************************************ Basic blurbs *********************************************************/

.et_pb_blurb_description {
  font-family: "Gotham Book";
}

/*
class added to full blurb buttons
makes cursor a hand on hover
*/
.blurb-button:hover {
  cursor: pointer;
}

/******************************************************* General toggle module *****************************************************/

/*remove default horizontal padding on all genral toggles on phone*/
@media screen and (max-width: 768px) {
  .general-toggle.et_pb_toggle {
    padding-left: 0;
    padding-right: 0;
  }
}

/***** icon font and movement of toggle icon -- BEGIN *****/
.general-toggle.et_pb_toggle h5.et_pb_toggle_title:before {
  content: "3" !important;
  font-size: 25px !important;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.general-toggle.et_pb_toggle_open h5.et_pb_toggle_title:before {
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
/***** icon font and movement of toggle icon -- END *****/

/******************************************************** simple CTA module ********************************************************/

.card-cta-module {
  margin: 0 auto;
  max-width: 700px;
}

.card-cta-module .et_pb_promo_description {
  padding-bottom: 0;
}

.card-cta-module .et_pb_module_header {
  font-size: 1.602em;
  font-weight: 700;
  letter-spacing: -0.025em;
}

/*=================================================================================================================================*/
/*------------------------------------------------------- Kingdom Builders --------------------------------------------------------*/
/*=================================================================================================================================*/

/*****project goal counter -- BEGIN*****/
.kb-goal-counter {
  max-width: 88%;
  width: 88%;
}

.kb-goal-counter__title {
  font-size: 1.2em;
  text-align: center;
}

.kb-goal-counter__title h3 {
  font-weight: 300;
  padding-bottom: 0;
}

.kb-goal-counter__amount {
  font-size: 2.5em;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1em;
  text-align: center;
}
/*****project goal counter -- END*****/

@media all and (min-width: 600px) {
  .kb-goal-counter__amount {
    font-size: 3em;
  }
}

/*=================================================================================================================================*/
/*------------------------------------------------------- Legal doc styling -------------------------------------------------------*/
/*=================================================================================================================================*/

.legal-doc .legal-doc-block:not(:last-child) {
  padding-bottom: 1em;
}

.legal-doc-block p:last-of-type {
  padding-bottom: 1em;
}

.legal-doc-block__subheading {
  font-size: 1.1em;
  font-style: italic;
  font-weight: 900;
}

.legal-doc-block__link {
  color: #09afd0;
  font-weight: 600;
}

/*=================================================================================================================================*/
/*----------------------------------------------------- Scroll to top button ------------------------------------------------------*/
/*=================================================================================================================================*/

.et_pb_scroll_top.et-pb-icon {
  /*background: #00da98;*/
  background: var(--color-beige);
  color: #000;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  bottom: 50px;
  font-weight: 800;
  padding: 8px;
  right: 10px;
}

/*=================================================================================================================================*/
/*------------------------------------------------------------ Footer -------------------------------------------------------------*/
/*=================================================================================================================================*/

.footer-nav-links a {
  color: white; /* was #aaa */
}

.footer-nav-links a:hover {
  color: #aaa;
}

/*hide the divi default footer bottom bar*/
#footer-bottom {
  display: none;
}

.footer__social-media-follow li a {
  text-align: left;
}

.footer__social-media-follow li a.icon::before {
  font-size: 20px;
}

/*=================================================================================================================================*/
/*-------------------------------------------------------- Custom 404 page --------------------------------------------------------*/
/*=================================================================================================================================*/

.error404 #main-content .container,
.error404 #content-area,
.error404 #left-area {
  padding: 0 !important;
  margin: 0;
  width: 100% !important;
  max-width: none;
}

.error404 #sidebar {
  display: none;
}

.error404 .et_pb_post:last-child {
  margin-bottom: 0;
}

/*=================================================================================================================================*/
/*-------------------------------------------------------- Custom CSS  --------------------------------------------------------*/
/*=================================================================================================================================*/

/* for cards like 0120-internship-program that have 2 headings styled like an h1
the !important is required to override Divi styling */
.second-title {
  color: inherit !important;
  line-height: 1.4;
  font-size: 1.602em !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  padding-bottom: 0;
}

/* adds mobile repsonsiveness for embeded Google maps */

.map-responsive {
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}

.map-responsive iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}

/* styling for the DT Development Guide info card */

 a.inline-line-med-blue {
  font-family: "Gotham Book", Arial, Helvetica, sans-serif;
  color: #4c7c94 !important;
  text-decoration: underline;
}

 .inline-line-med-blue:hover {
text-decoration: none;
 }

.dev-guide-prev-month-section {
  background-color: #fff;
  padding: 15px;
  margin-top: 12px;
  margin-bottom: 12px;
}

.dev-guide-prev-month-section:nth-child(odd) {
  background-color: #f0f0f0;
}

/*
.gray-toggle-section {
  background-color: #f0f0f0;
  padding: 15px;
  margin-top: 12px;
  margin-bottom: 12px;
}

.previous-teaching-month-section {
  padding: 15px;
  margin-top: 12px;
  margin-bottom: 12px;
} 
*/

.toggle-section {
  padding: 5px;
}

.indented-list {
  margin-left: 15px;
}

/* MP Opportunity Finder widget styling */

/* styling for event displays when user clicks on ICS Calendar widget event */
div .eventdesc.eventurl a {
  font-size: 0;
  font-weight: bold;
  background-color: #023c75 !important;
  border-color: #023c75 !important;
  border-radius: 4px;
  color: #fff;
  padding: 25px 10px 16px 10px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.35);
}

div .eventdesc.eventurl a::after {
  /*content: "Register";*/
  content: "More Info";
  font-size: 18px;
  padding: 10px 20px;
}

div .eventdesc.eventurl a:hover {
  background-color: #077cf1 !important;
  border-color: #077cf1 !important;
}

div .eventdesc.eventurl {
  margin-top: 35px;
}

div.eventdesc div.attach div img {
  margin-top: 35px;
  width: 800px !important;
}

/* styling for the DIVI buttons on the Serve at Your Campus info card */

.oppfinder-btn {
  background-color: #023c75 !important;
  border-color: #023c75 !important;
  border-radius: 4px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}

.oppfinder-btn:hover {
  background-color: #077cf1 !important;
  border-color: #077cf1 !important;
}

/* Divi mobile menu setting media queries */

/* Setting the breakpoint of the mobile menu to compensate for many nav bar items */
@media only screen and (max-width: 1275px) {
  /* was 1336px*/
  #top-menu-nav,
  #top-menu {
    display: none;
  }
  #et_top_search {
    display: none;
  }
  #et_mobile_nav_menu {
    display: block;
  }
}

/* styling for menu search form */

input#s.divi-search-form,
input#s.divi-search-form-mobile {
  padding: 5px 5px 5px 20px !important;
  -webkit-padding: 5px 5px 5px 20px !important;
}

#s,
.divi-search-form,
.divi-search-form-mobile {
  font-family: "proxima-nova", "Open Sans", Arial, sans-serif;
  font-size: 20px;
  border-radius: 20px;
  -webkit-border-radius: 30px;
}

/* DEV INFO SITE - disable desktop search form on mobile/tablet */
@media (max-width: 1275px) {
  /* was 1335px*/
  .divi-search-form,
  .desktop-search-form {
    display: none !important;
  }
}

/* makes page title links on search results page the light blue link color */
h2.entry-title,
a mark.searchwp-highlight {
  color: #2ea3f2;
  color: #d7b259;
}

/* hides top header bar (shows up on larger screens like tablets) */
#top-header {
  display: none !important;
}

/* hides the top header on desktop (has mobile/tablet search form) */
@media (min-width: 1276px) {
  /* was 1336px */
  #top-header {
    display: none !important;
  }
  .divi-search-form-mobile,
  #mobile-search-module {
    display: none !important;
  }
}

/* THE SEARCH BUTTON IS CURRENTLY DEACTIVATED */
.divi-search-btn {
  font-family: "proxima-nova", "Open Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: bold;
  border-radius: 14px;
  padding: 5px 10px;
  color: white;
  margin-left: -15px;
  background-color: #023c75;
}

.divi-search-btn:hover {
  background-color: #077cf1;
}

/* indents text after the first line - used on the team night info card */
.indented-text {
  padding-left: 65px !important;
  text-indent: -65px !important;
}

@media screen and (max-width: 450px) {
  .indented-text {
    padding-left: 55px !important;
    text-indent: -55px !important;
  }
}

/*=================================================================================================================================*/
/*---------------------------------------------- CSS For Victory Rebranding 2/2022  -----------------------------------------------*/
/*=================================================================================================================================*/

h1.page-display-text {
  font-size: 2.3rem;
  font-family: "Larken Extra Bold";
  text-transform: capitalize;
}

h2.page-header-text
/* .et_pb_text_2 h2 */ {
  text-transform: uppercase;
  font-family: "Gotham Black";
  font-size: 1.5rem;
  font-weight: 500 !important;
}

h2.quote-text {
  font-family: "Larken Extra Bold Italic";
  font-size: 28px;
  font-style: normal;
  color: #417571;
  padding-bottom: 0;
}

h2.event-title {
  text-transform: uppercase;
  font-family: "Gotham Black" !important;
  font-size: 1.5rem;
  font-weight: 500 !important;
  padding-bottom: 0;
}

h3.page-subhead-text {
  font-size: 1.3rem;
  font-family: "Gotham Medium";
}

/* custom text colors */
span.green-text {
  color: #457571;
  font-weight: bold;
}

span.green-highlight-text {
  color: white;
  background-color: #457571;
  padding: 2px 1px;
  margin-bottom: 6px;
}

span.gray-highlight-text {
  color: white;
  background-color: #8c8985;
  padding: 5px;
}

span.yellow-highlight-text {
  background-color: yellow;
  padding: 5px;
  margin-top: 5px;
}

.highlight-text-min-padding {
  padding: 1px 3px 2px 3px;
}

.highlight-text-max-padding {
  padding: 6px 5px 5px 5px;
}

/* highlighted text effects taken from https://codepen.io/Ash/pen/WBMxpp 
* used on the Join the Family info card */

:root {
  /* The intrinsic width of the underline stroke (in pixels). This is 
   * the same as the height of the cap images. Don't specify the
   * units! This is because of some of the calculations we do later on. */
  --underline-intrinsic-width: 8;

  /* The actual width of the underline stroke we want to render (in pixels).
   * You can modify this, and the sizing and positioning should be calculated
   * accordingly. Again, Don't specify the units! */
  --underline-width: 12;

  /* The colour used to draw the underline. It should match the colour
   * used in the cap images... unfortunately we can't modify the SVG
   * fill via CSS because it's a background image. */
  --underline-color: #fcf151;

  /* We need to know the width of the cap images so that we
   * can position everything on the x axis accordingly. */
  --underline-cap-width: 4px;

  /* The border is positioned relative to the bottom of the line.
   * We can move it upwards a little to create an overlap effect. */
  --underline-offset-y: 2px;

  /* The padding to add to the x axis. By default, the caps would be
   * aligned with the beginning and end of the line. */
  --underline-padding-x: 0.12em;

  /* The cap images to use that form the left and right rounded
   * shape. I guess these could be any shape, they don't
   * necessarily have to be round 🙂.
   */
  --cap-image-left: url(/wp-content/uploads/2022/03/left-2.svg);
  --cap-image-right: url(/wp-content/uploads/2022/03/right-2.svg);
}

.underlined-text {
  display: inline;
  --underline-width-scale: calc(
    var(--underline-width) / var(--underline-intrinsic-width)
  );
  padding: 0
    calc(
      var(--underline-padding-x) +
        calc(var(--underline-cap-width) * var(--underline-width-scale))
    );
  box-decoration-break: clone;
  background-repeat: no-repeat;
  color: #000000;
  font-weight: bold;
  background-image: linear-gradient(
      180deg,
      var(--underline-color),
      var(--underline-color)
    ),
    var(--cap-image-left), var(--cap-image-right);
  background-position-x: calc(
      var(--underline-cap-width) * var(--underline-width-scale)
    ),
    0, 100%;
  background-position-y: calc(100% - var(--underline-offset-y) * -1);
  background-size: calc(
        100% -
          calc(var(--underline-cap-width) * var(--underline-width-scale) * 2)
      )
      calc(var(--underline-width) * 1px),
    auto calc(var(--underline-width) * 1px),
    auto calc(var(--underline-width) * 1px);
}

/* end custom  */

/* custom buttons for Join the Family info card */

/***** base button *****/
.body-btn {
  border: 2px solid;
  display: inline-block;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin-bottom: 10px;
  min-width: 200px;
  padding: 9px;
  text-align: center;
  transition: all 0s;
  font-family: "proxima-nova", "Open Sans", Arial, sans-serif;
  filter: drop-shadow(10px 10px 9px rgba(0, 0, 0, 0.513));
}

a.body-btn-dkblue {
  color: white;
  background-color: #252a36;
  border: 2px solid white;
}

.body-btn-dkblue:hover {
  color: #252a36;
  background-color: white;
  border-color: #252a36;
}

/* indents service times on myvfc.info/services */
.service-time-container {
  padding-left: 10px;
  padding-bottom: 30px;
}

.service-day-and-time {
  color: #6b665d;
  font-family: "Gotham Bold";
  font-size: 16px;
  padding-bottom: 0;
}

/* for Resident info card */
.resident_photo:hover,
.resident_photo:focus,
.resident_photo:active {
  transition: all 0.5s linear;
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
  cursor: pointer;
}

h3.resident_name:hover,
h3.resident_name:active,
h3.resident_name:focus {
  text-decoration: underline;
  cursor: pointer;
}

.resident_photo,
.resident_photo,
.resident_photo {
  transition: all 0.5s linear;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* customizations for the ICS Calendar Pro WP plugin */
.entry-content tr td {
  padding: 0px;
}

.ics-calendar-month-grid ul.events li {
  margin-bottom: 3px;
}

/* forces a line break in the <br> element on desktop devices only */
@media screen and (max-width: 767px) {
  .desktop-text-wrap {
    display: none;
  }
}

/* forces a line break in the <br> element on mobile devices only */
@media screen and (min-width: 768px) {
  .mobile-text-wrap {
    display: none;
  }
}

/* styles for All Daughters content */

/* 2023 brand colors
dark green: #445c5c
light green: #b6dbd2
dark pink: #dcaa96
light pink: #f6efe7
*/

h1.all-daughters-header-text {
  font-size: 2.3rem;
  font-family: "Larken Italic";
  color: #445c5c;
}

.larken-italic-text {
  font-family: "Larken Italic";
}

/* styles for Grow + Go page conten 7-2023 */

:root {
  --grow-and-go-red: #fc5672;
  --grow-and-go-yellow: #daf06a;
  --grow-and-go-blue: #567ab6;
  --grow-and-go-beige: #dac7a9;
  --grow-and-go-black: #212427;
}

.grow-n-go-blue-text {
  color: var(--grow-and-go-blue);
}

.grow-n-go-red-text {
  color: var(--grow-and-go-red);
}

.blue-link {
  color: var(--grow-and-go-blue);
  text-decoration: underline;
  text-transform: uppercase;
  font-family: "Gotham Bold";
  font-size: 0.889rem;
}

h1.grow-and-go-header-text {
  font-size: 2.3rem;
  font-family: "Druk Wide Bold", Arial, Helvetica, sans-serif;
  color: var(--grow-and-go-red);
}

h2.grow-and-go-subheader-text {
  font-family: "Druk Wide Bold", Arial, Helvetica, sans-serif;
  font-size: 1.75rem;
  color: var(--grow-and-go-blue);
  text-transform: uppercase;
}

h3.grow-and-go-subhead-text {
  font-size: 1.5rem;
  font-family: "Gotham Medium";
}

h3.grow-and-go-category-text {
  font-size: 2.125rem;
  font-family: "Gotham Bold";
  padding-bottom: 3px;
}

p.body-text,
ul.level-one-ul li,
ul.level-two-ul li,
ul.level-three-ul li {
  font-family: "Gotham Book", Arial, Helvetica, sans-serif;
  color: var(--grow-and-go-black);
  font-size: 1.1rem;
}

ul.level-one-ul {
  list-style-type: disc;
}

ul.level-two-ul {
  list-style-type: circle;
}

ul.level-three-ul {
  list-style-type: square;
}

.button {
  font-family: "Gotham Bold";
  font-size: 1rem;
  display: inline-block; /* this may be causing centering issues on 1 button */
  text-transform: uppercase;
  padding: 8px 20px;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 20px;
  text-align: center;
  width: 180px;
}

.blue-button {
  background-color: var(--grow-and-go-blue);
  color: #fff;
  border: 1px solid;
  border-color: var(--grow-and-go-blue);
}

.blue-button:hover {
  background-color: #fff;
  color: var(--grow-and-go-blue);
  border: 1px solid;
  border-color: var(--grow-and-go-blue);
}
