#timetable 																{ display: flex; flex-wrap: wrap; flex-direction: column; }
#timetable .day															{ opacity: 0; height: 0; display: flex; flex-wrap: wrap; flex-direction: column; }
#timetable .day.active													{ opacity: 1; height: auto; }
#timetable .day:last-of-type											{ border-bottom: none; }
#timetable .day > p														{ margin: 0 0 1rem 0; }
#timetable .day > h2													{ font-size: 1.75rem; }
#timetable .day .session												{ display: flex; width: 100%; flex-wrap: wrap; margin: 0 0 1rem 0; overflow: hidden; transition: height 0.2s ease; }
#timetable .day .session .wrapper										{ width: 100%; }
#timetable .day .session .talks											{ opacity: 0; display: flex; width: 100%; flex-wrap: wrap; padding: 0.25rem 0.5rem; }
#timetable .day .session .session-header								{ cursor: pointer; background-color: #0b2e5e; display: flex; justify-content: space-between; align-items: center; padding: 0.125rem 1rem; margin: 0 0 1rem 0; }
#timetable .day .session .session-header:hover							{ background-color: #1a3e70; }
#timetable .day .session .session-header span							{ color: #FFF; }
#timetable .day .session .session-content								{ transition: opacity 0.25s ease; width: 100%; }
 
#timetable .day .session h3												{ width: 100%;  font-weight: 400; font-size: 1.125rem; color: #FFF; padding: 0.25rem 0.5rem 0.25rem 0.25rem; margin: 0; line-height: 1.5rem; }
#timetable .day .session h2												{ width: 100%; margin: 0;  }
#timetable .day .session > p											{ padding: 0 1rem; margin: 0 0 1rem; }

#timetable .day .session .talk											{ box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1); position: relative; display: flex; justify-content: space-between; padding: 2.25rem 1rem 1.25rem; margin: 1.25rem 0 1.5rem 0; flex-direction: column; border-radius: 6px; background-color: #FFF; width: 28.3333%; margin-right: 7.5%;  }
#timetable .day .session .talk:nth-of-type(3n)							{ margin-right: 0; }
#timetable .day .session .talk.margin									{ margin-right: 7.5%; }
#timetable .day .session .talk.no_margin_right							{ margin-right: 0%; }
#timetable .day .session .talk.margin_right								{ margin-right: 7.5%; }
#timetable .day .session .talk.large									{ width: 100%; max-width: 100%; flex-direction: row; align-items: center; }
#timetable .day .session .talk.medium									{ width: 64.1666%; flex-direction: row; flex-wrap: wrap; }
#timetable .day .session .talk.medium p									{ margin-right: 5%; }
#timetable .day .session .talk.medium picture							{ width: 45%; margin-right: 5%; }
#timetable .day .session .talk.medium .speakers							{ width: 50%; padding: 0; }
#timetable .day .session .talk.medium .speakers .speaker				{ margin: 0 0 0.5rem; }
#timetable .day .session .talk.medium .speakers .speaker p				{ width: 100%; margin: 0; display: flex; align-items: center; }
#timetable .day .session .talk.medium .speakers .speaker p span			{ margin-top: 0; margin-right: 0.75rem; }
#timetable .day .session .talk.large .speakers							{ padding: 0 0 0 1rem; }
#timetable .day .session .talk.medium img								{ max-width: 80%; }
#timetable .day .session .talk.medium .talk_content						{ width: 45%; margin-right: 5%; }
#timetable .day .session .talk.large .time								{ margin: 0 1rem 0 0; }
#timetable .day .session .talk .talk_text								{ width: 50%; }

#timetable .day .session .talk .speaker p span.first_name,
#timetable .day .session .talk .speaker p span.other_names,
#timetable .day .session .talk .speaker p span.suffix					{ display: block; }
#timetable .day .session .talk .speaker p span.suffix					{ font-size: 0.75rem; }

#timetable .day .session .talk .speaker .image_placeholder				{ width: 45%; margin-right: 5%; height: 0; padding-bottom: 45%; background-color: #ededed; }

#timetable .day .session.open .talks									{ opacity: 1; }

#timetable .day .session .talk .time									{ left: 1rem; font-size: 0.8rem; font-weight: 500; display: flex; align-items: center; justify-content: center; position: absolute; top: -25px; background-color: #8145f1; color: #FFF; height: 50px; width: 50px; border-radius: 50%; }
#timetable .day .session .talk p										{ font-size: 0.875rem; line-height: 1.25rem; margin: 0 0 1rem; }
#timetable .day .session .talk.blue										{ background-color:#53aceb; }
#timetable .day .session .talk.blue > *									{ color: #FFF; }
#timetable .day .session .talk.grey										{ background-color:grey; }
#timetable .day .session .talk.grey	> *									{ color: #FFF; }
#timetable .day .session .talk img										{ max-width: 100%; margin: 0 !important; display: inline-block; }
#timetable .day .session .talk .speakers								{ padding: 1rem 0 0; display: flex; flex-direction: column; }
#timetable .day .session .talk .speakers .speaker						{ margin-bottom: 1rem; }
#timetable .day .session .talk .speakers .speaker:last-of-type 			{ margin-bottom: 0; }
#timetable .day .session .talk .speakers .speaker a						{ display: block; color: #53aceb; font-weight: 600; }
#timetable .day .session .talk .speakers .speaker a.icon				{ margin-right: 0.75rem; font-size: 1.125rem; }
#timetable .day .session .talk .speaker									{ display: flex; width: 100%; align-items: start; }
#timetable .day .session .talk .speaker picture							{ width: 42%; margin-right: 8%; }
#timetable .day .session .talk .speaker p								{ height: 100%; margin: 0; line-height: 1rem; }
#timetable .day .session .talk .speaker p span a						{ display: block; font-size: 1.125rem; color: #53aceb; margin-top: 0.25rem; }
#timetable .day .session .talk .speaker p span a:hover					{ color: #8145f1 }

#timetable .day .session .talk.drink									{ padding-bottom: 3rem; min-height: 200px; justify-content: center; background: url(/images/drink.png); background-color:#FFF; background-repeat: no-repeat; background-position-x: center; background-position-y: calc(50% - 20px); background-size: 60px; }
#timetable .day .session .talk.center_text								{ min-height: 200px; justify-content: center;  }
#timetable .day .session .talk.center_text p							{ text-align: center; margin: 0; }
#timetable .day .session .talk.drink p									{ text-align: center; margin-top: 75px; }
#timetable .day .session .talk.medium.drink								{ flex-direction: column; padding-bottom: 3rem; }
#timetable .day .session .talk.medium.drink p							{ width: 100%; margin-right: 0; }
#timetable .mobile_element 												{ display: none; }

#timetable_header .day_buttons 											{ padding: 0 0 1rem; }
#timetable_header .day_buttons .button 									{ text-decoration: none; border: 1px solid #53aceb; margin: 0 2rem 1rem 0; min-width: 0; padding: 0.75rem 1.75rem; background-color: transparent; color: #53aceb; font-weight: 300; font-size: 1.35rem; border-radius: 6px; }
#timetable_header .day_buttons .button:hover 							{ background-color: #53aceb; color: #FFF; }
#timetable_header .day_buttons .button.active 							{ background-color: #53aceb; color: #FFF; }
#timetable_header .day_buttons .button:last-of-type						{ margin: 0 0 1rem 0;  }
/* 
#timetable .day .session .talk.session_intro,
#timetable .day .session .talk.day_section		{ width: 100%; max-width: 100%; }
#timetable .day .session .talk.session_intro span.time	{ display: none; } */

@media only screen and (min-width: 0px) and (max-width: 1000px) {

	#timetable .day .session .talk:nth-of-type(3n)					{ margin-right: 7.5%; }
	#timetable .day .session .talk:nth-of-type(2n)					{ margin-right: 0; }
	#timetable .day .session .talk									{ width: 46.25%; }
	#timetable .day .session .talk.medium							{ width: 100%; margin-right: 0; }
	#timetable .day .session .talk.drink							{ padding-bottom: 3rem; }

}

@media only screen and (min-width: 0px) and (max-width: 900px) {

	section.main div.config_container .day_buttons .button			{ font-size: 1.125rem; padding: 0.5rem 1.25rem; }

}

@media only screen and (min-width: 0px) and (max-width: 600px) {

	#timetable .day .session .talk											{ width: 100%; }
	#timetable .day .session .talk:nth-of-type(n)							{ margin-right: 0; }
	#timetable .day .session .talk.medium picture							{ height: 110px; display: block; width: 100%; }
	#timetable .day .session .talk.medium img								{ height: 100%; object-fit: cover; max-width: 100%; }
	#timetable .mobile_element 												{ display: block; }
	#timetable .desktop_element 											{ display: none; }

	#timetable .day .session .talk .speaker .talk_text p					{ width: 100%; }
	#timetable .day .session .talk .speaker .talk_text p.intro				{ margin-bottom: 1rem; }

	#timetable .day .session h3												{ font-size: 1.125rem; }

	section.main div.config_container .day_buttons .button:first-of-type	{ margin: 0 0 1rem 0; }
	section.main div.config_container .day_buttons .button					{ margin: 0 0 1rem 0; }
	section.main div.config_container .day_buttons .button:last-of-type		{ margin: 0; }
}