/* custom property */
:root {
	--accent-color: #800000;  /* could also be coded #800 */
	--gradient-color: #f6bb73;

	--light_menu: white;
	--mid_menu: antiquewhite;
	--dark_menu: black;
}

/* reset */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* default styles */
body {
	font-family: Arial, Helvetica, sans-serif;
    font-size: calc(15px + .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);
		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 { /* 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 {
		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%;
}

/* styles for the menu */
.menu {
	display: flex;
	flex-wrap: wrap;
	& li { 
		flex-basis: 20%; 
		text-align: center;
	}
}

.navbar {
	background-color: var(--accent-color);
	& a {
		display: block;
		padding: 1em;
		text-decoration: none;
		margin: 0 1px 2px;
		color: var(--light_menu);
	}
	& a:hover, a:focus, a.current {
		background-color: var(--mid_menu);
		color: var(--dark_menu);
	}
	& ul {
		list-style-type: none;
		padding: 0;
		margin: 0;
	}
}

.menu li:has(.submenu) {
	position: relative;
	& small { 
		margin-left: .25em; 
	}
	&:hover > .submenu {
		display: block;
	}
}

.submenu {
	position: absolute;
	left: 0;
	right: 0;
	background-color: var(--accent-color);
	color: var(--light_menu);
	display: none;
	& > li a { 
		margin: 0 2px 2px; 
	}
}

.menu > li:first-child a { margin-left: 0; }
.menu > li:last-child a { margin-right: 0; }