/* Higher Ed Forum two-column layout */
.hef-organizers-panel-container {
	display: flex;
	gap: 32px;
	margin-bottom: 32px;
	flex-wrap: wrap;
}
.hef-organizers-col {
	flex: 1 1 300px;
	background: #f8f9fa;
	border-radius: 8px;
	padding: 18px 20px;
	box-sizing: border-box;
	min-width: 260px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
@media (max-width: 900px) {
	.hef-organizers-panel-container {
		flex-direction: column;
		gap: 18px;
	}
}
/*

	
	corporattica // free CSS template
	
	=================================
	
	Author: Luka Cvrk
	
	Solucija - Awesome web templates
	www.solucija.com
	
	---------------------------------

*/

@charset "utf-8";

/* reset */
*{
	margin:0;
	padding:0;
	outline:0;
}

.header-logo a{
	font-size:29px;
	color:#fff;
	text-decoration:none;
	float:left;
	margin-top:20px;
	margin-left: 330px;
}

.header-venue{
	font-size:12pt;
	color:#eea;
	clear:both;
	float:left;
	margin-top: 5px;
	margin-left: 320px;	
}

img {
	border: 0; 
}
.clear { 
	clear: both; 
}
.line {
	clear: both;
	padding: 15px 0 0;
	margin: 0 0 25px;
	border-bottom: 1px solid #ddd;
}

body { 
	font-size: small;
	font-family:Arial, Helvetica, sans-serif;
	background: #f4f4f4 url(../images/bgtile.jpg) repeat-x; 
	color: rgb(0, 0, 0); 
}

/* typography and links */
a { 
    /*text-decoration:underline;*/
	color: #333;
}

p  { 
	margin: 0 0 17px; 
	line-height: 1.6em; 
}

hr{
	border: 1px dashed green;
}

/* headings */
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	font-family: .8em Georgia, 'Times New Roman', Times, serif; 
	
}
h1 { 
	float: left; 
	font-size: 2.1em; 
	color: #fff;
	letter-spacing: -1.4px;	
	margin: 0 0 30px 0;
	padding: 34px 0 0 10px;
}
h1 a { 
	color: #fff; 
}
h2 { 
	margin: 0 0 15px; 
	font-size: 1.9em; 
	color: #000; 
}
h2.inner { 
	border-bottom: 1px solid #ddd; 
	margin: 0 0 25px; 
	padding: 0 0 10px; 
}
h3 { 
	margin: 0 0 7px;  
	font-size: 1.3em; 
	clear: both; 
	color: #004879; 
	line-height: 1.3em;
	font-weight: bold; 
}

h3 a {
	text-decoration: none;
	font-weight: normal;
}
h4 { 
	margin: 0 0 10px; 
	font-size: 1.2em; 
	color: #000; 
}
h5 {
	font-size: 1em;
	color: #eee; 
	margin: 0 0 14px;
}

h6 {
	font-size: 1em;
	color: #eea; 
	margin: 20 20 0px;

}

#bg { 
	background: url(../images/bg.jpg) no-repeat center top; 
}

/*permanenet logos on left side*/
.leftlogo {
    margin: 95px 30px 0;
    width: 200px;
    position:relative;

 }
 
 .conf_date{
    margin: 20 10 30px;
    width: 200px;
    position:absolute;

 }

/*Logos on left of screen-top*/
#logos {
    float:left;
}
 
 
/* content holder */
.wrap { 
	margin: 0 auto; 
	width: auto;
	max-width: 1000px; /* Added max-width for better control on large screens */
	height: auto;
	padding: 0 20px; /* Added padding for responsiveness */
}


/* menu */
#mainmenu { 
	float: left; 
	padding: 5px 0 0; 
	margin-left: 110px;
}
#menu ul { 
	float: right; 
}
#menu li { 
	display: inline; 
	float: left; 
	margin: 0 0 0 10px; 
}
#menu li a { 
	display: block; 
	color: #fff; 
	padding: 7px; 
	font-size: 1em; 
	border-bottom: 1px solid transparent;
}
#menu a:hover, #menu li.current a { 
	border-color: #B22222;  
}
#menu li ul { 
	top: 115px;
	background: url(../images/dot.png); 
	padding: 3px;
	font-size: 1.1em; 
	position: absolute; 
	display: none; 
	z-index: 100; 
	border: 1px solid;
	width: 200px;
}
#menu li ul li { 
	float: none; 
	display: inline; 
	margin: 0; 
	padding: 0; 
	clear: left;
}

#menu li ul li a { 
	color: #000;
	margin: 3px; 
	white-space: nowrap;
	padding: 4px;	
}
#menu li ul li a:hover {
	background: #fff;
 	border-left: 5px solid #B22222;
	/*border-color: #2C2D2F;*/
}

/* pitch slideshow */
#pitch { 
	clear: both; 
	height: 296px; 
	background: url(../images/shadow.png) no-repeat left bottom;
	margin: 100 100 25px;
}
#slideshow {
    position:relative;
    height: auto;
}
#slideshow img {
	float: none;
	height: auto;
	width: 100%;
}
#slideshow div {
    position: static;
    top: auto;
    left: auto;
    z-index: auto;
}

#zoom { 
	z-index: 11; 
}

/* archives library */
div.polaroid {
	width: 250px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	text-align: center;
  }
  
div.container {
	padding: 10px;
  }


/* pitch overlay */
.overlay {
	clear: both;
	float: left; 
	z-index: 100;
	position: relative; 
	margin: 217px 0 0; 
}
.overlay h2{ 
	color: #000; 
	font-size: 2em;
	background: url(../images/dot.png);
	padding: 16px;
	margin: 0;
	float: left;
	width: 300px;
}
.overlay p {
	clear: both;
	background: #fff;
	padding: 16px;
	width: 600px;
    margin: 217px 332px 0;
}

#slideshow:hover .arrow {
	background: url(../images/dot.png);
}

.arrow { 
	float: right;
	position: relative;
	width: 65px;
	height: 63px;
	margin: -180px 0 0;
	z-index: 100;
}

.arrow a { 
	float: left;
	background: url(../images/pitcharrow.gif) no-repeat center center; 
	width: 15px;
	height: 24px;
	padding: 19px 25px;
}



/* inner pitch */
#inner-pitch {
	clear: both;
}
#inner-pitch .overlay {
	margin: 0;
	width: 920px;
}

/*message box*/
#message-box{
	border-radius: 7px;
	background-color:rgb(244, 248, 186);
	float: center;
	font-size: 1.2em;
	color: darkred;
	margin: 10px auto 10px;
	padding: 10px 10px 10px;
	text-align: center;
}
/*highlight box*/
#highlight-box{
	border-radius: 7px;
	/*background-color:rgb(177, 206, 223);*/
	border: 2px rgb(0, 0, 0);
	float: center;
	font-size: 1em;
	color: rgb(35, 15, 138);
	margin: 10px auto 10px;
	text-align: center;
	vertical-align: top;
	height: 100px;
}

/*cfp box*/
#cfp-box{
	border-radius: 7px;
	border: 2px green;
	float: center;
	text-align: center;
}

/*ieee box*/
#ieee-box{
	border-radius: 7px;
	/*border: 2px solid darkred;*/
	float: left;
	text-align: left;
	padding: 80px 0px 10px;
}

/*blue box*/
#blue-box{
	border-radius: 7px;
	background-color:rgb(206, 218, 224);
	border: 2px solid #004879;
	float: center;
	text-align: center;
	padding: 10px 10px 10px;
}

#blue-box a {
	color: #b00000;
	font-size: 1em;
}

/* Announcement Box Styles */
.announcement-box {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
    border-radius: 6px;
    padding: 16px;
    margin-bottom: 24px;
    font-size: 1.05em;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	text-align: center;
}

/* committee card*/
.committee-card{
	margin-left: 10px;
	margin-bottom: 5px;
	border-radius: 7px;
	/*background-color:white;*/
	text-align: left;
	padding: 5px 5px 5px;
	border-left: #00629B solid 2px;
	background: linear-gradient(to right, transparent 0%, #ffffff 50%, #d0d6db 100%);
}

/* speaker name card*/
.speaker-name-card{
	font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
	font-size: 14pt;
	color: #004879;
	margin-left: 0px;
	margin-bottom: 10px;
	width: 200px;
	border-radius: 7px;
	background-color:white;
	/*border-bottom: 2px solid #004879;*/
	float: center;
	text-align: center;
	padding: 10px 0px 0px;
	box-shadow: 5px 5px 5px #ccc; 
	-moz-box-shadow: 5px 5px 5px #ccc; 
	-webkit-box-shadow: 5px 5px 5px #ccc; 
	-khtml-box-shadow: 5px 5px 5px #ccc; 
}


.speaker-name-card-pic{
	background-color: transparent;
	text-align: center;
}

.speaker-name-card-text{
	background-color: white;
	color: black;
	text-align: center;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10pt
}



.speaker-name-card-border{
	background-color: #2e77a8;
	border-bottom-left-radius: 7px;
	border-bottom-right-radius: 7px;
	height: 8px;
	width: 200px;
	text-align: center;
	color: white;
	font-family: Arial, Helvetica, sans-serif;
	font-size:10pt;
}


/* speaker card*/
.speaker-card{
	margin-left: 10px;
	width: 150px;
	border-radius: 7px;
	background-color:white;
	border-bottom: 2px solid #004879;
	float: center;
	text-align: center;
	padding: 0px 0px 0px;
	box-shadow: 5px 5px 5px #ccc; 
	-moz-box-shadow: 5px 5px 5px #ccc; 
	-webkit-box-shadow: 5px 5px 5px #ccc; 
	-khtml-box-shadow: 5px 5px 5px #ccc;
	
}

.speaker-card a {
	color: #b00000;
	text-decoration: none;
	font-size: 1em;
}

.speaker-card-text{
	background-color: white;
	color: black;
	text-align: center;
	font-family: Arial, Helvetica, sans-serif;
}

/* details on symposium workshop speakers*/
.speaker-details-card {
    /*border: 2px solid yellow;*/
	/*margin-right: 10px;*/
	width: 100%;
	border-radius: 7px;
	background-color:rgb(226, 226, 226);
	border-bottom: 2px solid #004879;
	float: center;
	/*text-align: center;*/
	padding-top: 10px;
	padding-left: 10px;
	padding-right: 10px;
}  

.speaker-details-card a{
	color: #b00000;
	text-decoration: none;
	font-size: 1em;
}

.speaker-details-header {
	margin-bottom: 15px;
}
speaker-details-card
.speaker-details-info {
	margin-bottom: 15px;
	padding: 10px;
	background-color: none;
	border-radius: 5px;
}

.speaker-details-content {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 15px;
	background-color: none;
}

.speaker-details-text {
	flex: 1;
	min-width: 300px;
}

.speaker-details-image {
	flex: 0 0 200px;
	text-align: center;
}

.speaker-details-full-text {
	margin-bottom: 15px;
	padding: 10px;
	background-color: none;
	border-radius: 5px;
}

.speaker-details-bio {
	padding: 10px;
	background-color: none;
	border-radius: 5px;
}  

/* speaker card*/
.generic-card{
    /*border: 2px solid yellow;*/
	margin-right: 10px;
	width: 90%;
	border-radius: 7px;
	background-color:white;/*rgb(226, 226, 226);*/
	border-bottom: 2px solid #004879;
	float: center;
	text-align: left;
	padding: 10px 10px 10px;
}

.generic-card a {
	color: #b00000;
	text-decoration: none;
	font-size: 1em;
}

/*card used for symp wrksp coordinators*/
#card{
	width: 80%;
	border-radius: 7px;
	background-color:rgb(226, 226, 226);
	/*border: 2px solid #004879;*/
	text-align: center;
	padding: 10px 10px 10px;
}

#card a {
	color: #b00000;
	font-size: 1em;
}

/*flex containers for cards for registration costs and contacts*/
/* Center the flex container and its children */
.flex-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; /* Allows wrapping when no more space is available */
    gap: 20px; /* Adds spacing between cards */
    text-align: center; /* Centers text inside each card */
    padding: 20px;
}

/* Style each card */
.card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: auto; /* Auto width based on content */
    min-width: 100px; /* Ensures a reasonable minimum size */
    max-width: 150px; /* Restricts maximum width */
    padding: 20px;
    background-color: #d0d6db;
    border-radius: 10px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
}


/* for cpf topics */
/* Container that holds all the vertically written divs */
.container {
	display: flex; /* Use flexbox to align children horizontally */
	gap: 20px; /* Optional: Space between the divs */
  }
  
  /* Individual divs with vertically written text */
  .vertical-text {
	writing-mode: vertical-rl; /* Make the text vertical, right-to-left */
	text-align: center; /* Center the text horizontally within the div */
	
	display: flex;
	justify-content: center; /* Center the text vertically within the div */
	align-items: center; /* Center the text horizontally within the div */
	
	width: auto; /* Auto width based on content */
	min-width: atuo; /* Ensures a reasonable minimum size */
	max-width: 50px; /* Restricts maximum width */
	min-height: 300px;
	
	padding: 10px;
	
	background-color: #d0d6db; /* Background color */
	border-radius: 10px; /* Rounded corners */
	
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); /* Box shadow for effect */

	transform: rotate(180deg); /* Rotate the content 180 degrees to make it flow from bottom to top */
  }
  
/* Styling for the icon */
.icon {
	position: absolute; /* Position the icon relative to the parent div */
	top: 10px; /* Align the icon at the top */
	left: 10px; /* Align the icon to the left */
	
	width: 24px; /* Icon width */
	height: 24px; /* Icon height */

	transform: rotate(180deg); /* Rotate the content 180 degrees to make it flow from bottom to top */
  }
  


/*news box*/
#news-box{
	font-family:'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
	font-size: small;
	border-radius: 7px;
	background-color: rgb(213, 233, 215);
	/*border: 1px solid  #B22222;*/
	float: center;
	text-align: center;
	padding: 10px 10px 10px;

}

#news-box a{
	text-decoration: none;
	color: #b00000;
}

/*news box*/
#keynote-box{
	font-family:'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
	font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
	color: #004879;
	font-size: small;
	background-color:  #ffffff; /*rgb(206, 218, 224);*/
	border-radius: 12px;
	border-bottom-color:#b00000;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	float:left;
	text-align: center;
	padding: 0px 0px 15px;
	box-shadow: 5px 5px 5px #ccc; 
	-moz-box-shadow: 5px 5px 5px #ccc; 
	-webkit-box-shadow: 5px 5px 5px #ccc; 
	-khtml-box-shadow: 5px 5px 5px #ccc;
	width: 120px;
	height: 170px;
	margin-right: 2px;
}

.keynote-box-text{
	color: black;
	text-align: center;
	font-family: Arial, Helvetica, Helvetica, sans-serif;
	font-size: x-small;
}

.keynote-box-name-text{
	font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
	color: #004879;
	font-size: small;
}

/*date box*/
#date-box{
	font-family:'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
	font-size: small;
	border-radius: 7px;
	background-color:rgb(216, 216, 216);
	/*border: 2px solid #004879;*/
	float: left;
	text-align: center;
	padding: 5px 0 5px;
	width: 180px;
}
/* main content */
#main { 
	clear: left; 
	float: left; 
	width: 680px;
	border-right: 1px dotted #B00000;
	/*border-left: 1px dotted #ddd;*/
	padding: 0 30px 0 0;
	margin: 0 0 0px;
}

#intro { 
	padding: 0 0 20px; 
	margin: 0 0 25px;
	border-bottom: 0px dotted #ddd; 
}

/* holder for page content */
/*#page { 
	
}*/
.justify { 
	text-align: justify; 
}

/* images align */
.left { 
	float: left; 
	margin: 0 15px 5px 0; 
}
.right { 
	float: right; 
	margin: 0 0 5px 15px; 
}

/* tables - REMOVED */
/* .table, .table td, .table thead td, .table .odd td styles are removed */

/* blog posts */
.blog-post  { 
	border-bottom: 1px solid #ddd; 
	margin: 0 0 30px; 
}
.blog-date { 
	float: left; 
	width: 40px; 
	text-align: right; 
	font-size: .9em; 
	padding: 4px 0 0;
}
.blog-date span { 
	font-size: 1.8em; 
}
.blog-body { 
	float: right; 
	width: 590px; 
	border-left: 1px solid #ddd;
	padding: 0 0 0 22px;
}

/* lists */
#page ul, #page ol { 
	margin: 0 0 25px 27px; 
}
#page li { 
	padding: 6px 0; 
	list-style: square; 
}

/* boxes */
.half, .third { 
	float: left; 
	width: 292px; 
	background: #fff; 
	padding: 15px; 
	margin: 0 30px 30px 0; 
}
.third {
	width: 175px;
}

.last { 
	margin-right: 0; 
}

/* home page bits */
#bits {
	clear: both;
	margin: 0 0 25px; 
}

.bit {
	float: left;
	width: 203px;
	padding: 0 35px 0 0;
}
.bit h4 {
	margin: 0 0 18px;
}
.bit img { 
	margin: 0 0 8px;
	border-radius: 8px;
}

.bit p {
	font-size: .9em;
}
.bit.last { padding-right: 0; }
.more { margin: 0; }


/* sidebar */
#side { 
	float: right; 
	width: 220px; 
	font-size: 1em;
	/*background-color: #eaebec;*/
}
#side h4 {
	margin: 0 0 23px;
	font-size: 1em;
}
#side a {
	color: #b00000;
	font-size: 1em;
	text-decoration: none;
}


/* sidebar-news */
#example { 
	font-family: Georgia, 'Times New Roman', Times, serif;
	color: #004879;
	/*font-style: italic;*/
	float: left; 
	width: 220px; 
	font-size: 1em;
	border-bottom: 3px dotted #004879;
}


/* sidebar */
#side-inner { 
	float: left; 
	width: 220px; 
	font-size: .9em;
}
#side-inner h4 {
	margin: 0 0 23px;
	font-size: 1em;
}

.news { 
	border-bottom: 0px dotted #ddd;
	margin: 0 10px 7px;
	font-size: 0.7em;
	padding: 0 5px 5px;
 
}

.news h5 { 
	margin: 0 0 5px; 
	font-size: 1em;
}
.news p {
	margin: 0 0 11px;
}

#quote {
	margin: 0 0 30px;
	padding: 20px 0 0 0;
	font-size: .94em;
}

/* side menu */
.side-menu li { 
	list-style: none; 
	padding: 10px 4px; 
	border-bottom: 1px solid #ddd; 
}


/* forms */
fieldset {
	border: 0;
}
label { 
	display: block;
	color: #444;
	padding: 0 0 2px;
}
input.text, textarea.text {
	width: 250px;
	padding: 5px;
	border: 0;
	border: 1px solid #ddd;
	margin: 0 0 3px;
}
textarea.text  {
	width: 400px;
	height: 120px;
}
input.submit {
	color: #fff;
	padding: 7px 10px;
	border: 0;
	font-weight: bold;
	background: #777;
}
	
/*button*/
.button {
    display: inline-block;
    padding: 10px 20px;
    font-size: 14px;
    color: white;
    background-color: #004879;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.button:hover {
    background-color: #0056b3;
}



/* footer */
#footer { 
	clear: both; 
	color: #999; 
	background: url(../images/footertile.jpg) repeat-x;
	font-size: 0.8em;
}
#footerbg {
	padding: 35px 0 15px 0;
	background: url(../images/footer.jpg) no-repeat center top;
}
#footer p { 
	margin: 0 0 0px;
	padding: 6px 0;
}
#footer_menu {
	float: right;
	padding: 4px 0 0;
}
#footer a { 
	color: #999; 
	margin: 0 0px 0 0; 
	padding: 6px 10px;
	/*background: url(../images/dot.png) no-repeat left center;*/ /* Remove the background dot image */
	border: 1px solid transparent;
}
#footer a:hover {
	/*border-bottom-color: #555;*/
}
#fleft {
	clear: both;
	padding: 25px 0 0;
	font-size: .94em;
}

#copy { 
	position: relative;
	color: #777; font-size: 1.2em; 
	float: left;
}
#copy span { 
	color: #999; 
}
#website-credits { 
	position: relative;
	color: #777; font-size: 1.2em; 
	float: right;
	text-align: right;
	padding-right: 20px;
}


/* Hiding the checkboxes or radio button*/

input {
	position: absolute;
	opacity: 0;
	z-index: -1;
	}
	
	/* Accordion styles */
	
	
	
	.faq {
		color: #B00000; /* #ffe3e3;*/
		margin-bottom: 1rem;
	}
		
	.faq-label {
		font-size: 1rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0.1em;
		padding-left: 1em;
		background: white;
		/*border-bottom: 1px #E95420;*/
		/*font-weight: bold;*/
		border-width: 5px;
		border-bottom: solid #B00000; 
		border-radius: 7px;
		cursor: pointer;
		user-select: none;
	}
		
		
	.faq-label::after {
		content: '\21E3';
		padding: 0.51rem;
		transform: scale(1.8);
		text-align: center;
		transition: all 0.35s;
	}
		
		
		
	.faq-content {
		max-height: 0;
		padding: 0 1em;
		color: black;
		background: white;
		transition: all 0.35s;
		display: none;
	}
		
	input:checked + .faq-label {
		/*background: #E95420;*/
		border-width: 5px;
		border-bottom: solid #B00000; 
		border-radius: 7px;
	}
		
	input:checked + .faq-label::after {
		content: '\21E1'; /*2013*/
		transform: scale(1.5);
	}
		
	input:checked ~ .faq-content {
		max-height: 100vh;
		padding: 1em;
		display: block;
		transition: all 0.35s;
	}


/* Hide elements on mobile, show on desktop */
.hide-on-mobile {
  display: none;
}

/* Hide elements on desktop, show on mobile */
.hide-on-desktop {
  display: block;
}

/* Responsive adjustments */
@media (min-width: 768px) {
  .hide-on-mobile {
    display: block !important;
  }

  .hide-on-desktop {
    display: none !important;
  }


  /* Reset mainmenu to normal display on desktop */
  #mainmenu {
    position: static;
    width: auto;
    height: auto;
    background-color: transparent;
    display: block;
    visibility: visible;
    opacity: 1;
    padding: 5px 0 0;
    margin-left: 110px;
  }

  #menu ul {
    float: right;
    display: block;
    flex-direction: row;
    width: auto;
    max-width: none;
    background: url(../images/dot.png);
    padding: 3px;
  }

  #menu li {
    display: inline;
    float: left;
    margin: 0 0 0 10px;
  }

  #menu li a {
    color: #fff;
    padding: 7px;
    font-size: 1em;
    border-bottom: 1px solid transparent;
  }

  /* Desktop layout for main content */
  #main {
    width: 680px; /* Original width */
    float: left;
    border-right: 1px dotted #B00000;
    padding: 0 30px 0 0;
  }

  #side {
    width: 220px; /* Original width */
    float: right;
  }

  .container-flex {
    display: flex;
    flex-wrap: nowrap; /* Prevent wrapping on desktop */
  }

  .left-column {
    width: 200px; /* Adjust as needed for desktop */
    margin-right: 20px;
  }

  .right-column {
    flex-grow: 1; /* Allow right column to take remaining space */
  }

  .keynote-speakers-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px; /* Space between keynote boxes */
  }

  #keynote-box {
    width: 100px; /* Fixed width for desktop */
    margin-right: 2px;
  }

  .footer-content-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  /* Contact page responsive styles */
  .flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
  }

  .card {
    flex: 1;
    min-width: 250px;
    max-width: 300px;
  }

  /* Mobile styles for speaker details */
  .speaker-details-content {
    flex-direction: column;
  }

  .speaker-details-text {
    min-width: auto;
    width: 100%;
  }

  .speaker-details-image {
    flex: 0 0 auto;
    width: 100%;
    margin-top: 15px;
  }

  .speaker-details-image img {
    max-width: 200px;
    height: auto;
  }
}

  /* Mobile adjustments */
  @media (max-width: 767px) {

    /* Remove background on mobile */
    #bg {
      background: none !important;
    }

    /* Set body background to light gray on mobile */
    body {
      background: #f4f4f4 !important;
    }

    /* Mobile menu styling */
    #mobilemenu {
      margin: 0px 0;
      padding: 0px;
	}

    #mobilemenu #menu {
      list-style: none;
      margin: 0;
      padding: 0;
	  align-items: center;
    }

	#mobilemenu ul {
		display: flex; /* Enables flexbox for the unordered list */
		justify-content: center; /* Centers flex items horizontally */
		align-items: center; /* Centers flex items vertically (if there's vertical space) */
		list-style: none; /* Removes default bullet points */
		padding: 0; /* Removes default padding */
		margin: 0; /* Removes default margin */
	}
	
	#mobilemenu ul li {
		text-align: center; /* Centers the text and inline content (like images) within each list item */
	}
	
	#mobilemenu .mobile-menu-text {
		display: block; /* Ensures the span takes up full width for centering */
		font-size: 10px;
		font-weight: bold;
		color: #004879;
	}

  .wrap {
    padding: 0 10px; /* More padding on smaller screens */
  }	

  .header-logo {
    margin: 0 auto !important; /* Center the logo container */
    text-align: center !important;
    float: none !important;
    width: 100% !important; /* Take full width */
    padding: 20px 0 !important; /* Add some vertical padding */
    display: flex !important; /* Use flexbox for better centering */
    justify-content: center !important; /* Center horizontally */
    align-items: center !important; /* Center vertically */
	background-color: #004879 !important;

  }

  /* Override the original header-logo a styles for mobile */
  .header-logo a {
    float: none !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }

  .header-logo img {
    max-width: 80% !important; /* Allow logo to be larger but not too large */
    min-width: 200px !important; /* Ensure minimum size */
    height: auto !important;
    display: block !important; /* Remove any inline spacing */

  }

  /* Additional responsive adjustments for very small screens */
  @media (max-width: 480px) {
    .header-logo img {
      max-width: 90%; /* Allow logo to be larger on very small screens */
      min-width: 150px; /* Smaller minimum for very small screens */
    }
    
    .header-venue {
      font-size: 9pt; /* Slightly smaller font for very small screens */
    }
  }

  .header-venue {
    margin: 0 auto; /* Center the venue text */
    text-align: center;
    float: none;
    font-size: 10pt;
    padding: 10px 0; /* Add vertical padding */
    width: 100%; /* Take full width */
    clear: both; /* Ensure it's on a new line */
	color: #004879 !important;
  }


  .hide-on-mobile {
    display: none
  }



  #pitch {
    height: auto;
    margin: 20px 0;
	background: white; /* Set background to white for mobile pitch */
    background-size: cover;
    background-position: center;
  }

  #slideshow {
    height: auto;
    padding-bottom: 10px; /* Add some space below the image */
  }

  #slideshow img {
    width: 100%;
    height: auto;
    float: none;
  }

  /* Mobile styles for pitch image */
  #pitch img {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
  }

  #main {
    width: 100%;
    float: none;
    border-right: none;
    padding: 0;
  }

  #intro .container-flex {
    flex-direction: column; /* Stack columns vertically */
  }

  .left-column, .right-column {
    width: 100%;
    margin-right: 0;
  }

  #date-box {
    float:none;
    width: 70%;
    padding: 10px;
    box-sizing: border-box; /* Include padding in width */
    margin: 0 auto; /* Center the date box */
    text-align: center; /* Center the text content */
  }

  /* Move important dates below pitch banner on mobile */
  .left-column {
    order: 2; /* Move left column (with dates) after right column */
  }

  .right-column {
    order: 1; /* Move right column (with keynote speakers) first */
  }

  /* Ensure the container uses flexbox for ordering to work */
  .container-flex {
    display: flex !important;
    flex-direction: column !important;
  }

  .keynote-speakers-container {
    flex-direction: column; /* Stack keynote speakers vertically */
    align-items: center; /* Center them */
  }

  #keynote-box {
    width: 70%; /* Make keynote box less wide on mobile */
    margin: 0 auto 10px auto; /* Center the keynote box */
    float: none;
	box-sizing: border-box; /* Include padding in width */
	padding-bottom: 10px;
	padding-top: 10px;
    text-align: center; /* Center the content inside */
	background-color:  #f4f4f4; /*rgb(206, 218, 224);*/
	border: none;
	box-shadow: none;
  }

  .keynote-box-text{
	color: black;
	text-align: center;
	font-family: Arial, Helvetica, sans-serif;
	font-size: small;
}

.keynote-box-name-text{
	font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
	color: #004879;
	font-size: medium;
}

  #side {
    float: none;
    width: 100%;
    padding: 20px 0;
    text-align: center;
  }

  /* Override for hide-on-mobile class */
  #side.hide-on-mobile {
    display: none !important;
  }

  /* Additional override with higher specificity */
  div#side.hide-on-mobile {
    display: none !important;
  }

  /* Force hide any element with hide-on-mobile class on mobile */
  .hide-on-mobile {
    display: none !important;
  }



  /* Mobile improvements for speakers page */
  .speaker-details-card {
    margin: 15px 0;
    padding: 15px;
    border-radius: 8px;
    background-color: #f8f8f8;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  }

  .speaker-details-header h3 {
    font-size: 1.1em;
    line-height: 1.3;
    margin-bottom: 10px;
    color: #004879;
  }

  .speaker-details-info {
    font-size: 0.9em;
    line-height: 1.4;
    margin-bottom: 15px;
    padding: 12px;
    background-color: rgba(255,255,255,0.8);
    border-radius: 6px;
    border-left: 4px solid #004879;
  }

  .speaker-details-content {
    margin-bottom: 15px;
  }

  .speaker-details-text {
    font-size: 0.9em;
    line-height: 1.5;
    margin-bottom: 15px;
  }

  .speaker-details-image {
    text-align: center;
    margin: 15px 0;
  }

  .speaker-details-image img {
    max-width: 150px;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  }

  .speaker-details-full-text {
    font-size: 0.9em;
    line-height: 1.6;
    margin-bottom: 15px;
    padding: 12px;
    background-color: rgba(255,255,255,0.8);
    border-radius: 6px;
    border-left: 4px solid #b00000;
  }

  .speaker-details-bio {
    font-size: 0.9em;
    line-height: 1.5;
    padding: 12px;
    background-color: rgba(255,255,255,0.8);
    border-radius: 6px;
    border-left: 4px solid #004879;
  }

  /* Improve keynote speakers section on mobile */
  .keynote-speakers-container {
    gap: 20px;
    margin-bottom: 30px;
  }

  .keynote-box {
    width: 100%;
    max-width: 280px;
    margin: 0 auto 20px auto;
    padding: 15px;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border: 2px solid #004879;
  }

  .keynote-box img {
    max-width: 120px;
    height: auto;
    border-radius: 6px;
    margin-bottom: 10px;
  }

  .keynote-box-text {
    font-size: 0.85em;
    line-height: 1.4;
    color: #333;
  }

  /* Improve main content spacing on mobile */
  #main {
    padding: 0 15px;
  }

  #intro h3 {
    font-size: 1.3em;
    margin-bottom: 15px;
    color: #004879;
    text-align: center;
  }

  #intro i {
    display: block;
    text-align: center;
    margin-bottom: 20px;
    font-size: 0.9em;
    color: #666;
  }

  /* Add smooth scrolling for anchor links */
  html {
    scroll-behavior: smooth;
  }

  /* Improve touch targets */
  .keynote-box a {
    display: block;
    padding: 5px;
  }

  .speaker-details-card a {
    color: #b00000;
    text-decoration: underline;
  }

  .speaker-details-card a:hover {
    color: #800000;
  }



  /* Add visual separation between sections */
  .keynote-speakers-container + .speaker-details-card {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 2px solid #e0e0e0;
  }

  #cfp-box, #highlight-box {
    width: 90%;
    margin: 10px auto;
    float: none;
  }

  #highlight-box img {
    max-width: 100%;
    height: auto;
  }

  #idIframe {
    width: 90%;
    margin: 0 auto;
    display: block;
  }

  #side-inner {
    float: none;
    width: 100%;
    padding: 20px 0;
  }

  #footer_menu {
    float: none;
    width: 100%;
    text-align: center;
  }

  #copy, #website-credits {
    float: none;
    width: 100%;
    text-align: center;
    padding-right: 0;
  }

  .footer-content-flex {
    flex-direction: column;
    align-items: center;
  }

  /* Contact page mobile styles */
  .flex-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0 10px;
  }

  .card {
    width: 100%;
    max-width: none;
    min-width: auto;
    margin-bottom: 15px;
    padding: 15px;
    box-sizing: border-box;
  }

  #main {
    padding: 0 10px;
  }

  #intro h3 {
    text-align: center;
    margin-bottom: 20px;
  }
}

/* Styles for table-like divs */
.div-table {
  display: table;
  width: 100%;
  margin: 0 0 30px;
  border-collapse: collapse;
}

.div-table-row {
  display: table-row;
}

.div-table-cell {
  display: table-cell;
  padding: 10px;
  /*border-bottom: 1px solid #ddd;*/
}

.div-table-header .div-table-cell {
  font-weight: bold;
  /*border-bottom: 3px double #ddd;
  border-top: 1px solid #ddd;
  background: #fff;*/
}

    /* Touch feedback for mobile navigation */
  @media (max-width: 767px) {
    .nav-link.touch-active,
    .dropdown-item.touch-active {
      background-color: rgba(255,255,255,0.4) !important;
      transform: scale(0.98);
    }
  }
