/* General Styles */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f0f8ff;
    overflow-x: hidden; /* Disables the vertical scrollbar */
}

/* Header Styles */
header {
    position: fixed;
    top: 0;
    width: 100%;          /* Ensure the header takes up the full width */
    z-index: 1000;     /* Ensures the header stays above other elements */
    background-color: #5b6cb2; /* Blue color */
    padding: .8em;
    display: flex;
    align-items: center; /* vertical centered */
    justify-content: space-between;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.6); /* Shadow for effect */
}

/* Container for the logo on the left */
.header-left {
    display: flex;
}

header .logo {
    height: 4em;
    width: auto;
    margin: .3em;
}

/* Container for the hamburger menu and apply button */
.header-right {
    display: flex;
    justify-content: flex-end;
    gap: 1.4em;                /* Spacing between navigation links, hamburger, and Apply Now */
    padding-right: 1.8em;
}

/* header tabs */
.nav-links {
    display: flex;
    gap: 3em;
    align-items: center;
}

header .nav-links a:hover {color: #9db0d0;}

.nav-links a {
    color: white;
    text-decoration: none;
    font-size: 22px;
}

/*underline animation*/
.underline-animation {
    display: inline-block;
    position: relative;
}
  
.underline-animation:after {
    content: '';
    position: absolute;
    transform: scaleX(0);
    width: 100%;
    height: 1.5px;
    top: 1.1em;
    right: 0em; 
    background-color: #97add3;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}
  
.underline-animation:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

/* Hamburger Menu (3-line menu icon for smaller screens) */
.hamburger-menu {
    display: none;
    cursor: pointer;
    color: white;
    font-size: 3em;
}

/* Main Content Styles */
main {
    margin-top: 8em;
    text-align: center;
}

.page-title {
    font-size: 3.2rem;  
    font-weight: bold;
    margin-bottom: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: transparent;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
    padding: 0 .7em;
}

.page-text {
    text-align: center;
    color: #482880;
    background: linear-gradient(90deg, #82c4f0, #5b6cb2);
    -webkit-background-clip: text;
}

.page-text p {
    font-size: 1.4rem;
    font-weight: bold;
    color: transparent;
    padding: 0 2em;
}

.page-text a {
    color: #5fb7ff;
}

/* Footer with Apply Now Button */
footer {
    text-align: center;
    width: 100%;
    padding: 1em 0em 1.5em 0em;
    background-color: #5b6cb2;
    display: flex;
    flex-direction: column;
    align-items: center; /* Center content horizontally */
}

/* Apply Now Button */
.apply-now {
    background-color: #82c4f0; /* Light blue color */
    color: white;
    padding: .5em .8em;
    margin: 0.3em .3em;
    font-size: 25px;
    border: none;
    cursor: pointer;
    border-radius: 20px;
    text-decoration: none;
}

.apply-now:hover {
    background-color: #482880; /* Darker purple on hover */
}

/* Social Media Icons in Footer */
.social-icons-location {
    position: relative;
    transform: translateY(20%); /* Reset to center properly */
}

.social-icons {
    margin: 0 1em; /* Adjust margin for equal spacing */
    color: #3a3a3a;
    font-size: 1.6em;
}

.social-icons:nth-child(1):hover { color: #0088cc; } /* Telegram white */
.social-icons:nth-child(2):hover { color: #000000; } /* Twitter blue */
.social-icons:nth-child(3):hover { color: #C13584; } /* Instagram pink */

/* Rights Reserved Text */
.rights_reserved {
    text-align: center;
    margin-top: 0.5em; /* Add some spacing from icons */
    font-size: 0.9em; /* Adjust font size if necessary */
}

/* Media Queries for phone screens */
@media (max-width: 800px) {
    .nav-links {
        display: none;
        flex-direction: column; /* Stack the nav items vertically */
        background-color: #b22e7d; /* Background color to match */
        position: absolute;
        right: 4vw;
        top: 6em;
        width: 85%;
        text-align: center;
        padding: 1em;
    }

    /* Show the hamburger menu */
    .hamburger-menu {
        display: flex;
    }

    /* Change color of hamburger on hover */
    .hamburger-menu:hover {
        color: purple;
    }

    /* Show the nav menu when the .active class is toggled */
    .nav-links.active {
        display: flex; /* Show the menu */
    }

    .underline-animation:after {
        display: none;
    }
}

/* Styling the custom cursor circle */
.circle {
    position: fixed;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background-color: rgba(91, 108, 178, 0.5); /* Color of the circle */
    border-radius: 50%;
    pointer-events: none; /* Prevent the circle from interfering with click events */
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease-out; /* Smooth following effect */
    z-index: 10000; /* Make sure it's on top of everything */
}

/* ================================================================= */
/* Home */
/* Video */
.video-container {
    position: relative;
    height: 600px; /* Adjusted to make it taller */
    overflow: hidden;
    margin-top: -30px; /* container higher */
    display: flex;
    justify-content: center; /* Centers children horizontally */
    align-items: center;
}

/* Video styling for full container coverage */
.video-container video {
    position: absolute;
    top: 50%; /* Adjust to move video higher. From the middle of the video. */
    left: 50%;
    width: auto;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    z-index: 1;
    object-fit: cover; /* Keeps the video covering the entire container */
}

/* H1 styling to overlay on the video */
.video-container h1 {
    position: relative;
    color: white; /* Color to make the text stand out */
    z-index: 2;
    text-align: center;
    font-size: 9vw;
    line-height: 1.5em;
}

/* Cards */
/* Work Process Container Styling */
.work-process {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 40px; /* Adds spacing between work-step items */
    padding: 40px 20px; /* Adds padding for the entire section */
    background-color: #f0f4ff; /* Light background to differentiate the section */
}

/* Individual Work Step Styling */
.work-step {
    background-color: #ffffff; /* Change to pure white for a cleaner look */
    padding: 30px;
    border-radius: 15px; /* More rounded corners for a softer appearance */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1); /* Slightly larger shadow for more depth */
    max-width: 320px; /* Slightly wider */
    margin: 20px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Add hover effects */
}

.work-step:hover {
    transform: translateY(-10px); /* Moves the card up on hover */
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.2); /* Increases shadow on hover */
}

.work-step i {
    font-size: 3.5em; /* Slightly larger icon */
    color: #5b6cb2;
    margin-bottom: 20px;
}

.work-step h3 {
    font-size: 1.7em; /* Slightly larger heading */
    color: #482880;
    margin-bottom: 20px;
    text-transform: uppercase; /* Adds emphasis to headings */
}

.work-step p {
    font-size: 1.1em;
    color: #555; /* Slightly darker gray for better contrast */
    margin-bottom: 15px;
}

/* Bullet Points for Better Readability */
.work-step ul {
    list-style-type: disc;
    padding-left: 20px; /* Space to indent bullet points */
    text-align: left; /* Align text left for easier readability */
    margin-top: 15px;
}

.work-step ul li {
    font-size: 1em;
    color: #333;
    margin-bottom: 10px;
}


/* ================================================================= */
/* FAQ */
.faq-title {
    font-size: 2.2em;
    margin-bottom: 10px;
}

.faq-intro {
    font-size: 1.2em;
    color: white;
}

.faq-intro a {
    color: #82c4f0;
    text-decoration: none;
}

/* FAQ section with one column */
/* Box flip effect */
.box-wrapper {
    width: 98%;
    height: 200px;
    perspective: 1000px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative;
    margin: 10px 0;
}

.box {
    width: 95%;
    height: 95%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 1s;
}

.box-wrapper:hover .box {
    transform: rotateY(180deg);
}

.box.flipped {
    transform: rotateY(180deg); /* Rotate to show the back side when flipped */
}

.front, .back {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 2px solid #ccc;
    border-radius: 15px;
    position: absolute;
    backface-visibility: hidden;
    transform-origin: center; /* Prevent size shifts */
    overflow: hidden; /* Ensure content doesn't cause growth */
    box-sizing: border-box; /* Ensure padding doesn't affect size */
}

.front {
    background-color: #fff;
}

.back {
    background-color: #5980FF;
    color: #fff;
    padding: 20px;
    transform: rotateY(180deg);
}

.back p {
    font-size: 1.1rem; /* Adjust this size for the back text */
    line-height: 1.5; /* Optional: improve readability */
}

.box-text {
    text-align: center;
    font-family: 'Montserrat', Arial;
    font-weight: bold;
    font-size: 1.2rem;
}


/* Two-column layout for larger screens */
@media (min-width: 768px) {
    .container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .box-wrapper {
        width: 50%; /* Two columns with some gap */
        margin: 10px 0;
    }
}

/* ================================================================= */
/* Apply Now */
/* Card Styling */
.contact-form-card {
    background-color: rgb(132, 178, 247);
    padding: 2em;
    border-radius: 3em;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    max-width: 82%;
    margin: 3em auto;
    display: grid;
    gap: 2em;
    font-size: 1em;
    text-align: left;
}

/* Form Layout */
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.form-column, .form-column-full {
    display: flex;
    flex-direction: column;
}

/* Full-width textarea */
.form-column-full {
    grid-column: span 2;
}

/* Input and Textarea Styling */
input[type="text"], input[type="email"], input[type="tel"], input[type="file"], select, textarea {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: .5em;
    margin-top: 5px;
    width: 100%; /* Add this to ensure all inputs occupy the full width */
    box-sizing: border-box;
}

textarea {
    resize: vertical;
    margin-bottom: -1.7em;
}

/* Character Count */
#charCount {
    text-align: right;
    font-size: 14px;
    color: #666;
}

/* Submit Button Styling */
input[type="submit"] {
    padding: 10px 20px;
    background-color: #3223e2;
    border: none;
    color: white;
    font-size: 18px;
    cursor: pointer;
    border-radius: 4px;
}

input[type="submit"]:hover {
    background-color: #482880;
}

/* Responsive Design */
@media (max-width: 750px) {
    .form-row {
        grid-template-columns: 1fr; /* Stack the columns */
    }
    
    .form-column-full {
        grid-column: span 1;
    }
}