/* Deborah Frieden & Associates — site styles
   Closely follows the layout/palette of the original deborahfrieden.com
   (1000px centered layout, Arial, #6E8A9C accent, white background). */

* {
	box-sizing: border-box;
}

body {
	color: #444444;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	margin: 0;
	background: #FFFFFF;
}

a, a:visited {
	color: #6E8A9C;
	text-decoration: underline;
}

a:hover, a:focus, a:active {
	color: #444444;
	text-decoration: underline;
}

img {
	max-width: 100%;
	border: none;
}

#wrap {
	background: #FFFFFF;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}

/***** Header ********************/

#header {
	padding: 30px 0 20px;
	border-bottom: 4px solid #6E8A9C;
}

#header .site-title {
	font-size: 36px;
	font-weight: normal;
	letter-spacing: 1px;
	margin: 0 0 0.625in;
	line-height: 1.2;
	text-align: center;
}

#header .site-title a, #header .site-title a:visited {
	color: #333333;
	text-decoration: none;
}

#header .site-title {
	font-weight: 600;
}

#header .site-title a, #header .site-title a:visited {
	color: #5B9BD5;
}

#header .site-title strong {
	font-weight: 900;
	color: #3C6EA0;
}

#header .site-tagline {
	font-size: 13px;
	font-style: italic;
	color: #777777;
	margin: 6px 0 0;
}

/***** Nav ********************/

#nav {
	background: #FFFFFF;
}

#nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

#nav > ul > li {
	position: relative;
}

#nav > ul > li > a {
	display: block;
	color: #3C6EA0;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	padding: 14px 16px;
}

#nav > ul > li > a:hover {
	color: #444444;
	background: #F2F2F2;
}

#nav .sub-menu {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 20;
	min-width: 240px;
	background: #FFFFFF;
	border: 1px solid #D6D6D6;
	box-shadow: 0 3px 8px rgba(0,0,0,0.08);
}

#nav li:hover .sub-menu {
	display: block;
}

#nav .sub-menu li a {
	display: block;
	color: #6E8A9C;
	font-size: 13px;
	font-weight: normal;
	text-decoration: none;
	padding: 8px 14px;
	border-bottom: 1px solid #EFEFEF;
}

#nav .sub-menu li:last-child a {
	border-bottom: none;
}

#nav .sub-menu li a:hover {
	background: #F2F2F2;
	color: #444444;
}

#nav li.current > a {
	color: #444444;
}

/***** Inner content ********************/

#inner {
	padding: 30px 0 40px;
	min-height: 400px;
}

#content h1.entry-title {
	font-size: 22px;
	font-weight: normal;
	color: #444444;
	margin: 0 0 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #E6E6E6;
}

#content h2, #content h3, #content h4 {
	color: #444444;
	font-family: Arial, sans-serif;
	font-weight: normal;
	margin: 20px 0 8px;
}

#content h3 {
	font-size: 17px;
	color: #6E8A9C;
}

#content p {
	margin: 0 0 14px;
}

#content ul, #content ol {
	margin: 0 0 14px;
	padding-left: 22px;
}

#content li {
	margin: 0 0 6px;
}

.kicker {
	color: #6E8A9C;
	font-weight: bold;
	text-decoration: underline;
	text-transform: none;
	display: block;
	margin-bottom: 16px;
	font-size: 15px;
}

/***** Home page ********************/

.home-top {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
}

.home-top-left {
	flex: 1 1 420px;
}

.home-top-left p {
	margin: 0 0 14px;
}

.home-top-right {
	flex: 0 0 340px;
}

.home-top-right h2 {
	font-size: 24px;
	font-weight: bold;
	margin: 0 0 10px;
	text-align: center;
}

.home-top-right h2 a {
	text-decoration: none;
}

.click-here {
	font-size: 11px;
	text-align: center;
	margin: 0 0 4px;
	color: #777777;
}

.latest-news {
	background: #F7F7F7;
	border: 1px solid #E6E6E6;
	padding: 12px 15px;
	margin-bottom: 20px;
	text-align: center;
}

.latest-news p {
	margin: 0;
	font-weight: bold;
}

#rotator {
	position: relative;
	width: 100%;
	max-width: 340px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin: 0 auto;
	border: 1px solid #E6E6E6;
	background: #F2F2F2;
}

#rotator img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	animation: rotator-fade 24s infinite;
}

#rotator img:nth-child(1) { animation-delay: 0s; }
#rotator img:nth-child(2) { animation-delay: 4s; }
#rotator img:nth-child(3) { animation-delay: 8s; }
#rotator img:nth-child(4) { animation-delay: 12s; }
#rotator img:nth-child(5) { animation-delay: 16s; }
#rotator img:nth-child(6) { animation-delay: 20s; }

@keyframes rotator-fade {
	0% { opacity: 0; }
	4% { opacity: 1; }
	16% { opacity: 1; }
	20% { opacity: 0; }
	100% { opacity: 0; }
}

.photo-credit {
	text-align: center;
	font-size: 12px;
	margin-top: 8px;
}

/***** Figures / captions ********************/

.figure {
	border: 1px solid #E6E6E6;
	padding: 6px;
	background: #FAFAFA;
	margin: 0 20px 16px 0;
}

.figure img {
	display: block;
	width: 100%;
}

.figure figcaption {
	font-size: 11px;
	line-height: 1.4;
	padding: 8px 4px 2px;
	color: #666666;
}

.figure.align-left {
	float: left;
	width: 300px;
}

.figure.align-right {
	float: right;
	width: 300px;
	margin: 0 0 16px 20px;
}

.clear {
	clear: both;
}

/***** Two-column entry (image + text) ********************/

.entry-columns {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.entry-columns .col-image {
	flex: 0 0 300px;
}

.entry-columns .col-text {
	flex: 1 1 300px;
}

/***** Client list ********************/

.client-entry {
	margin: 0 0 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid #EFEFEF;
}

.client-entry:last-child {
	border-bottom: none;
}

.client-entry strong.client-name {
	color: #333333;
}

/***** Testimonials ********************/

.testimonial {
	margin: 0 0 26px;
	padding-bottom: 22px;
	border-bottom: 1px solid #EFEFEF;
}

.testimonial:last-child {
	border-bottom: none;
}

.testimonial p {
	font-style: italic;
	margin: 0 0 8px;
}

.testimonial cite {
	font-style: normal;
	font-weight: bold;
	color: #333333;
	display: block;
}

/***** News posts ********************/

.post-item {
	margin: 0 0 22px;
	padding-bottom: 20px;
	border-bottom: 1px solid #EFEFEF;
}

.post-item:last-child {
	border-bottom: none;
}

.post-item h2 {
	font-size: 18px;
	margin: 0 0 4px;
}

.post-item h2 a {
	color: #333333;
	text-decoration: none;
}

.post-item .post-date {
	font-size: 11px;
	text-transform: uppercase;
	color: #999999;
	margin: 0 0 8px;
}

/***** Two-column tables (speaking engagements etc.) ********************/

.two-col {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
}

.two-col > div {
	flex: 1 1 280px;
}

.two-col p {
	margin: 0 0 10px;
}

/***** Activities table ********************/

.activities-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 20px;
}

.activities-table td {
	vertical-align: top;
	padding: 3px 10px 3px 0;
	font-size: 15px;
}

.activities-table td.label {
	width: 42%;
}

.activities-table ul {
	margin: 0;
	padding-left: 18px;
}

.activity-gallery {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin: 20px 0;
}

.activity-gallery img {
	width: 100%;
}

.activity-gallery div {
	flex: 1 1 220px;
	border: 1px solid #E6E6E6;
	padding: 6px;
}

/***** Contact ********************/

.contact-block {
	background: #F7F7F7;
	border: 1px solid #E6E6E6;
	padding: 20px;
	max-width: 480px;
}

.contact-block p {
	margin: 0 0 10px;
}

/***** Footer ********************/

#footer {
	border-top: 1px solid #E6E6E6;
	padding: 16px 0 30px;
	color: #999999;
	font-size: 12px;
	text-align: right;
}

#footer a, #footer a:visited {
	color: #999999;
}

@media (max-width: 640px) {
	#nav > ul {
		flex-direction: column;
	}
	#nav .sub-menu {
		position: static;
		border: none;
		box-shadow: none;
		padding-left: 16px;
	}
	.figure.align-left, .figure.align-right {
		float: none;
		width: 100%;
		margin: 0 0 16px;
	}
	#footer {
		text-align: left;
	}
}
