/*
Theme Name: Divi Child Theme
Theme URI:
Author: The Digital Agency
Author URI: thedigitalagency.ch
Description: A child theme template for Divi
Version: 1.0.0
Template: Divi
*/

/* Custom CSS below this line only - DO NOT EDIT ABOVE THIS LINE */

/* Put the arrow in ::before */
.de-line-menu .et-menu-nav li.menu-item-has-children > a:first-child::before {
    content: "3";
    position: relative;
    right: 0px;
    top: 0;
    font-family: ETmodules;
    font-size: 16px;
    font-weight: 800;
    display: inline-block;
}

/* Put the hover line in ::after */
.de-line-menu .et-menu a {
    position: relative;
    display: inline-block; /* for positioning */
    padding: 10px 0;
}

.de-line-menu .et-menu a::after {
    position: absolute;
    content: "" !important;
	content:"";
	top:auto !important;
	bottom: 7px;
    left: 0;
    width: 0%;
    height: 5px;
    background-color: #eab742;
    transition: width 0.5s;
    transform: translateY(100%);
}

.de-line-menu .et-menu a:hover::after {
    width: 100%;
}
/* ---------------------------------
   HEADING and text SIZES
--------------------------------- */
/*
font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
 /* Main heading */
#main-content h1 {
    font-size: clamp(1.6rem, 3.2vw, 2.8rem) !important;
    color: #333333 !important;
    line-height: 1.2 !important;
}

/* Secondary heading */
#main-content h2 {
    font-size: clamp(1.4rem, 2.8vw, 2.4rem) !important;
    color: #333333 !important;
    line-height: 1.3 !important;
}

/* Tertiary heading */
#main-content h3 {
    font-size: clamp(1.2rem, 2.4vw, 2rem) !important;
    color: #333333 !important;
    line-height: 1.4 !important;
}

/* Fourth level heading */
#main-content h4 {
    font-size: clamp(1rem, 2vw, 1.6rem) !important;
    color: #333333 !important;
    line-height: 1.4 !important;
}

/* Fifth level heading */
#main-content h5 {
    font-size: clamp(0.88rem, 1.6vw, 1.2rem) !important;
    color: #F5F5F5 !important;
    line-height: 1.5 !important;
}

/* ---------------------------------
   PARAGRAPHS & LIST ITEMS
--------------------------------- */
p,
ul,
ol,
li {
    font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
    color: #333333 !important;
    line-height: 1.6 !important;
}
/* ---------------------------------
   LINK TEXT CLASS
--------------------------------- */
/* Default link color */
/* Target all links globally */
#main-content p a:hover,
.entry-content .et_pb_text_inner li a:hover{
	font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
    color: #eab742 !important; /* Hover link color */
}

#main-content p a,
.entry-content .et_pb_text_inner li a{
    font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
    color: #e39048 !important;
    text-decoration: none !important;
    transition: color 0.2s ease-in-out !important;
}
/* This CSS snippet vertically centers columns by setting the top 
   and bottom margins to 'auto'. This ensures columns within 
   .et_pb_equal_columns are aligned in the center. */

.et_pb_equal_columns > .et_pb_column {
  margin-top: auto;
  margin-bottom: auto;
}

/* -----------------------------
Stop the right most object from having a zero margin 
-------------------------------- */
@media (min-width: 981px) {
	.et_pb_section.et_section_specialty div.et_pb_row .et_pb_column .et_pb_column .et_pb_module.et-last-child,.et_pb_section.et_section_specialty div.et_pb_row .et_pb_column .et_pb_column .et_pb_module:last-child,.et_pb_section.et_section_specialty div.et_pb_row .et_pb_column .et_pb_row_inner .et_pb_column .et_pb_module.et-last-child,.et_pb_section.et_section_specialty div.et_pb_row .et_pb_column .et_pb_row_inner .et_pb_column .et_pb_module:last-child,.et_pb_section div.et_pb_row .et_pb_column .et_pb_module.et-last-child,.et_pb_section div.et_pb_row .et_pb_column .et_pb_module:last-child {
		margin-bottom:2.75%
	}
}

/*---------------------------------
Give the ability to change margins/padding in the right side menu for blogs 
---------------------------------*/
.et_pb_ajax_pagination_container article {
    margin-bottom:30px !important;
    padding-bottom:10px !important;
}

.et_pb_ajax_pagination_container .entry-featured-image-url {
    margin-bottom:10px !important;
}

/* ---------------------------------
Make the enitre blurb clickable 
---------------------------------*/
.blurb-full-click {
    position: relative;
}
.blurb-full-click a {    
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    display: block;
}
.blurb-full-click h2 {    
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 24px !important;
    line-height: 1.3em;
    text-align: center;
}
.blurb-full-click:hover 
{
    cursor: pointer; /* Change cursor to pointer on hover */
}

/*---------------------------------
get rid of all margins for columns in the header 
---------------------------------*/
ul {
    list-style-position: inside;
    text-align: center;
}

.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li {
	margin-top:0px;
}

.et-l--header .et_pb_column {
    margin:0px !important;
}

/*---------------------------------
Make the hamburger menu scroll 
---------------------------------*/
.et_mobile_menu 
{    
	width: 100%; /* Get the menu to use all the available width */
    max-height: 70vh; /* Set a maximum height for the mobile menu */
	left: -10px; /* Offset the menu by 10px */
    overflow-y: auto; /* Enable vertical scrolling if content exceeds max height */
    scrollbar-width: none; /* Optional: Thin scrollbar for modern browsers */
}

/* Things that are specific to mobile mode */
@media (max-width: 980px) { 
    /* Make the hamburger menu vertical centered on mobile */
	header .et_pb_row .et_pb_column.et-last-child, .et_pb_row .et_pb_column:last-child 
    {
     margin-bottom: auto; 
    }
	/* Make the font size dynamic */
	 .et_mobile_menu a{
        font-size:0.7em !important;
    }
}
/* Sticky scrolling for images */
/* Need to disable top level overflow on every page, potential problems here? */
@media (min-width: 981px) 
{ 
	#page-container{
		overflow:visible !important;
	}
	.sticky_image_right_2cols{
		display: flex; /* Puts columns side by side */
		overflow: visible;
		flex-wrap: wrap;
		padding-top:2rem;
		padding-bottom:2rem;
	}
	.sticky_image_right_2cols .et_pb_column:nth-of-type(1){
		flex: 1; /* Ensures columns take equal space */
		margin-right: 1.5%;
	}

	.sticky_image_right_2cols .et_pb_column:nth-of-type(2){
		flex: 1; /* Ensures columns take equal space */
		position: relative; /* Ensure sticky positioning works within this column */
		margin: 0px;
		height: auto;
		margin-right: 1.5%;    
		padding-top: 16px;
    	padding-bottom: 16px;
	}
	/* Sticky content inside the sticky column */
	.sticky_image_right_2cols > .et_pb_column:nth-of-type(2) > .et_pb_image,
	.sticky_image_right_2cols > .et_pb_column:nth-of-type(2) > .et_pb_image_wrap {
		position: sticky;
		top: 148px;
		height: fit-content;
	}

	.sticky_image_left_2cols{
		display: flex; /* Puts columns side by side */
		overflow: visible;
		flex-wrap: wrap;
		padding-top:2rem;
		padding-bottom:2rem;
	}
	.sticky_image_left_2cols .et_pb_column:nth-of-type(2){
		flex: 1; /* Ensures columns take equal space */
		margin-right: 1.5%;
	}

	.sticky_image_left_2cols .et_pb_column:nth-of-type(1){
		flex: 1; /* Ensures columns take equal space */
		position: relative; /* Ensure sticky positioning works within this column */
		margin: 0px;
		height: auto;
		margin-right: 1.5%;
		padding-top: 16px;
    	padding-bottom: 16px;
	}
	/* Sticky content inside the sticky column */
	.sticky_image_left_2cols > .et_pb_column:nth-of-type(1) > .et_pb_image,
	.sticky_image_left_2cols > .et_pb_column:nth-of-type(1) > .et_pb_image_wrap {
		position: sticky;
		top: 148px;
		height: fit-content;
	}
	.center_2cols{
		display: flex; /* Puts columns side by side */
		overflow: visible;
		flex-wrap: wrap;
		padding-top:2rem;
		padding-bottom:2rem;
		align-items: center;
	}

	.center_2cols .et_pb_column{
		flex: 1; /* Ensures columns take equal space */
		height: auto;
		margin-right: 1.5%;
	}
	/* Sticky content inside the sticky column */
	.center_2cols > .et_pb_column > .et_pb_image,
	.center_2cols > .et_pb_column > .et_pb_image_wrap {
		display: flex;
		align-items: center;
		height: fit-content;
    	justify-content: center;
	}
}
@media (max-width: 980px) 
{ 
	.sticky_image_right_2cols {
		display: flex;
		flex-direction: column-reverse;
	}
	.sticky_image_right_2cols .et_pb_column:nth-of-type(1){
		order:1;
	}

	.sticky_image_right_2cols .et_pb_column:nth-of-type(2){
		order:2;
	}
	
	.image_right_2cols {
		display: flex;
		flex-direction: column-reverse;
	}
	.image_right_2cols .et_pb_column:nth-of-type(2){
		order:2;
	}
	
	.image_right_2cols .et_pb_column:nth-of-type(1){
		order:1;
	}
}

/* _____________________________________________
 * Divi menu collapse mobile
 * _____________________________________________ */

/*change hamburger icon to x when mobile menu is open*/
#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
}
/*adjust the new toggle element which is added via jQuery*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}
/*some code to keep everyting positioned properly*/
ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}
/*remove default background color from menu items that have children*/
.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}
/*hide the submenu by default*/
ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}
/*show the submenu when toggled open*/
ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}
/*adjust the toggle icon position and transparency*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	text-align: center;
	opacity: 1;
}
/*submenu toggle icon when closed*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	position: relative;
    font-family: "ETModules";
    content: '\33';
    color: #eab742;
    font-size: 2em !important;
}
/*submenu toggle icon when open*/
ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '\32';
}
/*add point on top of the menu submenu dropdown*/
.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
	position: absolute;
	right: 5%;
	margin-left: -20px;
	top: -14px;
	width: 0;
	height: 0;
	content: '';
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #ffffff;
}
/*adjust the position of the hamburger menu*/
.mobile_menu_bar {
	position: relative;
	display: block;
	line-height: 0;
}
/*force the background color and add a rounded border*/
.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
	background-color: #ffffff!important;
	border-radius: 10px;
}

/* _____________________________________________
 * Format the toggles
 * _____________________________________________ */
.et_pb_toggle {
    padding: 0px;
	background-color: #eab742;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}
.et_pb_toggle h5{
    background-color: #eab742;
    padding: 1rem !important;
	margin-right: 1rem !important;
    padding-right: 1.5rem !important;
}
.et_pb_toggle div{
    padding: 1rem !important;
}
.et_pb_toggle .et_pb_toggle_content{
    background-color: white;
}
.et_pb_toggle_title:before{
    color: #f5f5f5;
}
/* ________________________________________
 * Controls for youtube container
 * _____________________________________________*/
.video-container {
  position: relative;
  width: 100% !important;;
  padding-bottom: 56.25% !important; /* 16:9 aspect ratio (9 / 16 = 0.5625) */
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-container .et_pb_video_box{
    position: absolute;
	height: 100%;
    width: 100%;

}


/* =================================================
   iPad Pro Portrait Mode (834px-1024px)
   Applied to full-width header sections where portrait 
   image alignment needs adjustment on tablet displays
   ================================================= */
@media (min-width: 834px) and (max-width: 1024px) {
    .et_pb_fullwidth_header.tablet-portrait-adjust {
        background-position: right!important;
    }
}

/* _____________________________________________
Hide image titles on hover 
_____________________________________________*/
img {
	pointer-events:none;
}
/* _____________________________________________
 * S2Member styling 
 * _____________________________________________*/
.s2member-pro-stripe-checkout-form label,
.s2member-pro-stripe-checkout-form .btn,
.s2member-pro-stripe-checkout-form div,
.ws-plugin--s2member-sc-login label,
.ws-plugin--s2member-sc-login .btn{
    font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
    color: #333333 !important;
    line-height: 1.6 !important;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
}
.s2member-pro-stripe-checkout-form .btn,
.ws-plugin--s2member-sc-login .btn{
	background-color: #eab742;
    border-radius: 5px;
    border-width: 0px !important;
    padding: 15px !important;
}
.et_pb_code_inner:has(> .ws-plugin--s2member-sc-login){
    font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
    color: #333333 !important;
    line-height: 1.6 !important;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
}

#mc_embed_signup{
	font-size: clamp(1rem, 1.5vw, 1rem) !important;
    color: #333333 !important;
    line-height: 1.6 !important;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif !important;
}

#mc_embed_signup .button:hover {
	background-image: initial;
	background-color: #e39048 !important;
}

#mc_embed_signup .button {
	background-color: #eab742 !important;
	color: #333333 !important;
    border-radius: 5px !important;
    border-width: 0px !important;
    padding: 10px !important;
	width: 96% !important;
	height: fit-content !important;
	font-family: Poppins, Helvetica, Arial, Lucida, sans-serif !important;
	font-weight: 300 !important;
	font-size: 20px !important;
}
#mc_embed_signup .mc-field-group:nth-of-type(1),
#mc_embed_signup .mc-field-group:nth-of-type(2){
	padding-bottom: 0px !important;
}
#mc_embed_signup .mc-field-group input{
	border: 0px;
	background-color: #d3d3d3;
}
/* _____________________________________________
 * Fix line item alignment to start 2nd line indented
 * _____________________________________________*/
.et_pb_text_inner ol {
	counter-reset: list-counter; /* Reset counter to 0 for each new ol */
}
.et_pb_text_inner ul li,
.et_pb_text_inner ol li{
	position: relative; /* Necessary for pseudo-element positioning */
	padding-left: 1.5em; /* Space for the marker */
	list-style: none; /* Remove default bullet styling */
	counter-increment: list-counter;
}

/* Add a custom bullet marker */
.et_pb_text_inner ul li::before,
.et_pb_text_inner ol li::before{
	position: absolute;
	left: 0; /* Align the bullet marker to the start of the list item */
	color: #333333 !important;
}
.et_pb_text_inner ul li::before{
	content: '\2022'; /* Unicode for a bullet point */
	font-size: 2em !important;
	line-height: 0.8em !important;
}
.et_pb_text_inner ol li::before{
	
	content: counter(list-counter) '.';
	font-size: clamp(1rem, 1.6vw, 1.25rem) !important;
	line-height: 1.6 !important; /* Adjust marker size if necessary */
}
/*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;
	}
}
