@charset "ISO-8859-1";

.phys2ai-mode {
	background-image: url('../images/core/background-phys2ai-desktop.png');
	background-size: 100% auto;
}

.phys2ai-mode nav {
	background-color: rgb(85, 85, 85);
}

.phys2ai-mode nav a {
	color: white;
}

.phys2ai-mode .service-box h2 {
	color: rgb(85, 85, 85);
}

/* Base Styles for Desktop */
body {
	font-family: 'Roboto', sans-serif; /* Updated to Roboto with fallback */
	margin: 0;
	padding: 0;
	background-color: #f9f9f9;
}

.header, .footer {
	background-color: #f0f0f0;
	text-align: center;
	padding: 20px 0;
	font-size: 1.2em;
}

nav {
	display: flex;
	justify-content: center;
	background-color: rgb(85, 85, 85);
	padding: 10px 0;
}

nav a {
	color: white;
	text-decoration: none;
	margin: 0 15px;
	font-size: 1.1em;
}

.main-banner {
	width: 75%;
	margin: 20px auto;
	text-align: left;
	padding: 20px;
	background-color: #ffffff;
	border-radius: 10px;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.contact, .expertise {
	width: 75%;
	margin: 20px auto;
	padding: 20px;
	background-color: #ffffff;
	border-radius: 10px;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
	text-align: left;
}

.footer {
	font-size: 0.8em;
}

/* Pages for new menu items */
/* Placeholder styles for new HTML templates */
.new-page {
	width: 75%;
	margin: 20px auto;
	padding: 20px;
	background-color: #ffffff;
	border-radius: 10px;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.services-banner {
	display: flex;
	flex-wrap: wrap; /* Allows the boxes to wrap onto new rows */
	justify-content: space-between;
	margin: 40px auto;
	width: 80%;
	gap: 20px;
}

.service-box {
	flex: 1 1 calc(33.333% - 20px); /* Three boxes per row with gaps */
	text-align: center;
	padding: 20px;
	border-radius: 10px;
	background: #f8f8f8;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
	cursor: pointer; /* Makes it feel interactive */
}

.service-box:hover {
	transform: scale(1.05); /* Slight zoom-in effect */
	box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.2);
}

.service-box h2 {
	font-size: 1.5em;
	margin-bottom: 10px;
	color: rgb(85, 85, 85); /* Highlighted title color */
}

.service-box p {
	font-size: 1em;
	color: #333; /* Neutral text color */
}

.expertise-banner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center; /* Center items in the last row */
	gap: 20px;
	margin: 40px auto;
	width: 80%;
}

.expertise-link {
	text-decoration: none; /* Removes underline */
	color: inherit; /* Keeps text color unchanged */
	display: flex;
	/* Makes the link behave like a block and work with flexbox */
	flex: 1 1 calc(33.333% - 20px); /* Ensures three items per row */
	max-width: calc(33.333% - 20px);
	/* Prevents last row from stretching */
}

.expertise-category {
	text-align: center;
	border-radius: 10px;
	background: #f8f8f8;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	transition: transform 0.3s ease-in-out;
	width: 100%; /* Ensures the div inside the <a> tag takes full width */
}

/* Center the last row properly */
.expertise-banner>*:nth-last-child(2):nth-child(odd), .expertise-banner>*:last-child:nth-child(odd)
	{
	margin-left: auto;
	margin-right: auto;
}

.expertise-category:hover {
	transform: scale(1.05);
}

.expertise-category a {
	text-decoration: none;
	color: inherit;
	display: block;
	padding: 20px;
}

.expertise-category img {
	width: 100%;
	height: 300px; /* Ensures images are uniform */
	object-fit: cover;
	/* Ensures the images fill the frame proportionally */
	border-bottom: 3px solid rgb(85, 85, 85);
}

.expertise-category h2 {
	font-size: 1.5em;
	margin: 15px 0;
	color: rgb(85, 85, 85);
}

.expertise-category p {
	font-size: 1em;
	color: #333;
	padding: 10px;
}

.expertise-link:hover {
	cursor: pointer;
}

.expertise-category:hover {
	transform: scale(1.05); /* Adds a hover effect */
}

video, .animation {
	width: 640px; /* Fixed width */
	height: 480px; /* Fixed height */
}

.responsive-image {
    width: 640px;
    height: 425px;
    display: block;
    margin: 0 auto 10px; /* Centers the image and adds spacing before the caption */
}

.full-width-banner-image {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 10px; /* No centering, just spacing before the caption */
}

.heading-with-logo {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.comsol-logo {
    width: 202px; /* Adjust size as needed */
    margin-right: 20px; /* Adds 40px buffer space to the right */
}