/* Styles for Simple Events Listing */
.sel_no_events_notice:nth-of-type(2) {
	display:none;
}
.sel.event_listing {
	display:flex;
	flex-direction: column;
	width:100%;
	margin:0 0 75px 0;
}
.sel.event_listing .event_description {
	display:block;
	order:2;
	padding:0;
	flex-grow:2;
}
.sel.event_listing .date_block {
	order:1;
	margin-right:10px;
}
.date_block, .date_block:hover, .date_block:active, .date_block:focus {
	text-decoration: none;
}

.sel.event_listing h2 {
	margin-top:0;
	padding-top:0;
}
.sel.event_listing .ctas {
	display:flex;
	flex-direction: row;
	justify-content:center;
	align-content: center;
	flex:1 1 0;
}
.sel.event_listing .ctas .bttn {
	display:block;
	width:auto;
	background-color: #B1040E;
	padding:4px 4%;
	line-height: 25px;
	margin:0 1%;
	font-size: 1em;
	color:#ffffff;
	transition: background-color 0.2s ease-out;
}
.sel.event_listing .ctas .bttn.read_more_link {
	background-color:#B1040E;
}
.sel.event_listing .ctas .bttn:is(:hover, :active, :focus) {
	background-color:#742d2d;
	color:#ffffff;
	text-decoration: none;
}
.sel.event_listing .ctas .icon_container {
	display:none;
}
.sel.flex-container {
	display:flex;
}
.sel.single-event {
	flex-wrap: nowrap;
	justify-content: space-between;
	flex-direction: column;
}
.sel.single-event .flexed-sidebar {
	display: block;
	width: 100%;
	min-width: 200px;		
	position: relative;
	margin-left: 2%;
	order:1;
}
.sel.single-event .flexed-content {
	order:2;
	display: block;
	/* width: 73%; */
	padding: 0 15px 34px 15px;
	position: relative;
}
.sel.single-event .flexed-content h1 {
	margin-top:0;
	padding-top:2px;
}
.event_timetable {	
	display:block;
	position: relative;
	background-color:#F4F4F4;
	padding: 8px 12px;
	margin-bottom:20px;
}
.event_timetable:before {
	content:'Event Details';
	font-size:1.2em;
	margin-bottom:12px;
	display: block;
}
.sel.sel_details_container {
	width:100%;
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	border-top:1px solid #e3dfd5;
	padding-top:14px;
	margin-bottom:0;
}
.sel.sel_details_container.sel_registration {
	border-top:none;
}
.icon_container {
	display:block;
	width:30px;
	height:30px;
	margin:0 10px 10px 0;
}
.event_icon {
	width:100%;
	height:100%; /* Forcing square icons */
	fill:#777777;
}
.sel.sel_details_container .text_content {
	flex-grow:1;
}
.sel.sel_details_container p.date .date_divider {
	padding:0 4px;
}
.sel.sel_details_container p.time {
	position: relative;
	top:-10px;
}
.sel.bttn {
	background-color: #B1040E;
	padding:8px 4%;
	color:#ffffff;
	text-decoration: none;
	transition: background-color 0.2s ease-out;
}
.sel.bttn:visited {
	background-color: #B1040E;
	color:#f7f7f7;
}
.sel.bttn:is(:hover, :active, :focus) {
	background-color:#820000;
	color:#ffffff;
	text-decoration: none;
}
.sel.registration_link {
	width:95%;
	margin:5px auto;
	display:block;
	line-height: 35px;
	font-size:1.1em;
}
.sel.registration_link .icon_container {
	float:left;
	margin:0 5% 5px -5px;
}
.sel.registration_link .icon_container .event_icon {
	fill:#ffffff;
}
.sel .icon_container.text_icon {
	color:#777777;
	font-size: 36px;
    font-weight: bold;
    text-align: center;
    padding-top: 0;
    line-height: 30px;
	position: relative;
	top:-2px;
}
.sel_add_to_cal_links {
	font-size:0.9em;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content:space-between;
	width:calc(100% + 8px);
	position: relative;
	left:-8px;
	top: -8px;
	margin-bottom:0;

}
.sel_add_to_cal_links a {
	width:30%;	
	display:flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	text-decoration: none;
	background-color:#016895;
	transition: background-color 0.2s ease-out;
	margin-bottom:5px;
	margin-right:5px;
	padding:0 4px;
	color:#F4F4F4;
	height:26px;
}
.sel_add_to_cal_links a:is(:hover, :active, :focus){
	background-color:#2e2d29;
}
.sel_add_to_cal_links a .sel_logo_icon {
	width:18px;
	height:auto;
	display: inline-block;
	margin-right:5px;
	position: relative;	
	top:2px;
}
.sel_add_to_cal_links a .sel_logo_icon svg {
	width:100%;
	height: auto;
	fill:#F4F4F4;
}
.sel_add_to_cal_links a .sel_logo_icon.apple svg {
	width: 88%;
}

.sel_add_to_cal {
	
}
.padded_card {
	padding: 1em;	
}
.cta_padded_card {
	padding:3em 1em 1em 1em;
}
.sel_featured_cta {
	position: absolute;
    z-index: 100;
    margin-top: 0.5em !important;
    background: #017E7C;
    color: white;
    padding: 5px 15px 5px 25px;
    margin-left: -15px;
}
.sel_featured_cta::before {
	content: '';
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #014240;
    rotate: 45deg;
    left: 1px;
    bottom: -8px;
    z-index: -10;
}

/* Pagination */
.intra_post_nav {
	display:flex;
	flex-direction: row;
	justify-content: space-between;
	position: relative;
	width:100%;
}
.intra_post_nav > div {
	max-width:50%;
	display:flex;
	flex-direction: row;
}
.intra_post_nav .previous .arrow_wrapper {
	padding-right:3px;
}
.intra_post_nav .next .arrow_wrapper {
	padding-left:3px;
}
.sel_mini_events .intra_post_nav {
	display:none;
}

/* Related Events Listings */

.sel.related_events_wrapper {
	display:flex;
	flex-direction: column;
	margin:30px 0 10px 0;
	padding:20px 0 0 0;
	border-top: 1px solid #e3dfd5;
	justify-content: space-between;
	position: relative;
}
.related_events_wrapper_title {
	display:block;
	font-size:1.2em;
	position: absolute;
	top:-2em;
}
.related_events_wrapper_title a {
	text-decoration: none;
}
.related_events_wrapper_title a:is(:active, :hover, :focus) {
	text-decoration: underline;
}
.sel.related_events_wrapper .sel.tagged_event {
	display:flex;
	flex-direction: row;
	flex-wrap:nowrap;
	min-width: 32%;
	margin-bottom:20px;
}
.sel.related_events_wrapper .sel.tagged_event .event_title {
	font-size:1.1em;
	margin:0 10px;
	flex-grow:2;
}
.sel.related_events_wrapper .sel.tagged_event .event_title a {
	text-decoration: none;
}
.sel.related_events_wrapper .sel.tagged_event .event_title a:is(:hover, :active, :focus) {
	text-decoration: underline;
}
.sel.related_events_wrapper .sel.event_datebox {
	margin-right:10px;
}
.sel.related_events_wrapper .sel.event_dowbox span.day_of_week {
	font-size:1.2em;
}
.sel.event_datebox {
	width:100%;
    height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #B1040E;
    color: #fff !important;
    font-weight: bold;
	text-decoration: none;
	margin:0;
	line-height: 1.6em;
	transition: background-color 0.2s ease-out;
}
.sel.event_datebox:is(:hover, :active, :focus) {
	text-decoration: none;
	background-color: #820000;;
}
.sel.event_datebox span {
    display: block;
    width: 100%;
    text-align: center;
}
.sel.event_datebox .multi_day span {
	display:inline;
}
.sel.event_datebox .month {
    order: 2;
    font-size: 1.3em;
    text-transform: uppercase;
    letter-spacing: 1px;
	position: relative;
	top:5px;
}
.sel.event_datebox .day {
    order: 1;
    font-size: 2.1em;
}
.sel.event_datebox .year {
    order: 3;
    font-size: 1.1em;
    letter-spacing: 1px;
}
.sel.event_datebox .multi_month {
	display:block;
	font-size: 1.4em;
	line-height: 1em;
	width:100%;
	text-align: center;
}
.sel.event_datebox .multi_month span {
	display:inline;
}
.sel.event_datebox span.date_divider {
	padding:0 3px;
}
.compact .sel.event_datebox {
    width: 68px;
    height: 80px;
	line-height: 1.2em;
}
.compact .sel.event_datebox .month {
    font-size: 1.1em;
}
.compact .sel.event_datebox .day {
    font-size: 1.3em;
}
.compact .sel.event_datebox .day.multi_day {
	font-size: 1em;
}
.compact .sel.event_datebox .year {
    font-size: 1em;
}
.compact .sel.event_datebox .multi_month {
	font-size: 1em;	
}
.compact .sel.event_datebox .multi_month span {
	display:block;
}
.event_dowbox, .compact .event_dowbox {
    height: 100px;
	width:110px;
	padding:0 5px;
}
.event_dowbox .day_of_week {
	line-height: 1.1em;
	font-size:1.4em;
}

/* Portable Related Card Content */
.sel.related_card_container {
	display:flex;
	flex-wrap:nowrap;
	container-name: related_card_container;
  	container-type: inline-size;
}
.related_card_container.flex_horizontal {
	flex-direction: column;
}
.flex_vertical {
	flex-direction: column;
}
.flex_vertical .single_post_card {
	margin:0 auto 30px auto;	
}
.flex_horizontal .single_post_card {
	margin:0 1% 20px 1%;	
}
.single_post_card {
	flex:1 1 180px;
	display:block;
	position: relative;
	background-color:#ffffff;
	border: 1px solid #e3e3e3;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.13), 0 3px 6px rgba(0, 0, 0, 0.1);
	container-name: related_single_card;
  	container-type: inline-size;
}
.sel_text_container {
	padding:0.3em 1em 1em 1em;
	letter-spacing: -0.012em;
	line-height:1.3em;
}
.sel.related_card_container .sel.card_thumb {
	width: 100%;
    aspect-ratio: 451 / 226;
	margin-bottom:6px;
    overflow: hidden;
}
.sel.related_card_container .sel.card_thumb img {
	width: 100%;
    height: 100%;
    object-fit: cover;
}
.sel.related_card_container .generic_thumb a {
	text-decoration: none;
    background-color: #820000;
    background-image: url(img/stanford_s_small.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 90px;
    display: block;
    width: 100%;
    height: 100%;
	transition: background-color 0.2s ease-out;
}
.sel.related_card_container .generic_thumb a:has(:hover, :active, :focus) {
	text-decoration: none;
    background-color: #B1040E;
}
.sel.related_card_container .sel.event_datebox {
	width: 100%;
    height: 100%;
    line-height: 2.15em;
}
.sel.related_card_container .generic_thumb .sel.event_datebox > span {
    font-size: 2em;
}
.sel.related_card_container .multi_month {
	font-size:2em;
}
.sel.related_card_container .event_dowbox {
	width: 110px;
    height: 100%;
    line-height: 2.2em;
}
.sel.related_card_container .event_dowbox .day_of_week {
	font-size: 2em;
	/*font-size: calc( 12px + (24 – 12) * ( (100vw – 400px) / ( 800 – 400) ));*/
}
.sel.related_card_container .event_dowbox .time {
	font-size: 2.1em;
}
.sel.related_card_container .sel_text_container a {
	text-decoration: none;
}
.sel.related_card_container .sel_text_container a:has(:hover, :active, :focus){
	text-decoration: underline;
}
.sel.related_card_container .headline {
	font-size:1.1em;
	margin-bottom:10px;
}
.flex_vertical .headline {
	min-height: 76px;
}
.sel.related_card_container .lede {
	font-size:0.9em;
	padding:0 1.5%;
	margin-bottom:0;
}
@container related_card_container (width > 389px){
	.sel.related_card_container.flex_horizontal .single_post_card  {
		display:none;
	}
	.sel.related_card_container.flex_horizontal .single_post_card:nth-of-type(1), .sel.related_card_container.flex_horizontal .single_post_card:nth-of-type(2) {
		display:block;
	}
}
@container related_card_container (width > 700px){
	.sel.related_card_container.flex_horizontal .single_post_card {
		display:block;
	}
}
@container related_single_card (width > 280px) {
	.sel.related_card_container .sel.event_datebox {
		line-height: 2em;
		padding:2px 0 2px 0;
	}
	.sel.related_card_container .generic_thumb .sel.event_datebox > span {
		font-size: 2.3em;
	}
	.sel.related_card_container .multi_month span {
		
	}
	.sel.related_card_container .generic_thumb .sel.event_datebox .year {
		font-size:1.9em;
	}
}
@container related_single_card (width > 350px) {
	.sel.related_card_container .sel.event_datebox {
		line-height: 2.4em;
		padding:2px 0 2px 0;
	}
	.sel.related_card_container .generic_thumb .sel.event_datebox > span {
		font-size: 2.6em;
	}
	.sel.related_card_container .multi_month span {
		
	}
	.sel.related_card_container .generic_thumb .sel.event_datebox .year {
		font-size:2.2em;
	}
}
/* Only one card, so make the datebox smaller (ie, not a giant red block due to proportions!) */
@media (min-width:450px){
	.sel.related_card_container.total_cards_1 .single_post_card.events_card {
		display:flex;
		flex-direction:row;
		flex-wrap: nowrap;
	}
	.sel.related_card_container.total_cards_1 .single_post_card.events_card .sel.card_thumb {
		width: 95px;
        height: 100px;
		aspect-ratio: auto;
		order:2;
		margin:1em;
		flex-shrink:0;
	}
	.sel.related_card_container.total_cards_1 .generic_thumb .sel.event_datebox {
		line-height: 1.5em;
	}
	.sel.related_card_container.total_cards_1 .generic_thumb .sel.event_datebox > span {
		font-size:1.5em;
	}
	.sel.related_card_container.total_cards_1 .sel_text_container {
		padding:1em;
		flex-grow: 1;
	}
}

/* Full page queries */
@media (min-width:450px){
	.sel.event_listing{
		flex-direction: row;
		flex-wrap: nowrap;
	}
	.sel_align_right .event_description, .right_dateblocks  .sel.event_listing  .event_description {
		order:1;
	}
	.sel_align_right .sel.date_block, .right_dateblocks  .sel.event_listing  .sel.date_block {
		order:2;
		margin-left: 20px;
		margin-right: 0px;	
	}
	.event_listing .date_block .event_datebox {
		width:95px;
		height: 100px;
	}
	.event_listing .date_block .event_dowbox {
		width: 110px;
	}
	.event_listing .event_dowbox .day_of_week {
		line-height: 1.1em;
		font-size:1.1em;
	}
	.sel.date_block .sel.event_datebox .day.multi_day {
		font-size:1.7em;
	}
	.sel.date_block.compact .sel.event_datebox .day.multi_day {
		font-size: 1.15em;
	}
	.related_card_container.flex_horizontal {
		flex-direction: row;
	}
}
@media (min-width:560px){
	.sel.related_events_wrapper {
		flex-direction: row;
		flex-wrap: nowrap;
	}
	.sel.related_events_wrapper .sel.tagged_event {
		margin-bottom:10px;
		justify-content: space-between;
	}
	.sel.related_events_wrapper .sel.tagged_event .event_title {
		font-size:1.1em;
		margin:0 10px 10px 0;
	}
}
@media (min-width:620px){
	.sel.single-event.flex-container {
		flex-direction: row;
	}
	.sel.single-event .flexed-sidebar {
		order:2;
		width:25%;
	}
	.sel.single-event .flexed-content {
		order:1;
		padding-left:0;
	}
	.sel_add_to_cal_links {
		flex-direction: column;
		justify-content:flex-start;		
	}
	.sel_add_to_cal_links a {
		width: 100%;
		max-width: 116px;
	}
}