* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-font-smoothing: antialiased
}

html,
body {
	margin: 0;
	padding: 0
}

html {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-size: 18px;
	line-height: 1.5
}

@media (max-width: 41em) {
	html {
		font-size: 16px
	}
}

body {
	color: #515151;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%
}

a {
	color: #357edd;
	text-decoration: none
}

a:hover,
a:focus {
	text-decoration: underline
}

a strong {
	color: inherit
}

img {
	display: block;
	max-width: 100%
}

table {
	margin-bottom: 1rem;
	width: 100%;
	font-size: 85%;
	border: 1px solid #e5e5e5;
	border-collapse: collapse
}

td,
th {
	padding: .75rem .75rem;
	border: 1px solid #e5e5e5
}

th {
	text-align: left
}

.my-cv {
	border: 1px #eeeeee solid;
	padding: 15px;
	background-color: #eeeeee
}

.container {
	max-width: 55rem;
	padding-left: 1rem;
	padding-right: 1rem;
	margin-left: auto;
	margin-right: auto
}

footer {
	background-color: #1E1E24;
	color: #e6e6e6;
	padding-bottom: 2rem;
	padding-top: 1rem;
	margin-top: 2em
}

@media (max-width: 41em) {
	footer {
		padding-left: 1em;
		padding-right: 1em
	}
}

.footer {
	max-width: 45em;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1em;
	display: flex;
	padding: 20px
}

.footer-half-l,
.footer-half-r {
	flex: 1
}

@media screen and (max-width: 768px) {
	.footer {
		display: block
	}

	.footer-half-l {
		padding-bottom: 20px
	}
}

div.social {
	display: block;
	height: 2.25em
}

img.social-icon {
	float: left;
	max-width: 1.5em;
	margin-right: 1em
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
ul,
ol,
dl,
table,
.message,
.highlight,
.gist-file,
.pagination {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto
}

ul,
ol {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto
}

.comments {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	max-width: 40em;
	margin-right: auto;
	margin-left: auto
}

hr {
	max-width: 40em;
	margin-left: auto;
	margin-right: auto
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-bottom: .5rem;
	font-weight: bold;
	line-height: 1.25;
	color: #313131;
	text-rendering: optimizeLegibility
}

h1 {
	font-size: 1.75rem
}

h2 {
	margin-top: 1rem;
	font-size: 1.25rem
}

h3 {
	margin-top: 1.5rem;
	font-size: 1.1rem
}

h4,
h5,
h6 {
	margin-top: 1rem;
	font-size: 1rem
}

p {
	margin-top: 0;
	margin-bottom: 1rem
}

strong {
	color: #303030
}

ul,
ol,
dl {
	margin-top: 0;
	margin-bottom: 1rem
}

dt {
	font-weight: bold
}

dd {
	margin-bottom: .5rem
}

hr {
	position: relative;
	margin: 1.5rem 0;
	border: 0;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #fff
}

abbr {
	font-size: 85%;
	font-weight: bold;
	color: #555;
	text-transform: uppercase
}

abbr[title] {
	cursor: help;
	border-bottom: 1px dotted #e5e5e5
}

blockquote {
	padding: .5rem 1rem;
	margin: .8rem 0;
	color: #7a7a7a;
	border-left: .25rem solid #e5e5e5
}

blockquote p:last-child {
	margin-bottom: 0
}

@media (min-width: 30em) {
	blockquote {
		padding-right: 5rem;
		padding-left: 1.25rem
	}
}

a[href^="#fn:"],
a[href^="#fnref:"] {
	display: inline-block;
	margin-left: .1rem;
	font-weight: bold
}

.footnotes {
	margin-top: 2rem;
	font-size: 85%
}

.lead {
	font-size: 1.25rem;
	font-weight: 300
}

code,
pre {
	font-family: Consolas, monaco, monospace
}

code {
	padding: .25rem .5rem;
	font-size: 85%;
	color: #bf616a;
	background-color: #f4f4f4;
	border-radius: 3px
}

pre {
	margin-top: 0;
	margin-bottom: 1rem;
	margin-left: 0px !important;
	background-color: rgba(0, 0, 0, 0.025);
	text-align: left;
	overflow-x: scroll;
	color: #414141;
	padding-left: 1rem;
	font-size: 0.75rem
}

pre code {
	padding: 0;
	font-size: 100%;
	color: inherit;
	background-color: transparent
}

.highlight {
	background: #ffffff
}

.highlight .c {
	color: #999988;
	font-style: italic
}

.highlight .err {
	color: #a61717;
	background-color: #e3d2d2
}

.highlight .k {
	font-weight: bold
}

.highlight .o {
	font-weight: bold
}

.highlight .cm {
	color: #999988;
	font-style: italic
}

.highlight .cp {
	color: #999999;
	font-weight: bold
}

.highlight .c1 {
	color: #999988;
	font-style: italic
}

.highlight .cs {
	color: #999999;
	font-weight: bold;
	font-style: italic
}

.highlight .gd {
	color: #000000;
	background-color: #fdd
}

.highlight .gd .x {
	color: #000000;
	background-color: #faa
}

.highlight .ge {
	font-style: italic
}

.highlight .gr {
	color: #a00
}

.highlight .gh {
	color: #999
}

.highlight .gi {
	color: #000000;
	background-color: #dfd
}

.highlight .gi .x {
	color: #000000;
	background-color: #afa
}

.highlight .go {
	color: #888
}

.highlight .gp {
	color: #555
}

.highlight .gs {
	font-weight: bold
}

.highlight .gu {
	color: #aaa
}

.highlight .gt {
	color: #a00
}

.highlight .kc {
	font-weight: bold
}

.highlight .kd {
	font-weight: bold
}

.highlight .kp {
	font-weight: bold
}

.highlight .kr {
	font-weight: bold
}

.highlight .kt {
	color: #445588;
	font-weight: bold
}

.highlight .m {
	color: #099
}

.highlight .s {
	color: #d14
}

.highlight .na {
	color: teal
}

.highlight .nb {
	color: #0086B3
}

.highlight .nc {
	color: #445588;
	font-weight: bold
}

.highlight .no {
	color: teal
}

.highlight .ni {
	color: purple
}

.highlight .ne {
	color: #990000;
	font-weight: bold
}

.highlight .nf {
	color: #990000;
	font-weight: bold
}

.highlight .nn {
	color: #555
}

.highlight .nt {
	color: navy
}

.highlight .nv {
	color: teal
}

.highlight .ow {
	font-weight: bold
}

.highlight .w {
	color: #bbb
}

.highlight .mf {
	color: #099
}

.highlight .mh {
	color: #099
}

.highlight .mi {
	color: #099
}

.highlight .mo {
	color: #099
}

.highlight .sb {
	color: #d14
}

.highlight .sc {
	color: #d14
}

.highlight .sd {
	color: #d14
}

.highlight .s2 {
	color: #d14
}

.highlight .se {
	color: #d14
}

.highlight .sh {
	color: #d14
}

.highlight .si {
	color: #d14
}

.highlight .sx {
	color: #d14
}

.highlight .sr {
	color: #009926
}

.highlight .s1 {
	color: #d14
}

.highlight .ss {
	color: #990073
}

.highlight .bp {
	color: #999
}

.highlight .vc {
	color: teal
}

.highlight .vg {
	color: teal
}

.highlight .vi {
	color: teal
}

.highlight .il {
	color: #099
}

.css .o,
.css .o+.nt,
.css .nt+.nt {
	color: #999
}

#masthead {
	display: flex;
	border-bottom: 1px solid #ddd;
	padding-top: 1rem;
	padding-bottom: 1rem
}

#masthead>h1 {
	grid-column: text-start / 8;
	font-size: 1.25rem;
	margin-top: 0.25rem;
	margin-bottom: 0.25rem
}

#masthead>h1>a {
	color: #414141
}

#masthead>nav {
	grid-column: 8 / text-end;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	font-size: 1rem
}

h1>a {
	margin-left: -13rem
}

nav>a {
	margin-left: 2.5rem;
	margin-right: 0rem
}

@media screen and (max-width: 768px) {
	#masthead {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem
	}

	#masthead>h1 {
		grid-column: page;
		margin-bottom: 0.5rem
	}

	#masthead>nav {
		grid-column: page;
		justify-content: flex-start
	}

	h1>a {
		margin-left: auto;
		margin-right: auto
	}

	nav>a {
		margin-left: 0rem;
		margin-right: 1rem
	}
}

footer {
	background-color: #1E1E24;
	color: #e6e6e6;
	padding-bottom: 3rem;
	padding-top: 3rem;
	margin-top: 2em
}

#footer-left {
	grid-column: text-start / 8
}

#footer-left>time {
	color: #e6e6e6
}

#footer-right {
	grid-column: 8 / text-end
}

.footer-icon {
	margin-right: 0.75rem;
	color: #e6e6e6
}

@media screen and (max-width: 768px) {

	#footer-left,
	#footer-right {
		grid-column: page
	}

	#footer-left {
		margin-bottom: 1rem
	}
}

.message {
	margin-bottom: 1rem;
	padding: 1rem;
	color: #777;
	border: 1px solid;
	border-color: #ddd
}

table {
	margin-bottom: 1rem;
	width: 100%;
	font-size: 85%;
	border: 1px solid #ddd;
	border-collapse: collapse
}

td,
th {
	padding: 0.75rem 0.75rem;
	border: 1px solid #ddd
}

th {
	text-align: left;
	text-transform: uppercase
}

tbody tr:nth-child(odd) td,
tbody tr:nth-child(odd) th {
	background-color: #f6f6f6
}

button {
	font-size: 0.75rem;
	padding-top: 0.65rem;
	padding-bottom: 0.75rem;
	padding-right: 1rem;
	padding-left: 1rem;
	background: #fff;
	border: solid 1px #357edd;
	-webkit-transition: 0.35s color ease, 0.35s background-color ease;
	-moz-transition: 0.35s color ease, 0.35s background-color ease;
	-ms-transition: 0.35s color ease, 0.35s background-color ease;
	-o-transition: 0.35s color ease, 0.35s background-color ease;
	transition: 0.35s color ease, 0.35s background-color ease
}

button:hover,
button.hover {
	border-color: #357edd;
	background-color: #357edd;
	color: #fff;
	cursor: pointer
}

button:hover a {
	text-decoration: none;
	color: #fff
}

fieldset {
	border: 1px solid #ccc;
	padding: 1rem
}

fieldset legend {
	padding: 0.25rem 0.5rem;
	margin-left: 1rem
}

figure {
	display: block;
	margin-top: 1rem;
	margin-bottom: 1rem;
	margin-left: 0;
	margin-right: 0
}

figure figcaption {
	display: block;
	text-align: center;
	color: #777;
	font-size: 1rem;
	margin-top: 0.5rem
}

.figure-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 0.5rem
}

.figure-grid-left {
	grid-column: 1 / 2
}

.figure-grid-right {
	grid-column: 2 / 3
}

.icon {
	color: #515151;
	font-size: 1.25em
}

.intro {
	display: flex;
	flex-flow: row wrap
}

.intro-title {
	margin-left: 0rem;
	color: #147
}

.intro-text {
	flex: 1;
	padding-right: 25px
}

.intro-image {
	flex: 0 0 220px;
	margin: 0 auto
}

.intro-image-links-color {
	color: #515151
}

.intro-image-links {
	padding-top: 10px;
	padding-bottom: 20px;
	font-size: 14px
}

.intro-cv-wrapper {
	text-align: left;
	font-size: 14px
}

.intro-cv {
	border: 1px rgba(0, 0, 0, 0.12) solid;
	padding: 10px;
	text-align: center;
	border-radius: 5px;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1)
}

.intro-cv:hover {
	box-shadow: 0 7px 14px rgba(0, 0, 0, 0.25), 0 5px 5px rgba(0, 0, 0, 0.22)
}

.intro-logo {
	display: inline;
	width: 21px;
	vertical-align: middle
}

.everything-else {
	margin-left: 5rem;
	margin-right: 5rem;
	max-width: 45rem
}

@media screen and (max-width: 1100px) {
	.intro {
		margin-left: 1rem;
		margin-right: 1rem
	}

	.intro-title {
		margin-left: 1rem
	}

	.everything-else {
		margin-left: 1rem;
		margin-right: 1rem
	}
}

@media screen and (max-width: 768px) {
	.intro-title {
		margin-bottom: 25px
	}

	.intro-text {
		order: 2;
		flex: 0 0 100%;
		padding-right: 0
	}

	.intro-image {
		order: 1;
		padding-bottom: 20px
	}
}

.cover-wrapper-double {
	display: flex
}

.cover-warpper-with-title {
	display: flex;
	flex-direction: column
}

.cover-wrapper {
	display: flex;
	flex-flow: row wrap;
	justify-content: center
}

.cover {
	height: 337.5px;
	width: 275px;
	margin-top: 0.35rem;
	margin-bottom: 0.35rem;
	margin-left: 0.35rem;
	margin-right: 0.35rem;
	border: 1px rgba(0, 0, 0, 0.12) solid;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	text-align: left;
	border-radius: 3px;
	display: flex;
	flex-direction: column;
	justify-content: space-between
}

.cover:hover {
	box-shadow: 0 7px 14px rgba(0, 0, 0, 0.25), 0 5px 5px rgba(0, 0, 0, 0.22);
	text-decoration: none
}

.cover-side {
	font-size: 20px;
	height: 337.5px;
	width: 212.5px;
	margin-top: 0.35rem;
	margin-bottom: 0.35rem;
	margin-left: 0.35rem;
	margin-right: 0.35rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: right;
	padding: 20px
}

.cover-text-header {
	width: 100%;
	text-align: center;
	border-bottom: 1px solid #000;
	line-height: 0.1em;
	margin: 10px 0 20px
}

.cover-text-header-line {
	background: #fff;
	padding: 0 10px
}

.hr-text {
	margin-left: 0;
	color: #515151;
	font-weight: 600;
	line-height: 1em;
	position: relative;
	outline: 0;
	border: 0;
	text-align: center;
	height: 1.5em
}

.hr-text:before {
	content: '';
	background: rgba(0, 0, 0, 0.12);
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 1px
}

.hr-text:after {
	content: attr(data-content);
	position: relative;
	display: inline-block;
	padding: 0 .5em;
	line-height: 1.5em;
	background-color: #ffffff
}

.cover-inner {
	padding: 16px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1
}

.cover-title {
	font-size: 19px;
	text-transform: capitalize;
	font-weight: 600;
	color: #313131
}

.cover-title a {
	color: #313131
}

.cover-top a:hover {
	text-decoration: none !important
}

.cover-subtitle {
	font-size: 13px;
	color: #717171
}

.cover-authors {
	font-size: 11px
}

.cover-footer-wrapper {
	display: flex;
	justify-content: space-between
}

.cover-venue,
.cover-year,
.cover-links {
	font-size: 12px;
	padding-top: 8px
}

.cover-venue {
	font-style: italic
}

.cover-year {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	text-align: right
}

.cover-image {
	width: 100%;
	border-bottom: 1px rgba(0, 0, 0, 0.12) solid
}

.cover-link {
	text-decoration: none
}

@media screen and (max-width: 950px) {
	.cover-wrapper {
		max-width: 768px;
		margin: 0 auto
	}
}

@media screen and (max-width: 768px) {
	.cover {
		width: 100%;
		height: auto
	}

	.cover-side {
		height: auto;
		width: 100%;
		text-align: left
	}
}

#cv h1,
#cv h2,
#cv h3,
#cv h4,
#cv h5,
#cv h6,
#cv p,
#cv blockquote,
#cv ul,
#cv ol,
#cv dl,
#cv table,
#cv time,
#cv .message,
#cv .highlight,
#cv .gist-file,
#cv .pagination,
hr {
	max-width: 55rem;
	margin-left: 5rem
}

.cv-award {
	color: #FBC02D;
	font-weight: 600
}

#cv p,
#cv .post-date {
	font-size: 16px
}

#cv a {
	color: #515151
}

#cv a:hover,
#cv a strong:hover {
	color: #2196F3;
	text-decoration: none
}

.pub-misc,
.pub-misc {
	font-size: 0.75rem
}

.pub-misc a {
	color: #357edd !important;
	margin-right: 0.5rem;
	white-space: nowrap
}

.pub-misc a:hover {
	color: #00449e !important;
	text-decoration: none
}

#cv h3 {
	margin-top: 0rem;
	font-weight: 300
}

#cv h2 {
	margin-top: 2.5rem;
	font-weight: 300;
	color: #313131
}

#cv h1 {
	color: #313131;
	padding-bottom: 0px;
	margin-bottom: 0px
}

#cv strong a,
a strong {
	color: #303030
}

#cv .cv-blue-link a,
.cv-blue-link a {
	color: #2196F3
}

#cv .cv-left-date,
#cv .cv-left-date-extra,
#cv .cv-left-date-mobile {
	margin-left: -5rem;
	width: 5rem;
	display: inline-block;
	font-size: 12px;
	margin-top: 0;
	margin-bottom: 0;
	margin-right: 0;
	padding: 0
}

#cv .cv-left-date-mobile {
	display: none
}

.cv-spacer {
	margin-top: 5px;
	display: block
}

.cv-spacer-award {
	margin-top: 5px;
	display: block
}

.cv-spacer-line {
	margin-top: 5px;
	display: block;
	background-color: #eee;
	height: 1px;
	max-width: 250px;
	margin-bottom: 5px
}

#cv .cv-description {
	color: #3b3a3a;
	font-size: 14px;
	font-weight: 300
}

#cv .cv-description a {
	color: #3b3a3a
}

#cv .cv-description a:hover {
	color: #2196F3
}

#cv .cv-subtitle {
	font-size: 20px
}

#cv .cv-pdf {
	padding: 10px;
	border: 1px solid red
}

#cv .cv-ai {
	color: #E7841E
}

#cv .cv-vis {
	color: #2196F3
}

#cv time {
	color: #9a9a9a;
	font-weight: 300
}

#cv .cv-max-width {
	max-width: 40rem;
	padding-left: 0rem;
	display: block;
	font-size: 18px
}

#cv .cv-website-marker {
	border: 1px solid;
	padding-top: 1px;
	padding-bottom: 2px;
	padding-left: 8px;
	padding-right: 8px;
	border-radius: 4px
}

#cv .intro-image-links {
	margin-left: 5rem
}

#cv .cv-image-links-wrapper {
	display: flex;
	margin-left: 5rem;
	max-width: 600px
}

#cv .cv-image-links {
	flex: 1
}

#cv pre {
	margin-left: 0px !important;
	background-color: rgba(0, 0, 0, 0.025);
	text-align: left;
	overflow-x: scroll;
	color: #414141;
	padding-left: 1rem;
	font-size: 0.75rem
}

#cv .parametric-press,
#cv .parametric-press a {
	font-size: 13px;
	font-weight: 400
}

#cv .parametric-press a:hover {
	color: #2196F3 !important
}

@media screen and (max-width: 768px) {

	#cv h1,
	#cv h2,
	#cv h3,
	#cv h4,
	#cv h5,
	#cv h6,
	#cv p,
	#cv blockquote,
	#cv ul,
	#cv ol,
	#cv dl,
	#cv table,
	#cv time,
	#cv .message,
	#cv .highlight,
	#cv .gist-file,
	#cv .pagination,
	hr {
		margin-left: 0
	}

	#cv .intro-image-links {
		margin-left: 0
	}

	#cv .cv-left-date {
		margin-left: 0;
		display: block;
		width: 100%
	}

	#cv .cv-left-date-extra {
		margin-left: 0;
		display: block;
		width: 100%;
		display: none
	}

	#cv .cv-left-date-mobile {
		margin-left: 0;
		width: 100%;
		display: block
	}

	#cv .cv-image-links-wrapper {
		display: block;
		width: 100%;
		margin-left: 0
	}
}

.paper h1,
.paper h2,
.paper h3,
.paper h4,
.paper h5,
.paper h6,
.paper p,
.paper blockquote,
.paper ul,
.paper ol,
.paper dl,
.paper table,
.paper time,
.paper .message,
.paper .highlight,
.paper .gist-file,
.paper .pagination,
hr {
	max-width: 55rem
}

.paper figcaption {
	text-align: left !important
}

.paper figure figcaption.single {
	width: 100%;
	max-width: 55em;
	font-size: 14px
}

.bib .highlight {
	max-width: none
}

.bib .highlight:hover {
	background-color: #ececec
}

.paper .highlight:hover {
	background-color: #ececec
}

.paper code {
	word-break: keep-all;
	white-space: pre-wrap
}

.paper h1 {
	margin-bottom: 0rem
}

.paper h2 {
	margin-top: 1.8rem;
	margin-bottom: 0.2rem
}

.paper a {
	color: #515151
}

.paper .pub-misc a {
	color: #2196F3
}

.paper a:hover {
	color: #2196F3;
	text-decoration: none
}

.paper-spacer {
	margin-top: 5px;
	display: block
}

.page,
.post {
	margin-bottom: 0em;
	padding-left: 0rem
}

.page-title {
	padding-left: 1.5rem;
	font-size: 2.2em
}

.post-title {
	color: #357edd;
	font-size: 1.7em
}

.page-title,
.post-title {
	margin-top: 1rem
}

.post-date {
	display: block;
	margin-top: -.5rem;
	margin-bottom: 1rem;
	color: #9a9a9a
}

.related {
	padding-top: 2rem;
	padding-bottom: 2rem;
	border-top: 1px solid #eee
}

.related-posts {
	padding-left: 0;
	list-style: none
}

.related-posts h3 {
	margin-top: 0
}

.related-posts li small {
	font-size: 75%;
	color: #999
}

.related-posts li a:hover {
	color: #2196F3;
	text-decoration: none
}

.related-posts li a:hover small {
	color: inherit
}

@media print {
	i {
		font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"
	}
}

* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-font-smoothing: antialiased
}

html,
body {
	margin: 0;
	padding: 0
}

html {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-size: 18px;
	line-height: 1.5
}

@media (max-width: 41em) {
	html {
		font-size: 16px
	}
}

body {
	color: #515151;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%
}

a {
	color: #357edd;
	text-decoration: none
}

a:hover,
a:focus {
	text-decoration: underline
}

a strong {
	color: inherit
}

img {
	display: block;
	max-width: 100%
}

table {
	margin-bottom: 1rem;
	width: 100%;
	font-size: 85%;
	border: 1px solid #e5e5e5;
	border-collapse: collapse
}

td,
th {
	padding: .75rem .75rem;
	border: 1px solid #e5e5e5
}

th {
	text-align: left
}

.my-cv {
	border: 1px #eeeeee solid;
	padding: 15px;
	background-color: #eeeeee
}

.container {
	max-width: 55rem;
	padding-left: 1rem;
	padding-right: 1rem;
	margin-left: auto;
	margin-right: auto
}

footer {
	background-color: #1E1E24;
	color: #e6e6e6;
	padding-bottom: 2rem;
	padding-top: 1rem;
	margin-top: 2em
}

@media (max-width: 41em) {
	footer {
		padding-left: 1em;
		padding-right: 1em
	}
}

.footer {
	max-width: 45em;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1em;
	display: flex;
	padding: 20px
}

.footer-half-l,
.footer-half-r {
	flex: 1
}

@media screen and (max-width: 768px) {
	.footer {
		display: block
	}

	.footer-half-l {
		padding-bottom: 20px
	}
}

div.social {
	display: block;
	height: 2.25em
}

img.social-icon {
	float: left;
	max-width: 1.5em;
	margin-right: 1em
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
ul,
ol,
dl,
table,
.message,
.highlight,
.gist-file,
.pagination {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto
}

ul,
ol {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto
}

.comments {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	max-width: 40em;
	margin-right: auto;
	margin-left: auto
}

hr {
	max-width: 40em;
	margin-left: auto;
	margin-right: auto
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-bottom: .5rem;
	font-weight: bold;
	line-height: 1.25;
	color: #313131;
	text-rendering: optimizeLegibility
}

h1 {
	font-size: 1.75rem
}

h2 {
	margin-top: 1rem;
	font-size: 1.25rem
}

h3 {
	margin-top: 1.5rem;
	font-size: 1.1rem
}

h4,
h5,
h6 {
	margin-top: 1rem;
	font-size: 1rem
}

p {
	margin-top: 0;
	margin-bottom: 1rem
}

strong {
	color: #303030
}

ul,
ol,
dl {
	margin-top: 0;
	margin-bottom: 1rem
}

dt {
	font-weight: bold
}

dd {
	margin-bottom: .5rem
}

hr {
	position: relative;
	margin: 1.5rem 0;
	border: 0;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #fff
}

abbr {
	font-size: 85%;
	font-weight: bold;
	color: #555;
	text-transform: uppercase
}

abbr[title] {
	cursor: help;
	border-bottom: 1px dotted #e5e5e5
}

blockquote {
	padding: .5rem 1rem;
	margin: .8rem 0;
	color: #7a7a7a;
	border-left: .25rem solid #e5e5e5
}

blockquote p:last-child {
	margin-bottom: 0
}

@media (min-width: 30em) {
	blockquote {
		padding-right: 5rem;
		padding-left: 1.25rem
	}
}

a[href^="#fn:"],
a[href^="#fnref:"] {
	display: inline-block;
	margin-left: .1rem;
	font-weight: bold
}

.footnotes {
	margin-top: 2rem;
	font-size: 85%
}

.lead {
	font-size: 1.25rem;
	font-weight: 300
}

code,
pre {
	font-family: Consolas, monaco, monospace
}

code {
	padding: .25rem .5rem;
	font-size: 85%;
	color: #bf616a;
	background-color: #f4f4f4;
	border-radius: 3px
}

pre {
	margin-top: 0;
	margin-bottom: 1rem;
	margin-left: 0px !important;
	background-color: rgba(0, 0, 0, 0.025);
	text-align: left;
	overflow-x: scroll;
	color: #414141;
	padding-left: 1rem;
	font-size: 0.75rem
}

pre code {
	padding: 0;
	font-size: 100%;
	color: inherit;
	background-color: transparent
}

.highlight {
	background: #ffffff
}

.highlight .c {
	color: #999988;
	font-style: italic
}

.highlight .err {
	color: #a61717;
	background-color: #e3d2d2
}

.highlight .k {
	font-weight: bold
}

.highlight .o {
	font-weight: bold
}

.highlight .cm {
	color: #999988;
	font-style: italic
}

.highlight .cp {
	color: #999999;
	font-weight: bold
}

.highlight .c1 {
	color: #999988;
	font-style: italic
}

.highlight .cs {
	color: #999999;
	font-weight: bold;
	font-style: italic
}

.highlight .gd {
	color: #000000;
	background-color: #fdd
}

.highlight .gd .x {
	color: #000000;
	background-color: #faa
}

.highlight .ge {
	font-style: italic
}

.highlight .gr {
	color: #a00
}

.highlight .gh {
	color: #999
}

.highlight .gi {
	color: #000000;
	background-color: #dfd
}

.highlight .gi .x {
	color: #000000;
	background-color: #afa
}

.highlight .go {
	color: #888
}

.highlight .gp {
	color: #555
}

.highlight .gs {
	font-weight: bold
}

.highlight .gu {
	color: #aaa
}

.highlight .gt {
	color: #a00
}

.highlight .kc {
	font-weight: bold
}

.highlight .kd {
	font-weight: bold
}

.highlight .kp {
	font-weight: bold
}

.highlight .kr {
	font-weight: bold
}

.highlight .kt {
	color: #445588;
	font-weight: bold
}

.highlight .m {
	color: #099
}

.highlight .s {
	color: #d14
}

.highlight .na {
	color: teal
}

.highlight .nb {
	color: #0086B3
}

.highlight .nc {
	color: #445588;
	font-weight: bold
}

.highlight .no {
	color: teal
}

.highlight .ni {
	color: purple
}

.highlight .ne {
	color: #990000;
	font-weight: bold
}

.highlight .nf {
	color: #990000;
	font-weight: bold
}

.highlight .nn {
	color: #555
}

.highlight .nt {
	color: navy
}

.highlight .nv {
	color: teal
}

.highlight .ow {
	font-weight: bold
}

.highlight .w {
	color: #bbb
}

.highlight .mf {
	color: #099
}

.highlight .mh {
	color: #099
}

.highlight .mi {
	color: #099
}

.highlight .mo {
	color: #099
}

.highlight .sb {
	color: #d14
}

.highlight .sc {
	color: #d14
}

.highlight .sd {
	color: #d14
}

.highlight .s2 {
	color: #d14
}

.highlight .se {
	color: #d14
}

.highlight .sh {
	color: #d14
}

.highlight .si {
	color: #d14
}

.highlight .sx {
	color: #d14
}

.highlight .sr {
	color: #009926
}

.highlight .s1 {
	color: #d14
}

.highlight .ss {
	color: #990073
}

.highlight .bp {
	color: #999
}

.highlight .vc {
	color: teal
}

.highlight .vg {
	color: teal
}

.highlight .vi {
	color: teal
}

.highlight .il {
	color: #099
}

.css .o,
.css .o+.nt,
.css .nt+.nt {
	color: #999
}

#masthead {
	display: flex;
	border-bottom: 1px solid #ddd;
	padding-top: 1rem;
	padding-bottom: 1rem
}

#masthead>h1 {
	grid-column: text-start / 8;
	font-size: 1.25rem;
	margin-top: 0.25rem;
	margin-bottom: 0.25rem
}

#masthead>h1>a {
	color: #414141
}

#masthead>nav {
	grid-column: 8 / text-end;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	font-size: 1rem
}

h1>a {
	margin-left: -13rem
}

nav>a {
	margin-left: 2.5rem;
	margin-right: 0rem
}

@media screen and (max-width: 768px) {
	#masthead {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem
	}

	#masthead>h1 {
		grid-column: page;
		margin-bottom: 0.5rem
	}

	#masthead>nav {
		grid-column: page;
		justify-content: flex-start
	}

	h1>a {
		margin-left: auto;
		margin-right: auto
	}

	nav>a {
		margin-left: 0rem;
		margin-right: 1rem
	}
}

footer {
	background-color: #1E1E24;
	color: #e6e6e6;
	padding-bottom: 3rem;
	padding-top: 3rem;
	margin-top: 2em
}

#footer-left {
	grid-column: text-start / 8
}

#footer-left>time {
	color: #e6e6e6
}

#footer-right {
	grid-column: 8 / text-end
}

.footer-icon {
	margin-right: 0.75rem;
	color: #e6e6e6
}

@media screen and (max-width: 768px) {

	#footer-left,
	#footer-right {
		grid-column: page
	}

	#footer-left {
		margin-bottom: 1rem
	}
}

.message {
	margin-bottom: 1rem;
	padding: 1rem;
	color: #777;
	border: 1px solid;
	border-color: #ddd
}

table {
	margin-bottom: 1rem;
	width: 100%;
	font-size: 85%;
	border: 1px solid #ddd;
	border-collapse: collapse
}

td,
th {
	padding: 0.75rem 0.75rem;
	border: 1px solid #ddd
}

th {
	text-align: left;
	text-transform: uppercase
}

tbody tr:nth-child(odd) td,
tbody tr:nth-child(odd) th {
	background-color: #f6f6f6
}

button {
	font-size: 0.75rem;
	padding-top: 0.65rem;
	padding-bottom: 0.75rem;
	padding-right: 1rem;
	padding-left: 1rem;
	background: #fff;
	border: solid 1px #357edd;
	-webkit-transition: 0.35s color ease, 0.35s background-color ease;
	-moz-transition: 0.35s color ease, 0.35s background-color ease;
	-ms-transition: 0.35s color ease, 0.35s background-color ease;
	-o-transition: 0.35s color ease, 0.35s background-color ease;
	transition: 0.35s color ease, 0.35s background-color ease
}

button:hover,
button.hover {
	border-color: #357edd;
	background-color: #357edd;
	color: #fff;
	cursor: pointer
}

button:hover a {
	text-decoration: none;
	color: #fff
}

fieldset {
	border: 1px solid #ccc;
	padding: 1rem
}

fieldset legend {
	padding: 0.25rem 0.5rem;
	margin-left: 1rem
}

figure {
	display: block;
	margin-top: 1rem;
	margin-bottom: 1rem;
	margin-left: 0;
	margin-right: 0
}

figure figcaption {
	display: block;
	text-align: center;
	color: #777;
	font-size: 1rem;
	margin-top: 0.5rem
}

.figure-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 0.5rem
}

.figure-grid-left {
	grid-column: 1 / 2
}

.figure-grid-right {
	grid-column: 2 / 3
}

.icon {
	color: #515151;
	font-size: 1.25em
}

.intro {
	display: flex;
	flex-flow: row wrap
}

.intro-title {
	margin-left: 0rem;
	color: #147
}

.intro-text {
	flex: 1;
	padding-right: 25px
}

.intro-image {
	flex: 0 0 220px;
	margin: 0 auto
}

.intro-image-links-color {
	color: #515151
}

.intro-image-links {
	padding-top: 10px;
	padding-bottom: 20px;
	font-size: 14px
}

.intro-cv-wrapper {
	text-align: left;
	font-size: 14px
}

.intro-cv {
	border: 1px rgba(0, 0, 0, 0.12) solid;
	padding: 10px;
	text-align: center;
	border-radius: 5px;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1)
}

.intro-cv:hover {
	box-shadow: 0 7px 14px rgba(0, 0, 0, 0.25), 0 5px 5px rgba(0, 0, 0, 0.22)
}

.intro-logo {
	display: inline;
	width: 21px;
	vertical-align: middle
}

.everything-else {
	margin-left: 5rem;
	margin-right: 5rem;
	max-width: 45rem
}

@media screen and (max-width: 1100px) {
	.intro {
		margin-left: 1rem;
		margin-right: 1rem
	}

	.intro-title {
		margin-left: 1rem
	}

	.everything-else {
		margin-left: 1rem;
		margin-right: 1rem
	}
}

@media screen and (max-width: 768px) {
	.intro-title {
		margin-bottom: 25px
	}

	.intro-text {
		order: 2;
		flex: 0 0 100%;
		padding-right: 0
	}

	.intro-image {
		order: 1;
		padding-bottom: 20px
	}
}

.cover-wrapper-double {
	display: flex
}

.cover-warpper-with-title {
	display: flex;
	flex-direction: column
}

.cover-wrapper {
	display: flex;
	flex-flow: row wrap;
	justify-content: center
}

.cover {
	height: 337.5px;
	width: 275px;
	margin-top: 0.35rem;
	margin-bottom: 0.35rem;
	margin-left: 0.35rem;
	margin-right: 0.35rem;
	border: 1px rgba(0, 0, 0, 0.12) solid;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	text-align: left;
	border-radius: 3px;
	display: flex;
	flex-direction: column;
	justify-content: space-between
}

.cover:hover {
	box-shadow: 0 7px 14px rgba(0, 0, 0, 0.25), 0 5px 5px rgba(0, 0, 0, 0.22);
	text-decoration: none
}

.cover-side {
	font-size: 20px;
	height: 337.5px;
	width: 212.5px;
	margin-top: 0.35rem;
	margin-bottom: 0.35rem;
	margin-left: 0.35rem;
	margin-right: 0.35rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: right;
	padding: 20px
}

.cover-text-header {
	width: 100%;
	text-align: center;
	border-bottom: 1px solid #000;
	line-height: 0.1em;
	margin: 10px 0 20px
}

.cover-text-header-line {
	background: #fff;
	padding: 0 10px
}

.hr-text {
	margin-left: 0;
	color: #515151;
	font-weight: 600;
	line-height: 1em;
	position: relative;
	outline: 0;
	border: 0;
	text-align: center;
	height: 1.5em
}

.hr-text:before {
	content: '';
	background: rgba(0, 0, 0, 0.12);
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 1px
}

.hr-text:after {
	content: attr(data-content);
	position: relative;
	display: inline-block;
	padding: 0 .5em;
	line-height: 1.5em;
	background-color: #ffffff
}

.cover-inner {
	padding: 16px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1
}

.cover-title {
	font-size: 19px;
	text-transform: capitalize;
	font-weight: 600;
	color: #313131
}

.cover-title a {
	color: #313131
}

.cover-top a:hover {
	text-decoration: none !important
}

.cover-subtitle {
	font-size: 13px;
	color: #717171
}

.cover-authors {
	font-size: 11px
}

.cover-footer-wrapper {
	display: flex;
	justify-content: space-between
}

.cover-venue,
.cover-year,
.cover-links {
	font-size: 12px;
	padding-top: 8px
}

.cover-venue {
	font-style: italic
}

.cover-year {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	text-align: right
}

.cover-image {
	width: 100%;
	border-bottom: 1px rgba(0, 0, 0, 0.12) solid
}

.cover-link {
	text-decoration: none
}

@media screen and (max-width: 950px) {
	.cover-wrapper {
		max-width: 768px;
		margin: 0 auto
	}
}

@media screen and (max-width: 768px) {
	.cover {
		width: 100%;
		height: auto
	}

	.cover-side {
		height: auto;
		width: 100%;
		text-align: left
	}
}

#cv h1,
#cv h2,
#cv h3,
#cv h4,
#cv h5,
#cv h6,
#cv p,
#cv blockquote,
#cv ul,
#cv ol,
#cv dl,
#cv table,
#cv time,
#cv .message,
#cv .highlight,
#cv .gist-file,
#cv .pagination,
hr {
	max-width: 55rem;
	margin-left: 5rem
}

.cv-award {
	color: #FBC02D;
	font-weight: 600
}

#cv p,
#cv .post-date {
	font-size: 16px
}

#cv a {
	color: #515151
}

#cv a:hover,
#cv a strong:hover {
	color: #2196F3;
	text-decoration: none
}

.pub-misc,
.pub-misc {
	font-size: 0.75rem
}

.pub-misc a {
	color: #357edd !important;
	margin-right: 0.5rem;
	white-space: nowrap
}

.pub-misc a:hover {
	color: #00449e !important;
	text-decoration: none
}

#cv h3 {
	margin-top: 0rem;
	font-weight: 300
}

#cv h2 {
	margin-top: 2.5rem;
	font-weight: 300;
	color: #313131
}

#cv h1 {
	color: #313131;
	padding-bottom: 0px;
	margin-bottom: 0px
}

#cv strong a,
a strong {
	color: #303030
}

#cv .cv-blue-link a,
.cv-blue-link a {
	color: #2196F3
}

#cv .cv-left-date,
#cv .cv-left-date-extra,
#cv .cv-left-date-mobile {
	margin-left: -5rem;
	width: 5rem;
	display: inline-block;
	font-size: 12px;
	margin-top: 0;
	margin-bottom: 0;
	margin-right: 0;
	padding: 0
}

#cv .cv-left-date-mobile {
	display: none
}

.cv-spacer {
	margin-top: 5px;
	display: block
}

.cv-spacer-award {
	margin-top: 5px;
	display: block
}

.cv-spacer-line {
	margin-top: 5px;
	display: block;
	background-color: #eee;
	height: 1px;
	max-width: 250px;
	margin-bottom: 5px
}

#cv .cv-description {
	color: #3b3a3a;
	font-size: 14px;
	font-weight: 300
}

#cv .cv-description a {
	color: #3b3a3a
}

#cv .cv-description a:hover {
	color: #2196F3
}

#cv .cv-subtitle {
	font-size: 20px
}

#cv .cv-pdf {
	padding: 10px;
	border: 1px solid red
}

#cv .cv-ai {
	color: #E7841E
}

#cv .cv-vis {
	color: #2196F3
}

#cv time {
	color: #9a9a9a;
	font-weight: 300
}

#cv .cv-max-width {
	max-width: 40rem;
	padding-left: 0rem;
	display: block;
	font-size: 18px
}

#cv .cv-website-marker {
	border: 1px solid;
	padding-top: 1px;
	padding-bottom: 2px;
	padding-left: 8px;
	padding-right: 8px;
	border-radius: 4px
}

#cv .intro-image-links {
	margin-left: 5rem
}

#cv .cv-image-links-wrapper {
	display: flex;
	margin-left: 5rem;
	max-width: 600px
}

#cv .cv-image-links {
	flex: 1
}

#cv pre {
	margin-left: 0px !important;
	background-color: rgba(0, 0, 0, 0.025);
	text-align: left;
	overflow-x: scroll;
	color: #414141;
	padding-left: 1rem;
	font-size: 0.75rem
}

#cv .parametric-press,
#cv .parametric-press a {
	font-size: 13px;
	font-weight: 400
}

#cv .parametric-press a:hover {
	color: #2196F3 !important
}

@media screen and (max-width: 768px) {

	#cv h1,
	#cv h2,
	#cv h3,
	#cv h4,
	#cv h5,
	#cv h6,
	#cv p,
	#cv blockquote,
	#cv ul,
	#cv ol,
	#cv dl,
	#cv table,
	#cv time,
	#cv .message,
	#cv .highlight,
	#cv .gist-file,
	#cv .pagination,
	hr {
		margin-left: 0
	}

	#cv .intro-image-links {
		margin-left: 0
	}

	#cv .cv-left-date {
		margin-left: 0;
		display: block;
		width: 100%
	}

	#cv .cv-left-date-extra {
		margin-left: 0;
		display: block;
		width: 100%;
		display: none
	}

	#cv .cv-left-date-mobile {
		margin-left: 0;
		width: 100%;
		display: block
	}

	#cv .cv-image-links-wrapper {
		display: block;
		width: 100%;
		margin-left: 0
	}
}

.paper h1,
.paper h2,
.paper h3,
.paper h4,
.paper h5,
.paper h6,
.paper p,
.paper blockquote,
.paper ul,
.paper ol,
.paper dl,
.paper table,
.paper time,
.paper .message,
.paper .highlight,
.paper .gist-file,
.paper .pagination,
hr {
	max-width: 55rem
}

.paper figcaption {
	text-align: left !important
}

.paper figure figcaption.single {
	width: 100%;
	max-width: 55em;
	font-size: 14px
}

.bib .highlight {
	max-width: none
}

.bib .highlight:hover {
	background-color: #ececec
}

.paper .highlight:hover {
	background-color: #ececec
}

.paper code {
	word-break: keep-all;
	white-space: pre-wrap
}

.paper h1 {
	margin-bottom: 0rem
}

.paper h2 {
	margin-top: 1.8rem;
	margin-bottom: 0.2rem
}

.paper a {
	color: #515151
}

.paper .pub-misc a {
	color: #2196F3
}

.paper a:hover {
	color: #2196F3;
	text-decoration: none
}

.paper-spacer {
	margin-top: 5px;
	display: block
}

.page,
.post {
	margin-bottom: 0em;
	padding-left: 0rem
}

.page-title {
	padding-left: 1.5rem;
	font-size: 2.2em
}

.post-title {
	color: #357edd;
	font-size: 1.7em
}

.page-title,
.post-title {
	margin-top: 1rem
}

.post-date {
	display: block;
	margin-top: -.5rem;
	margin-bottom: 1rem;
	color: #9a9a9a
}

.related {
	padding-top: 2rem;
	padding-bottom: 2rem;
	border-top: 1px solid #eee
}

.related-posts {
	padding-left: 0;
	list-style: none
}

.related-posts h3 {
	margin-top: 0
}

.related-posts li small {
	font-size: 75%;
	color: #999
}

.related-posts li a:hover {
	color: #2196F3;
	text-decoration: none
}

.related-posts li a:hover small {
	color: inherit
}

@media print {
	i {
		font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"
	}
}





/* Existing CSS styles for images, videos, and thumbnails */
/* No changes needed for existing styles */

/* Updated CSS for thumbnail container */
.thumbnail-container {
  text-align: center;
  margin-top: 20px;
  display: flex; /* Use flexbox for layout */
  flex-wrap: wrap; /* Allow wrapping to next row */
  justify-content: center; /* Center items horizontally */
  align-items: flex-start; /* Align items to the top vertically */
}

.thumbnail {
  width: 100px;
  height: 75px;
  object-fit: cover;
  margin: 5px;
  cursor: pointer;
  border: 2px solid transparent;
}

.thumbnail:hover {
  border: 2px solid #000; /* Change border color on hover */
}

.active {
  border: 2px solid #000; /* Highlight active thumbnail */
}

/* For Dark Mode */

body.dark-mode {
    background-color: #1a1a1a;
    color: #fff;
}

/* Toggle switch styles */
.toggle-container {
    position: fixed;
    top: 20px;
    right: 20px;
    display: inline-block;
    width: 40px;
    height: 20px;
}

.toggle-checkbox {
    display: none;
}

.toggle-label {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    border-radius: 10px;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

.toggle-label:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    top: 2px;
    left: 2px;
    background-color: white;
    border-radius: 50%;
    -webkit-transition: transform 0.3s ease;
    transition: transform 0.3s ease;
}

.toggle-checkbox:checked + .toggle-label {
    background-color: #000;
}

.toggle-checkbox:checked + .toggle-label:before {
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
}

/* Workout Sidebar Styles */
.workout-sidebar {
    position: absolute;
    top: 0;
    right: -240px; /* Position it to the right of the intro section */
    width: 220px; /* Reduced from 280px */
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 10px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    max-height: none;
    overflow: visible;
    z-index: 100;
}

/* Ensure intro section can accommodate sidebar */
.intro {
    position: relative;
}

.intro-text {
    flex: 1;
    padding-right: 0; /* Keep original width */
    position: relative;
}

/* Dark mode styles for sidebar */
body.dark-mode .workout-sidebar {
    background-color: #2d2d2d;
    border-color: #404040;
    color: #fff;
}

body.dark-mode .workout-sidebar p,
body.dark-mode .workout-sidebar div {
    color: #fff !important;
}

body.dark-mode .workout-sidebar div[style*="border-bottom"] {
    border-bottom-color: #404040 !important;
}

/* Hide sidebar on smaller screens where there's no space */
@media screen and (max-width: 1200px) {
    .workout-sidebar {
        display: none;
    }
}

/* Mobile responsiveness */
@media screen and (max-width: 768px) {
    .workout-sidebar {
        position: static;
        width: 100%;
        margin: 20px auto;
        max-height: none;
        right: auto;
        top: auto;
        display: block; /* Show on mobile as stacked content */
    }
    
    /* Ensure intro section uses flexbox for proper ordering */
    .intro {
        display: flex;
        flex-direction: column;
    }
    
    .intro-image {
        order: 1;
    }
    
    .intro-text {
        order: 2;
    }
    
    .workout-sidebar {
        order: 3; /* This will push workouts to the very bottom */
    }
}

/* Ensure intro section can accommodate sidebar */
.intro {
    position: relative;
}

/* Force all text elements to be white in dark mode */
body.dark-mode p,
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode span,
body.dark-mode div,
body.dark-mode li,
body.dark-mode label,
body.dark-mode strong {
    color: #fff !important;
}

/* Set link color in dark mode */
body.dark-mode a {
    color: #0077CC !important;
}

/* Hide horizontal lines in dark mode */
body.dark-mode hr {
    border-top: none !important;
    border-bottom: none !important;
    display: none !important;
}



/* Add additional styles for dark mode as needed */




