/* ------------------------ THIS IS THE CSS STYLESHEET FOR LEISCHNERS.COM ------------------*/

/* ---------- This chapter contains the styling for all headers on the website ---------*/

/* Define Helvetica font */
@font-face {
  font-family: 'Helvetica', sans-serif;
  /*src: local('Helvetica'), url('/helvetica/Helvetica.ttf') format('truetype');*/
}

body, html {
    height: 100%;
    margin: 0;
    overflow: hidden; /* Prevent body from scrolling */
}

body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  filter: grayscale(100%) hue-rotate(180deg); /* adjust the hue-rotate value for your desired shade of blue */
  opacity: 0.2; /* Reduces the visibility of the image */
  z-index: -1; /* Keeps the image behind the content of the body */
}

body.home::before {
  background-image: url('https://leischners.com/images/background.png');
}

body.liquiditaet::before {
  background-image: url('https://leischners.com/images/Liquiditaet.png');
}

body.corporate::before {
  background-image: url('https://leischners.com/images/CorporateGovernment.png');
}

body.risiko::before {
  background-image: url('https://leischners.com/images/Risikomanagement.png');
}

body.solutions::before {
  background-image: url('https://leischners.com/images/FinancialSolutions.png');
}

h1 {
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 2.6vw; /* Adjust font size relative to viewport width */
    line-height: 6vw; /* Match this to the header's height for vertical centering */
    margin: 0; /* Removes default margin */
    color: #052db0; /* Adjust color as needed */
    text-transform: uppercase; /* Transforms the text to uppercase */
    text-decoration: none;
    font-weight: 500; /* Adjust the font weight as needed */
    padding-left: 5vw; /* Left padding relative to viewport width */
    white-space: nowrap; /* Prevents the text from wrapping */
    text-align: left;
}

h2 {
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 4vw; /* Adjust font size relative to viewport width */
    line-height: 6vw; /* Match this to the header's height for vertical centering */
    margin: 0; /* Removes default margin */
    color: #052db0; /* Adjust color as needed */
    text-transform: uppercase; /* Transforms the text to uppercase */
    text-decoration: none;
    font-weight: 500; /* Adjust the font weight as needed */
    padding-left: 5vw; /* Left padding relative to viewport width */
    white-space: nowrap; /* Prevents the text from wrapping */
    /*overflow: hidden; /* Hides any overflow */
    text-align: left;
}

h3 {
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 3.2vw; /* Adjust font size relative to viewport width */
    line-height: 6vw; /* Match this to the header's height for vertical centering */
    margin: 0; /* Removes default margin */
    color: #052db0; /* Adjust color as needed */
    text-transform: uppercase; /* Transforms the text to uppercase */
    text-decoration: none;
    font-weight: 500; /* Adjust the font weight as needed */
    padding-left: 5vw; /* Left padding relative to viewport width */
    white-space: nowrap; /* Prevents the text from wrapping */
    /*overflow: hidden; /* Hides any overflow */
    text-align: left;
}

h4 {
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 2.4vw; /* Adjust font size relative to viewport width */
    margin: 0; /* Removes default margin */
    color: #052db0; /* Adjust color as needed */
    text-transform: uppercase; /* Transforms the text to uppercase */
    text-decoration: none;
    font-weight: 500; /* Adjust the font weight as needed */
    /*overflow: hidden; /* Hides any overflow */
    text-align: left;
}

h5 {
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 1.8vw; /* Adjust font size relative to viewport width */
    margin: 0; /* Removes default margin */
    color: #052db0; /* Adjust color as needed */
    text-transform: uppercase; /* Transforms the text to uppercase */
    text-decoration: none;
    font-weight: 500; /* Adjust the font weight as needed */
    /*overflow: hidden; /* Hides any overflow */
    text-align: left;
}

.mobile-break {
    display: none;
}

/* -------- This chapter controls the header section of the website ------------------*/
@keyframes slideInFromLeft {
    from {
        transform: translateX(-100%); /* Start off-screen to the left */
    }
    to {
        transform: translateX(0); /* Move into place */
    }
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 10vh; /* Adjust height relative to viewport height */
    background-color: #FBF8FF;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Optional: adds shadow for depth */
    z-index: 1000; /* Ensure header is above other content */
    padding: 1vh 2vw; /* Adjust padding as needed relative to viewport units */
    display: flex; /* Use flexbox for layout */
    align-items: center; /* Center content vertically */
    justify-content: flex-start; /* Align content to the start (left side) */
    flex-wrap: wrap; /* Allow items to wrap if necessary */
    animation-name: slideInFromLeft; /* Reference the defined animation */
    animation-duration: 0.5s; /* Duration of the animation */
    animation-fill-mode: both; /* Keeps the header in the final state */
    animation-delay: 0.2s; /* Optional: add delay if needed */
}


header::after {
    content: ''; /* Necessary for the pseudo-element to be generated */
    display: block;
    width: 50%; /* Half the width of the viewport */
    height: 0.3vh; /* Height of the border */
    background-color: #052db0; /* Color of the border */
    position: absolute;
    bottom: 0; /* Aligns the border at the bottom of the header */
    left: 0; /* Aligns the left end of the border with the left end of the screen */
}

.burger-menu {
    position: absolute;
    top: 50%;
    right: 10vw; /* Adjust position relative to viewport width */
    transform: translateY(-50%);
    cursor: pointer;
}

.burger-menu div {
    width: 5vw; /* Width of burger lines relative to viewport width */
    height: 0.3vw; /* Height of burger lines relative to viewport width */
    background-color: #052db0; /* Color of burger lines */
    margin: 1.36666vw 0; /* Space between burger lines relative to viewport width */
    transition: all 0.3s ease;
}

.burger-menu.active div:first-child {
    transform: rotate(45deg) translate(1.15vw, 1.15vw); /* Adjust translate values relative to viewport width */
}

.burger-menu.active div:nth-child(2) {
    opacity: 0;
}

.burger-menu.active div:last-child {
    transform: rotate(-45deg) translate(1.15vw, -1.15vw); /* Adjust translate values relative to viewport width */
}


.menu-overlay {
    display: none; /* Initially hidden */
    position: fixed;
    top: 10vh; /* Assuming a 10% height for header */
    right: 0;
    width: 50%; /* Adjusts the width to cover the right 50% of the viewport */
    bottom: 6vh; /* Assuming a 6% height for footer */
    background: #FBF8FF;
    z-index: 1001;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Distributes space evenly between header and footer */
    align-items: center; /* Center items vertically */
    height: 78.6vh; /* Adjusts the height considering header and footer */
    padding: 10px 0; /* Adjust padding as needed */
}

.links-container {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centers items vertically */
    align-items: center; /* Centers items horizontally */
    height: auto; /* Remove height restriction */
}

.menu-overlay a {
    font-family: 'Helvetica', Arial, sans-serif; /* Use the Helvetica font */
    text-decoration: none; /* Removes underline from links */
    color: #052db0; /* Sets the initial text color */
    display: block; /* Ensures the link uses the full width available for hover effect */
    padding: 1vh 2vw; /* Adds some padding for touch targets and full hover effect coverage */
    text-transform: uppercase; /* Transforms the text to uppercase */
    width: 100%; /* Ensures width extends full container width */
    box-sizing: border-box; /* Ensures padding is included in the width calculation */
}

.menu-overlay a:hover {
    color: #c1cfff; /* Change to your desired hover color - this affects only the text */
}


.links-container {
    display: flex;
    flex-direction: column;
    justify-content: space-around; /* Distributes space evenly around the items */
    height: 100%; /* Full height of the menu-overlay */
    bottom: 5vh; /* Assuming a 38px tall footer */
}

.links-container a {
    flex-grow: 1; /* Allows each link to grow and fill the container */
    font-size: 4vw; /* Adjusts font size relative to viewport width */
}



/* --------- This chapter controls the main section of the website -----------------------*/

/*----------- This section controls ONLY the starting page -------------------------------*/
main {
    display: flex; /* Use flexbox for easy centering */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    height: calc(100vh - 10vh - 6vh); /* Subtract the total height of the header and footer */
    margin: 0; /* Remove default margin */
    padding: 0; /* Remove default padding */
    overflow-y: scroll; /* Enable scrolling on the main content */
    -webkit-overflow-scrolling: touch; /* Smooth scrolling for touch devices */
    scroll-snap-type: y mandatory; /* Enable snap scrolling */
    margin-top: 10vh; /* Adjusted margin-top relative to viewport height */
    animation-name: slideInFromLeft; /* Reference the defined animation */
    animation-duration: 1s; /* Duration of the animation */
    animation-fill-mode: both; /* Keeps the header in the final state */
    animation-delay: 0.5s; /* Optional: add delay if needed */
}

.centered-image {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: auto; /* Keep the width automatic */
}

.centered-image img {
    max-width: 100%; /* Ensure the image does not exceed the width of its container */
    max-height: 100%; /* Ensure the image does not exceed the height of its container */
    object-fit: contain; /* Maintain the aspect ratio without cropping */
    transition: opacity 5s ease-in-out; /* Smooth transition for the fade effect */
    position: absolute; /* Absolute position within the centered-image div */
}

/* Start with the first image visible */
#first-image {
    opacity: 1;
}

/* Start with the second image invisible */
#second-image {
    opacity: 0;
}

/*-------------------------This section controls all other pages--------------------------*/
content {
    display: flex;
    flex-direction: row;
    height: calc(100vh - 10vh - 6vh); /* Adjusted for header and footer heights */
    align-items: center; /* Stretch the children to fill the container height */
    justify-content: center; /* Center horizontally */
    margin-top: 10vh; /* Adjusted for header height */
    animation-name: slideInFromLeft; /* Reference the defined animation */
    animation-duration: 1s; /* Duration of the animation */
    animation-fill-mode: both; /* Keeps the header in the final state */
    animation-delay: 0.5s; /* Optional: add delay if needed */
}

section {
    position: relative; /* This makes the section a reference point for absolutely positioned children */
    height: calc(100vh - 10vh - 6vh); /* Adjusted for header and footer heights */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    scroll-snap-align: start;
    width: 100%;
}

.content-wrapper {
    display: flex;
    flex-direction: row;
    height: calc(100vh - 10vh - 6vh); /* Adjusted for header and footer heights */
    margin-top: 10vh; /* Adjusted for header height */
    margin-bottom: 6vh; /* Adjusted for footer height */
    position: relative; /* This positions your flex container right below the fixed header */
    width: 100%;
}

.text-left {
    flex: 0 0 50%; /* Flex-grow, flex-shrink, flex-basis */
    height: 100%;
    box-sizing: border-box;
    overflow-y: auto; /* Allows scrolling if content overflows */
    font-family: 'Helvetica', Arial, sans-serif;
    color: #052db0;
    font-size: 1.2vw; /* Adjust font size relative to viewport width */
    text-align: justify;
    padding-left: 7vw; /* Adjust padding relative to viewport width */
    align-items: center;
    justify-content: center;
    padding-right: 1vw; /* Adjust padding relative to viewport width */
    padding-top: 2vh; /* Adjust padding relative to viewport height */
}

.text-right1,
.text-right2 {
    flex: 0 0 50%; /* Flex-grow, flex-shrink, flex-basis */
    height: 100%;
    box-sizing: border-box;
    padding-right: 7vw; /* Adjust padding relative to viewport width */
    padding-left: 3vw; /* Adjust padding relative to viewport width */
    overflow-y: auto; /* Allows scrolling if content overflows */
    font-family: 'Helvetica', Arial, sans-serif;
    color: #052db0;
    font-size: 1.2vw; /* Adjust font size relative to viewport width */
    text-align: justify;
    align-items: center;
    padding-top: 2vh; /* Adjust padding relative to viewport height */
}


.image-left {
    flex: 0 0 50%; /* Flex-grow, flex-shrink, flex-basis */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Ensures the image doesn't overflow the container */
    padding-left: 85px;
    padding-right: 10px;
}

.image-right {
    flex: 0 0 50%; /* Flex-grow, flex-shrink, flex-basis */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Ensures the image doesn't overflow the container */
    padding-right: 85px;
    padding-left: 10px;
}

.image-left img {
    width: 90%;
    height: 90%;
    object-fit: contain;
    padding-right: 10px;
    padding-left: 85px;
    padding-top: 10px;
    display: block;
}

.image-right img {
    width: 90%;
    height: 90%;
    object-fit: contain;
    padding-right: 85px;
    padding-left: 50px;
    padding-top: 10px;
    display: block;
    transition: opacity 5s ease-in-out; /* Smooth transition for the fade effect */
    position: absolute;
}

/* Start with the first image visible */
#first-image-right {
    opacity: 1;
}

/* Start with the second image invisible */
#second-image-right {
    opacity: 0;
}

.presentation-image {
    flex: 0 0 50%; /* Flex-grow, flex-shrink, flex-basis */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Ensures the image doesn't overflow the container */
    padding-right: 85px;
    padding-left: 10px;
    margin-left: 20px;
    margin-right: 80px;
}

.presentation-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin: auto; /* Centers the image within the flex container */
}

/*---------------- This chapter contains the styling for the footer section --------------------*/

footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: #FBF8FF; /* Set background color to white */
    padding: 1vh 2vw; /* Adjust padding as needed relative to viewport units */
    text-align: left; /* Align text to the left */
    box-sizing: border-box; /* Ensure padding is included in the width calculation */
    box-shadow: 2px 0px 5px rgba(0,0,0,0.1); /* Adds shadow for depth */
    display: flex; /* Use flexbox to arrange children */
    align-items: center; /* Vertically center content */
    justify-content: flex-start; /* Aligns children (links) to the start of the main axis */
    padding-left: 5.75vw; /* Adjust padding as needed relative to viewport width */
    animation-name: slideInFromLeft; /* Reference the defined animation */
    animation-duration: 0.5s; /* Duration of the animation */
    animation-fill-mode: both; /* Keeps the header in the final state */
    animation-delay: 0.2s; /* Optional: add delay if needed */
    height: 6vh; /* Adjusted height relative to viewport height */
}

footer::before {
    content: ''; /* Necessary for the pseudo-element to be generated */
    display: block;
    width: 52vw; /* Half the width of the viewport */
    height: 0.3vh; /* Height of the border relative to viewport height */
    background-color: #052db0; /* Color of the border */
    position: absolute;
    bottom: 100%; /* Aligns the border above the footer */
    left: 0; /* Aligns the left end of the border with the left end of the screen */
    z-index: 1; /* Ensures the border is above the links */
}

footer a {
    font-family: 'Helvetica', Arial, sans-serif; /* Use the Helvetica font */
    color: #052db0; /* Initial link color */
    text-decoration: none;
    margin: 0 1vw; /* Adjust spacing between links as needed relative to viewport width */
    font-size: 1.2vw; /* Adjust font size relative to viewport width */
    text-transform: uppercase; /* Transforms the text to uppercase */
    display: block; /* Ensures the link uses the full width available for hover effect */
    padding: 1vh 0; /* Adds vertical padding for easier clicking relative to viewport units */
}

footer a:hover {
    color: #c1cfff; /* Change to your desired hover color */
}

.language-switcher {
    position: fixed;
    right: 6vw;
    z-index: 1000;
}

.flag-icon {
    display: inline-flex; /* Use flexbox for alignment */
    justify-content: center; /* Horizontally center the flag */
    align-items: center; /* Vertically center the flag */
    cursor: pointer;
    width: 3.5rem; /* Relative size based on root font size */
    height: 2.25rem; /* Relative size based on root font size */
}

.flag-icon img {
    width: 100%;
    height: 100%;
}

.language-popup {
    display: none;
    position: absolute;
    bottom: calc(100%); /* Position above the current flag with a small gap */
    right: 0;
}

.language-popup .flag-icon {
    margin: 0.25rem 0; /* Relative margin */
}


/*----------------------------------------------------------------------------------------*/
/*-------------------- Styling for Mobile Devices-----------------------------------------*/
/*----------------------------------------------------------------------------------------*/

@media (max-width: 768px) {
    
    html, body {
        height: 100%; /* Or min-height: 100%; to ensure it can grow beyond the viewport height */
        overflow-x: hidden; /* Prevents horizontal scrolling */
        overflow-y: auto; /* Allows vertical scrolling */
        max-width: 100vw; /* Limits the maximum width to the viewport width */
    }
    
    
    h2 {
        font-size: 5vw; /* Smaller font size */
        line-height: 1.2; /* Adjusted line height */
        padding-left: 10px; /* Reduced padding */
        white-space: normal; /* Allows the text to wrap */
        overflow: visible;
        word-wrap: break-word; /* Break long words to prevent overflow */
        overflow-wrap: break-word;
        white-space: pre-line;
    }
    
    h3 {
        font-size: 4vw;
        white-space: normal; /* Allows line breaks */
    }
    
    h4 {
        font-size: 4vw;
    }
    
    h5 {
        font-size: 3vw;
    }
    
    h1 {
        font-size:3vw;
    }
    
    .mobile-break {
        display: block; /* This will make the content in the span start on a new line */
    }
    
    header {
        flex-direction: column;
        height: 6vh; /* Adjust height for stacked items */
        padding: 1vw;
        text-align: left;
        justify-content: center;
        position: absolute; /* Ensure header is positioned relative to its parent */
        z-index: 1001;
    }
    
    header::after {
        width: 100%;
        display: block;
    }
    
    .burger-menu {
        right: 8vw; /* Adjust positioning */
        position: absolute; /* Ensure burger menu is positioned relative to its parent */
    }
    
    .menu-overlay {
        width: 100%; /* Full width */
        position: fixed;
        top: 6vh; /* Assuming a 10% height for header */
        bottom: 18vh; /* Assuming an 18% height for footer */
        display: flex;
        flex-direction: column;
        align-items: flex-start; /* Align links to the left */
        justify-content: space-around; /* Distributes space evenly around the items */
        background: #FBF8FF;
        z-index: 1000; /* Ensure it appears above other content */
        overflow-y: auto; /* Enable scrolling if content exceeds the viewport */
    }

    .menu-overlay a {
        font-size: 5vh; /* Adjust font size relative to viewport height */
        text-decoration: none; /* Remove underline from links */
        color: #052db0; /* Adjust link color */
        padding: 10px; /* Add padding for spacing */
    }

    .links-container {
        display: flex;
        flex-direction: column;
        justify-content: flex-start; /* Align links to the top */
        height: auto; /* Allow the container to adjust its height based on content */
        width: 100%; /* Take full width of the menu-overlay */
        padding: 10px; /* Add padding for spacing */
    }

    .links-container a {
        font-size: 5vh; /* Adjust font size relative to viewport height */
        text-align: left; /* Align text to the left */
        padding: 10px; /* Add padding for spacing */
        transition: color 0.3s ease; /* Smooth transition for link color change */
    }

    .links-container a:hover {
        color: #ff0000; /* Change link color on hover */
    }

    /* Ensure other header content stacks correctly */
    header > *:not(.burger-menu) {
        width: 100%; /* Ensure each element takes full width */
    }
    
    .main {
        padding-top: 0; /* No padding at the top */
        margin-top: 0; /* No margin at the top */
        overflow-y: auto; /* Enable vertical scrolling */
        overflow-x: hidden;
        height: calc(100vh - 10vh - 6vh); /* Auto height */
        margin-top: 6vh;
        margin-bottom: 15vh;
    }

    .content {
        padding-top: 8vh; /* Adjusted padding for top */
        margin-top: 0; /* No margin at the top */
        overflow-y: auto; /* Enable vertical scrolling */
        overflow-x: hidden;
    }
    
    .content-wrapper {
        flex-direction: column; /* Stack elements vertically */
        height: calc(100vh - 10vh - 6vh); /* Auto height */
        margin-top: 6vh;
        padding-top: 2vh;
        gap: 2vh;
    }

    .text-left,
    .text-right1 {
        flex: 1; /* Take full width */
        padding: 5vw; /* Adjust padding */
        overflow-y: visible;
        padding-top: 1vh; /* Adjust padding relative to viewport height */
        font-size: 4vw; /* Adjust font size */
        margin-bottom: 30vh;
    }
    
    .text-right2 {
        flex: 1; /* Take full width */
        padding: 5vw; /* Adjust padding */
        overflow-y: visible;
        margin-bottom: 25vh;
        padding-top: 140vh; /* Adjust padding relative to viewport height */
        font-size: 4vw; /* Adjust font size */
    }
    
    .image-left,
    .image-right,
    .presentation-image {
        flex: 0 0 100%; /* Take full width */
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: visible; /* Ensures the image doesn't overflow the container */
        padding-right: 7vw; /* Adjust padding relative to viewport width */
        padding-left: 3vw; /* Adjust padding relative to viewport width */
        margin-bottom: 20px; /* Add bottom margin to create gap */
        margin: auto; /* Center horizontally */
    }

    .image-left img,
    .image-right img {
        width: 90%;
        height: 90%;
        object-fit: contain;
        display: block;
    }
    
    .presentation-image img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }
    
    footer {
        flex-direction: column; /* Stack elements vertically */
        height: auto; /* Let height adjust based on content */
        padding: 0.5vh 0.5vw; /* Increase padding for better spacing */
        text-align: center; /* Center align content */
        align-items: center; /* Center align flex items */
    }
    
    footer a {
        font-size: 2vh; /* Adjust font size for readability on smaller screens */
        margin: 0.5vh 0; /* Adjust margins for better spacing */
        order: 1;
    }
    
    footer::before {
        content: '';
        display: block;
        width: 100%; /* Full width underline */
        height: 0.3vh;
        background-color: #052db0;
        position: absolute;
        top: 0;
        z-index: -1;
    }
    
    .language-switcher {
        order: 0; /* Ensure the language switcher is before all the links */
        position: relative; /* Reset position for mobile layout */
        right: 0; /* Reset position for mobile layout */
        bottom: 0; /* Reset position for mobile layout */
        z-index: 1100; /* Ensure the language switcher is above other content */
        display: flex; /* Use flexbox for alignment */
        align-items: center; /* Center align vertically */
    }
    
    .language-popup {
        position: absolute; /* Position relative to the language switcher */
        transform: translateY(-50%); /* Adjust vertical position */
        padding: 0vh 1vw; /* Add padding for spacing */
        display: none; /* Hidden by default */
        z-index: 1100; /* Ensure popup is above other content */
        border: none;
    }
    
    .language-popup .flag-icon {
        margin: 0.25rem 0; /* Relative margin */
    }
}

/*-----------------------------------------------------------------------------------------------*/
/*--------------------- Media query for devices in landscape orientation------------------------ */
/*-----------------------------------------------------------------------------------------------*/
@media only screen and (max-height: 768px) and (max-width: 1024px) and (orientation: landscape) {
    html, body {
        height: 100%; /* Or min-height: 100%; to ensure it can grow beyond the viewport height */
        overflow-x: hidden; /* Prevents horizontal scrolling */
        overflow-y: auto; /* Allows vertical scrolling */
        max-width: 100vw; /* Limits the maximum width to the viewport width */
    }
    
    h2 {
        font-size: 4vw; /* Smaller font size */
        line-height: 1.2; /* Adjusted line height */
        padding-left: 1vw; /* Reduced padding */
        white-space: normal; /* Allows the text to wrap */
        overflow: visible;
        word-break: break-word;
    }
    
    h3 {
        font-size: 3vw;
        white-space: nowrap; /* Allows line breaks */
    }
    
    h4 {
        font-size: 3vw;
    }
    
    h5 {
        font-size: 2vw;
    }
    
    h1 {
        font-size: 2vw;
    }
    
    .mobile-break {
        display: block; /* This will make the content in the span start on a new line */
    }
    
    header {
        flex-direction: column;
        height: 9vh; /* Adjust height for stacked items */
        padding: 1vw;
        text-align: left;
        justify-content: center;
    }
    
    header::after {
        width: 100%;
        display: block;
    }
    
    .burger-menu {
        right: 8vw; /* Adjust positioning */
        position: absolute;
    }
    
    .menu-overlay {
        width: 100%; /* Full width */
        position: fixed;
        top: 9vh; /* Assuming a 10% height for header */
        bottom: 7vh; /* Assuming an 18% height for footer */
        display: flex;
        flex-direction: column;
        align-items: flex-start; /* Align links to the left */
        justify-content: space-around; /* Distributes space evenly around the items */
        background: #FBF8FF;
        z-index: 1000; /* Ensure it appears above other content */
        overflow-y: auto; /* Enable scrolling if content exceeds the viewport */
    }

    .menu-overlay a {
        font-size: 5vh; /* Adjust font size relative to viewport height */
        text-decoration: none; /* Remove underline from links */
        color: #052db0; /* Adjust link color */
        padding: 10px; /* Add padding for spacing */
    }

    .links-container {
        display: flex;
        flex-direction: column;
        justify-content: flex-start; /* Align links to the top */
        height: auto; /* Allow the container to adjust its height based on content */
        width: 100%; /* Take full width of the menu-overlay */
        padding: 10px; /* Add padding for spacing */
    }

    .links-container a {
        font-size: 8vh; /* Adjust font size relative to viewport height */
        text-align: left; /* Align text to the left */
        padding: 10px; /* Add padding for spacing */
        transition: color 0.3s ease; /* Smooth transition for link color change */
    }

    .links-container a:hover {
        color: #ff0000; /* Change link color on hover */
    }

    /* Ensure other header content stacks correctly */
    header > *:not(.burger-menu) {
        width: 100%; /* Ensure each element takes full width */
    }
    
    .main {
        padding-top: 0; /* No padding at the top */
        margin-top: 0; /* No margin at the top */
        overflow-y: auto; /* Enable vertical scrolling */
        overflow-x: hidden;
        height: calc(100vh - 9vh - 7vh); /* Auto height */
        /*margin-top: 4vh;
        margin-bottom: 7vh;*/
    }
    
    .centered-image {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 50%;
        width: auto; /* Keep the width automatic */
        /*margin-top: 3vh;*/
    }
    
    /*.centered-imag img {
        margin-top: 3vh;
    }*/

    .centered-image img {
        max-width: auto; /* Ensure the image does not exceed the width of its container */
        max-height: 60%; /* Ensure the image does not exceed the height of its container */
        object-fit: contain; /* Maintain the aspect ratio without cropping */
        transition: opacity 5s ease-in-out; /* Smooth transition for the fade effect */
        position: absolute; /* Absolute position within the centered-image div */
    }

    .content {
        padding-top: 9vh; /* Adjusted padding for top */
        margin-top: 0; /* No margin at the top */
        overflow-y: auto; /* Enable vertical scrolling */
        overflow-x: hidden;
        font-size: 1vw;
        flex-direction: column;
    }
    
    .content-wrapper {
        flex-direction: column; /* Stack elements vertically */
        height: calc(100vh - 9vh - 7vh); /* Auto height */
        margin-top: 9vh;
        padding-top: 2vh;
        gap: 2vh;
    }

    .text-left,
    .text-right1 {
        flex: 1; /* Take full width */
        padding: 5vw; /* Adjust padding */
        overflow-y: visible;
        padding-top: 2vh; /* Adjust padding relative to viewport height */
        font-size: 2vw; /* Adjust font size */
    }
    
    .text-right2 {
        flex: 1; /* Take full width */
        padding: 5vw; /* Adjust padding */
        overflow-y: visible;
        padding-top: 130vh; /* Adjust padding relative to viewport height */
        font-size: 2vw; /* Adjust font size */
        margin-bottom: 30vh;
    }
    
    .image-left,
    .image-right,
    .presentation-image {
        flex: 0 0 100%; /* Take full width */
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: visible; /* Ensures the image doesn't overflow the container */
        padding-right: 7vw; /* Adjust padding relative to viewport width */
        padding-left: 3vw; /* Adjust padding relative to viewport width */
        margin-bottom: 20px; /* Add bottom margin to create gap */
        margin: auto; /* Center horizontally */
    }

    .image-left img,
    .image-right img {
        width: 90%;
        height: 90%;
        object-fit: contain;
        display: block;
    }
    
    .presentation-image img {
        width: 100%;
        height: auto;
        object-fit: contain;
        margin-top: 25vh;
    }
    
    footer {
            justify-content: space-between; /* Spread out links and language switcher */
            padding: 1vh 1vw; /* Reduce padding for landscape mode */
            flex-direction: row;
        }

        footer a {
            font-size: 1.5vh; /* Smaller font size for landscape mode */
            margin: 0.5vh 5vw; /* Adjust margins for landscape mode */
        }

        .language-switcher {
            margin: 0; /* Reset margin */
            order: 2; /* Place language switcher after links */
        }

        .language-popup {
            bottom: calc(100% + 0.5rem); /* Position above the language switcher */
            left: 25%; /* Center horizontally with the language switcher */
            transform: translateX(-50%); /* Adjust horizontal position */
        }
    }
}

