/*
 Theme Name:   Divi-Child
 Theme URI:    https://rowarkwright.com//Divi-child/
 Description:  Divi Child Theme
 Author:       The Digi Deli
 Author URI:   http://www.windmillcreative.co.uk
 Template:     Divi
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         Responsive-layout, accessibility-ready
 Text Domain:  Divi-child
testing 123
*/

/* Modifications */

html {
    font-size: 100%; /* 16px by default */
}


h1 {
	font-size: 2rem;
	line-height: 1.3em;
	font-family: 'Lato', 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	color: #252b5f;
	font-weight: 500;
    letter-spacing: 1px;
}

h2 {
	font-size: 1.3rem !important;
	line-height: 1.2rem !important;
	font-family: 'Lato','Open Sans', Helvetica, Arial, Lucida, sans-serif;
	color: #252b5f!important;
	padding-bottom: 22px;
	font-weight: 600 !important;
    letter-spacing: 1px;
}

h3 {
	font-size: 1.3rem;
	line-height: 1.7rem;
	font-family: 'Lato', 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	color: #101010;
	font-weight: 300;
}

h4 {
	font-size: 1.3rem !important;
	line-height: 1.2rem !important;
	font-family: 'Lato', 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	color: #252b5f;
	font-weight: 600;
    letter-spacing: 1px;
}

h5 {
	font-size: 0.9rem !important;
	line-height: 0.9rem;
	font-family: 'Lato', 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	color: #252b5f;
	font-weight: 600;
    letter-spacing: 1px;
}

h6 {
	font-size: 0.8rem;
	line-height: 0.9rem;
	font-family: 'Lato', 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 300;


}

p {
	font-size: 1rem;
    line-height: 1.5rem;
	font-family: 'Lato', 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	color: #101010 !important;
	font-weight: 300;
}

body {
	font-size: 1rem;
    line-height: 1.5rem;
	font-family: 'Lato', 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	color: #101010 !important;
	font-weight: 300 !important;
}

body.single-post p {
    font-family: 'Lato', sans-serif !important;
    font-weight: 300 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}



a {
    color: #252b5f;
    font-weight: 400;
    text-decoration: underline;
    text-decoration-thickness: 0.5px;

}

h6 a {

    font-weight: 300 !important;
    text-decoration: underline;
    text-decoration-thickness: 0.2px !important;
    text-decoration-color: #bfbbbb !important;
    
}

.footer-title h4 {
    font-size: 1.1rem !important;
}

.et_pb_text_inner h1, 
.et_pb_text_inner h4 {
    color: #252b5f;
    
}


.menu-text a {
    color: #ffffff !important;
    
}

ul li, ol li {
    font-size: 1rem !important; /* match your body text size */
    line-height: 1.5em;
}


.linkedin-links a {
    color: #ffffff !important;
    
}

#top-menu-nav a {
    font-weight:500 !important;
    text-transform: uppercase !important;
}


#page-subtitle {
    color: #ffffff !important;
    font-weight: 400 !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
}


.et_pb_bg_layout_dark .et_pb_text_inner p {
     color: #ffffff !important;
    font-weight: 400 !important;
}

.footer-text p {
    color: #ffffff !important;
    font-weight: 400 !important;
    font-size: .7rem !important;
}


/* Custom CSS for Divi Post Archive Title */
.et_pb_post_title {
    color: #252b5f !important;
    font-weight: 500 !important;
}

 
/* Main Mods */


/* Remove padding around the image container in the blog module */
.et_pb_blog_grid .et_pb_grid_item .et_pb_image_container {
    padding: 0; /* Remove padding from the image container */
    margin: 0; /* Ensure no margin is added to the image container */
}

/* Keep padding on the text content */
.et_pb_blog_grid .et_pb_grid_item .post-content {
    padding: 20px; /* Adjust this value as needed for text spacing */
}

/* Reduce the space between the post title and the meta publish date */
.et_pb_blog_grid .et_pb_grid_item .entry-title {
    margin-bottom: 5px !important; /* Adjust this value to reduce the space below the title */
}

.et_pb_blog_grid .et_pb_grid_item .post-meta {
    margin-top: 0 !important; /* Ensure no top margin on the meta section */
}

.et_pb_blog_grid .et_pb_post {
    border: none;

}


:root {
  --BottomOffset: 25px;
  --LineHeight: 2px;
  --LineColor: #29c1ee;
}

/* Menu Hover Effects Style 1 */
.dl-menu-style1 ul.et-menu>li>a {
    position: relative;
    z-index: 1;
}

.dl-menu-style1 ul.et-menu>li>a:before {
    position: absolute;
    content: '';
    display: block;
    background: var(--LineColor);
    width: 0;
    height: var(--LineHeight);
    bottom: var(--BottomOffset);
    border-radius: var(--LineHeight);
    left: 50%;
    transition: 0.4s cubic-bezier(0.25, 0.1, 0, 2.02);
    z-index: 0;
}

/* Hover Effect */
.dl-menu-style1 ul.et-menu>li>a:hover:before {
    width: calc(100% + var(--LineHeight));
    left: calc(var(--LineHeight) / -2);
}

/* Active Page Underline */
.dl-menu-style1 ul.et-menu>li.current-menu-item > a:before,
.dl-menu-style1 ul.et-menu>li.current-page-item > a:before {
    width: calc(100% + var(--LineHeight));
    left: calc(var(--LineHeight) / -2);

}

.vp-center {
    display: flex;
    align-items: top !important;
    justify-content: center;
}


.et_pb_post .et_post_meta .published p {
    font-size: .5rem !important;
}


.et-menu a {
    font-weight: 500 !important;
    
}

.subtitle p {
    font-size: 1.3rem !important;
    letter-spacing: 0px; !important;
    
}


.et_pb_blog_grid .et_pb_post {
    word-wrap: break-word;
}



.et_pb_post p {
    color: #101010 !important;
	font-size: 1rem !important;
    line-height: 1.5rem;
	font-family: 'Lato', 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
    
}

/*

.et_pb_text_0.et_pb_text a {
    color: #000000 !important;
}

*/

.disciplines p {
	font-size: 1.2em !important;
	line-height: 1.5em !important;
    font-weight: 300 !important;
}

.header-placeholder {
	height: 0px !important;
}



.et_pb_section_video_bg {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
    border: none;
    outline: none;
    transform: scale(1.001);

}

/* Force blog module images to maintain a 16:9 aspect ratio */
.et_pb_blog_grid .et_pb_image_container img {
    aspect-ratio: 4 / 3; /* Change to your desired ratio */
    object-fit: cover; /* Ensures the image fills the container without distortion */
    width: 100%; /* Maintain responsiveness */
    height: auto; /* Ensure proper scaling */
}


@viewport{
    zoom: 1.0;
    width: device-width;
}

/* Apply underline effect only to links in modules with the 'custom-underline' class */
.custom-underline a {
    position: relative;
    text-decoration: none;
    text-decoration-color: #29c1ee;
    color: #252b5f;
    text-transform: uppercase !important;
    letter-spacing: 1.2px;
}

/* Add the underline on hover for links inside .custom-underline */
.custom-underline a:before {
    content: '';
    position: absolute;
    bottom: -5px; /* Adjust the distance of the line from the text */
    left: 0;
    width: 100%; /* Set the initial width to 100% */
    height: 3px; /* Set the thickness of the underline to 3px (1px thicker) */
    background-color: #29c1ee; /* Set the color of the underline */
    transition: width 0.3s ease, left 0.3s ease; /* Smoothly animate the width and position */
}

/* Expand the underline to 110% width on hover */
.custom-underline a:hover:before {
    width: 110%; /* Expand the underline to 110% of the link width */
    left: -5%; /* Shift the line to ensure it expands equally on both sides */
}

/* Style the 'Read More' link */
.more-link {
    font-size: 0.9rem;
    position: relative;
    text-decoration: none; /* Remove default underline */
    color: #29c1ee; /* Set the link color */
    text-transform: uppercase; /* Make the text uppercase */
    display: inline-block !important; /* Restrict width to the text content */
    padding-top: 20px;
    letter-spacing: 1.2px;
    line-height: 15px;
}

/* Add the underline effect */
.more-link:before {
    font-size: 0.9rem;
    content: '';
    position: absolute;
    bottom: -5px; /* Adjust the distance of the line from the text */
    left: 50%; /* Start at the center of the link */
    width: 100%; /* Start with no underline visible */
    height: 3px; /* Set the thickness of the underline */
    background-color: #29c1ee; /* Set the underline color */
    transform: translateX(-50%); /* Center-align the line */
    transition: width 0.3s ease; /* Smoothly animate the line's width */
}

/* Expand the underline on hover */
.more-link:hover:before {
    width: 120%; /* Expand the underline slightly beyond the text width */
}


/*changing the Divi hamburger menu to X*/
.mobile_nav.opened .mobile_menu_bar:before {
    content: '\4d';
}
/*rotating the Divi Menu icon*/
.mobile_menu_bar:before {
    transition: all .4s ease;
    transform: rotate(0deg);
    display: block;
}
/*rotate the Divi Menu icon on click*/
.mobile_nav.opened .mobile_menu_bar::before {
    transition: all .4s ease;
    transform: rotate(90deg);
    display: block;
}
/* Remove the top line in the mobile menu*/
.et_mobile_menu {
border-top:0;
    
}
    
/* Ensure mobile menu icon stays above the menu background */
.mobile_menu_bar {
    position: relative;
    z-index: 9999;
}

.et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #07216a !important;
    z-index: 999999 !important;
    padding: 80px 0;
    overflow-y: auto;
    margin-top: 0;
}

html body .et-l--header .et_pb_menu .et_mobile_menu {
    background-color: rgba(7, 33, 106, 0.95) !important;
}

/* Default mobile menu link styling */
.et_mobile_menu li a {
    font-size: 40px !important;
    font-weight: 500!important;
    padding: 10px 10px !important; 
    border-bottom: none !important;
    line-height: 1.5; /* Optional line height adjustment */
    color: #ffffff !important; /* Default link color */
    text-decoration: none; /* No underline by default */

}

/* Hover state for mobile menu links with custom underline */
.et_mobile_menu li a:hover {
    color: #ffffff !important; /* Keep text color white on hover */
    text-decoration: underline; /* Apply underline */
    text-decoration-color: #007bff !important; /* Set underline color to blue */
    text-decoration-thickness: 3px !important; /* Set underline thickness */
    text-underline-offset: 6px !important; /* Move underline further down */
}

.et_mobile_menu li a:hover, .nav ul li a:hover {
    background-color: rgba(0, 0, 0, .00);
    opacity: 1 !important;
}





/* Ensure no content areas clip the menu */
.et_pb_section,
.et_pb_row,
.et_pb_column,
.et_builder_inner_content {
    overflow: visible !important;
    position: relative !important; /* Prevent unexpected stacking issues */
}



/* --- Allow arrows to overflow outside the slider container --- */
.et_pb_slider {
    overflow: visible !important;
}

/* --- Style and position slider arrows --- */
.et_pb_slider .et-pb-arrow-prev,
.et_pb_slider .et-pb-arrow-next {
    top: 50%; /* vertically center */
    transform: translateY(-50%);
    width: 50px;  /* desktop arrow size */
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10; /* keep above slider image */
    text-decoration: none !important; /* remove underline */
    border: none !important; /* remove border */
}

/* Move prev arrow to the left outside the image */
.et_pb_slider .et-pb-arrow-prev {
    left: -70px; /* adjust as needed */
}

/* Move next arrow to the right outside the image */
.et_pb_slider .et-pb-arrow-next {
    right: -70px; /* adjust as needed */
}

/* --- Responsive adjustments for tablet & mobile --- */
@media (max-width: 980px) {
    .et_pb_slider .et-pb-arrow-prev,
    .et_pb_slider .et-pb-arrow-next {
        width: 40px;   /* smaller arrows */
        height: 40px;
        left: 10px;    /* keep inside slider */
        right: 10px;
    }
}




/*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 1405px) {
  
}
 
/*** Responsive Styles Standard Desktop Only ***/
@media all and (min-width: 1100px) and (max-width: 1405px) {
 
}
 
/*** Responsive Styles Tablet ***/
@media (max-width: 980px) and (min-width: 768px) {

}

/*** Responsive Styles Mobile ***/
@media (max-width: 767px) {
    /* For smaller screens, fallback to a single-column layout */
    .et_pb_blog_grid .et_pb_grid_item {
        width: 100%; /* Make each card take full width */
        clear: both; /* Clear floats */
    }
        
    .subtitle p {
    font-size: 1.1rem !important;
    letter-spacing: 0px;
        
    }
}

/* Mobile menu links */
.et_mobile_menu li a, 
.et_pb_menu ul li a {
    text-align: center !important;
    display: block;
    width: 100%;


 
/*** Responsive Styles Smartphone Only ***/
@media all and (max-width: 767px) {

    
 
}
    }
    
    
 
/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 479px) {
    

         
         

 
}
}

    
 
