/* Theme Name:   Miller Mayer
 Description:    A custom theme for the Miller Mayer website, based on the Divi theme.
 Author:         AWP
 Author URI:     https://awpny.com
 Template:       Divi
 Version:        1.0.0
*/

/*---------------------*/
/* SCREEN READERS ONLY */
/*---------------------*/

.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0; }


/*---------------------------------------------------*/
/* COMPLETELY DISABLE HORIZONTAL SCROLLING ON MOBILE */
/*---------------------------------------------------*/
@media (max-width: 480px) {
  html, body {
    overflow-x: hidden;
  }
  body {
    position: relative;
  }
}


/*---------------------*/
/* MAIN LINK STYLES    */
/*---------------------*/

body:not(.et_pb_pagebuilder_layout) .entry-content a, .et_pb_text a, .et_pb_post_content a, .et_pb_title_meta_container a, .wp-block-categories-list a, article .entry-title a {
  padding-bottom: 2px;
	border-bottom: 1px dashed #307033;
}
body:not(.et_pb_pagebuilder_layout) .entry-content a:hover, .et_pb_text a:hover, .et_pb_post_content a:hover, .et_pb_title_meta_container a:hover, .wp-block-categories-list a:hover, article .entry-title a:hover {
	border-bottom: 1px solid #307033;
	background-color:#fff65f;
}
#main-footer .et_pb_text a, #sub-footer .et_pb_text a, #sub-footer .et_pb_text tel, .footer-dns-link a {
	border-bottom: 1px dashed #bbb;
	padding: 2px;
}
#main-footer .et_pb_text a:hover, #sub-footer .et_pb_text a:hover, #sub-footer .et_pb_text tel:hover, .footer-dns-link a:hover {
	border-bottom: 1px solid #bbb;
	color: #1a3a74 !important;
	background-color:#c9af69;
	text-decoration: none;
}
.language-links a {
	border-bottom: none;
}
.language-links a:hover {
	border-bottom: 1px solid #fff;
	background-color: #1C3F81 !important;
}
.et_pb_widget .wp-block-categories-list li a:hover {
	color: #1a3a74 !important;
}
.recent-posts h3.entry-title a {
	line-height: 1.5em;
}
.footer-dns-link, .footer-dns-link a {
	color: #fff;
	font-size: 12px;
}

/*------------------*/
/*   HEADING FONT   */
/*------------------*/
.entry-content h1, .entry-content h2, .entry-content h3 {
	font-family: dashiell-fine, serif;
	font-weight: 600;
	font-style: normal;
}

/*--------------------*/
/*   HOME NEWS FEED   */
/*--------------------*/

.recent-posts article {
    margin-bottom: 25px !important;
	border-bottom: 1px solid #86a4bf;
}
.dsm_blog_carousel_0 .dsm-entry-meta .dsm-meta-seperator:first-of-type {
    display: none;
}


/*---------------*/
/*   MEGA MENU   */
/*---------------*/

#mega-header .dsm_button_0_tb_header .et_pb_button_one.et_pb_button::after {
	transform:scale(1.75);
}
#main-menu-icon span {
 padding-right: 12px;
}
#mega-menu {
    display: none;
}
.et-fb #mega-menu,
.et-builder #mega-menu {
    display: block;
}
.mega-active {
	background-color:#fff65f;
}


/*------------------*/
/*   TEAM STYLES    */
/*------------------*/

.person-photo img.photo-img {
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}
.person-photo img.photo-img.color {
    filter: grayscale(0%);
}

.expert-photo {
    width: 100%; /* Adjust the width as needed */
    height: 0; /* This is important for the padding-top trick */
    padding-top: 100%; /* This defines the aspect ratio (1:1 ratio) */
    background-size: cover; /* This ensures the image covers the entire area */
    background-position: center center; /* This centers the image in the div */
    background-repeat: no-repeat; /* This prevents the image from repeating */
	margin-bottom: 20px; /* Adjust as needed */
}
h2.expert-name {
	font-size: 26px;
	/* font-family: freight-sans-pro,sans-serif; */
    font-weight: 500;
    font-style: normal;
}
.expert-colleges {
	font-family: freight-sans-pro,sans-serif;
    font-weight: 600;
}
.expert-focus-areas {
  font-family: 'roboto mono', monospace;
  text-transform: uppercase;
  font-size:13px;
  line-height:1.4em;
}
.expert-biography {
	font-size: 14px;
	line-height: 1.5em;
	padding-bottom: 20px;
	display:none; /* hidden until revealed by user */
}
.biography-toggle {
	padding-bottom: 20px;
}
.biography-link {
	font-size: 14px;
}
button.view-biography, button.hide-biography {
    border: none;
    background: none;
    padding: 0px;
    font-size: 14px;
    cursor: pointer;
    padding-bottom: 2px;
	border-bottom: 1px dashed #307033;
}
button.hide-biography {
	margin-top: 20px;
}
button.view-biography:hover, button.hide-biography:hover {
	border-bottom: 1px solid #307033;
	background-color:#fff65f;
}
.person-email, .person-phone {
	font-size: 14px;
}
.expert-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 65px;
}
.expert-grid-item {
    /* Add styles for individual items, e.g., borders, padding, etc. */
}
.recent-research {
  font-family: 'roboto mono', monospace;
  text-transform: uppercase;
  font-size:13px;
  line-height:1.4em;
  display:inline-block;
}
@media all and (min-width: 768px) and (max-width: 1200px) {
	.expert-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media all and (max-width: 767px) {
	.expert-grid {
		grid-template-columns: repeat(1, 1fr);
	}
	.expert-photo {
		width: 100%; /* Adjust the width as needed */
		height: 0; /* This is important for the padding-top trick */
		padding-top: 56.25% !important; /* This defines the aspect ratio (16:9 ratio) */
		background-size: cover; /* This ensures the image covers the entire area */
		background-position: center center; /* This centers the image in the div */
		background-repeat: no-repeat; /* This prevents the image from repeating */
		margin-bottom: 20px; /* Adjust as needed */
	}
}


/*---------------------------------------*/
/* DIVI SLIDER ACCESSIBILITY ADJUSTMENTS */
/*---------------------------------------*/

.et-pb-arrow-next.keyboard-outline {
       opacity: 1;
       right: 22px;
}
.et-pb-arrow-prev.keyboard-outline {
       opacity: 1;
       left: 22px;
}

/*----------------------*/
/* GRAVITY FORMS STYLES */
/*----------------------*/

input.gform_button {
	appearance: none;
	border: none;
	color: #047229;
	font-size: 15px;
    font-weight: bold;
    font-style: normal;
	line-height: 26px;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 1px;
	padding: .3em 1em;
	border-radius: 0px;
	border: 2px solid #047229;
	background-color: #fff;
	transition: all 200ms ease !important;
	cursor: pointer;
}
input.gform_button:hover {
	background-color: rgba(0,0,0,.05);
}
input[type=url] {
	border: 1px solid #bbb;
}

/*----------------------*/
/* NEWSLETTER SUBSCRIBE */
/*----------------------*/
.et_bloom_image {
	max-width:200px !important;
}