/* GLOBAL STYLES */

:root {
	--main_text_color: black;

	--blue: #0c234b;
	--red: #ab0520;
	--grey: #49595e;

	--chat000: white;
	--chat100: #171717;
	--chat200: #212121;
	--chat300: #424242;
	--chat400: rgba(255, 255, 255, 0.05);
	--chat500: #2f2f2f;

	--shade100: rgb(200, 200, 200);
	--shade200: black; /* dark background */
  	--shade400: white; /* background */
	--shade700: rgb(220, 220, 220); /* light accents */
}

/* Reset body and html to remove white bars */
html {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	overflow: hidden; /* Prevent html from scrolling */
}

body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto; /* Only body scrolls */
	position: relative;
}

/* Ensure AOS animations work with body scroll */
/* Force all AOS elements to be visible - prevent hiding */
[data-aos] {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important; /* Override any transform hiding */
	pointer-events: auto;
}

/* Disable AOS hiding before it triggers */
[data-aos][data-aos][data-aos-duration] {
	transition-duration: 0s !important;
}

/* Images should always load */
img {
	opacity: 1 !important;
	visibility: visible !important;
}

html * {
	font-family: "ProximaNova-Regular", Helvetica, sans-serif;
	color: var(--main_text_color);
	font-size: 18px;
	letter-spacing: 0.5px;

	-ms-overflow-style: none;  /* Internet Explorer 10+ */
  	transition: none;
}

/* Global heading styles using Lastica */
h1, h2, h3, h4, h5, h6 {
	font-family: "Lastica", sans-serif;
	letter-spacing: 3px;
}

input, input:before, input:after {
	-webkit-user-select: initial;
	-khtml-user-select: initial;
	-moz-user-select: initial;
	-ms-user-select: initial;
	user-select: initial;
}

.chatpage::placeholder {
	color: #b4b4b4 !important;
	opacity: 1 !important;
	overflow: auto;
}

::placeholder {
	color: var(--main_text_color);
	opacity: 0.5;
}
::-webkit-input-placeholder {
	color: var(--main_text_color);
	opacity: 0.5;
}
::-moz-placeholder {
	color: var(--main_text_color);
	opacity: 0.5;
}
:-ms-input-placeholder {
	color: var(--main_text_color);
	opacity: 0.5;
}

textarea, textarea:before, textarea:after {
	-webkit-user-select: initial;
	-khtml-user-select: initial;
	-moz-user-select: initial;
	-ms-user-select: initial;
	user-select: initial;
}

a {
    text-decoration: none;
}
a:link {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
	cursor: pointer;
}

.inline-icon {
  vertical-align: bottom;
  font-size: 20px;
}

.inline-icon-dynamic {
	vertical-align: bottom;
	display: none;
    cursor: pointer;
	font-size: 20px;
}
.sidebar_item:hover .inline-icon-dynamic {
    display: inline-flex !important;
}
.inline-icon-dynamic:hover {
	opacity: 1 !important;
}

.material-symbols-outlined {
	font-variation-settings:
	'FILL' 0,
	'wght' 400,
	'GRAD' 0,
	'opsz' 48
}

.icon-filled {
	font-variation-settings:
	'FILL' 1,
	'wght' 400,
	'GRAD' 0,
	'opsz' 48
}

.waw-inner_text waw-title {
}

/* TYPOGRAPHY */

@font-face {
	font-family: ProximaNova-Bold;
	src: local("ProximaNova-Bold"),
    url("/fonts/ProximaNova-Bold.otf") format("truetype");
}
@font-face {
	font-family: ProximaNova-SemiBold;
	src: local("ProximaNova-SemiBold"),
    url("/fonts/ProximaNova-SemiBold.otf") format("truetype");
}
@font-face {
	font-family: ProximaNova-Medium;
	src: local("ProximaNova-Medium"),
    url("/fonts/ProximaNova-Medium.otf") format("truetype");
}
@font-face {
	font-family: ProximaNova-Regular;
	src: local("ProximaNova-Regular"),
    url("/fonts/ProximaNova-Regular.otf") format("truetype");
}
@font-face {
	font-family: ProximaNova-Light;
	src: local("ProximaNova-Light"),
    url("/fonts/ProximaNova-Light.otf") format("truetype");
}
@font-face {
	font-family: ProximaNova-Thin;
	src: local("ProximaNova-Thin"),
    url("/fonts/ProximaNova-Thin.otf") format("truetype");
}

.container {
	margin: 0 auto;
	display: block;
	flex-direction: row;
  	flex-wrap: wrap;
  	overflow-wrap: break-word;
	overflow-x: hidden;
	overflow-y: visible;
	min-height: 500px;
	padding-bottom: 0px;
}

.content_block {
    background-size: cover;
	height: auto;
	box-sizing: border-box;
	margin: auto;
	max-width: 100%;
	padding-left: 15px;
	padding-right: 15px;

}
.hero {
	max-width: 1110px;
	margin: 0 auto;
}
.content {
	padding-top: 35px;
	padding-bottom: 35px;
	width: 100%;
	margin: 0 auto;
}

.content1 {
	padding-top: 35px;
	padding-bottom: 35px;
	width: 100%;
	margin: 0 auto;
}

.bubble {
	background: white;
	width: 100%;
	box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
	margin-bottom: 22px;
	padding: 20px;
	padding-top: 22px;
	padding-bottom: 22px;
	box-sizing: border-box;
}

.bubble1 {
	display: block;
	position: relative;
	background: white;
	text-align: left;
	width: 100%;
	max-width: 500px;
	box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
	border-radius: 6px;
	margin-bottom: 22px;
	padding: 10px;
	padding-top: 2px;
	padding-bottom: 72px;
	box-sizing: border-box;
	border-radius: 10px;
}

.bubble2 {
	display: block;
	position: relative;
	background: white;
	text-align: left;
	width: 100%;
	max-width: 500px;
	box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
	border-radius: 6px;
	margin-bottom: 22px;
	padding: 20px;
	padding-top: 22px;
	padding-bottom: 72px;
	box-sizing: border-box;
	border-radius: 10px;
}

.bubble_jd {
	background: white;
	width: 100%;
	max-width: 700px;
	margin-bottom: 10px;
	padding: 20px;
	padding-top: 22px;
	padding-bottom: 22px;
	box-sizing: border-box;
	border-radius: 10px;
}

.app_bubble {
	background: rgba(255, 255, 255, 0.5);
	border-radius: 5px;
	padding: 3px;
	padding-left: 5px;
	padding-right: 5px;
	margin-bottom: 7px;
	width: max-content;
}

.bubble_title {
	font-family: "Lastica", sans-serif;
	font-size: 25px;
	color: var(--blue);
	letter-spacing: 3px;
}

.bubble_text {
	font-family: "Garamond", "Baskerville", "Baskerville Old Face", "Hoefler Text", "Times New Roman";
	font-size: 20px;
	line-height: 1.5;
	color: var(--blue);
}

.image_text {
	display: grid;
	grid-template-columns: 70% 30%;
	width: 100%;
	margin-bottom: 15px;
}

.image_text2 {
	display: grid;
	grid-template-columns: 30% 70%;
	padding: 0px;
	width: 100%;
	margin-bottom: 15px;
	border: 1px solid black;
}
.img {
	background-size: cover;
    position: relative;
    overflow: hidden;
	padding-top: 10px;
	padding-bottom: 10px;

	height:200px;
	min-width: 200px;
	width: 100%;

	margin: 0 auto;
	background-position: center center;
}

.text {

	font-size: 16px;
	min-height: 50px;
	width: 85%;
	margin: auto;
	color: var(--blue);
	border-top: 1px solid var(--blue);
	border-bottom: 1px solid var(--blue);
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}

.mini_title {
	font-family: "ProximaNova-Regular";
	font-size: 16px;
	color: var(--blue);

}
.speaking_block {
	text-align: left;
	width: 100%;
	margin-bottom: 22px;
	padding: 20px;
	padding-top: 22px;
	padding-bottom: 22px;
	box-sizing: border-box;	
}

.speaking_block1 {
	text-align: left;
	width: 100%;
	margin-bottom: 22px;
	padding: 20px;
	padding-top: 22px;
	padding-bottom: 22px;
	box-sizing: border-box;
	transition: all 0.3s ease;
		
}

.speaking_block2 {
	text-align: left;
	width: 100%;
	margin-bottom: 22px;
	padding: 20px;
	padding-top: 22px;
	padding-bottom: 22px;
	box-sizing: border-box;		
	transition: all 0.3s ease;
}

.jd_text.collapsed {
	max-height: 148px;
	overflow: hidden;
}
  
.jd_text {
	font-size: 16px;
	line-height: 1.5;
	transition: max-height 0.3s ease;
}

.bubble_text_bold {
	color: black;
	font-family: "ProximaNova-Bold";
	font-size: 16px;
	line-height: 1.5;
}

.clear_history {
	font-family: ProximaNova-SemiBold;
	color: var(--grey);
	font-size: 14px;
	width: max-content;
	margin: 0 auto;
}
.clear_history:hover {
	cursor: pointer;
	text-decoration: underline;
}

.link {
	font-family: ProximaNova-Bold;
	font-size: 16px;
	margin-top: 6px;
	text-decoration: underline;
	color: #8b0015;
}
.link:hover {
	cursor: pointer;
	filter: brightness(0.6);
}

.text_red {
	font-size: 16px;
	margin-top: 6px;
	color: #8b0015;
}
.text_italic {
	font-style: italic;
	font-size: 16px;
	margin-top: 6px;
}

.inner_text {
	color: var(--blue);
}
.tag {
	font-size: 14px;
	background: #f4ede5;
	width: max-content;
	padding: 5px;
	padding-left: 10px;
	padding-right: 10px;
	margin-top: -7px;
	margin-bottom: 15px;
	border-radius: 5px;
}

.prompt_cover {
	width: 240px;
	height: 300px;
	margin-top: 15px;
	margin-bottom: 15px;
	object-fit: cover;
    object-position: center;
}
.prompt_cover:hover {
	cursor: pointer;
	filter: brightness(0.95);
}

.bubble_image {
	width: 100%;
	height: 270px;
	margin-top: 15px;
	margin-bottom: 15px;
	object-fit: cover;
    object-position: center;
}

.title {
	font-family: "ProximaNova-Medium";
	font-size: 32px;
	color: var(--grey);
}

.animated_bg {
	position: relative;
	overflow: hidden;
	padding-top: 70px;
	padding-bottom: 70px;
	margin: 0 auto;
  }
  
  .animated_bg video {
	width: 100%;
  }

.animated_bg {
	background-image: url('/images/net.jpg');
	background-size: cover;
    position: relative;
    overflow: hidden;
	padding-top: 70px;
	padding-bottom: 70px;
	margin: 0 auto;
	background-position: center center;
}

.animated_title {
	font-family: "Lastica", sans-serif;
	font-size: 50px;
	color: white;
	text-align: center;
	text-shadow: rgba(0, 0, 0, 0.8) 1px 0 10px;
	letter-spacing: 3px;
}



.frontpage {
    background-image: url('/images/frontpage.png');
    background-size: cover;
    position: relative;
    overflow: hidden;
    height: 80vh;
    height: 80vh;
    margin: 0 auto;
    background-position: center center;
}

.frontpage_portfolio {
	border-bottom: 10px solid var(--blue);
}
.frontpage_img {
	background-image: url('/images/summerProject/front.webp');
	background-size: cover;
	position: relative;
	overflow: hidden;
	height: 80vh;
	height: 80vh;
	margin: 0 auto;
	background-position: center center;
	border-bottom: 10px solid var(--blue);
	border-top: 10px solid var(--blue);
}

.portfolio_block {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	overflow-wrap: break-word; 
	justify-content: space-around; 
	margin-top: 100px;
	padding: 5%;
	border: 10px solid var(--blue);
	border-radius: 50px;
}
.portfolio_block:nth-child(even) {
	border: 10px solid var(--red);
}
.title_box_title {
	font-family: "Lastica", sans-serif;
	font-size: 40px;
	color: var(--blue);
	letter-spacing: 3px;
	line-height: 1.2;
}

.title_box_subtitle {
	font-family: "Lastica", sans-serif;
	font-size: 40px;
	margin: auto 0;
	letter-spacing: 3px;
	line-height: 1.2;
	color: var(--blue);
}

.title_box_text {
	margin-top: 25px;
	font-family: "ProximaNova-Regular";
	font-size: 20px;
	line-height: 1.5;
	color: black;
}

.title_box {
	background: rgba(255, 255, 255, 0.8);
	padding: 32px;
	box-sizing: border-box;
	width: 525px;
	margin-left: 15px;
	padding-top: 80px;
	padding-bottom: 80px;
	margin-bottom: 10px;
}

.who_are_we_block {
	display: flex;   
	flex-direction: column; 
	align-items: center;  
	justify-content: center;
	padding: 30px;	
}

.who_are_video_and_text {
	display: flex;             
	align-items: flex-start;    
  }

  .who_are_video_text { 
	font-family: "ProximaNova-Regular";
	font-size: 18px; 
	color: var(--gray);  
  }

.who_are_we_title {
	font-family: "ProximaNova-Bold";
	font-size: 32px;
	color: var(--blue);
	line-height: 1.2;
	margin-left: 20px;
	margin-right: 950px;
	margin-top: 15px;
}

.who_are_we_text {
	font-family: "ProximaNova-Bold";
	color: var(--blue);
	font-size: 24px;
	float: right;
  	padding: 20px; 
  	width: 450px;
	margin-top: 10px;
  	text-align: left;
}

.who_are_video {

	padding-top: 10px;
	float: left;
	margin-right: 45px;
}

.hero_video {

	width: 50%;
}

.topbar {
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: "ProximaNova-Regular", Helvetica, sans-serif !important;
	position: relative;
}

.dropdown_menu {
    display: none;
    position: absolute;
    top: 53px;
    left: 0;
    right: 0;
    background-color: var(--blue);
    z-index: 10000;
    padding: 15px;
    box-sizing: border-box;
    flex-direction: column;
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}

.gpt_dropdown {
    top: 53px;
    left: 0;
    right: 0;
    z-index: 10;
	padding: 15px;
	box-sizing: border-box;
	margin-top: 140px;
	margin-left: -110px;
	background: var(--chat200);
}


.dropdown_menu.show {
    display: flex;
}

.dropdown_button {
	font-family: "ProximaNova-SemiBold", Helvetica, sans-serif !important;
	font-size: 16px;
	background: transparent;
	border: none;
	color: white;
	letter-spacing: normal !important;
	width: max-content;
	height: 35px;
	margin-bottom: 10px;
}

.red_banner {
	background: var(--red);
	width: 100%;
	margin: 0 auto;
}
.red_banner_container {
	padding: 0.3rem 0;
	max-width: 1160px;
	margin: 0 auto;
}
.black_banner {
	background: var(--chat100) !important;
}

.grey_banner {
	background: var(--chat200);
	width: 100%;
	margin: 0 auto;
}
.grey_banner_container {
	padding-top: 2px;
	height: 53px;
	max-width: 1160px;
	margin: 0 auto;	
	display: flex;
	justify-content: space-between;
}

.gpt_title {
	font-family: ProximaNova-SemiBold;
	color: var(--chat000);
	font-size: 18px;
	padding-top: 8px;
	width: max-content;
}

.gpt_button {
	color: #b4b4b4;
	background: transparent;
	border-style: solid;
	border-width: 1px;
	border-color: rgb(180, 180, 180)0%, 71%;
	margin-top: 6px;
	margin-right: 10px;
	border-radius: 10px;
	width: max-content;
	height: 40px;
	padding-left: 15px;
	padding-right: 15px;
	font-size: 17px;
}
.gpt_button:hover {
	cursor: pointer;
	background: rgba(180, 180, 180, 0.05);
}

.gpt_button_red {
	color: #e75151;
	background: transparent;
	border-style: solid;
	border-width: 1px;
	border-color: rgb(231, 81, 81);
	margin-top: 6px;
	margin-right: 10px;
	border-radius: 10px;
	width: max-content;
	height: 40px;
	padding-left: 15px;
	padding-right: 15px;
	font-size: 17px;
}
.gpt_button_red:hover {
	cursor: pointer;
	background: rgba(231, 81, 81, 0.05);
}

.gpt_button_green {
	color: #7f97ec;
	background: transparent;
	border-style: solid;
	border-width: 1px;
	border-color: rgb(127, 151, 236);
	margin-top: 6px;
	margin-right: 10px;
	border-radius: 10px;
	width: max-content;
	height: 40px;
	padding-left: 15px;
	padding-right: 15px;
	font-size: 17px;
}
.gpt_button_green:hover {
	cursor: pointer;
	background: rgba(127, 151, 236, 0.05);
}

.topbar_button_outlined {
	color: var(--chat000);
	background: transparent;
	margin-top: 8px;
	margin-right: 10px;
	border-radius: 8.5px;
	border-style: solid;
	border-width: 1px;
	border-color: var(--chat300);
	width: 36px;
	height: 36px;
}
.topbar_button_outlined:hover {
	cursor: pointer;
	background: var(--chat400);
}

.topbar_button_model {
	color: var(--chat000);
	background: transparent;
	margin-top: 8px;
	margin-right: 10px;
	border-radius: 8.5px;
	border: none;
	width: 36px;
	height: 36px;
	width: max-content;
	display: flex;
	padding-left: 10px;
	padding-right: 7px;
	margin-left: 10px;
}
.topbar_button_model:hover {
	cursor: pointer;
	background: var(--chat400);
}

.download_button_outlined {
	color: var(--chat000);
	background: transparent;
	margin-top: 8px;
	margin-right: 10px;
	border-radius: 8.5px;
	border-style: solid;
	border-width: 1px;
	border-color: var(--chat300);
	width: 36px;
	height: 36px;
}
.download_button_outlined:hover {
	cursor: pointer;
	background: var(--chat400);
}

.download_button_outlined.invert {
    filter: invert(100%);
}

.hover_icon_container {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.file_name_tooltip {
    visibility: visible;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 1;
    bottom: 125%; /* Position above the icon */
    left: 50%;
    margin-left: -60px;
    opacity: 0.8;
    width: 120px;
    /* Initially hide the tooltip */
    display: none;
}

.hover_icon_container:hover .file_name_tooltip {
    display: block; /* Show tooltip on hover */
}

.white_banner {
	width: 100%;
	margin: 0 auto;
	padding: 0;               /* remove default padding */
	background-color: white;  /* optional: or transparent */
  }
  
  .white_banner_container {
	max-width: 1260px;
	margin: 0 auto;
	padding: 0 25px;
	box-sizing: border-box;
	height: auto;
}


/* .menu_bar {
	display: none !important;
	margin-top: 10px;
	display: flex;
	flex-direction: row;
  	flex-wrap: wrap;
	border-top-style: solid;
	border-top-width: 1px;
	border-top-color: #e9ecef;
	border-bottom-width: 1px;
	border-bottom-color: #e9ecef;
} */

.menu_bar {
	display: flex;               /* ✅ Show menu bar */
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	padding: 0;
	margin: 0;                  /* ✅ Remove top spacing */
	border-top: 1px solid #e9ecef;
	border-bottom: 1px solid #e9ecef;
}


.topbar_logo {
	width: 255px;
	float: left;
	margin-right: 0px;
	margin-left: 20px;
	margin-top: 17px;
}
.topbar_logo:hover {
	cursor: pointer;
}

.topbar_logo_sidebar {
	width: 225px;
	float: left;
	margin-right: 0px;
	margin-left: 10px;
	margin-top: 12px;
}
.topbar_logo_sidebar:hover {
	cursor: pointer;
}

.app-container {
	position: relative;
	padding-bottom: 0px;
	box-sizing: border-box;
}
  
.footer_container {
	background: #f4ede5;
	width: 100%;
	padding: 15px;
	padding-top: 45px;
	box-sizing: border-box;
	display: flex;
    justify-content: center;
    margin: 0 auto;
}

.footer_content {
    display: inline-block;
	width: 100%;
}

.footer_logo_and_links {
	display: flex;
	flex-direction: column;
	margin-bottom: 38px;
	justify-content: space-between;
}

.footer_info {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-bottom: 40px;
}

.footer_logo {
	width: 350px;
}
.footer_logo:hover {
	cursor: pointer;
}

.horizontal_line {
	background: var(--grey);
	opacity: 0.3;
	height: 0.6px;
	width: 100%;
}

.footer_link_box {
	margin-right: -5px;
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 40px;
}

.footer_info_box {
	margin-top: 32px;
	display: block;
	word-wrap: break-word;
	width: 100%;
}

.footer_info_link {
	font-family: ProximaNova-Medium;
	color: #49595e;
	font-size: 16px;
	margin-bottom: 11px;
	display: block;
}

.footer_title {
	font-family: ProximaNova-Medium;
	font-size: 16px;
	margin-bottom: 17px;
}

.footer_link {
	font-family: ProximaNova-Medium;
	color: #49595e;
	font-size: 16px;
	width: max-content;
	margin-right: 18px;
	margin-bottom: 7px;
}
.footer_link:hover {
	cursor: pointer;
	text-decoration: underline;
}

.footer_disclaimer {
	font-family: ProximaNova-Light;
	font-size: 16px;
	margin-top: 16px;
	margin-bottom: 16px;
	line-height: 1.5;
	font-style: italic;
	text-align: center;
}

.footer_bottom {
	font-size: 14px;
	margin-top: 20px;
	margin-bottom: 16px;
	text-align: center;
}

.footer_bottom_link {
	font-family: ProximaNova-Bold;
	font-size: 14px;
	margin-top: 6px;
	margin-bottom: 3px;
	text-align: center;
	text-decoration: underline;
	color: #8b0015;
}
.footer_bottom_link:hover {
	cursor: pointer;
	filter: brightness(0.6);
}

.wrapper {
	margin: 0px;
	overflow-x: hidden;
	overflow-y: visible;
}

/* CHAT PAGE STYLES */

.chat_container {
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
  	overflow-wrap: break-word;
	overflow-x: hidden;
	overflow-y: none;
	max-width: 737px;
	justify-content: space-between;
	height: 75vh;
	display: block;
	scrollbar-width: none;
}

.messages_container {
    flex-grow: 1;
}

.send_message_bar {
	background: var(--chat200);
	position: fixed;
	bottom: 0;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 2px;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
	max-width: 997px;
	left: 50%;
	transform: translateX(-50%);
}

.form_chatbox {
	background: transparent;
	color: var(--chat000);
	width: 100%;
	border-style: solid;
	border-width: 1px;
	border-color: var(--chat300);
	min-height: 55px;
	border-radius: 15px;
	padding: 5px;
  	padding-left: 20px;
  	padding-right: 20px;
	padding-top: 20px;
	padding-bottom: 20px;
	box-sizing: border-box;
    background-clip: padding-box;
	font-size: 17px;
	margin-bottom: -25px;
	overflow: auto;
	height: 55px;
	max-height: 200px;
}

.form_chatbox:focus {
	outline: none;
	border-color: #676767;
}

.form_chatui {
	background: transparent;
	color: var(--chat000);
	width: 340px;
	border-style: solid;
	border-width: 1px;
	border-color: var(--chat300);
	height: 45px;
	border-radius: 10px;
	padding: 5px;
  	padding-left: 15px;
  	padding-right: 15px;
	box-sizing: border-box;
	font-size: 17px;
	margin-bottom: 15px;
}
.form_chatui:focus {
	outline: none;
	border-color: #676767;
}

.send_message_button {
	background: var(--chat000);
	color: var(--main_text_color);
	width: 32px;
	height: 32px;
	border-radius: 10px;
	border: none;
	margin-left: -45px;
	margin-bottom: 15px;
	align-items: center;
}
.send_message_button:hover {
	background: var(--shade100);
	cursor: pointer;
}

.attach_button {
	background: transparent;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	border: none;
	float: left;
}

.individual_message_container {
	justify-content: right;
	box-sizing: border-box;
	margin-bottom: 15px;
	display: flex;
	align-items: flex-end;
}

.replier_name {
	font-family: ProximaNova-Bold;
	font-size: 20px;
	color: var(--chat000);
	margin-right: 10px;
}
.individual_message_subcontainer {
	height: auto;
	width: max-content;
	padding: 15px;
	padding-left: 18px;
	padding-right: 18px;
	box-sizing: border-box;
	max-width: 80%;
	line-height: 1.4;
	font-size: 17px;
}

.individual_message_bubble {
	user-select: text;
	background: transparent;
	border-style: solid;
	border-width: 1px;
	border-color: var(--chat300);
	border-radius: 15px;
	color: var(--chat000);
	height: auto;
	width: max-content;
	padding: 15px;
	padding-left: 18px;
	padding-right: 18px;
	box-sizing: border-box;
	max-width: 100%;
	line-height: 1.4;
	font-size: 17px;
}

.individual_message_bot {
	user-select: text;
	background: transparent;
	color: var(--chat000);
	height: auto;
	line-height: 1.4;
	font-size: 17px;
	padding: 15px;
	padding-top: 5px;
	padding-bottom: 5px;
	white-space: pre-wrap;
}

.markdown_message_part p,
.markdown_message_part h1,
.markdown_message_part h2,
.markdown_message_part h3,
.markdown_message_part h4,
.markdown_message_part h5,
.markdown_message_part h6,
.markdown_message_part li,
.markdown_message_part ul,
.markdown_message_part ol,
.markdown_message_part blockquote,
.markdown_message_part pre,
.markdown_message_part code,
.markdown_message_part table {
    color: var(--main_text_color) !important;
}


.individual_message_part{
	color: white;
}


.message_sender {
	background: var(--chat300);
	border: none;
}
.is_image {
	max-width: 60%;
	padding: 0px;
	background: transparent;
	border: none;
}

.typing-animation {
    position: relative;
    width: 38px;
    height: 19px;
}

.typing-animation .dot {
    position: absolute;
    top: 50%;
    width: 7px;
    height: 7px;
    margin-top: -3px;
    border-radius: 50%;
    background: var(--chat000);
    animation: typing-animation 1s infinite;
}

.typing-animation .dot:nth-child(1) {
    left: -2px;
    animation-delay: 0.2s;
}

.typing-animation .dot:nth-child(2) {
    left: 15px;
    animation-delay: 0.4s;
}

.typing-animation .dot:nth-child(3) {
    left: 32px;
    animation-delay: 0.6s;
}

@keyframes typing-animation {
    0% { transform: scale(0); }
    40% { transform: scale(1); }
    80% { transform: scale(0); }
    100% { transform: scale(0); }
}


/* WELCOME WILDCAT STYLES */
  
.wildcat-welcome {
	overflow-y: hidden; /* Prevent horizontal scroll */
  }
  
  .section {
	min-height: 100vh; /* Ensure the section takes at least full screen height */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 20px;
	box-sizing: border-box;
  }
  
  
  .project-section {
	background-color: #111111; /* Background color for project sections */
  }
  
  .header-image {
	width: 100%;
	max-width: 800px;
	height: auto;
	margin-bottom: 20px;
	border-radius: 10px; /* Rounded corners */
	object-fit: cover;
  }
  
  /* Custom Cursor */
  .custom-cursor {
	position: fixed;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.5);
	pointer-events: none; /* Allow interactions with other elements */
	z-index: 10000;
	transform: translate(-50%, -50%);
	transition: transform 0.1s ease;
  }
  
  .section:hover .custom-cursor {
	background-color: rgba(255, 255, 255, 1);
  }
  
  .project-section h2 {
	color: white;
	font-size: 2em; /* Optional: Adjust font size as needed */
	margin-bottom: 20px; /* Optional: Add some spacing below the heading */
  }
  
  .xr-health {
	width: 100%;
	height: auto; /* Make the video height responsive */
	max-width: 800px; /* Ensure video doesn't exceed max width */
	aspect-ratio: 16/9; /* Maintain a 16:9 aspect ratio */
  }
  
  .project-text {
	color: white;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
	max-width: 800px;
	margin: 20px auto; /* Space around the text and auto center */
  }
  
  /* Responsive Design */
  @media (max-width: 768px) {
	.header-image {
	  max-width: 100%;
	  height: auto;
	}
  
	.project-section {
	  padding: 20px; /* Adjust padding for smaller screens */
	}
  
	.section h1, .section h2 {
	  font-size: 1.5em; /* Adjust font size for mobile */
	}
  
	.section p {
	  font-size: 1em;
	  padding: 0 10px; /* Add padding for smaller screens */
	}
  
	.project-text {
	  font-size: 14px;
	  padding: 0 15px; /* Adjust padding and font size on mobile */
	}
  
	.xr-health {
	  width: 100%;
	  height: auto; /* Ensure video scales properly on mobile */
	  aspect-ratio: 16/9; /* Maintain the video aspect ratio */
	}
  }
  
/* TOPBAR DROPDOWN STYLES */

.user_dropdown_menu {
    position: absolute;
    right: 10px;
    top: 53px;
    background: #f4ede5;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    display: none;
	width: 300px;
	padding-top: 10px;
	padding-bottom: 7px;
}
.user_dropdown_menu.show {
    display: block;
}

.model_dropdown_menu {
    position: absolute;
    top: 60px;
    left: 270px;
    width: 270px;
    height: 170px;

    background-color: var(--chat500);
    border: 1px solid var(--chat300);
    border-radius: 7px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.15);

    padding: 10px;
    box-sizing: border-box;

    display: none;
    z-index: 1000;

    overflow-y: auto;
    scrollbar-width: none; /* Firefox */

    /* Smooth scrolling */
    scroll-behavior: smooth;
}

/* Hide scrollbar for Chrome, Safari and Edge */
.model_dropdown_menu::-webkit-scrollbar {
    display: none;
}

@media (max-width: 600px) {
    .model_dropdown_menu {
        left: 10px;
        right: 10px;
        width: auto;
    }
}


.model_dropdown_menu.show {
    display: block;
}
.pick_model_text {
	color: var(--chat000);
	font-size: 17px;
	padding-top: 15px;
}
.model_active {
	color: rgb(22, 233, 166);
}

.pick_model_button {
	display: flex;
	background: transparent;
	border-radius: 7px;
	padding-left: 10px;
	font-size: 17px;
	width: 305px;
	height: 50px;
	border: none;
}
.pick_model_button:hover {
	cursor: pointer;
	background: var(--chat400);
}

.pick_gpt_image {
	width: 37px;
	height: 37px;
	border-radius: 50px;
	margin-right: 13px;
	margin-top: 5px;
}

.user_dropdown_button {
    width: 100%;
    padding: 10px;
	padding-left: 20px;
    text-align: left;
    border: none;
    cursor: pointer;
	background: transparent;
	font-size: 17px;
}

.user_dropdown_button:hover {
    background: white;
}

/* SIDEBAR STYLES */

.sidebar {
	left: 0px;
	transform: translateX(0px);
	background: var(--chat100);
	position: fixed;
	top: 0px;
	z-index: 5;
	padding: 10px;
	box-sizing: border-box;
	height: 100vh;
	width: 260px;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.sidebar_item {
	display: flex;
	align-items: center;
	padding: 14px;
	padding-top: 15.5px;
	padding-bottom: 15.5px;
	margin-left: 14px;
	margin-bottom: 5px;
	border-radius: 10px;
	width: 90%;
	padding-right: 30px;
	padding-left: 10px;
	box-sizing: border-box;
	background: transparent;
	border: none;
}
.sidebar_item:hover {
	background: var(--chat400) !important;
	cursor: pointer;
}
.sidebar_item_selected {
	background: var(--chat400);
}

.invert-logo {
    filter: invert(100%);
}

/* CHAT WIDGET STYLES */

.chat-icon {
    position: fixed;
    bottom: 30px;
    right: 30px;
    border-radius: 50%;
    background: var(--red);
    color: white;
    border: none;
    padding: 15px;
	padding-top: 19px;
	box-sizing: border-box;
    cursor: pointer;
    z-index: 1000;
	width: 60px;
	height: 60px;
	box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
}
.chat-icon:hover {
	filter: brightness(1.05);
}

.chat-interface {
    position: fixed;
    bottom: 105px;
    right: 35px;
    width: 320px;
    height: 450px;
    background-color: white;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 10px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
	padding-bottom: 10px;
}

.chat-topbar {
    background-color: var(--red);
    color: white;
    padding: 15px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    text-align: center;
}

.message-view {
    flex-grow: 1;
    overflow-y: auto;
    padding: 12px;
	display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.message-bubble {
    margin-bottom: 10px;
    padding: 12px;
	padding-left: 13px;
	padding-right: 13px;
	width: max-content;
    max-width: 70%;
	font-size: 16px;
	line-height: 1.3;
}

.bot-message-container {
    display: flex;
    align-items: flex-end;
    max-width: 90%;
}

.user-profile-circle {
	background: #ab0520;
	width: 33px;
	height: 33px;
	border-radius: 50px;
	margin-right: 10px;
	color: white;
	font-size: 13px;
	justify-content: center;
	align-items: center;
	display: flex;
	box-sizing: border-box;
	padding-top: 1px;
}

.bot-profile-pic {
	width: 30px;
	height: 30px;
	border-radius: 50px;
	margin-right: 10px;
	margin-bottom: 2px;
}

.message-bubble.user {
    background: #1e5288;
	color: white;
    align-self: flex-end;
	border-radius: 10px 10px 0px 10px;
}

.message-bubble.bot {
    background: #e2e9eb;
    color: black;
    align-self: flex-start;
	border-radius: 10px 10px 10px 0px;
}

.chat-bar {
    display: flex;
    padding: 10px;
	padding-left: 12px;
	padding-right: 12px;
	justify-content: space-between;
	margin-bottom: -3px;
}

.chat-bar input {
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #ddd;
}

.chat-bar button {
    border-radius: 10px;
    border: none;
    background-color: var(--red);
    color: white;
	width: 80px;
	font-size: 16px;
}
.chat-bar button:hover {
	cursor: pointer;
	filter: brightness(1.05);
}

/* BUTTON AND FORM STYLES */

.form_label {
	font-family: ProximaNova-SemiBold;
	font-size: 16px;
	margin-top: 15px;
	margin-bottom: 6px;
}

.form {
	background: white;
	border-style: solid;
	border-width: 1px;
	border-color: var(--grey);
	height: 45px;
	width: 100%;
	padding: 5px;
  	padding-left: 15px;
  	padding-right: 15px;
	box-sizing: border-box;
	font-size: 16px;
}
.form:focus {
	outline: none;
	border-color: var(--red);
}

button[type="submit"] {
    font-weight: normal;
}

button:disabled {
	cursor: not-allowed !important;
	opacity: 0.5 !important;
}

.sidebar_item:disabled {
	cursor: not-allowed !important;
	opacity: 0.5 !important;
}

.other_menu_button {
	color: white;
	float: right;
	border: none;
	background: transparent;
	margin-top: 15px;
	margin-right: 10px;
}

.netid_menu_button {
	color: white;
	float: right;
	border: none;
	background: transparent;
	margin-top: 15px;
	margin-right: 10px;
}
.netid_menu_button:hover {
	cursor: pointer;
	opacity: 0.7;
}

.mobile_menu_button {
    display: block;
    color: white;
    float: right;
    border: none;
    background: var(--grey);
    margin-top: 15px;
    margin-right: 10px;
}

.other_menu_button:hover {
	cursor: pointer;
}

.menu_button {
	font-family: "ProximaNova-SemiBold", Helvetica, sans-serif !important;
	font-size: 16px;
	background: white;
	border: none;
	color: #1e5288;
	width: max-content;
	height: 65px;
	padding: 5px;
	padding-left: 16px;
	padding-right: 16px;
	letter-spacing: normal !important;
}
.menu_button:hover {
	cursor: pointer;
	/* color: #00C2FF; */
	color: #AB0520;
	filter: brightness(0.97);
}
.menu_button_selected {
	background: #e9ecef;
}

.button, .button_outlined {
	background: var(--red);
	border-style: solid;
	border-width: 1px;
	border-color: var(--red);
	color: white;
	width: max-content;
	height: 45px;
	padding: 5px;
	padding-left: 25px;
	padding-right: 25px;
}
.button_outlined {
	background: transparent;
	color: var(--red);
}
.button:hover, .button_outlined:hover {
	filter: brightness(1.05);
	cursor: pointer;
	text-decoration: none;
}
.button:active, .button_outlined:active {
	transform: scale(0.99);
}

.prompt_button {
	background: var(--red);
    border-style: solid;
    border-width: 1px;
    border-color: var(--red);
    color: white;
    width: max-content;
    height: 45px;
	margin-left: 150px;
	margin-top: 20px;
	cursor: pointer;
	filter: brightness(1.05);
}

/* REFERENCE HOVER STYLES */
.citation-container {
    position: relative;
    display: inline-block;
}

.citation-reference {
    cursor: pointer;
}

.citation-hover-content {
    visibility: hidden;
    width:max-content;
    background-color: #b1b3b0;
    color: #120202;
    text-align: center;
    border: 1px solid #150303;
    padding: 5px;
    border-radius: 5px;
    position: absolute;
	max-width: 40vw;
	overflow-wrap: break-word;
    z-index: 1;
    bottom: 100%;
    left: 50%;
    transform: translateX(-10%);
    opacity: 0;
    transition: opacity 0.3s;
    /* white-space: nowrap; */
}

.citation-reference:hover .citation-hover-content {
    visibility: visible;
    opacity: 1;
}

/* POPUP STYLES */

.popup {
	background: var(--chat500);
	width: 93%;
	height: max-content;
	position: fixed;
	z-index: 1000;
	top: 45%;
	left: 50%;
	text-align: center;
	border-radius: 10px;
	color: white;
	transform: translate(-50%, 1000%);
	opacity: 0;
	overflow-y: scroll;
	scrollbar-width: none;
}
.popup_open {
	transform: translate(-50%, -45%);
	opacity: 1;
}

.popup_bg {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: black;
	opacity: 0%;
	transform: translate(0%, 100%);
}
.popup_bg_open {
	transform: translate(0%, 0%);
	opacity: 40%;
}

.popup_top_bar {
	position: sticky;
	border-radius: 10px 10px 0px 0px;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: var(--chat300);
	top: 0;
	padding: 15px;
	padding-bottom: 0px;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-left: 25px;
}

.close_popup_button {
	background: transparent;
	width: 40px;
	height: 40px;
	border-radius: 25px;
	border: none;
	color: var(--chat000);
	opacity: 0.9;
	padding: 6px;
	padding-bottom: 1px;
	margin-top: 0px;
	user-select: none;
}
.close_popup_button:hover {
	opacity: 0.5;
	cursor: pointer;
}
.close_popup_button:active {
	transform: scale(0.975);
}

.popup_container {
	color: var(--chat000);
	font-size: 17px;
	padding: 25px;
	padding-top: 20px;
	margin: auto;
	text-align: left;
}

.popup_title {
	font-family: ProximaNova-SemiBold;
	color: var(--chat000);
	margin-top: 10px;
	margin-bottom: 22px;
	font-size: 18px;
}

.expand_convo {
	border: none;
	margin-left: 5px;
	box-sizing: border-box;
	opacity: 0.6;
	background: transparent;
}
.expand_convo:hover {
	cursor: pointer;
	opacity: 1;
}
.expandable:hover {
	cursor: pointer;
	opacity: 1;
	text-decoration: underline;
}

.frontpage_section {
	background: require('../images/2.webp');
	display: block;
	position: absolute;
	text-align: center;
	bottom: 10%;
	right: 10%;
}
/* .frontpage_section {
    position: relative;
    width:100%;
    height: 100vh;
    overflow: hidden;
} */
.frontpage_button {
	

	font-size: 20px;
	color: white;
	border-style: solid;
	border-width: 4px;
	border-color: var(--red);
	border-radius: 50px;
	background: transparent;
	font-family: "ProximaNova-Bold";
	padding: 5px;
	padding-left: 20px;
	padding-right: 20px;	
	min-width: 200px;
	min-height: 60px;
}
.rounded_button {
	border-style: solid;
	border-width: 2px;
	border-color: black;
	border-radius: 50px;
	background: transparent;
	color: black;
	font-family: "ProximaNova-Bold";
	padding: 20px;
	padding-left: 30px;
	padding-right: 30px;
}
.rounded_button_1 {
	display: block;
	position: absolute;
	bottom: 20px;
	font-size: 16px;
	border-style: solid;
	border-width: 2px;
	border-color: black;
	border-radius: 30px;
	background: transparent;
	color: black;
	font-family: "ProximaNova-Bold";
	padding: 10px;
	padding-left: 15px;
	padding-right: 15px;
}

.page_cover_button:hover {
	cursor: pointer;
	transform: scale(1.05);
	opacity: 0.7;
}

.rounded_button_1:hover {
	cursor: pointer;
	transform: scale(1.05);
	opacity: 0.7;
}
.rounded_button:hover {
	cursor: pointer;
	transform: scale(1.05);
	opacity: 0.7;
}


.e:hover {
	cursor: pointer;
	color: var(--red);
	text-decoration: underline;
}

.coop_list * {
	font-size:  25px;
	font-family: "ProximaNova-Bold";
}

.coop_list *::marker {
	color: #385493;
}

.modal {
    position: fixed;
	z-index: 1;
	top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0,0, 0, 0.5);
	backdrop-filter: blur(5px);
    display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	transition: all 0.3s ease-in;
}
.modal_card {
	background: white;
	transform: translate3d(0, -25%, 0);
	border-radius: 10px;
	padding: 20px;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
	width: 90vw;
	max-width: 600px;
	max-height: 400px;
	text-align: center;
}

/* CARD STYLING FOR CUSTOM GPT */
.grid-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
	gap: 25px;
	padding: 20px;
  }
  
  .card {
	background-color: white;
	border-radius: 25px;
	overflow: hidden;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	cursor: pointer;
	transition: transform 0.2s;
  }
  
  .card:hover {
	transform: scale(1.05);
  }
  
  .card-image img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
  }
  
  .card-content {
	padding: 20px;
  }
  
  .card-title {
	font-family: "Lastica", sans-serif;
	font-size: 24px;
	margin-bottom: 10px;
	color: var(--blue);
	letter-spacing: 3px;
  }
  
  .card-subtitle {
	font-size: 16px;
	line-height: 1.5;
	color: var(--blue);
  }

  .card-name {
	font-size: 18px;
	line-height: 1.5;
	padding-top: 20px;
	color: var(--blue);
  }


  /*WHO ARE WE STYLES*/
  .whoarewe-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 15px;
}

.image-block img {
    border-radius: 25px;
    width: 100%;
    height: auto;
    max-height: 300px;
    margin-top: 5px;
}

.inner_text {
    font-size: 50px;
    font-family: "ProximaNova-Bold";
}

.waw-description-container {
    margin-top: 20px;
}

.waw-speaking_block {
    margin-bottom: 20px;
}

.waw-inner_text {
    font-size: 18px;
}

.waw-title {
    font-size: 40px;
    font-family: "ProximaNova-Bold";
}

.waw-description {
    line-height: 2;
    margin-top: 5px;
    margin-bottom: 10px;
}

.waw-college-list-container {
	display: block;
	margin: 20 20 min(auto, 40px) min(auto, 40px);

	
}

.waw-college-grid {
    display: flex;
	flex-direction: row;
	gap: 20px;
	margin: auto 0;
}

.waw-college-item {
    background: #fff;
    padding: 15px;
    border-radius: 15px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	width: 25%;
}

.waw-college-title {
    font-size: 20px;
    font-family: "ProximaNova-Bold";
    margin-bottom: 10px;
}

.waw-college-subtitle {
    font-size: 18px;
    font-family: "ProximaNova-Bold";
    margin-bottom: 5px;
	color: var(--blue);
}

.waw-people-list {
    list-style: none;
    padding: 5px;
    margin: 0;
	font-family: "Garamond", "Baskerville", "Baskerville Old Face", "Hoefler Text", "Times New Roman";
}

.waw-person {
    margin: 5px 0;
}

.waw-highlights-container {
    padding: 50px;
	padding-left: 70px;
	padding-right:70px;
}

.waw-highlight {
    margin-bottom: 10px;
}

.waw-highlight-big {
    font-size: 20px;
}

@media (max-width: 768px) {
    /* Stack image above text on mobile screens */
    .whoarewe-container {
        flex-direction: column;
        align-items: center;
    }

    /* Make the image take the full width */
    .image-block {
        width: 100%;
    }

    /* Center the text content and make it take the full width */
    .description-block {
        width: 100%;
        margin-left: 0;
        margin-top: 20px;
    }

    /* Adjust the font sizes for mobile screens */
    .inner_text {
        font-size: 30px;
    }

    .waw-title {
        font-size: 30px;
    }

    .waw-inner_text, .waw-description {
        font-size: 16px;
    }
}


/* THE PROMPT */
.Modal {
	background-color: #fefefe;
	padding: 20px;
	border: 1px solid #888;
	width: 80%;
	max-width: 500px;
	margin: auto;
	border-radius: 8px;
	position: relative;
	z-index: 5;
  }
  
  .Overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.75);
	display: flex;
	align-items: center;
	justify-content: center;
  }
  
  .close {
	color: #aaa;
	position: absolute;
	top: 10px;
	right: 20px;
	font-size: 28px;
	font-weight: bold;
	cursor: pointer;
  }
  
  .close:hover,
  .close:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;
  }

  @media (max-width: 768px) {
	.Modal {
	  width: 90%; 
	  padding: 15px;
	}
  
	.form {
	  width: 90%; 
	}
  
	.button {
	  width: 90%;
	}
  
	.content_block {
	  padding: 10px;
	}
  
	.bubble {
	  width: 100%;
	  margin-bottom: 20px;
	}
  }
  
  

/* DESKTOP STYLES */


@media only screen and (min-width: 1024px) 
{
	.popup {
		width: 500px;
	}
	.topbar_logo {
		width: 267px;
		margin-top: 15.5px;
	}
	.mobile_menu_button {
        display: none; /* Hide mobile menu button in desktop view */
    }
    
    .dropdown_menu.show {
        display: none; /* Hide dropdown menu in desktop view */
    }
	.menu_bar {
		display: block !important;
	}
	
	.content {
		max-width: 1110px;
	}
	.content1 {
		width: 95%;
	}
	.bubble {
		width: 48.7%;
	}
	.image_text {
		width: 45%;
	}
	.form {
		width: 400px;
	}
	.footer_container {
		height: 720px;
		padding: 50px;
		padding-top: 49px;
	}
	.footer_logo_and_links {
		flex-direction: row;
	}
	.footer_bottom_link {
		margin-top: 20px;
	}
	.footer_info {
		flex-direction: row;
		justify-content: space-between;
	}
	.footer_logo {
		width: 350px;
	}
	.footer_content {
		width: 1400px;
		max-width: 95%;
	}
	.footer_link_box {
		margin-top: 18px;
		width: 850px;
		justify-content: right;
	}
	.footer_info_box {
		width: 200px;
		flex-shrink: 0;
	}
	.footer_info_box:nth-child(2) {
		width: 520px;
		column-count: 2;
		column-gap: 60px;
	}
	.footer_info_box:nth-child(2) .footer_title {
		column-span: all;
	}
	.footer_info_box:nth-child(2) .footer_info_link_spaced {
		margin-top: 0;
		break-before: column;
	}
	.speaking_block {
		width: 48.7%;
	}
	.speaking_block1 {
		width: 35%;
		transition: all 0.3s ease-in-out;
	}
	.speaking_block2 {
		width: 62%;
	}
	.bubble1 {
		width: 49.5%;
	}
	.bubble2 {
		width: 49.5%;
	}
}

@media only screen and (max-width: 1024px) 
{
	.frontpage {
		display: block;
		height: 40vh;
		margin: 0 auto;
		text-align: center;      
	}
	.page_cover_section {
		display: block;
		position: relative;
		top: 30%;
		bottom: auto;
		right: auto;
	}
	.frontpage_section {
		display: block;
		position: relative;
		top: 25%;
		bottom: auto;
		right: auto;
	}

	.image-block {
		width: "100%";
	}
	.description-block {
		width: "100%";
	}

}

.presentation-vertical-item {
  font-size: 11pt;
  color: #222;
  margin-bottom: 0.5em;
  white-space: pre-line;
}

.speaking_block2 {
  flex: 1 1 400px;
  min-width: 350px;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.speaking_block1 {
  flex: 1 1 400px;
  min-width: 350px;
  max-width: 600px;
}

@media (max-width: 900px) {
  .speaking_block1, .speaking_block2 {
    min-width: 100%;
    max-width: 100%;
  }
  .presentations-vertical-list-box {
    max-height: 220px;
    padding: 10px;
  }
}

.content-container {
  margin-left: 2vw;
  margin-right: 2vw;
}

@media (max-width: 600px) {
  .content-container {
    margin-left: 1vw;
    margin-right: 1vw;
  }
}

.presentations-bg {
  width: 100%;
  position: relative;
  left: 0;
  right: 0;
  margin-left: 0;
  margin-right: 0;
  background: linear-gradient(160deg, #001C48 60%, #007D84 100%);
  color: white;
}

.presentations-bg .presentations-title {
  font-size: clamp(1.75rem, 5vw, 2.75rem);
  max-width: 100%;
  box-sizing: border-box;
}

.presentations-vertical-list-box {
  margin-left: -95px;
}

.media-section {
  margin: 0 auto;
  margin-top: 0;
  max-width: 1200px;
  border-radius: 0;
  padding: 0;
  text-align: center;
  background: transparent;
  box-shadow: none;
}

.media-section-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7em;
  margin-bottom: 0.5em;
}

.media-section-header h2 {
  font-family: 'Lastica', sans-serif;
  color: white;
}

.media-icon {
  font-size: 2.2em;
  line-height: 1;
}

.media-section-desc {
  font-size: 1.15em;
  color: rgba(255, 255, 255, 0.9);
  margin-top: 0.5em;
}

.media-cards-row {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  margin: -0.5rem 0 1.5rem 0;
  width: 100%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

/* Mobile: Hide white banner navbar, show only dropdown menu. Dropdown must sit above all content. */
@media (max-width: 768px) {
  .white_banner {
    display: none !important;
  }
  
  .mobile_menu_button {
    display: block !important;
  }
  
  .dropdown_menu {
    display: none;
    z-index: 10000;
  }
  
  .dropdown_menu.show {
    display: flex !important;
    z-index: 10000;
    position: absolute;
  }
  
  /* Ensure header creates stacking context so dropdown appears above main content */
  .topbar {
    position: relative;
    z-index: 9999;
  }
}

/* Mobile: Stack media cards vertically */
@media (max-width: 768px) {
  .animated_bg {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding-top: 50px;
    padding-bottom: 50px;
    overflow-x: hidden;
  }
  
  .animated_title {
    font-size: clamp(28px, 8vw, 50px);
    padding: 0 1rem;
    word-wrap: break-word;
    overflow-wrap: break-word;
    box-sizing: border-box;
  }
  
  .media-cards-row {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    margin: 0;
    padding: 0 1rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  
  .media-card {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  
  .media-card img {
    max-width: 100%;
    width: 100%;
    height: auto;
    box-sizing: border-box;
  }
  
  .media-card-content {
    box-sizing: border-box;
    padding: 1.1em 1em 1.1em 1em !important;
  }
  
  .media-section {
    padding: 2rem 1rem 1.5rem 1rem;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  
  .media-section-header {
    flex-wrap: wrap;
    padding: 0 0.5rem;
  }
  
  .media-section-desc {
    font-size: 1em;
    padding: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  
  .media-main-title {
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  
  .video-modal-content {
    width: 95%;
    max-width: 95%;
    padding: 16px;
    box-sizing: border-box;
  }
  
  .video-modal iframe {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    max-height: 60vh;
  }
}

/* Very small devices (320px and below) */
@media (max-width: 320px) {
  .media-cards-row {
    padding: 0 0.5rem;
    gap: 1rem;
  }
  
  .media-section {
    padding: 1.5rem 0.5rem 1rem 0.5rem;
  }
  
  .media-card-content {
    padding: 0.9em 1em 0.9em 1em !important;
  }
}

/* Presentations Section Mobile Fixes */
@media (max-width: 768px) {
  .presentations-bg {
    width: 100%;
    left: 0;
    right: 0;
    margin-left: 0;
    margin-right: 0;
    padding: 40px 1rem !important;
    box-sizing: border-box;
  }
  
  .presentations-bg h1.presentations-title,
  .presentations-bg h1 {
    font-size: clamp(1.35rem, 5vw, 2rem) !important;
    margin-bottom: 24px !important;
    padding: 0 1rem;
  }
  
  .presentations-bg > div > div {
    font-size: clamp(1rem, 4vw, 1.3rem) !important;
    padding: 0 1rem !important;
    margin-bottom: 30px !important;
  }
  
  #scrollingCredits {
    width: 100% !important;
    max-width: 100% !important;
    height: 300px !important;
    padding: 0 1rem !important;
    box-sizing: border-box;
  }
  
  #creditsList {
    width: 100% !important;
  }
  
  #creditsList > div {
    padding: 0 0.5rem !important;
    font-size: clamp(0.85rem, 3vw, 1.1rem) !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    text-align: center !important;
    line-height: 1.6 !important;
    white-space: normal !important;
    margin-bottom: 8px !important;
  }
}

@media (max-width: 320px) {
  .presentations-bg {
    padding: 30px 0.5rem !important;
  }
  
  #scrollingCredits {
    height: 250px !important;
    padding: 0 0.5rem !important;
  }
  
  #creditsList > div {
    padding: 0 0.5rem !important;
    font-size: 0.8rem !important;
    line-height: 1.7 !important;
    margin-bottom: 10px !important;
  }
}

.media-card {
  background: rgba(0, 28, 72, 0.85);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.3);
  border: 1px solid rgba(168, 198, 218, 0.3);
  overflow: hidden;
  width: 100%;
  max-width: 480px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.media-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  border-color: rgba(168, 198, 218, 0.5);
}

.media-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.media-card-content {
  padding: 1.1em 1.2em 1.1em 1.2em;
  display: flex;
  flex-direction: column;
  gap: 0.7em;
  padding-bottom: 10px !important;
}

.media-card-tag {
  display: inline-block;
  background: #e0e7ff;
  color: #5a4fcf;
  border-radius: 12px;
  padding: 0.3em 1em;
  font-size: 1em;
  font-weight: 500;
  margin-bottom: 0.5em;
}

.media-card-tag.speaking {
  background: #e0e7ff;
  color: #5a4fcf;
}

.media-card-tag.workshop {
  background: #e6eaff;
  color: #3b3b8f;
}

.media-card-tag.media {
  background: #e6f0ff;
  color: #1e5fa3;
}

.media-card-tag.government {
  background: #f3e6ff;
  color: #7a3fa3;
}

.media-card-tag.tech {
  background: #e6fff3;
  color: #1ea37a;
}

.media-card-tag.public {
  background: #fffbe6;
  color: #a38a1e;
}

.media-card-title {
  font-weight: 700;
  font-size: 1.2em;
  margin-bottom: 0.2em;
}

.media-card-date {
  font-size: 1em;
  color: #444;
  margin-bottom: 0.2em;
}

.media-card-desc {
  font-size: 1.05em;
  color: #222;
}

.ai-summer-label {
  font-family: 'Anton', Arial, sans-serif;
  font-size: 28pt;
  color: #fff;
  background: #222;
  border-radius: 12px;
  padding: 0.2em 0.8em;
  margin-bottom: 0.7em;
  display: inline-block;
  letter-spacing: 1px;
  text-align: center;
}

.video-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(10, 24, 61, 0.95); /* dark blue overlay */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.video-modal-content {
  background: #14204d;
  border-radius: 18px;
  padding: 24px 24px 16px 24px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.video-modal iframe {
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.18);
  background: #000;
}

.video-modal-close {
  margin-top: 18px;
  background: #fff;
  color: #14204d;
  border: none;
  border-radius: 8px;
  padding: 8px 24px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.video-modal-close:hover {
  background: #e3e9f7;
}

.media-card-link-title {
  font-family: 'Anton', Arial, sans-serif;
  font-size: 1.35em;
  color: #1a237e;
  font-weight: 700;
  text-decoration: none;
  margin-bottom: 0.2em;
  display: block;
  transition: color 0.18s;
}

.media-card-link-title:hover {
  color: #3949ab;
  text-decoration: underline;
}

.workshops-section {
  margin-top: 64px;
  margin-bottom: 32px;
  text-align: center;
}

.workshops-section-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.workshops-icon {
  font-size: 2.5rem;
  margin-bottom: 0.2em;
}

.workshops-section-header h2 {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
}

.workshops-section-desc {
  font-size: 1.6rem;
  font-weight: 400;
  margin: 0 auto;
  max-width: 900px;
  color: #222;
}

.workshops-cards-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 32px;
  margin: 32px 0 0 0;
}

.workshops-card {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.10);
  overflow: hidden;
  width: 340px;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s;
}

.workshops-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-top-left-radius: 22px;
  border-top-right-radius: 22px;
}

.workshops-card-content {
  padding: 18px 20px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.workshops-card-tag {
  display: inline-block;
  background: #e6e9fa;
  color: #4a4eaa;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 12px;
  padding: 4px 16px;
  margin-bottom: 6px;
}
.workshops-card-tag.keynote {
  background: #e6e9fa;
  color: #4a4eaa;
}
.workshops-card-tag.speaking {
  background: #e6f0fa;
  color: #2a6fa1;
}
.workshops-card-tag.workshop {
  background: #f0e6fa;
  color: #7a4eaa;
}
.workshops-card-tag.media {
  background: #e6fafa;
  color: #2a7a7a;
}

.workshops-card-title {
  font-size: 1.18rem;
  font-weight: 700;
  margin-bottom: 2px;
  color: #181c3a;
}

.workshops-card-date {
  font-size: 1.02rem;
  color: #444;
  margin-bottom: 2px;
}

.workshops-card-desc {
  font-size: 1.02rem;
  color: #222;
  line-height: 1.4;
}

@media (max-width: 1400px) {
  .workshops-cards-row {
    gap: 18px;
  }
  .workshops-card {
    width: 270px;
  }
  .workshops-card img {
    height: 130px;
  }
}

@media (max-width: 1100px) {
  .workshops-cards-row {
    flex-wrap: wrap;
    gap: 24px;
  }
  .workshops-card {
    width: 90vw;
    max-width: 400px;
  }
}

.ai-summer-label.dark-blue-text {
  color: white;
  font-family: 'ProximaNova-Regular', Arial, Helvetica, sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
  background: none;
  border-radius: 0;
  padding: 0;
  text-align: left;
  margin: 0;
  letter-spacing: normal;
  text-decoration: none;
  cursor: default;
  margin-bottom: 0 !important;
}

.media-card-link-title.dark-blue-text:hover {
  text-decoration: none !important;
  color: rgba(255, 255, 255, 0.9) !important;
  text-shadow: none !important;
  filter: none !important;
}

.media-card.clickable:hover .media-card-link-title.dark-blue-text {
  color: rgba(255, 255, 255, 0.95) !important;
  text-decoration: none !important;
  text-shadow: none !important;
  filter: none !important;
}

.media-card.clickable:hover .ai-summer-label.dark-blue-text {
  color: rgba(255, 255, 255, 0.95) !important;
  text-decoration: none !important;
  text-shadow: none !important;
  filter: none !important;
}

.media-card.clickable:hover .media-card-link-title {
  color: rgba(255, 255, 255, 0.95) !important;
  text-decoration: none !important;
  text-shadow: none !important;
  filter: none !important;
}

.media-card-link-title.dark-blue-text,
.ai-summer-label.dark-blue-text {
  font-size: 1.5rem;
}

.media-main-title {
  color: white;
  font-weight: 700;
  text-decoration: none;
  font-family: 'ProximaNova-Regular', Arial, Helvetica, sans-serif;
}

.media-date-title {
  color: rgba(255, 255, 255, 0.8);
  font-weight: 400;
  font-size: 1rem;
  text-decoration: none;
  font-family: 'ProximaNova-Regular', Arial, Helvetica, sans-serif;
}

.ai-summer-label.dark-blue-text .media-main-title {
  display: block;
  margin-bottom: 0;
  line-height: 1.05;
}
.media-cards-row .media-card:first-child .ai-summer-label.dark-blue-text .media-date-title {
  margin-top: -0.2em;
}

.media-card.clickable:hover .ai-summer-label.dark-blue-text .media-main-title,
.media-card.clickable:hover .ai-summer-label.dark-blue-text .media-date-title {
  color: rgba(255, 255, 255, 0.95) !important;
}