/* Common styles */
html {
    position: relative;
    min-height: 100%;
}

body {
    height: 100%;
    display: flex;
    flex-direction: column;
    opacity: 0;
    transition: opacity 2s ease-out;
    /* Duration changed from 1s to 2s */
}

main {
    flex: 1 0 auto;
    /* The 1 here means "grow", and 0 means "don't shrink". auto is for basis. */
}

.hpf {
    position: absolute;
    left: -9999px;
}

.video-container {
    max-width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    /*    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
*/
    border-radius: 10px;
}

/* #region Error Page - Public */
.error-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    text-align: center;
}

.error-code {
    font-size: 6rem;
    font-weight: bold;
}

.error-message {
    font-size: 1.5rem;
}

.error-details {
    font-size: 1rem;
    color: #6c757d;
}

/* #endregion Error Page - Public */

/* #region NavBar - Public */
#public-navbar {
    display: flex; /* Enables flexbox layout */
    justify-content: start;  /* Aligns children (logo and nav) to the start */
    align-items: center; /* Centers items vertically */
    width: 100%; /* Ensures the navbar takes full width */
}

#public-navbar .logo-container {
    margin-right: auto; /* Pushes everything else to the right */
    margin-left: 10px;
}

#public-navbar .navbar-collapse {
    flex-grow: 1;/* Allows the navbar to take up remaining space */
    justify-content: center; /* Centers navbar items */
}

#public-navbar .navbar-nav {
    justify-content: center;/* Center the navigation items */
    width: 100%;/* Full width to align items properly */
}

/* Adjusting the font size and padding of navigation links */
#public-navbar .nav-link {
    font-size: 18px; /* Increase font size */
    padding: 8px 15px; /* Adjust padding for bigger touch targets */
}

/* Adjusting the space between navigation items */
#public-navbar .navbar-nav .nav-item {
    margin-right: 30px;/* Increase spacing between nav items */
}

/* Style for dropdown items */
#public-navbar .navbar-nav .dropdown-menu .nav-link {
    font-size: 20px; /* Increase font size for dropdown items */
}

@media (max-width: 1200px) {

    /* Adjust breakpoint as needed */
    #public-navbar .nav-link {
        font-size: 16px; /* Further reduce font size for small screens */
        padding: 8px 5px; /* Reduce padding for small screens */
        margin-left: 10px;
    }

    #public-navbar .navbar-nav .nav-item {
        margin-right: 20px;
        /* Further reduce space for small screens */
    }
}

/* Base styles for the navbar (no changes needed here) */

/* Apply this only for small screens where the hamburger is visible */
@media (max-width: 992px) {
    .navbar-toggler {
        position: fixed;
        top: 10px; /* Adjust as needed */
        right: 10px;
        z-index: 1000; /* Ensure it's on top of content */
        background-color: white;
        border: none;
        padding: 10px;
        margin-top: 30px;
        margin-right: 30px;
    }

    /* Ensure the menu (collapse) remains in view when expanded */
    .navbar-collapse {
        position: fixed;
        top: 60px; /* Adjust based on where your navbar-toggler is */
        left: 0;
        right: 0;
        z-index: 999;
        background-color: white; /* Make sure the menu background is visible */
    }

    /* When the menu is not expanded, hide it */
    .navbar-collapse.collapse:not(.show) {
        display: none;
    }

    /* When the menu is expanded, make it take full width */
    .navbar-collapse.show {
        display: block;
        width: 100%;
    }
}



/* #endregion NavBar - Public */

/* #region Logo - Public */

#public-navbar .logo-container .logo-size {
    width: 250px;
    height: auto;
    display: block;
    color: #394a52;
}

@media (max-width: 768px) {
    .logo-size {
        width: 40px;
        height: 40px;
    }
}

@media (min-width: 769px) {
    .logo-size {
        width: 40px;
        height: 40px;
    }
}

/* #endregion Logo - Public  */


* {
    box-sizing: border-box;
}

.hidden {
    display: none;
}

.custom-divider {
    margin-top: 30px;
    /* Adjust the top margin */
    margin-bottom: 30px;
    /* Adjust the bottom margin */
    border-top: 1px solid grey;
    /* Creates a solid line, adjust color as needed */
}

/* #region Parallax */
.parallax-bg-section {
    background: no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
    height: 900px;
}


.parallax-section-wrapper {
    position: relative;
    /* Establishes a positioning context */
    height: 900px;
    /* Same height as the background */
}

.parallax-bg-section-wrapped {
    background: no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
    height: 100%;
    /* Use full height of the container */
}


.parallax-section-title {
    position: absolute;
    top: 20%; /* Aligns the text at the top */
    left: 0;
    right: 0;
    transform: none; /* Removes vertical centering */
    background-color: transparent;
    color: white;
    padding: 20px 0; /* Adjust padding as needed */
    text-align: center; /* Center text horizontally */
}

.parallax-section-title h1 {
    font-size: 70px;
}

.parallax-section-title h3 {
    font-size: 30px;
}

@media (max-width: 1024px) {

    .parallax-bg-section-wrapped {
        background-attachment: scroll;
    }

    .parallax-section-wrapper {
        /* This ensures that the background scrolls with the page on iOS */
        height: 600px;
    }
}


@media (max-width: 480px) {
    .parallax-bg-section-wrapped {
        background-size: cover;
        /* Switch back to cover to ensure the background fills the area */
        background-position: center center;
        /* Center the image to ensure the best part is visible */
        background-attachment: scroll;
        /* More reliable on mobile devices */
    }

    .parallax-section-wrapper {
        height: 300px;
        /* You can adjust this to 'auto' if the content varies in size */
        min-height: 300px;
        /* Ensures there's a minimum height even if content is less */
    }

    .parallax-section-title {
        position: absolute;
        top: 0; /* Aligns the text at the top */
        left: 0;
        right: 0;
        transform: none; /* Removes vertical centering */
        background-color: transparent;
        color: white;
        padding: 20px 0; /* Adjust padding as needed */
        text-align: center; /* Center text horizontally */
    }

    .parallax-section-title h1 {
        font-size: 20px;
    }

    .parallax-section-title h3 {
        font-size: 14px;
    }
}

/* #endregion Parallax */

/* #region Buttons */

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.dark-btn {
    background-color: #2a3a3b;
    /* Dark green background */
    color: white;
    /* White text */
}

.dark-btn:hover {
    background-color: #1f2f30;
    /* Slightly darker green for hover effect */
}

.session-button {
    border: 2px solid white;
    background-color: transparent;
    color: white;
    margin-left: 50px;
    padding: 20px 40px;
    font-size: 30px;
    min-width: 250px;
    /* Adjust as needed */
    white-space: nowrap;
    /* Prevents the text from wrapping */
}

.select-button {
    background-color: #30595c;
    /*#30595c*/
    color: white;
    border: none;
    padding: 5px 40px;
    cursor: pointer;
    border-radius: 15px;
    box-shadow: 5px 10px 8px rgba(0, 0, 0, 0.1);
}

.select-button:hover {
    background-color: #224042;
    /* Slightly darker green for hover effect */
}


.card-link {
    text-decoration: none;
    color: inherit;
    /* Ensure the color and text decoration from the card is not affected */
}

.custom-session-button {
    position: absolute;
    /* Position absolutely within the relative container */
    top: 50%;
    /* Center vertically */
    right: 10%;
    /* Offset from the right */
    transform: translateY(-50%);
    /* Center vertically with respect to itself */
    border: 5px solid #224042;
    background-color: transparent;
    color: #224042;
    padding: 20px 40px;
    font-size: 50px;
    white-space: nowrap;
    /* Prevents the text from wrapping */
}

/* Media Query for devices with a max-width of 600px */
@media (max-width: 768px) {
    .custom-session-button {
        top: 50%;
        right: 1%;
        padding: 5px 8px;
        min-width: 80px;
        font-size: 20px;
        border: 4px solid #224042;
        color: #224042;
    }
}

@media (max-width: 480px) {
    .custom-session-button {
        top: 50%;
        right: 1%;
        padding: 5px 8px;
        min-width: 60px;
        font-size: 10px;
        border: 4px solid #224042;
        color: #224042;
    }
}


/* #endregion Buttons */

/* #region Lead Text */

.lead-bold {
    font-weight: bold;
}

.lead-italic {
    font-style: italic;
}

.lead-lg {
    font-size: 2rem;
    /* Larger size than the default lead class */
}

.lead-md {
    font-size: 1.4rem;
    /* Larger size than the default lead class */
}

.lead-sm {
    font-size: 0.875rem;
    /* Smaller size than the default lead class */
}

/* #endregion Lead Text */

/* #region Fade-In Effect */
.fade-in {
    opacity: 1;
}

/* #endregion Fade-In Effect */

/* #region Slide-In Effect */

/* Keyframes for slide in from different directions */

/* Slide in from left */
@keyframes slideInFromLeft {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Slide in from right */
@keyframes slideInFromRight {
    0% {
        transform: translateX(100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Slide in from top */
@keyframes slideInFromTop {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Slide in from bottom */
@keyframes slideInFromBottom {
    0% {
        transform: translateY(100%);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Initial State (your existing code) */
.slide-in {
    opacity: 0;
    animation-fill-mode: forwards;
    animation-duration: 2s;
}

/* Triggering Animations (modified to include .start) */
.slide-in-left.start {
    animation-name: slideInFromLeft;
}

.slide-in-right.start {
    animation-name: slideInFromRight;
}

.slide-in-top.start {
    animation-name: slideInFromTop;
}

.slide-in-bottom.start {
    animation-name: slideInFromBottom;
}

/* #endregion Slide-In Effect */

/* #region Footer */

#footer {
    background-color: #2a3a3b;
    color: white;
    padding: 40px 20px;
}

.footer .wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.footer .main-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.footer .contact-info h4 {
    display: flex;
    align-items: center;
    margin-right: 70px;
    margin-bottom: 10px;
}

.footer .contact-info h4 {
    white-space: nowrap;
    color: #F2A30F;
}

.footer .contact-info-item {
    color: white;
    text-decoration: none;
    margin-bottom: 0.5rem;
}

.footer .quick-links {
    flex: 1;
    min-width: 250px;
    margin-top: 3px;
    margin-bottom: 1rem;
}

.footer .additional-section {
    flex: 1;
    min-width: 200px;
    margin-top: 3px;
    margin-bottom: 1rem;
}

.footer .book-a-session-section {
    flex: 1;
    min-width: 200px;
    margin-top: 8px;
    margin-bottom: 1rem;
}

.footer-section-header {
    color: #F2A30F;
}

.footer-link {
    color: white;
    text-decoration: none;
}

.footer-link-bottom {
    color: white;
    text-decoration: none;
    margin-left: 0.5rem;
}

@media (max-width: 768px) {
    .footer .wrapper {
        padding: 0;
        /* This removes padding from the wrapper */
    }

    .footer .main-content {
        flex-direction: column;
        align-items: center;
        padding: 0;
        /* This removes padding from the main content if there's any */
    }

    .footer .contact-info,
    .footer .quick-links,
    .footer .additional-section {
        margin: 0;
        /* This removes any margin from the sections */
        padding: 0;
        /* This removes any padding from the sections */
        width: 100%;
        /* This ensures that each section takes full width */
        box-sizing: border-box;
        /* This ensures padding is included in the width */
    }

    .footer .contact-info {
        margin-bottom: 1rem;
        /* Adds space below the contact info section */
    }

    /* You can adjust the margins between the sections as needed */
    .footer .quick-links,
    .footer .additional-section {
        margin-bottom: 1rem;
        /* Adds space below the quick links and additional section */
    }


    .footer .book-a-session-section {
        display: flex;
        justify-content: flex-start;
        /* Aligns content to the left */
        padding: 0;
        margin: 1rem 0;
        /* Adds margin on top and bottom */
        width: 100%;
        /* Ensures the div takes full width */
    }

    .session-button {
        padding: 10px 20px;
        /* Adds padding inside the button */
        margin: 0;
        /* Resets any margin */
        align-self: flex-start;
        /* Aligns the button to the left on the cross axis */
    }

    /* Ensures the list items within .book-a-session-section do not have margins or padding affecting layout */
    .footer .book-a-session-section ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }

    /* Adjust the button's direct parent, if it's within a list, to have no padding or margin */
    .footer .book-a-session-section li {
        padding: 0;
        margin: 0;
    }
}


#svg-footer-logo-container {
    width: 35px;
    height: 35px;
    margin-right: 10px;
}

/* You might not need these if the size is consistent */
@media (max-width: 768px) {
    .footer-logo-size {
        width: 35px;
        height: 35px;
    }
}

@media (min-width: 769px) {
    .footer-logo-sizee {
        width: 35px;
        height: 35px;
    }
}

/* #endregion Footer */

/* #region Page Header */
.page-header-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 600px;
    /* Adjusted to ensure full height visibility */
    background: radial-gradient(circle, #567677, #89a8b9);
}

.page-header-outer-rectangle {
    position: relative;
    background-color: white;
    padding: 60px;
    margin: 20px;
    max-width: 80%;
    /* Maximum width, adjust as needed */
    max-height: 80%;
    /* Maximum height, adjust as needed */
    min-width: 500px;
    /* Minimum width, adjust as needed */
    box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.1);
    border-radius: 25px;
}

.page-header-inner-rectangle {
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 10px;
    right: 10px;
    border: 2px solid black;
    pointer-events: none;
    border-radius: 25px;
}

.page-header-inner-rectangle::before {
    content: '';
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background-color: white;
    width: 60px;
    height: 24px;
}

.page-header-text {
    position: relative;
    /* Changed from absolute */
    pointer-events: auto;
    z-index: 10;
    font-size: 50px;
    text-align: center;
    /* Ensures text is centered */
}

.page-header-logo {
    position: absolute;
    border-radius: 105px;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 54px;
    background-size: contain;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
}

#svg-page-header-logo-container {
    width: 35px;
    height: 35px;
}

@media (max-width: 767px) {
    .page-header-container {
        min-height: 400px;
        /* Reduced height for smaller screens */
    }
}

@media (max-width: 480px) {
    .page-header-container {
        min-height: 250px;
        /* Suitable for very small devices */
    }

    .page-header-outer-rectangle {
        padding: 40px;
        /* Even smaller padding to avoid a bulky appearance */
        margin: 10px auto;
        /* Reduce margin, center horizontally */
        max-width: 98%;
        /* Allow a little margin from the edges */
        max-height: 60%;
        /* Reduce maximum height */
        min-width: 60%;
        /* Allow the width to adjust dynamically */
    }

    .page-header-text {
        font-size: 24px;
        /* Smaller text for better fit */
    }
}

/* #endregion Page Header */


/* #region Profile */

.profile-frame {
    width: 600px;
    /* Fixed width */
    height: 800px;
    /* Fixed height */
    padding: 20px;
    background-color: white;
    /*    border: 2px solid black;*/
    display: inline-block;
    box-sizing: border-box;
    /* box-shadow: 10px 10px 8px rgba(0,0,0,0.1); */
}

.profile-frame img {
    display: block;
    max-width: 100%;
    /* Makes sure image is not larger than the container */
    max-height: 100%;
    /* Makes sure image is not taller than the container */
    width: auto;
    /* Scales width auto to maintain aspect ratio */
    height: auto;
    /* Scales height auto to maintain aspect ratio */
}


.profile-header-qualification {
    color: #c1c00e;
}

/* General flex setup */
.row.g-0 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

/* For mid-size screens (iPads, tablets) */
@media (min-width: 768px) and (max-width: 1024px) {

    .col-sm-5,
    .col-sm-7 {
        flex-basis: 100%;
        /* Stack the columns vertically */
        max-width: 100%;
        text-align: center;
    }

    .profile-frame {
        max-width: 80%;
        /* Limit image size */
        margin: 0 auto;
        /* Center image */
        margin-bottom: 20px;
        /* Space below the image */
    }

    .profile-content {
        padding-left: 30px;
        /* Ensure space between text and edges */
        padding-right: 30px;
        text-align: left;
        /* Ensure text is left-aligned */
    }
}

/* For small screens (iPhone, mobile) */
@media (max-width: 767px) {

    .col-sm-5,
    .col-sm-7 {
        flex-basis: 100%;
        /* Stack the columns vertically */
        max-width: 100%;
        text-align: center;
    }

    .profile-frame {
        width: 100%;
        /* Ensure the image container fits the screen */
        max-width: 100%;
        margin: 0 auto;
    }

    .profile-frame img {
        width: 100%;
        /* Ensure the image scales to the container */
        height: auto;
        /* Maintain the aspect ratio */
    }
}

/* For larger screens (above 1024px) */
@media (min-width: 1025px) {
    .col-sm-5 {
        flex-basis: 40%;
        /* Image takes 40% of the width */
        max-width: 40%;
    }

    .col-sm-7 {
        flex-basis: 60%;
        /* Text takes 60% of the width */
        max-width: 60%;
        padding-left: 40px;
        /* Extra padding for larger screens */
    }

    .profile-frame {
        width: 100%;
        /* Image fits the screen width */
        margin: 0 auto;
    }
}

/* #endregion Profile */

/* #region SAP */

/* #region jumbotron */

.jumbotron-h1 {
    font-size: 70px;
    /* Adjust as needed */
    /*font-weight: bold;*/
    /* 700 is equivalent to 'bold' */
}

.jumbotron-h2 {
    font-size: 35px;
    /* Adjust as needed */
    /*font-weight: bold;*/
    /* 700 is equivalent to 'bold' */
}

/* #endregion jumbotron */

/* #region flag-icon  */
.flag-icon {
    width: 48px;
    height: 48px;
    object-fit: contain;
    /* Keeps the aspect ratio of the flag */
}

/* #endregion flag-icon  */

/* #region employee-cfr-card-size */

.employee-cfr-card-size {
    width: auto;
    min-height: 350px;
    border-radius: 25px;
}

.employee-cfr-card-image-container {
    height: 150px;
    /* Fixed height for all image containers */
    display: flex;
    align-items: center;
    /* This centers the images vertically */
    justify-content: center;
    /* This centers the images horizontally */
    border-radius: 5px;
}

.employee-cfr-card-image {
    max-height: 100%;
    /* Maximum image height */
    max-width: 100%;
    /* Maximum image width */
    object-fit: contain;
    /* This will prevent stretching, images will be contained within the element */
}

/* #endregion employee-cfr-card-size */

/* #region clearinghouse-process-item-card-size */

.clearinghouse-process-item-card-size {
    min-width: 300px;
    min-height: 640px;
    margin-top: 30px;
    border-radius: 25px;
    border: 2px solid #F2A30F;
}

.clearinghouse-process-item-card-size .card-body {
    color: #2a3a3b;
}

/* #endregion clearinghouse-process-item-card-size  */

/* #region our-process-item-card */

.our-process-item-card-size {
    width: 370px;
    min-height: 840px;
    border-radius: 25px;
    border: 2px solid #F2A30F;
    margin-bottom: 30px;
}

.our-process-item-card-size .card-body {
    color: #2a3a3b;
}

@media only screen and (max-width: 1366px) {
    .our-process-item-card-size {
        margin-bottom: 20px;
        /* Add more space between the cards */
        padding: 20px;
        /* Adjust padding if necessary */
    }

    .card {
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1366px) {
    .col-md-4 {
        flex: 0 0 30%;
        max-width: 30%;
    }

    .our-process-item-card-size {
        margin-bottom: 20px;
        /* Adjust the margin */
    }
}

/* #endregion our-process-item-card */

/* #region our-contact-card*/
.our-contact-card {
    border-radius: 25px;
}

/* #endregion our-contact-card */

/* #region our-service-item-card */
.our-service-item-card {
    border-radius: 25px;
    border: 2px solid #F2A30F;
    box-shadow: 5px 10px 8px rgba(0, 0, 0, 0.1);
}

.our-service-item-card .card-body {
    color: #2a3a3b;
}

/* #endregion our-service-item-card */

/* #endregion SAP */



#home-image-with-frame {
    background-image: url('/img/stock-pics/pampas.jpg');
    /* Background image */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
    background-color: #000000;
    /* Fallback background color */
    height: 1400px;
    /* Adjust height as needed */
    display: flex;
    justify-content: center;
    align-items: center;
}

#home-image-with-frame .content-box {
    background-color: white;
    padding: 60px;
    /* Consistent spacing */
    width: 1300px;
    /* Adjust width as needed */
    max-width: 95%;
    /* Ensures the box does not touch the very edges of the screen */
    margin: auto;
    /* Centers the box vertically and horizontally */
}

#home-image-with-frame .content-box h1 {
    font-size: 70px;
    /* Adjust font size as needed */
    text-align: left;
    margin-bottom: 0.25em;
}

#home-image-with-frame .content-box h2 {
    font-size: 60px;
    /* Adjust font size as needed */
    text-align: left;
    margin-bottom: 0.25em;
}

#home-image-with-frame .content-box .definition {
    text-align: left;
    font-style: italic;
    margin-bottom: 1em;
}

#home-image-with-frame .content-box p {
    text-align: left;
    margin-bottom: 1.5em;
}

#home-image-with-frame .btn-transparent {
    background-color: rgba(255, 255, 255, 0.5);
    /* Transparent white background */
    color: black;
    border: 1px solid black;
    padding: 10px 20px;
    /*    text-transform: uppercase;*/
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: block;
    /* Make the button a block-level element */
    width: fit-content;
    font-size: 30px;
    text-decoration: none;
    /* Removes the underline from anchor tags */
}

#home-image-with-frame .btn-transparent:hover {
    background-color: rgba(255, 255, 255, 0.7);
    /* Slightly less transparent on hover */
}

/* Responsive adjustments for tablets */
@media (max-width: 1366px) {
    #home-image-with-frame {
        background-image: url('/img/stock-pics/pampas-medium.jpg');
        /* Medium resolution */
    }

    #home-image-with-frame .content-box {
        padding: 40px;
        /* Reduced padding for medium screens */
        max-width: 90%;
        /* Slightly less than the maximum to prevent edge touch */
    }

    #home-image-with-frame .content-box h1 {
        font-size: 45px;
        /* Reduced from 70px */
    }

    #home-image-with-frame .content-box h2,
    .content-box h3 {
        font-size: 35px;
        /* Reduced from 60px for h2 */
    }
}

/* Adjustments for mobile phones, further reduce the padding and margins */
@media (max-width: 380px) {
    #home-image-with-frame {
        background-image: url('/img/stock-pics/pampas-small.jpg');
        /* Smaller image for small devices */
        height: auto;
        /* Adjust the height based on the content */
        padding-top: 20px;
        /* Adds a small padding on top */
        padding-bottom: 20px;
        /* Adds a small padding on bottom */
    }

    /*#home-image-with-frame {
        height: auto;*/
    /* Adjust the height based on the content */
    /*padding-top: 20px;*/
    /* Adds a small padding on top */
    /*padding-bottom: 20px;*/
    /* Adds a small padding on bottom */
    /*}*/

    #home-image-with-frame .content-box {
        padding: 20px;
        /* Smaller padding for smaller screens */
        max-width: 85%;
        /* Increases the content area while maintaining margins */
        margin: 20px auto;
        /* Reduced margin to better utilize the space */
    }

    #home-image-with-frame .content-box h1 {
        font-size: 30px;
        /* Further reduced font size for small screens */
    }

    #home-image-with-frame .content-box h2,
    .content-box h3 {
        font-size: 25px;
        /* Adequate for readability on very small screens */
    }

    #home-image-with-frame .content-box .definition,
    .content-box p {
        font-size: 18px;
        /* Smaller font size for general text */
    }

    #home-image-with-frame .btn-transparent {
        font-size: 24px;
        /* Smaller button text to fit smaller screens */
    }
}

/* #endregion image-with-frame */



/* #region home-two-parts-container */
.home-two-parts-container {
    display: flex;
    height: 800px;
    box-shadow: 5px 10px 8px rgba(0, 0, 0, 0.1);
}

.home-two-parts-container .left-part {
    background-color: #c5883a;
    color: white;
    flex: 0 0 3%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-two-parts-container .right-part {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-grow: 1;
    padding: 0 220px;
}

.home-two-parts-container .right-part h1,
.home-two-parts-container .right-part h5 {
    text-align: left;
    margin: 0;
    margin-bottom: 10px;
}

.home-two-parts-container .right-part h1 {
    font-size: 50px;
}

.home-two-parts-container .rotated-content {
    transform: rotate(-90deg);
    transform-origin: center;
    text-align: center;
    display: flex;
}

.home-two-parts-container .white-line {
    display: inline-block;
    width: 300px;
    height: 1px;
    background-color: white;
    vertical-align: middle;
    margin-left: 10px;
}

@media (max-width: 1450px) {
    .home-two-parts-container .right-part {
        padding: 0 5%;
    }

    .home-two-parts-container .right-part h1 {
        font-size: 40px;
        padding: 0 5%;
    }
}

@media (max-width: 974px) {
    .home-two-parts-container .right-part h1 {
        font-size: 30px;
        padding: 0 4%;
    }
}

@media (max-width: 700px) {
    .home-two-parts-container {
        flex-direction: column;
        height: auto;
    }

    .home-two-parts-container .left-part,
    .home-two-parts-container .right-part {
        width: 100%;
        box-sizing: border-box;
        padding: 30px;
        /* Adjusted padding for better spacing */
    }

    .home-two-parts-container .left-part {
        height: 150px;
        /* Set a fixed height */
    }

    .home-two-parts-container .rotated-content {
        transform: none;
        /* Disable rotation */
        justify-content: center;
        /* Center the contents */
    }

    .home-two-parts-container .right-part h1 {
        font-size: 20px;
        padding: 0 10px;
    }
}

/* #endregion home-two-parts-container */





/* #region home-book-session-section */
.home-book-session-section {
    background-color: #c5883a;
    color: white;
    padding: 20px 20px;
    min-height: 150px;
}

.home-book-session-section .row {
    height: 100%;
}

.home-book-session-section hr {
    border-color: white;
    margin: 0;
    /* Reset any default margins */
    border: none;
    /* Remove default border */
    border-top: 2px solid white;
    /* Set the top border */
    flex-grow: 1;
    /* Allow hr to grow to fill space */
}

.home-book-session-section .d-flex {
    flex: 1;
    /* Allow flex items to grow and fill the space */
    flex-wrap: wrap;
    /* Allow items to wrap on smaller screens */
    justify-content: center;
    /* Center the items horizontally */
    align-items: center;
    /* Center the items vertically */
    gap: 10px;
    /* Add spacing between items */
}

.home-book-session-section .section-text-container {
    font-size: 30px;
    margin-top: 30px;
}

/* Responsive design for smaller screens */
@media (max-width: 768px) {
    .home-book-session-section {
        padding: 20px 10px;
        /* Adjust padding for smaller screens */
        height: auto;
        /* Allow height to adjust based on content */
    }

    .home-book-session-section .d-flex {
        flex-direction: column;
        /* Stack items vertically on smaller screens */
        align-items: center;
        /* Ensure all items are horizontally centered */
        justify-content: center;
        /* Center items vertically */
    }

    .home-book-session-section hr {
        width: 80%;
        /* Make the horizontal line narrower on smaller screens */
        margin: 10px auto;
        /* Center the line */
    }

    .home-book-session-section .session-button {
        width: 80%;
        /* Make the button take 80% of the container width */
        margin: 10px auto;
        /* Center the button */
        text-align: center;
        /* Center text within the button */
    }

    .home-book-session-section .section-text-container {
        font-size: 20px;
        margin-top: 20px;
    }
}

/* #endregion home-book-session-section */




/* #region Sfumato Image */

.sfumato-image-content {
    position: relative;
    width: 100%;
    /* Adjust width as needed */
    height: auto;
    /* Adjust height as needed */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background-color: #fff;
    /* Match the background color */
    /* border-radius: 8px; */
}

.sfumato-image-content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* border-radius: 8px; */
    mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 35%, rgba(0, 0, 0, 0) 80%);
    /* Stronger fade */
    -webkit-mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 35%, rgba(0, 0, 0, 0) 80%);
    /* Safari support */
}

/* #region Mobile Contact Bar */
.mobile-contact-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #2a3a3b;
    display: flex;
    justify-content: stretch;
    align-items: stretch;
    height: 60px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);
    z-index: 1000;
}

.mobile-contact-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: white;
    font-size: 14px;
    padding: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    text-decoration: none;
}

.mobile-contact-btn:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.mobile-contact-btn:hover {
    background-color: #1f2f30;
}

.mobile-contact-btn:active {
    background-color: #F2A30F;
}

.mobile-contact-btn i {
    font-size: 20px;
    margin-bottom: 4px;
}

.mobile-contact-btn span {
    font-size: 12px;
    font-weight: 500;
}

.message-btn {
    background-color: #2a3a3b;
}

.call-btn {
    background-color: #2a3a3b;
}

/* Add padding to main content on mobile to account for the fixed bar */
@media (max-width: 767px) {
    /* Ensure no white gap below footer */
    body {
        background-color: #2a3a3b; /* Match footer background */
    }
    
    main.flex-fill {
        padding-bottom: 60px;
        background-color: white; /* Keep main content white */
    }
    
    /* Ensure footer stays at bottom without gaps */
    #footer {
        margin-bottom: 0;
        padding-bottom: 60px; /* Add padding for mobile bar */
    }
}

/* #endregion Mobile Contact Bar */
