html {
	scroll-behavior: smooth;
}

body {
	max-width: 100%;
	min-height: 100%;
	margin:0;
	overflow-y: scroll;
}

#page_container {
	max-width: 1024px;
	padding-left: 50px;
	padding-right:50px;
	padding-top:120px;
	padding-bottom: 120px;
}

.blog_title {
	font-size: inherit;
	line-height: 28px;
	margin: 0px;
	padding: 0px;
	font-weight: bold;
}

#blog_heading {
	margin-top:-5px;
	margin-bottom:20px;
	font-size: 35px;
}

.blog_subheading {
	font-size: 25px;
	margin-bottom: 0px;
	margin-top:55px;
}

#blog_feed {
	padding-top:20px;
}

.full_width {
	width:100%;
}

#blog_content {
	font-size: 20px;
	padding:0px;
	margin:0px;
}

#blog_content p {
	margin-top:20px;
	margin-bottom:20px;
	line-height:30px;
}

time {
	line-height: 29px;
	font-size: 18px;
}

#breadcrumbs {
	font-size: 25px;
	font-weight: 700;
	padding:0px;
	margin:0px;
	display: inline;
}

#breadcrumb_container {
	display: flex;
	justify-content:space-between;
}

#nav_links {
	font-size:20px;
	margin:0px;
	text-align: left;
	transition: color .15s ease-in-out, opacity .15s ease-in-out, max-height .25s ease-in-out;
	opacity: 0%;
	max-height: 0px;
	padding-top: 40px;
	padding-bottom:40px;
}

#plus_box {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height:30px;
	width: 30px;
	height: 30px;
	cursor: pointer;
	margin-top:auto;
	margin-bottom:auto;
}

@media(any-hover: hover) and (any-pointer: fine) {
	#plus_box:hover #plus {
		background: var(--highlight);
	}
	#plus_box:hover #plus:after {
		background: var(--highlight);
	}
}

#plus {
	background: var(--text);
	height: 20px;
	position: relative;
	width: 4px;
	transition: transform .15s ease-in-out, background .15s ease-in-out;
}

#plus:after {
	background: var(--text);
	content: "";
	height: 4px;
	left: -8px;
	position: absolute;
	top: 8px;
	width: 20px;
	transition: transform .15s ease-in-out, background .15s ease-in-out;
}

.blog_post {
	display: flex;
	flex-shrink: 1;
	flex-grow: 0;
	flex-direction: row;
	margin-bottom: 45px;
	font-size: 20px;
}

.blog_details {
	flex-basis: 33.3333%;
	margin-right:35px;
}

.blog_brief {
	flex-basis: 66.6666%;
	font-weight: 400;
	line-height: 29px;
	max-width: 66.6667%;
	padding-right: 10px;
}

.hidden {
	pointer-events: none;
}

img {
	padding-bottom:25px;
	padding-top:25px;
	max-width:100%;
}

hr {
	margin-top: 55px;
	margin-bottom: 55px;
	color: white;
	width: 60%;
}

iframe {
	margin-top:20px;
	margin-bottom:20px;
	width:100%;
	height: calc(100vh * .65);
	background-color:white;
}

.rounded_button {
	filter: drop-shadow(5px 4px 7px #444444);
	font-size:20px;
	font-weight:700;
	text-align: center;
	line-height:38px;
	background-color: blue;
	color: white;
	border-top-left-radius: 9999px;
	border-top-right-radius: 9999px;
	border-bottom-left-radius: 9999px;
	border-bottom-right-radius: 9999px;
	box-sizing: border-box;
	padding-left:16px;
	padding-right:16px;
	margin:0px;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}

@media only screen and (max-width: 1124px) {
	#page_container {
		padding-top: 50px;
	}
	#blog_feed {
		padding-top:10px;
	}
}

@media only screen and (max-width: 870px)  {
	#blog_feed {
		padding-top:0px;
	}
}

@media only screen and (max-width: 750px)  {
	.blog_post {
		display: inline-block;
		margin-bottom: 40px;
		font-size: 18px;
		min-width: 100%;
	}
	.blog_details {
		padding: 0px;
		display:flex;
		flex-direction:column;
	}
	time {
		order: 1;
		font-size: 16px;
		line-height: 24px;
	}
	.blog_title {
		order: 2;
		padding-bottom: 4px;
		padding-top: 1px;
		line-height: 24px;
	}
	.blog_brief {
		padding:0px;
		line-height: 25px;
	}
	#nav_links {
		line-height: 1.4;
	}
}

@media only screen and (max-width: 600px)  {
	#page_container {
		padding-left: 20px;
		padding-right:20px;
		padding-top:20px;
		padding-bottom:60px;
	}
	#nav_links {
		padding-bottom: 30px;
		padding-top: 30px;
		line-height: 1.4;
	}
	img {
		padding-bottom:10px;
		padding-top:10px;
	}
	#blog_heading {
		margin-bottom: 12px;
		line-height: 36px;
		font-size:30px;
	}
	.blog_subheading {
		margin-top:40px;
		margin-bottom: 0px;
		line-height:29px;
		font-size:22px;
	}
	#blog_content {
		font-size: 18px;
	}
	#blog_content p {
		line-height:28px;
	}
}

/* move up to main.css? */
a {
	color: var(--text);
	transition: color ease-in-out .15s, text-decoration ease-in-out .15s;
}

a::selection {
	color: var(--text);
	/*background-color: var(--highlight);*/
}

@media(any-hover: hover) and (any-pointer: fine) {
	a:hover {
		color: var(--highlight);
		transition: color ease-in-out .15s, text-decoration ease-in-out .15s;
		cursor: pointer;
	}

}

/* Dark mode by default, use light mode when preferred */
@media (prefers-color-scheme: light) {
	:root {
		--text: #000000;
		--background: #ffffff;
	  --highlight: #370fff;
	}
}
