/*
* =====================
* new
* =====================
*/

 /* General Styles */
html, body {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	overflow: auto;
	height: 100%;
	margin-bottom: 0;

}

body {
	display: flex;
	flex-direction: column;
    overflow-x: hidden;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}


a {/* for links*/
	text-decoration: none;
	color: inherit;
}
a.custom-link {
    color: #0000ff; /* Link color */
    text-decoration: none; /* Remove underline */
    font-weight: bold; /* Bold text */
  }

a.custom-link:hover { /* Adding a hover effect */
	color: #e0e002; /* Darker shade on hover */
	text-decoration: underline; /* Underline on hover */
}

a.custom-link:visited {
	color: #0000ff; /* Keep the same color for visited links */
}

h1,
.h1 {
  font-size: 2rem;
  font-weight: 1000;
  /*font-family: "Roboto", sans-serif;*/

}

h2,
.h2 {
  font-size: 2rem;
  
}

h3,
.h3 {
  font-size: 1.8rem;
}

h4,
.h4 {
  font-size: 13rem;
  font-weight: 1000;
}

 /* Adjust font size for smaller screens */
  @media screen and (max-width: 768px) {
    h4 {
      font-size: 6rem;
    }
  }

  @media screen and (max-width: 480px) {
    h4 {
      font-size: 4rem;
    }
  }

p {
	font-size: 16px;
	margin-bottom: 20px;
	text-align: left;
}
/* Media query for small screens */
@media (max-width: 480px) {
	p {
		text-align: left; /* Align text to the left on small screens */
	}
}

.quote-author {
	text-align: right;
	font-weight: bold;
	margin-top: -10px;
}

ul {
	margin: 20px 0;
	padding: 0 20px;
	list-style: circle;
    font-weight: 100;
    font-size: 16px;
}


.vfx ul li::marker {
    color: #ffc233; /* Gold */
}

.ecommerce ul li::marker {
    color: #379CA3; /* Red */
}

img {
    border-radius: 8px; /* Rounds the corners */
}



.cover-container {
            width: 1584px;
            height: 396px;
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg, #0d1117 0%, #161b22 100%);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        }

        .gradient-bg {
            position: absolute;
            width: 100%;
            height: 100%;
            background: 
                radial-gradient(circle at 30% 50%, rgba(76, 29, 149, 0.15) 0%, rgba(76, 29, 149, 0) 50%),
                radial-gradient(circle at 70% 60%, rgba(56, 189, 248, 0.1) 0%, rgba(56, 189, 248, 0) 60%),
                radial-gradient(circle at 40% 80%, rgba(124, 58, 237, 0.15) 0%, rgba(124, 58, 237, 0) 50%);
        }


/* Footer styling -------------------------------------------------------------------- */
.footer {
	width: 100%;
	color: #8B8B8B; /* Text color */
	text-align: center; /* Center the text horizontally */
	padding: 10px 0; /* Padding for some vertical space */
	margin-top: auto; /* Push the footer to the bottom */
}

.footer p {
	margin: 0; /* Remove default margin from the paragraph */
	font-size: 14px; /* Font size for the text */
	text-align: center; /* Center the text horizontally */
	justify-content: center;
    font-weight: 200;
}


/* social icon contact --------------------------------------------------------------------------------*/
.social-icons {
	display: flex;
	gap: 20px; /* Adjust spacing between icons */
	justify-content: center; /* Center horizontally */
	align-items: center; /* Center vertically */
}

.icon {
	color: white; /* Default color */
	font-size: 24px; /* Adjust size */
	transition: color 0.3s; /* Smooth transition */
	text-decoration: none; /* Remove underline */
	margin-top: 10px;
}

.icon:hover {
	color: #fd0000;  /* Color on hover */
	text-decoration: none;
}
/* pop up cookies --------------------------------------------------- */
.cookie-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7); /* Dark semi-transparent background */
  display: none; /* Hidden by default */
  z-index: 1000; /* Ensure it appears above other elements */
  backdrop-filter: blur(5px); /* Blur the background */
}

/* Center the popup in the middle of the screen */
.cookie-popup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  padding: 20px;
  text-align: center;
  width: 900px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  position: relative; /* Relative for close button positioning */
}

.cookie-popup p {
  margin: 50px 10px 20px 10px;
  flex: 1; /* Allow the paragraph to take available space */
}

.cookie-popup button {
  color: #0000ff;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}

.cookie-popup button:hover {
  background-color: #e0e002;
}

/* Close button */
.close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: #fff; /* Ensure visible background */
  border: none;
  border-radius: 50%; /* Make sure the button stays circular */
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
  width: 40px; /* Equal width and height for the circle */
  height: 40px; /* Set height to match width for a perfect circle */
  display: flex; /* Flexbox for centering */
  align-items: center; /* Vertically center */
  justify-content: center; /* Horizontally center */
  padding: 0; /* Remove padding */
  line-height: 1; /* Ensure no extra height issues */
}

.close-btn:hover {
  background-color: #f0f0f0; /* Optional background change on hover */
  transform: scale(1.05); /* Slightly enlarge the button on hover without deformation */
}

/* Popup content to align text and image */
.popup-content {
  display: flex; /* Use flexbox for layout */
  align-items: center; /* Vertically center items */
}
/* Popup image */
.popup-image {
  width: 100%; /* Image will take up 100% of its container's width */
  max-width: 500px; /* Set a maximum width, ensuring it doesn't get too large */
  height: auto; /* Maintain the aspect ratio */
}
/* Accept button styles */
#acceptCookiesBtn {
  background-color: #0000ff; /* blue background */
  color: white; /* White text */
  border: none;
  padding: 10px 15px; /* Button padding */
  text-align: center; /* Center text */
  text-decoration: none; /* No underline */
  display: inline-block; /* Allow setting width */
  font-size: 16px; /* Font size */
  border-radius: 5px; /* Rounded corners */
  cursor: pointer; /* Pointer cursor on hover */
  margin-top: 15px; /* Space above the button */
}

#acceptCookiesBtn:hover {
  background-color: #e0e002; /* Darker green on hover */
}


/* Make the popup responsive for smaller screens */
@media (max-width: 768px) {
  .cookie-popup {
	width: 90%; /* Set the popup width to 90% of the screen on tablets and smaller screens */
	padding: 15px;
  }

  .close-btn {
	font-size: 20px; /* Adjust font size for tablets */
	width: 35px; /* Maintain circle on smaller screens */
	height: 35px; /* Maintain circle */
  }
	#acceptCookiesBtn {
	font-size: 14px; /* Adjust button size on smaller screens */
  }
}

@media (max-width: 480px) {
  .cookie-popup {
	width: 90%; /* Popup takes 90% width on small mobile devices */
	padding: 10px;
  }

  .cookie-popup p {
	font-size: 14px; /* Smaller text size for mobile */
  }

  .cookie-popup button {
	padding: 8px 15px; /* Reduce button padding on mobile */
  }
  #acceptCookiesBtn {
	padding: 8px 10px; /* Reduce button padding on mobile */
  }

  .close-btn {
	font-size: 18px; /* Reduce font size for mobile */
	width: 30px; /* Maintain circle shape */
	height: 30px; /* Maintain circle */
	top: 5px; /* Adjust positioning */
	right: 5px; /* Adjust positioning */
  }
}

/* lateral navbar ------------------------------------------------------------------------------- */
.vertical-nav {
  position: fixed; /* Fixes the navbar to the viewport */
  right: 0; /* Aligns it to the right side */
  top: 0; /* Ensures it spans from top to bottom */
  width: 45px; /* Adjust width as needed */
  height: 100%; /* Full height */
  background-color: black; /* White background */
  display: flex;
  flex-direction: column-reverse; /* Starts text from the bottom */
  align-items: center; /* Center-aligns text horizontally */
  justify-content: center; /* Vertically center the text in the navbar */
  z-index: 1000; /* Ensures it's above other content */
}

/* Individual text inside the nav */
.nav-text {
  writing-mode: vertical-rl; /* Rotates text vertically */
  transform: rotate(180deg); /* Flips the text direction */
  font-size: 1rem;
  margin: 55px 0 65px 0; /* Space between text blocks */
  color: white; /* Black text */
  text-align: center;
}

@media (max-width: 480px) {
	.vertical-nav {
		display: none;
	}
}


/* --------- Fixed Top Menu ---------------------------------------------------------*/
.top-menu {
    display: flex;
    align-items: center;
    background-color: #df0000; /* Red background */
    border-top-right-radius: 20px; /* Rounded corners */
    border-bottom-right-radius: 20px;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.25);
    width: 80px; /* Initial collapsed width */
    height: 40px;
    transition: width 0.3s ease; /* Smooth transition when expanding */
    position: fixed;
    left: 0;
    top: 20px;
    z-index: 1000;
    justify-content: space-between;
    padding: 1rem 2rem;
}

.top-menu:hover {
    width: auto; /* Expanded width on hover */
    background-color: #df0000;
}

.logo img {
    height: 40px; /* Adjust the size of the logo */
    width: auto;
    padding-left: 1px;
}

.navigation ul {
    list-style: none;
    display: flex;
    gap: 1.5rem;
    margin: -5px 0 0 7px;
    padding: 0;
    opacity: 0; /* Initially hidden */
    pointer-events: none; /* Prevent interactions */
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0s 0.3s;
}

/* Show navigation menu on hover */
.top-menu:hover .navigation ul {
    opacity: 1; /* Show menu items on hover */
    pointer-events: auto; /* Allow interactions */
    visibility: visible;
}

.navigation ul li a {
    text-decoration: none;
    color: #ffffff; /* White text color */
    font-size: 1rem;
    transition: color 0.3s ease;
    font-weight: 400;
}

.navigation ul li a:hover {
    color: #000;
    text-decoration: none;
}

/* Active button style */
.navigation ul li a.active {
    color: #000; /* Active button color */
    position: relative;
}

.navigation ul li a.active2 {
    color: #ffffff; /* Active button color */
    border-bottom: 2px solid #ffffff; /* Add a line below the active link */
    position: relative;
}

/* Hamburger Menu */
.hamburger {
    display: none;
    cursor: pointer;
    z-index: 1001;
    margin-left: 10px;
    align-content: center;
    position: relative;
}

.hamburger i {
    font-size: 1.5rem;
}

/* Responsive Styles */
@media (max-width: 810px) {
    .top-menu {
        width: 130px; /* Adjust width for smaller screens */
    }

    .navigation ul {
        display: none; /* Hide the navigation by default on small screens */
        flex-direction: column; /* Stack items vertically */
        position: absolute; /* Position the dropdown */
        background-color: #df0000; /* Match the top menu color */
        width: 95%; /* Full width */
        top: 60px; /* Adjust according to your header height */
        left: 0; /* Align to the left */
        z-index: 1000; /* Ensure it appears above other content */
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0s 0.3s;
        margin: -20px 0 0 0;
    }

    .navigation ul.show {
        display: flex; /* Show the menu when toggled */
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
        padding: 10px;
        background: linear-gradient(to right, #d60202, transparent);
        -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
    }

    .hamburger {
        display: flex; /* Show the hamburger icon on small screens */
    }
    .top-menu:hover {
    width: 130px; /* Expanded width on hover */
    background-color: #df0000;
    }
}

/* Add styles for extra small screens (phones) */
@media (max-width: 480px) {
    .top-menu {
        width: 130px; /* Smaller initial width */
        height: 40px; /* Adjust height */
    }

    .navigation ul {
        top: 50px; /* Adjust dropdown position for smaller screens */
        margin: -12px 0 0 0;
    }

    .hamburger i {
        font-size: 1.2rem; /* Slightly smaller hamburger icon */
    }

    .navigation ul li a {
        font-size: 0.9rem; /* Adjust font size for smaller screens */
    }
    .top-menu:hover {
    width: 130px; /* Expanded width on hover */
    background-color: #df0000;
    }
}


/* Add diagonal line before the active link text 
.navigation ul li a.active::before {
	content: '';
	position: absolute;
	top: 20%; /* Center the line vertically */
   /* left: -8px; /* Start the line at the left edge of the link */
   /* transform: translateY(-50%) rotate(-45deg); /* Rotate to create a diagonal line */
  /*  width: 20px; /* Length of the line */
  /*  height: 4px; /* Thickness of the line */
  /*  background-color: #000; /* Same color as the active button */
  /*  z-index: 1; /* Ensure the line is above the text */
/*}
		*/


/* secondry menu ------------------------------------------------------------------------------- */
.secondary-menu-container {
	text-align: center;
	margin-top: 80px; /* Add some spacing above and below */
}

.secondary-menu ul {
	list-style-type: none;
	padding: 0;
}

.secondary-menu ul li {
	display: inline-block;
	margin: 0 15px;
}

.secondary-menu ul li a {
	text-decoration: none;
	color: #333; /* Adjust to your preferred color */
	font-weight: bold;
}

.secondary-menu ul li a:hover {
	color: #fd0000; /* Hover color */
}
/* Active button style */
.secondary-menu ul li a.active {
	color: #fd0000; /* Active button color */
	position: relative; /* Make sure the link itself is positioned relative to contain the ::before pseudo-element */
}

@media (max-width: 768px) {
	.secondary-menu ul {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.secondary-menu ul li {
		margin-bottom: 10px;
	}
}

/* welcome --------------------------------------------------------------------------------*/
.welcome-container {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		padding-right: 20px;
		height: 100vh;
		margin: -140px 0 0 0;
}
.welcome-text {
	text-align: right;
	line-height: 1.5;
	position: relative;
	padding-right: 30px;
}
.welcome-text h2 {
	text-align: right;
	line-height: 1.5;
	font-weight: 200;		
}
.welcome-text::after {
	content: '';
	position: absolute;
	top: 0;
	right: 15px;
	height: 100%;
	width: 5px;
	background-color: black;
}
.rooms {
	text-align: center;
	line-height: 1.5;
	position: relative;
	transition: background-color 0.3s ease;
	text-decoration: none;
    position: absolute; /* Make it cover the whole page */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw; /* Full viewport width */
    height: 100vh; /* Full viewport height */
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f5f5f5; /* Or any background you want */
}
.rooms-text h4 {
	text-align: center;
	color: #0000FF;		
    max-font-size: 20rem; /* Optional: Set a maximum limit for larger screens */
}
.rooms-text:hover {
	color: #e0e002;
}
/* Adjust positioning for smaller screens */

}
/* Typewriter animation */
.typewriter {
	display: inline-block;
	font-size: 3rem;
	white-space: nowrap;
	overflow: hidden;
	border-right: .15em solid black; /* Adds the blinking cursor */
	width: 0;
	animation: typing 4s steps(30) 1s infinite, blink 0.75s step-end infinite;
}

/* Typing effect */
@keyframes typing {
    0% {
        width: 0;
    }
    80% {
        width: 100%;
    }
    100% {
        width: 100%;
    }
}

/* Blinking cursor effect */
@keyframes blink {
    50% {
        border-color: transparent;
    }
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .typewriter {
        font-size: 2rem; /* Smaller font size for tablets */
    }
}

/* Adjustments for very small screens */
@media (max-width: 480px) {
    .typewriter {
        font-size: 1.5rem; /* Even smaller for mobile devices */
    }
}



/* Container for the banner ---------------------------------------------------*/
.banner-container {
  width: 100%; /* Full width */
  overflow: hidden; /* Hides the text that moves out of the container */
  position: relative;
  z-index: 10;
}

/* Styling for the text inside the banner */
.banner-text {
  white-space: nowrap; /* Ensures the text doesn't break into multiple lines */
  color: black; /* White text color */
  font-size: 1.5rem; /* Adjust font size */
  font-weight: bold;
  animation: scroll-text 18s linear infinite; /* Scroll effect with timing */
}

/* Keyframe for scrolling animation */
@keyframes scroll-text {
  0% {
    transform: translateX(100%); /* Start the text off-screen to the right */
  }
  100% {
    transform: translateX(-100%); /* End the text off-screen to the left */
  }
}

/* Faster scroll for small screens */
@media (max-width: 480px) {
  .banner-text {
    animation: scroll-text 8s linear infinite; /* Increase speed for smaller screens */
  }
}

/* Individual hero section styling ------------------------------------------------*/
.hero1 {
	max-width: 100%;
	height: auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.hero1 img {
	max-width: 900px;
	height: 2000px;
	display: block;
	margin: 0 auto;
}
/* Subtle 3D pop effect on hover */
.hero1:hover {
  transform: translateY(-10px); /* Lift the section up slightly */
  box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.3); /* Add a larger shadow for depth */
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.hero1 {
	width: 100%; /* Full width on smaller screens */
	height: auto; /* Adjust height on smaller screens */
	transform: none; /* Disable transform for smaller screens */
	box-shadow: none; /* Disable shadow for smaller screens */
  }
}

  .hero1:hover {
	transform: none; /* Disable hover effect on mobile */
	box-shadow: none; /* Disable shadow effect on mobile */
  }
}

/* hero left and right ------------------------------------------------------------------------------- */
.hero-section {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  z-index: 1;
}

/* Individual hero section styling */
.hero {
  position: relative;
  width: 50%; /* Each hero takes up 50% of the width */
  height: 100vh; /* Full viewport height */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Smooth transition for hover effect */
}

/* Specific background images */
.hero-left {
  background-image: url(../img/dasilva.gif);
}

.hero-right {
  background-image: url(../img/santana.gif);
}

/* Subtle 3D pop effect on hover */
.hero:hover {
  transform: translateY(-10px); /* Lift the section up slightly */
  box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.3); /* Add a larger shadow for depth */
}
.hero-right:hover {
  background-image: url(../img/santana.png);
}
.hero-left:hover {
  background-image: url(../img/dasilva.png);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .hero-section {
	flex-direction: column; /* Stack images vertically on smaller screens */
  }

  .hero {
	width: 100%; /* Full width on smaller screens */
	height: 50vh; /* Adjust height on smaller screens */
	transform: none; /* Disable transform for smaller screens */
	box-shadow: none; /* Disable shadow for smaller screens */
  }

  .hero:hover {
	transform: none; /* Disable hover effect on mobile */
	box-shadow: none; /* Disable shadow effect on mobile */
  }
}

/* ---- hero-home -------------------------------------------------------------------------- */

/* Carousel Container */
/* Carousel Container */
.carousel-container {
    position: relative;
    height: 300vh; /* Increased height to allow for scrolling */
}

/* Carousel Item Styling (each image + title) */
.carousel-item {
    position: absolute;
    top: 100vh;  /* Initially position below the viewport */
    width: 100%;
    height: 100vh; /* Full height of the viewport */
    text-align: center;
    opacity: 0;
    transition: opacity 1s ease-out; /* Smooth fade-in effect */
}

/* Carousel Image Styling */
.carousel-image {
    width: 100%;
    height: 100%;
    object-fit: cover;  /* Ensures the images cover the entire container */
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; /* Keep the image behind the title */
}

/* Title Styling */
.carousel-title {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 2rem;
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.5); /* Optional: Semi-transparent background for readability */
    padding: 10px;
}

/* ---- Main Content essays -------------------------------------------------------------------------- */
.content {
	padding-top: 80px; /* Make space for the fixed header */
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	flex: 1;
}

.content-essay {
	padding-top: 100px; /* Make space for the fixed header */
	max-width: 900px;
	margin: 0 auto;
	display: grid;
  	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Responsive grid */
  	gap: 2rem; /* Space between grid items */
}

.post {
	display: flex;
	flex-direction: column-reverse; /* Only one flex-direction needed */
	align-items: center;
	justify-content: space-between;
	background-color: #ffffff;
	/*box-shadow: 0 6px 10px rgba(0, 0, 0, 0.25);*/
	margin-bottom: 2rem;
	border-radius: 8px;
	margin: 10px 20px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	transform-style: preserve-3d;
	opacity: 0; /* Start as invisible */
}

	/*box-shadow: rgba(0, 0, 0, 0.3) -5px 5px, rgba(0, 0, 0, 0.2) -10px 10px, rgba(0, 0, 0, 0.1) -15px 15px, rgba(0, 0, 0, 0.6) -10px 10px, rgba(0, 0, 0, 0.02) -0 0;*/

/* Hover effect similar to .card */
.post:hover {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.post-content {
	flex: 1; /* Take up available space */
	padding: 1rem;
}

.post-image {
	width: 100%; /* Set the width of the image container */
	flex-shrink: 0; /* Prevent the image container from shrinking */
}

.post-image img {
	width: 100%;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;

}

.post h2 {
	margin-bottom: 1rem;
	margin-top: 1rem;
	color: #1d1d1f;
	font-weight: bold;
	font-size: 1.2rem;
}

.post p {
	font-size: 1rem;
	line-height: 1.5;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 5; /* Show only 5 lines */
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}

.read-more {
    margin-top: 1rem;
    margin-right: 10px;
    padding: 10px 15px; /* Smaller padding for better proportion */
    border-radius: 20px;
    font-size: 0.7rem;
    color: white;
    text-align: center;
    white-space: nowrap; /* Prevents button from expanding */
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 
                0 3px 2px rgba(0, 0, 0, 0.2), 
                0 7px 7px rgba(0, 0, 0, 0.15);
    max-width: fit-content; /* Button size adapts to text */
    text-decoration: none; /* Ensure the anchor tag text doesn't have an underline */
    transition: transform 0.2s ease, background 0.3s ease, box-shadow 0.3s ease; /* Smooth transition */
}

.read-more:hover {
    background-color: #1d1d1f;
    border: none;
    background: radial-gradient(circle at left bottom, #5049c2 20%, rgba(87, 78, 255, 0) 60%);
    transform: translateY(-3px); /* Move the button up slightly */
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 
                0 3px 4px rgba(0, 0, 0, 0.25), /* Slightly adjusted shadow for hover */
                0 7px 7px rgba(0, 0, 0, 0.2); /* Increase shadow for more depth on hover */
}

/* Ensure anchor tag hover doesn't override */
.read-more:hover, .read-more:focus {
    color: #ffffff;
    text-decoration: none;
}


/* Adjust padding for larger screens */
@media (min-width: 1024px) { /* Large screens */
    .read-more {
        padding: 15px; /* Slightly reduce padding */
        font-size: 0.7rem; /* Adjust font size */
    }
}


/* Responsive  */
@media (min-width: 1900px) {  /* For very large screens or widescreen monitors */
    .content-essay {
        max-width: 1600px; /* Optionally, allow even wider content on ultra-wide monitors */
    }
}

@media (min-width: 1200px) {  /* For large screens like a 27-inch monitor */
    .content-essay {
        max-width: 1100px; /* Increase max-width to make use of larger screen */
    }
}

@media (max-width: 1024px) {
  .content-essay {
    grid-template-columns: 1fr 1fr 1fr; /* Two columns */
    gap: 1.5rem;
  }
  .post {
    margin: 10px; /* Less margin to fit better */
  }
}

@media (max-width: 768px) {
  .content-essay {
    grid-template-columns: 1fr 1fr; /* Two columns */
    gap: 1.5rem;
  }
  .post {
    margin: 10px; /* Less margin to fit better */
  }
}

/* Responsive for 480px and below - single column */
@media (max-width: 480px) {
  .content-essay {
    grid-template-columns: 1fr; /* Single column */
    gap: 1rem; /* Smaller gap for mobile */
  }

  .post {
    align-items: flex-start;
    margin: 10px; /* Less margin for compact layout */
  }

  .post-image img {
    width: 100%; /* Full-width images */
    border-radius: 8px 8px 0 0; /* Rounded corners at the top */
  }

  .post-content {
    padding: 1rem; /* Less padding on mobile */
  }
}


/* Projects Section --------------------------------------------------------------- */
.content2 {
	padding: 100px 10px 10px 10px; /* Space for the fixed header */
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	flex: 1;

}

.container2 {
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	flex: 1;
}

.card {
	border-radius: 8px;
	/*box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);*/
	opacity: 0; /* Start as invisible */
	transform: translateY(50px); /* Reduce to make them closer to their final position */
	transition: transform 0.6s ease, box-shadow 0.6s ease; /* Add the transition here */
	transform-style: preserve-3d;
	flex-direction: column;
	flex: 1; /* Take up available space */
	border: 0px;
	justify-content: center;
	position: relative; /* Ensures overlay positions correctly */
    height: auto;
}
/* index tagline ------------------------ */
.card2 {
	background-color: white;
	border-radius: 8px;
	opacity: 0; /* Start as invisible */
	transform: translateY(50px); /* Reduce to make them closer to their final position */
	transition: transform 0.6s ease, box-shadow 0.6s ease; /* Add the transition here */
	transform-style: preserve-3d;
	flex-direction: column-reverse;
	flex: 1; /* Take up available space */
	border: 0px;
	justify-content: center;
	position: relative; /* Ensures overlay positions correctly */
}
.card-text h3 {
	font-size: 200px; /* Change font size */
	font-weight: bold; /* Make the text bold */
	color: #fff; /* Set the text color */
	text-align: center; /* Align the text to the center */
	padding: 20px; /* Add padding around the text */
	background-color: rgba(255, 255, 255, 0.8); /* Set a semi-transparent background */
	letter-spacing: 1.5px; /* Add some spacing between letters */
	text-transform: uppercase; /* Make the text uppercase */
	transition: transform 0.6s ease, box-shadow 0.6s ease; /* Add the transition here */
	transform-style: preserve-3d;
	text-shadow: 4px 5px 4px rgba(125, 125, 125, 0.5); /* Drop shadow */

}
/* 3D Hover Effect */
.card:hover {
	/*box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);*/
}

.card img, 
.card2 img {
    width: 100%;
    display: block;
    -webkit-user-drag: none;
    user-drag: none;
    border-radius: 10px; /* Smooth rounded corners */
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1); /* Subtle border */
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 
                0 3px 2px rgba(0, 0, 0, 0.2), 
                0 7px 7px rgba(0, 0, 0, 0.15); /* Shadow effect */
    padding: 20px;
    backdrop-filter: blur(5px);

 

    /*filter: grayscale(100%);  Make the image black and white */
    /* transition: filter 0.5s ease-in-out; /* Smooth transition effect */
    /* transform: scale(calc(0.8 + 0.2 * (100vw / 1600)));*/
}
/*
.card:hover img, 
.card2:hover img {
    filter: grayscale(0%); /* Show the original colour image on hover */
    /*transform: scale(calc(0.8 + 0.2 * (100vw / 1600))) !important;
}*/
 

.card-text {
	padding: 10px;
	text-align: justify;
	justify-content: right;
}

.card-text h1 {
	margin: 0 0 10px;
}
.card-text h2 {
	margin: 0 0 10px;
	font-size: 1.3em;
	font-weight: bold;
    text-align: left;
    line-height: 1.27;
}

.card-text p {
	margin: 0;
	font-size: 1em;
    font-weight: 400;
}

.card-visible {
	opacity: 1;
	transform: translateY(0); /* or whatever transformation you need */
	transition: opacity 0.6s ease, transform 0.6s ease;
}


/* Size classes */
.size-small {
	flex-basis: 20%; /* Base width for small cards */
}

.size-small2 {
	flex-basis: 35%; /* Base width for medium cards */
}

.size-medium {
	flex-basis: 40%; /* Base width for medium cards */
}

.size-large {
	flex-basis: 60%; /* Base width for large cards */
}
.size-large2 {
	flex-basis: 53%; /* Base width for large cards */
}

.size-extra {
	flex: 1 1 100%; /* Base width for large cards */
    margin-bottom: 20px;

}

/* Small mobile screens */
@media (max-width: 480px) {
    .size-extra {
        flex: 1 7 100%;
    }
}
@media (max-width: 380px) {
    .size-extra {
        flex: 1 7 100%;
    }
}



.card-img-overlay-2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: end;
  align-items: end;
}

.overlay-text-2 {
  color: white;
  font-size: 1rem;
  font-weight: bold;
  text-align: right;
  margin-right: 20px;
}

/* Very large screens (30-inch, 4K) */
/* Large screens (e.g., 30-inch monitors, 2560px and above) */
@media (max-width: 2560px) {
    .content2 {
        width: 100%; /* Ensure it scales fully on larger screens */
        max-width: 1000px; /* Control the maximum width */
    }
}

/* Large screens (27-inch monitors, MacBook Pro 16-inch) */
@media (max-width: 1920px) {
    .content2 {
        width: 100%;
        max-width: 1000px;
        margin: 0 auto; /* Center content */
        padding: 0 50px; /* Space between content and screen edges */
    }
}

/* MacBook 14-inch & similar screens (between 1440px and 1920px) */
@media (max-width: 1440px) {
    .content2 {
        width: 100%;
        max-width: 900px; /* Adjusted width */
        margin: 0 auto; /* Center content */
        padding: 0 20px; /* Space between content and screen edges */
    }
}

/* Laptops & smaller desktops (MacBook Air 13-inch, 1080p screens) */
@media (max-width: 1439px) {
    .content2 {
        width: 100%;
        max-width: 900px;
        margin: 0 auto; /* Center content */
        padding: 0 20px; /* Space between content and screen edges */
    }
}

/* Tablets (iPad, smaller laptops) */
@media (max-width: 1024px) {
    .content2 {
        width: 100%;
        max-width: 800px;
    }
}

/* Mobile screens */
@media (max-width: 768px) {
    .content2 {
        width: 100%;
        max-width: 600px;
    }
}

/* Small mobile screens */
@media (max-width: 480px) {
    .content2 {
        width: 100%;
        max-width: 400px;
    }
}

@media (max-width: 380px) {
    .content2 {
        width: 100%;
        max-width: 400px;
    }
}

@media (min-width: 1024px) {
    .size-small {
        flex-basis: 20%; /* Adjust small cards for medium screens */
    }

    .size-medium {
        flex-basis: 40%; /* Adjust medium cards for medium screens */
    }

    .size-large {
        flex-basis: 60%; /* Adjust large cards for medium screens */
    }

    .size-extra {
        flex-basis: 100%; /* Base width for large cards */
    }

    .card img {
        width: 100%;
        border-radius: 10px;
        filter: none !important;
        transition: none !important;
    }
}

@media (min-width: 768px) {
    .card {
        flex-basis: 100%; /* Cards take full width on small devices */
        flex-direction: column; /* Stack content and image vertically */
        align-items: flex-start;
    }

    .size-extra {
        flex-basis: 100%;
    }

    .image-wrapper img {
        width: 100%;
    }

    .card img {
        border-radius: 10px;
    }
}

@media (min-width: 480px) {
    .card {
        flex-basis: 100%; /* Full width for extra small screens */
        flex-direction: column; /* Stack content and image vertically */
        align-items: flex-start;
    }

    .size-extra {
        flex-basis: 100%;
    }

    .card img {
        filter: none !important;
        transition: none !important;
        border-radius: 10px;
    }
}



/* --------- card media ---------------------------------------------------------*/
.media-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; /* Allows wrapping to new lines */
  padding-top: 100px;
}

.media-card {
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  margin: 10px;
  max-width: 900px; /* Sets max width for the card */
  display: flex; /* Use flexbox for horizontal layout */
  overflow: hidden;
  transition: transform 0.3s;
  flex-direction: row; /* Arrange items in a row */
  align-items: flex-start; /* Align items at the start */
  background-color: #121212;
}

.media-card:hover {
  transform: translateY(-5px);
}

.media-content {
  padding: 15px;
  display: flex; /* Allow text to be aligned beside the image */
  flex-direction: column; /* Stack title and description vertically */
  justify-content: flex-start; /* Align content to the top */
  justify-content: center; /* Center the content vertically */
  flex: 1; /* Allow content to grow */
}
.media-image-container {
  display: flex;
  flex-direction: column; /* Stack images vertically */
  align-items: center; /* Center the images horizontally */
  width: 50%; /* Adjust as necessary */
}
.media-image {
  width: 95%; /* Adjust as necessary */
  height: auto; /* Maintain aspect ratio */
  display: flex;
  flex-direction: column; /* Stack image and logo vertically */
  align-items: center; /* Center items horizontally */
  margin-right: 10px; /* Space between image container and content */
  border-radius: 10px;
}
.media-logo {
  width: 150px; /* Set a fixed width */
  margin-top: 10px; /* Add some space between the image and logo */
  justify-content: flex-end; /* Aligns items to the end (right) */
  align-items: flex-end; /* Align items to the end (right) */
}

.media-title {
  font-size: 3rem;
  margin: -25px 0 0 0;
  color: #efefef;
  font-weight: bold; /* Makes the title bold */
}

.media-description {
  font-size: 1rem;
  color: #d1d1d1;
  margin: 10px 0;
  font-weight: 100;
}

.media-link {
  color: #0000ff; /* Text color only */
  text-decoration: none;
}

.media-link:hover {
  color: #e0e002; /* Change color on hover */
}


/* Responsive Styles */
@media (max-width: 768px) {
  .media-card {
    max-width: 100%; /* Full width on small screens */
    margin: 10px 0; /* Adjust margin for better spacing */
  }

  .media-title {
    font-size: 1.25em; /* Slightly smaller font size */
  }

  .media-description {
    font-size: 0.9em; /* Smaller description text */
  }

  .company-logo {
    width: 30px; /* Smaller logos for mobile */
    height: 30px;
  }
  .media-title {
	margin-top: -15px;
  }
}

@media (max-width: 480px) {
  .media-card {
    max-width: 100%; /* Full width on small screens */
    flex-direction: column; /* Stack content and image vertically */
    align-items: center; /* Center content horizontally */
    margin: 5px 0;
  }

  .media-image {
    width: 100%; /* Adjust width as desired for centering */
    height: auto; /* Maintain aspect ratio */
  }
  .media-title {
	margin-top: 5px;
  }
}

/* For extra-small screens (320px and below) */
@media (max-width: 320px) {
  .media-card {
    max-width: 100%; /* Full width on extra-small screens */
    flex-direction: column; /* Stack content and image vertically */
    align-items: center; /* Center content horizontally */
    margin: 5px 0;
  }

  .media-image {
    width: 100%; /* Adjust width as desired for centering */
    height: auto; /* Maintain aspect ratio */
  }
  .media-title {
	margin-top: 5px;
  }
}

/* modal ------------------------------------------------------------------------- */


/* The Modal (background) */
.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(5px);
}

/* Modal Content */
.modal-content {
  background: rgba(22, 27, 34, 0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 10px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 30px;
  text-align: center;
  width: 90%;
  max-width: 400px;
  color: white;
}

.modal-content h2 {
  font-size: 1.5rem;
  margin-bottom: 20px;
  color: #ffffff;
}

.modal-content input {
  width: 100%;
  padding: 10px;
  margin: 10px 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  outline: none;
}

.modal-content input:focus {
  border-color: #0000ff;
}

.modal-content button {
  background-color: #0000ff;
  color: white;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 20px;
  border: none;
  transition: background-color 0.3s ease;
  width: 100%;
}

.modal-content button:hover {
  background-color: #e0e002;
}


.portfolio-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.portfolio-modal-content {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 1200px;
  max-height: 95vh;
  overflow-y: auto;
  background: rgba(22, 27, 34, 0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 10px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
  padding: 5px;
  text-align: center;
}

#closePortfolioModal {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 28px;
  color: #fff;
  cursor: pointer;
}


.rainbow-border-btn {
  position: relative;
  padding: 12px 24px;
  font-size: 12px;
  font-weight: 500;
  color: white;
  background-color: transparent;
  border: 2px solid transparent; /* Set border to transparent to allow the animated border */
  border-radius: 20px;
  cursor: pointer;
  overflow: hidden;
  background-clip: padding-box;
  transition: all 0.3s ease;
  line-height: 10px;
}

.rainbow-border-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 8px;
  background: linear-gradient(270deg, red, orange, yellow, green, blue, indigo, violet, red);
  background-size: 400% 400%;
  animation: rainbowBorder 4s linear infinite;
  z-index: -1;
  border: 2px solid transparent; /* Make sure it appears on the border */

}

@keyframes rainbowBorder {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}


/* ... existing code ... */

/* about ------------------------------------------------------------------------- */
.about2-container {
    display: flex;
    justify-content: space-between;
    max-width: 1600px;
    margin: 0 auto;
    padding: 20px 20px 0 20px;
}

.content-about {
    padding: 20px 20px; /* Make space for the fixed header */
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    flex: 1;
}

/* Text Section */
.values-about {
    color: white;
    box-sizing: border-box;    /* Ensure padding doesn't affect the width */
    display: flex;             /* Use flexbox to center content */
    flex-direction: column;    /* Stack children vertically */
    justify-content: center;    /* Center children vertically */
    align-items: center;       /* Center children horizontally */
    text-align: center;        /* Center the text */

}
.about2-text {
    flex: 1;
    padding: 20px;
    font-family: 'Quicksand', sans-serif;
    font-size: 60px;
    position: relative; /* Needed to position the pseudo-element */
}

/* Gradient underline */
.about2-text::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%; /* Full width of text */
    height: 1.5px; /* Thickness of the line */
    background: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet);
}


.about2-text h2 {
    margin-bottom: 20px;
    font-size: clamp(2rem, 5vw, 2em); /* Adjust min and max values */
    font-weight: 400;
}

.about2-text h4 {
    font-size: 2rem;
    font-weight: 1000;
    text-align: right;
}

.about2-text p {
    line-height: 1.7;
    font-weight: 300;
    font-size: 2rem;
}

/* Image Section */
.about2-image {
    flex: 1;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.about2-image img {
    max-width: 28%;
    margin-top: 0px;
    border-radius: 270px;
    box-shadow: 0px 1px 1px rgba(76, 0, 255, 0.3), 0 0 40px rgba(76, 0, 255, 0.2), 0 0 100px rgba(76, 0, 255, 0.1);
    background: radial-gradient(circle at left bottom, 
    #ff9a9e 0%,       /* Soft pink */
    #fad0c4 10%,      /* Light peach */
    #fbc2eb 25%,      /* Warm pinkish purple */
    #a18cd1 40%,      /* Lavender purple */
    #5049c2 55%,      /* Deep blue-purple */
    rgba(87, 78, 255, 0) 80%  /* Fading effect */);
    z-index: 2;
    position: relative;
    
}


.about2-image::after {
    content: "";
    position: absolute;
    bottom: -40px; /* Adjust position */
    left: 50%;
    width: 1250px; /* Size of the circle */
    height: 850px;
    background: radial-gradient(circle, rgba(76, 0, 255, 0.3) 0%, rgba(76, 0, 255, 0) 70%);
    transform: translateX(-50%);
    border-radius: 50%;
    filter: blur(40px); /* Soft blur for glowing effect */
    opacity: 100%; /* Adjust transparency */
    z-index: 1;
}

.column-about {
    flex: 1;
    margin: 10px;
    padding: 20px;
    box-sizing: border-box;
    border: 0.2px solid #484848;
    font-size: 16px;
    font-weight: 100;
    border-radius: 10px;
    background-color: #0d1117; /* Background color */
    text-align: center; /* Center text */
    color: #f8f8f8; /* Text color */
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
}



.column-about:hover {
    border-radius: 10px;
    background: transparent;
    transform: translateY(-5px);  /* Slight lifting effect */

    /* Rainbow border effect on hover */
    border: 0.01px solid transparent; /* Make the border transparent initially */
    border-image: linear-gradient(45deg, rgba(255, 0, 0, 0.7), 
        rgba(255, 165, 0, 0.7), rgba(255, 255, 0, 0.7), 
        rgba(0, 128, 0, 0.7), rgba(0, 0, 255, 0.7), rgba(75, 0, 130, 0.7), 
        rgba(238, 130, 238, 0.7));
    border-image-slice: 1;

    /* Ensure the border-radius is maintained with the rainbow border */
    
}

.column-about p {
    font-size: 1rem;
    font-weight: 300;
    text-align: left;
}

.column-about h1 {
    font-size: 2.5rem;
    font-weight: 600;
}

.column-about h2 {
    font-size: 1.2rem;
    font-weight: 300;
}

.column-about h3 {
    margin-top: 20px;
    font-size: 1.1rem;
    color: #555;
    text-align: left;
}

.three-columns-about {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
    margin: 20px 0;
    padding: 20px;
}




/* Mobile Layout - Responsive Design */
@media (max-width: 925px) {

    .about2-image img {
        margin-top: 20px;
    }
}

@media (max-width: 768px) {
    .about2-container {
        flex-direction: column; /* Stacks image below text on small screens */
    }

    .about2-text, .about2-image {
        padding: 0;
    }

    .about2-text {
        padding-bottom: 20px;
    }

    .about2-image img {
        max-width: 80%;
        margin-top: 20px;
    }
}

@media (max-width: 480px) {
    .about2-text p {
    }

    .about2-image img {
        margin-top: 20px;
    }
    .three-columns-about {
    flex-direction: column;
    }

}




.text-uppercase {
	letter-spacing: 0.08em;
	color: #333;
	text-decoration: none;
	font-size: 2.5em;
	font-weight: 1000;
	text-align: left; /* Ensure the title aligns left */
}

.lined {
	display: flex; /* Use flexbox for alignment */
	justify-content: flex-end; /* Aligns the content to the right */
	margin: 1.25rem 0; /* Vertical margin */
}

.lined::after {
	content: '';
	display: block;
	width: 6.25rem; /* You can adjust this width as needed */
	height: 1px;
	background: #333; /* Line color */
}







.content-about-gallery2 {
            display: flex;
            justify-content: center;
            align-items: flex-start;
            gap: 40px;
            padding: 100px 20px;
            max-width: 1800px;
            margin: 10px;
        }

        .text-content {
            flex: 1;
            max-width: 400px;
        }

        .typewriter {
            font-size: 2rem;
            margin-bottom: 20px;
        }

        .description {
            font-size: 1rem;
            color: #b3b3b3;
            line-height: 1.6;
            text-align: left;
        }

        .gallery2 {
            flex: 2;
            background-color: transparent;
            border-radius: 10px;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            max-width: 800px;
            width: 100%;
            border-radius: 20px;
        }

        .gallery2-title {
            text-align: center;
            padding: 20px;
            font-size: 24px;
            color: #333;
        }

        .image-container-gallery2 {
            position: relative;
            width: 100%;
            height: 0;
            padding-bottom: 75%; /* Adjust this value to change the aspect ratio */
            overflow: hidden;
            position: relative;
            width: 100%;
            height: auto;
            display: flex;
            justify-content: center;
            align-items: center;

        }

        .gallery2-image {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: contain;
            opacity: 0;
            transition: opacity 1s ease-in-out;
            padding: 10px;
            border-radius: 10px; /* Add rounded corners to the images */

            
        }

        .gallery2-image.active {
            opacity: 1;
            z-index: 1;
        }

        @media (max-width: 768px) {
            .content-about-gallery2 {
                flex-direction: column;
                align-items: center;
            }

            .text-content, .gallery2 {
                max-width: 100%;
            }
        }





/* about index ------------------------------------------------------------ */
.about-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px;
	text-align: justify; /* Center-align text */
}

.about-container h1 {
	margin-bottom: 20px;
	font-size: 2.5em;
	font-weight: 1000;
}

.about-text {
	margin-bottom: 20px;
}
	
.about-text p {
	margin-bottom: 15px;
	line-height: 1.8;
}

.about-image {
	display: flex;
	justify-content: center;
	align-items: center;
}

.about-image img {
	max-width: 100%;
	border-radius: 8px;
}

/* Responsive Design */
@media (max-width: 768px) {
	.about-container {
		padding: 20px;
	}

	.about-image img {
		max-width: 80%;
	}
}

/* Hero article Section ------------------------------------------------------------------*/
.hero-article-cover {
	position: relative;
	width: 100%;
	background-image: url(''); /* Replace with your hero image */
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: white;
}

.hero-content {
	background: transparent; /* Dark overlay for better text readability */
	padding: 10px;
	border-radius: 0;
}

.article-title {
	font-size: 5rem;
	color: #333;
}

.article-meta {
	font-size: 1rem;
	color: #333;
	text-align: center;
}

/* Hero container */
.hero-title {
    text-align: center;
    margin-top: 80px;
    padding: 0;

    display: flex;
    justify-content: center;
    align-items: center;
}

/* Title wrapper */
.title-wrapper {
    display: flex;
    white-space: nowrap;
    animation: scrollTitle 5s linear infinite;
}

@font-face {
  font-family: 'Calico Cyrillic';
  src: url('../assets/fonts/CalicoCyrillic-Regular.woff2') format('woff2'),
       url('../assets/fonts/CalicoCyrillic-Regular.woff') format('woff'),
       url('../assets/fonts/calico_cyrillic.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}



/* Title styling */
.hero-title h1 {
    font-size: 20vw;
    font-weight: bold;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
    font-family: 'Calico Cyrillic', sans-serif;
}


/* Animation */
@keyframes scrollTitle {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

@media (max-width: 300px) {
  .hero-title h1 {
    font-size: 2rem; /* Ensures the text fits within tiny screens */
    letter-spacing: 1px; /* Reduce letter spacing for better readability */
  }
}


/* case study--------------------------------------------------*/
.container-casestudy {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 20px;
    margin-top: 40px;

}

.title {
    text-align: center;
    margin: 20px 0;
    font-size: 2rem;
    font-weight: bold;
}

.cover-image {
    width: 100%;
    height: auto;
}

.content-block {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 20px 0;
    padding: 20px;
    width: 100%;
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
}
.content-block2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0;
    width: 100%;
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
}
.placeholder {
    flex: 2;
    background: transparent;
}

.right-content {
    flex: 2;
    padding: 20px;
    box-sizing: border-box;
}

.right-content h2 {
    margin-top: 0;
    font-size: 2rem;
}

.right-content p {
    margin: 25px 0;
    font-weight: 400;
}

.three-columns {
    display: flex;
    justify-content: space-between;
    margin: 20px 0;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
}

.column {
    flex: 1;
    margin: 0 10px;
    padding: 20px;
    /*background-color: #f1f1f1;*/
    box-sizing: border-box;
    font-size: 16px;
    font-weight: 100;
    text-align: center;
}

.column h3 {
    margin-top: 20px;
    font-size: 1rem;
    color: #555;
    text-align: left;
}

.column ul {
    margin: 10px 0;
    padding-left: 20px;
    font-size: 16px;
    text-align: left;
    line-height: 0.8;
}

.column ul li {
    margin-bottom: 20px;
    padding: 0px;
}
.image-container {
      display: flex;
      justify-content: space-between;
      gap: 0px;
  }

/* Breakpoint: 1900px */
@media (max-width: 1900px) {
    .title {
        font-size: 2.5rem;
    }
    .right-content h2 {
        font-size: 1.5rem;
    }
}

/* Breakpoint: 1200px */
@media (max-width: 1200px) {
    .content-block {
        justify-content: center;
    }
    .column {
        margin: 10px;
    }
    .title {
        font-size: 1.5rem;
    }
}

/* Breakpoint: 1024px */
@media (max-width: 1024px) {
    .content-block {
        flex-direction: column;
        align-items: center;
    }
    .column {
        margin: 10px 0;
    }

}

/* Breakpoint: 768px */
@media (max-width: 768px) {
    .title {
        font-size: 2rem;
    }
    .right-content h2 {
        font-size: 1.3rem;
    }
    .column h3 {
        font-size: 1rem;
    }
       .content-block2 {
        flex-direction: column;
        align-items: center;
        padding: 0px !important; 

    }
    .content-block {
        justify-content: center;
        padding: 0px !important; 
    }
    .three-columns {
    flex-direction: column;
    margin: 0;
    }
}

/* Breakpoint: 480px */
@media (max-width: 350px) {
    .title {
        font-size: 1.5rem;
    }
    .right-content h2 {
        font-size: 1.5rem;
    }
    .right-content p,
    .column ul li {
        font-size: 1.3rem;
        margin: 25px 0;
    }
    .column h3 {
        font-size: 1rem;
        margin: 0;
    }
    .content-block2 {
        flex-direction: column;
        align-items: center;

    }
    .three-columns {
    flex-direction: column;
    margin: 0;
    }
    .image-container {
          flex-direction: column;
          align-items: center; /* Center the images horizontally */
          gap: 20px; /* Add some space between the images */
          width: 100%;
      }
      .content-block {
        justify-content: center;
    }
    .container-casestudy {
        max-width: 250px;
    }
}


.carousel {
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
}

.carousel-images {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.carousel-images img {
    width: 100%;
    height: auto;
    flex: 1 0 100%; /* Each image takes full width */
}

.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 2;
    max-width: 47px;
}

.carousel-btn.prev {
    left: 10px;
}

.carousel-btn.next {
    right: 10px;
}

/* Article Content --------------------------------------------------*/
.article-content {
	max-width: 900px;
	margin: 20px auto;
	padding: 0 20px;
	font-size: 1.2rem;
	line-height: 1.8;
	text-align: justify;
}

.article-content p {
	margin-bottom: 20px;
}

/* Navigation Buttons -  next essay */
.article-navigation {
	display: flex;
	justify-content: space-between;
	max-width: 800px;
	margin: 40px auto;
	padding: 0 20px;
}

.nav-button {
	padding: 10px 20px;
	color: #0000FF;
	text-decoration: none;
	transition: background-color 0.3s ease;
}

.nav-button:hover {
	color: #e0e002;
}

/* Responsive Design ---- */
@media (max-width: 768px) {
	.hero-cover {
		height: 40vh; /* Adjust height for smaller screens */
		padding: 15px;
	}

	.article-title {
		font-size: 2rem; /* Smaller title size */
	}

	.article-meta {
		font-size: 0.9rem; /* Smaller meta text */
	}

	.article-content {
		font-size: 1.1rem;
		padding: 0 15px;
	}

	.nav-button {
		width: 100%; /* Buttons take full width */
		text-align: center;
		padding: 10px;
	}
}

@media (max-width: 480px) {
	.hero-cover {
		height: 30vh; /* Further adjust height for mobile */
		padding: 10px;
	}

	.article-title {
		font-size: 1.8rem; /* Further reduce title size */
	}

	.article-meta {
		font-size: 0.8rem; /* Smaller meta text */
	}

	.article-content {
		font-size: 1rem;
		padding: 0 10px;
	}

	.nav-button {
		padding: 8px 15px;
		font-size: 1rem;
	}
	.article-navigation {
		flex-direction: column;
		align-items: center;
		gap: 15px; /* Add gap between buttons */
		font-size: 1.5rem; /* Further adjust for very small screens */
	}
}

/* home-navigation --------------------------------------------------------------------*/

.home-navigation {
    display: flex;
    justify-content: center; /* Center the button */
    margin-top: 40px;
}

.nav-button {
    display: inline-block;
    padding: 12px 20px;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
}

.nav-button:hover {
    transform: translateY(-2px); /* Slight lift effect */
    box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.3);
    color: #56d364; /* Change text color on hover */
}

/* contact --------------------------------------------------------------------*/

.contact-container {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 40px;
}

.contact-image img {
	max-width: 100%;
	height: 350px;
	border-radius: 0px;
}

.contact-text h2 {
	margin-bottom: 20px;
	font-size: 3rem;
	font-weight: 1000;
}

.contact-text {
	flex: 1;
	max-width: 700px;
	text-align: center; 
}

@media (max-width: 768px) {
	.contact-container {
		flex-direction: column; /* Reverse the order */
		margin-top: 0px;
		gap: 20px;
	}

	.contact-text {
		padding-bottom: 20px;
		padding-top: 40px; /* Add padding to separate text from the image */
	}

	.contact-image img {
		width: 100%; /* Change max-width to width */
		height: auto; /* Maintain aspect ratio */
	}
	.contact-text h2 {
	margin-bottom: 20px;
	font-size: 2rem;
	font-weight: 1000;
	}
}

@media (max-width: 480px) {
	.contact-container {
		margin-top: 0px;
		padding: 8px 15px;
		gap: 20px;
	}

	.contact-text {
		padding-bottom: 20px;
		padding-top: 40px; /* Add padding to separate text from the image */
	}

	.contact-image img {
		width: 100%; /* Change max-width to width */
		height: auto; /* Maintain aspect ratio */
	}
}


/* Gallery Container -------------------------------------*/
.gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	padding: 20px;
	margin-top: 20px;
}

/* Individual Image Container */
.gallery-item {
	position: relative;
	overflow: hidden;
}

/* Images - Black and White Filter */
.gallery-item img {
	width: 100%;
	height: auto;
	transition: transform 0.3s ease, filter 0.3s ease;
	filter: grayscale(100%); /* Make images black and white */
	-webkit-user-drag: none;
	user-drag: none;
}

/* Hover Effects for Desktop */
.gallery-item:hover img {
	filter: grayscale(0%); /* Remove grayscale on hover */
	transform: scale(1.1);  /* Slight zoom effect on hover */
}

/* Mobile Handling - Enable click to zoom */
@media (hover: none) {
	.gallery-item img {
		filter: grayscale(100%);
	}

	.gallery-item:active img {
		filter: grayscale(0%);
		transform: scale(1.1); /* Zoom effect on tap for mobile */
	}
}


/* form newsletter ------------------------------------------------------------------ */
.form-container {
	background-color: #0d1117;
	color: white;
	min-height: 100vh;
	width: 100vw;              /* Full width of the page */
	box-sizing: border-box;    /* Ensure padding doesn't affect the width */
	display: flex;             /* Use flexbox to center content */
	flex-direction: column;    /* Stack children vertically */
	justify-content: center;    /* Center children vertically */
	align-items: center;       /* Center children horizontally */
	text-align: center;        /* Center the text */
	padding: 20px;            /* Padding for the form */
	overflow: hidden;         /* Prevent overflow */
}

h2 {
	margin-top: 10px; /* Space below heading */
}

label {
	display: block;           /* Make label block for better layout */
	margin: 10px 0;          /* Space between label and input */
	color: #f7f7f7;           /* Slightly lighter text */
	width: 100%;              /* Full width for label */
	max-width: 500px;        /* Maximum width for large screens */
    font-weight: 100;
}

input[type="email"] {
	width: 100%;              /* Full width */
	padding: 2px;            /* Padding for input */
	border: 1px solid rgba(72,79,88,.5);   /* Light border */
	border-radius: 6px;       /* Rounded corners */
	box-sizing: border-box;    /* Include padding in width */
	margin-top: 10px;         /* Space above input */
	margin-bottom: 20px;      /* Space below input */
    background-color: #0d1117;
}

button {
	background-color: #0000ff; /* blue background */
	color: white;              /* White text */
	border: none;              /* No border */
	padding: 10px 15px;       /* Padding for button */
	border-radius: 25px;      /* Rounded corners */
	cursor: pointer;           /* Pointer on hover */
	font-size: 16px;           /* Font size */
	transition: background-color 0.3s; /* Smooth transition */
	width: 100%;               /* Full width for button */
	max-width: 110px;         /* Maximum width for button */
    line-height: 0px;
}

button:hover {
	background-color: #e0e002; /* Yellow-green on hover */
}

#message {
	margin-top: 10px;         /* Space above message */
	color: green;              /* Default color for message */
	font-size: 14px;           /* Font size for message */
	visibility: visible;       /* Always visible for testing */
}

/* Media Query for smaller devices */
@media (max-width: 600px) {
	.form-container {
		padding: 15px; /* Reduce padding on small devices */
	}

	h2 {
		font-size: 1.5em; /* Adjust heading size */
	}

	label {
		font-size: 1em; /* Ensure label is readable on small screens */
	}

	input[type="email"], button {
		font-size: 14px; /* Adjust font size */
		padding: 8px; /* Adjust padding for input/button */
	}

	button {
		max-width: 100%; /* Allow button to fill the width on small screens */
	}
}

/* quotes------------------------------------------------------------------ */
.quotes-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 100px 20px 20px 20px;
}

.quote-card {
	background: white;
	border-radius: 8px;
	box-shadow: 7px 7px 12px rgba(0, 0, 0, 0.05);
	margin: 10px;
	padding: 20px;
	max-width: 300px;
	width: 90%;
	text-align: center;
}

.quote {
	font-style: italic;
	font-size: 1.2em;
	margin-bottom: 10px;
    font-weight: 200;
}

.author {
	color: #555;
	font-size: 0.9em;
    font-weight: 100;
}

@media (max-width: 600px) {
	.quote-card {
		max-width: 95%;
	}
}

/*----------video---*/
.video-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 20px;
}
video {
    width: 100%;  /* Responsive width */
    height: auto; /* Maintains aspect ratio */
    border-radius: 8px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 
                0 3px 2px rgba(0, 0, 0, 0.2), 
                0 7px 7px rgba(0, 0, 0, 0.15); /* Shadow effect */
    border: 1px solid rgba(255, 255, 255, 0.1); /* Subtle border */

    
    /* filter: grayscale(100%); Black and white effect */
    /* transition: filter 0.5s ease-in-out; /* Smooth transition */
}

/* Remove grayscale on hover (only for larger screens) 
video:hover {
    filter: grayscale(0%);
}
*/

/* Medium screens (Tablets & Laptops) */
@media (max-width: 1440px) {
    video {
        width: 100%;
        filter: none !important;
        transition: none !important;
    }
}

/* Small screens (Tablets) */
@media (max-width: 768px) {
    video {
        width: 100%;
        filter: none !important;
        transition: none !important;
    }
}

/* Mobile screens */
@media (max-width: 480px) {
    video {
        width: 100%;
        filter: none !important;
        transition: none !important;
    }
}

/* Mobile screens */
@media (max-width: 0px) {
    video {
        width: 100%;
        filter: none !important;
        transition: none !important;
    }
}



.container-home{
    margin-bottom: 400px
}

@media (max-width: 480px) {
    .container-home {
        margin-bottom: 20px
    }
}

/* Mobile screens */
@media (max-width: 0px) {
    .container-home {
        margin-bottom: 20px
    }
}








/* glow in the cursor */
.glow-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden; /* Prevents any potential overflow */
    pointer-events: none;
    z-index: 0;
}

/* Glow effect */
.glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(0, 77, 255, 0.1) 0%, rgba(76, 0, 255, 0) 70%);
    transform: translate(-50%, -50%);
    pointer-events: none;
}

/* Additional glow layers */
.glow::before,
.glow::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.glow::before {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255, 0, 255, 0.3) 0%, rgba(255, 0, 255, 0) 70%);
}

.glow::after {
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(0, 255, 255, 0.3) 0%, rgba(0, 255, 255, 0) 70%);
}