/* custom property */
:root {
	--accent-color: #800000;  /* could also be coded #800 */
	--gradient-color: #f6bb73;
}

/* reset */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* default styles */
body {
	font-family: Arial, Helvetica, sans-serif;
    font-size: calc(90% + .2vw);
	width: min(80%, 1024px);
	line-height: 1.5;
	margin: auto;
	border: 2px solid var(--accent-color);
}
h1, h2, h3, p, ul {
	padding: .25em 0;
}
a:hover, a:focus{
	font-style: italic;
	color: var(--accent-color);
}
h1 {
	font-size: 150%;
}
h2 {
	font-size: 130%;
	color: var(--accent-color);
}
h3 {
	font-size: 105%;
}
ul {
	margin-left: 2em;
}

/* the styles for the header */
header {
	line-height: 1.2;
	border-bottom: 2px solid var(--accent-color);
	background-image: linear-gradient(
	    30deg, var(--gradient-color) 0%, white 30%, white 65%, var(--gradient-color) 100%);
	& h2 {
		font-size: 175%;
		padding: .5em 0 0 0;
	}
	& h3 {
		font-size: 130%;
		font-style: italic;
		padding-bottom: 1em;
	}
	& img {
		width: clamp(40px, 15%, 80px); /* logo image */
		float: left;
		margin: .75em 1em;
	}
}

/* the styles for the main content */
main {
	display: flex;
	padding: 0 1em 1em;
	& blockquote {
		font-style: italic;
		padding-left: 1em;
	}
	& h3 + img { /* guest speaker images */
		width: clamp(40px, 50%, 75px);
		border: 4px double var(--accent-color);
		border-radius: 10px;
	}
}

/* the styles for the section */
section {
	flex-basis: 75%;
	padding-left: .5em;
	& img { /* featured speaker image */
		width: clamp(100px, 50%, 250px); 
		float: right;
		margin: 0 1em .25em;
	}
}

/* the styles for the aside */
aside {
	flex-basis: 25%;
	padding-right: .5em;
}

/* the styles for the footer */
footer {
	background-color: var(--accent-color);
	& p {
		text-align: center;
		color: white;
		padding: 1em 0;
	}
}

/* CSS class */
.featured {
	border-top: 2px solid var(--accent-color);
	border-bottom: 2px solid var(--accent-color);
	padding: .5em 0 1em;
}
.speaker {
	& h1 {
		color: var(--accent-color);
	}
	& h2 {
		color: black;
	}
	& p {
		padding: .5em 0; 
	}	
}
.large {
	font-size: 125%;
}