@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700;800&display=swap');

/* Reset default margin and padding for all elements */
* {
    box-sizing: border-box; /* Ensures padding and border are included in element's total width and height */
    padding: 0; /* Reset padding */
    margin: 0; /* Reset margin */
}

body {
    font-family: 'Open Sans', sans-serif; /* Set font for the entire page */
    line-height: 1.5; /* Increase line height for better readability */
    overflow-x: hidden;
}




.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    background-color: #fefefe;
    border-bottom: 1px solid #d1d1d1;
    height: 60px;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
   
  }
  
  .logo img {
    height: 25px;
    margin-left: 40px; /* Adjust this according to your logo size */
  }
  
  .nav-menu {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-grow: 1;
  }
  
  .nav-menu li {
    margin: 0 15px; /* Reduced margin */
  }
  
  .nav-menu a {
    text-decoration: none;
    color: #000;
    font-size: 13px; /* Smaller font size */
    padding: 17px 0;
    position: relative; /* Position for underline effect */
  }
  
  .nav-menu a:hover {
    color: rgb(41, 7, 174); /* Blue color on hover */
  }
  
  .nav-menu a:hover::after {
    content: "";
    display: block;
    height: 2px; /* Height of the underline */
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px; /* Position the underline below the text */
  }
  
  .language {
    display: flex;
    align-items: center;
    font-size: 14px; /* Smaller font size */
    color: #333;
    margin-right: 40px;
  }
  
  .language .globe {
    margin-right: 8px;
    color: #000;
    font-size: 16px; /* Adjust globe icon size */
  }
  

  /* Submenu styles */
  /* Submenu styles */
  .submenu {
      display: none; /* Hide submenu by default */
      position: absolute;
      top: 60px; /* Position submenu directly below the parent item */
      left: 0;
      width: 100%; /* Make submenu the same width as the parent item */
      background-color: #fff;
      height: 4vh;
      justify-content: center;
      padding: 0;
      margin: 0;
      list-style: none;
      white-space: nowrap;
      z-index: 1000;
  }
  
  .submenu li {
      display: inline-block; /* Align submenu items horizontally */
  }
  
  .submenu a {
      padding: 20px 15px;
      color: #000;
      text-decoration: none;
  }
  .submenu .has-submenu .submenu-blocks a {
    padding: 3px 15px;
    color: #000;
    text-decoration: none;
  }
  
  .has-submenu:hover > a,
  .submenu a:hover {
      color: rgb(41, 7, 174); /* Blue color on hover */
  
  }
  
  /* Show submenu on hover */
  .has-submenu:hover .submenu {
      display: flex; /* Display submenu on hover */
      padding-bottom: 5px;
  }
  
  
  /* CSS for submenu-blocks */
  .submenu-blocks {
      display: none; /* Initially hidden */
      position: absolute;
      top: 100%; /* Position the blocks below the submenu */
      left: 0;
      background-color: #fff;
      padding: 10px;
      list-style: none;
      justify-content: center;
      z-index: 1000;
      width: 100%; /* Adjust the width as needed */
      flex-wrap: wrap; /* Allow items to wrap */
      border: 1px solid #ddd; /* Optional border for submenu blocks */
      box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); /* Optional shadow */
  }
  
  /* Display submenu-blocks when hovering over the parent submenu item */
  .has-submenu:hover > .submenu > .has-submenu:hover > .submenu-blocks {
      display: flex; /* Display submenu blocks as flex */
  }
  
  /* Styling each block item */
  .block-item {
      width: 100px;
      height: 100px;
      background-color: #f8f8f8;
      border: 1px solid #ddd;
      display: flex;
      flex-direction: column;
      justify-content: center;
      border-radius: 10px;
      align-items: center;
      margin-right: 5px; /* Space between blocks */
      text-align: center;
      transition: box-shadow 0.3s ease; /* Smooth hover effect */
  }
  .submenu-blocks li{
      display: flex;
      justify-content: center;
      flex-direction: column;
      align-items: center;
  }
  .block-item img {
      max-width: 100%;
      max-height: 90px;
      transform: scale(1.1); /* Scale the image to 110% of its original size */
      margin-bottom: 5px; /* Space between image and anchor tag */
  }
  .block-item img:hover{
      transform: scale(1.2); /* Scale the image to 110% of its original size */
      transition: transform 1s ease; /* Smooth scaling transition */}
  .block-item a {
      color: #000;
      text-decoration: none;
  }
  
  .block-item a:hover {
      color: rgb(41, 7, 174); /* Change color on hover */
  }
  



/* Background section styling for contact section */
.contact-bg {
    height: 95vh; /* Set height of the section to 95% of the viewport height */
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.8)), url(image/contact-bg.jpg); /* Background gradient with image */
    background-position: center bottom; /* Position the background image */
    background-repeat: no-repeat; /* Prevent background image from repeating */
    background-attachment: fixed; /* Keep background image fixed during scrolling */
    text-align: center; /* Center align text */
    color: #fff; /* Set text color to white */
    display: flex; /* Use flexbox for layout */
    flex-direction: column; /* Stack children vertically */
    justify-content: center; /* Center items vertically */
    align-items: center; /* Center items horizontally */
}

.contact-bg h3 {
    font-size: 2.3rem; /* Font size for subheading */
    font-weight: 400; /* Normal weight */
}

.contact-bg h2 {
    font-size: 5.5rem; /* Font size for main heading */
    text-transform: uppercase; /* Uppercase text */
    padding: 0.4rem 0; /* Vertical padding */
    letter-spacing: 4px; /* Spacing between letters */
}

.contact-bg .text {
    font-size: larger; /* Increase font size for additional text */
    margin: 1.6rem 0; /* Vertical margin for spacing */
}

/* Line decoration styling for visual separation */
.line {
    display: flex; /* Use flexbox for layout */
    align-items: center; /* Center items vertically */
}

.line div {
    margin: 0 0.2rem; /* Margin between lines */
}

.line div:nth-child(1),
.line div:nth-child(3) {
    height: 3px; /* Height of horizontal lines */
    width: 250px; /* Width of horizontal lines */
    background: #2b2beef7; /* Background color for lines */
    border-radius: 5px; /* Rounded corners */
}

.line div:nth-child(2) {
    width: 10px; /* Width of the vertical line */
    height: 10px; /* Height of the vertical line */
    background: #2b2beef7; /* Background color for the dot */
    border-radius: 50%; /* Make it circular */
}

/* Contact form styling */
.contact-form {
    padding: 30px; /* Padding around the form */
    margin: 10px; /* Margin around the form */
    border-top: 1px solid #c7c7c7; /* Top border for separation */
    background-color: white; /* Background color for the form */
    border-radius: 20px; /* Rounded corners */
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.1); /* Shadow for depth */
}

/* Form layout */
.contact-form form {
    padding-bottom: 1rem; /* Space at the bottom of the form */
}

/* Input styling */
.form-control {
    width: 100%; /* Full width for inputs */
    border: 1.5px solid #c7c7c7; /* Border styling */
    border-radius: 5px; /* Rounded corners */
    padding: 0.7rem; /* Padding inside inputs */
    margin: 0.6rem 0; /* Margin between inputs */
    font-family: 'Open Sans', sans-serif; /* Font family for inputs */
    font-size: 1rem; /* Font size for inputs */
    outline: none; /* Remove default outline */
}

/* Focus state for inputs */
.form-control:focus {
    box-shadow: 0 0 6px -3px rgba(48, 48, 48, 1); /* Shadow on focus */
}

/* Grid layout for input fields */
.contact-form form div {
    display: grid; /* Use grid layout for input fields */
    grid-template-columns: repeat(2, 1fr); /* Two columns */
    column-gap: 0.6rem; /* Space between columns */
}

/* Button styling */
.send-btn {
    font-family: 'Open Sans', sans-serif; /* Font for button */
    font-size: 1rem; /* Font size for button */
    text-transform: uppercase; /* Uppercase text */
    color: #fff; /* Text color */
    background: #2b2beef7; /* Background color */
    border: none; /* Remove border */
    border-radius: 5px; /* Rounded corners */
    padding: 0.7rem 1.5rem; /* Padding inside button */
    cursor: pointer; /* Pointer cursor on hover */
    transition: all 0.4s ease; /* Smooth transition for hover effect */
}

/* Hover effect for button */
.send-btn:hover {
    opacity: 0.8; /* Reduce opacity on hover */
}

/* Image in contact form */
.contact-form > div img {
    max-width: 100%; /* Make image responsive */
    height: auto; /* Maintain aspect ratio */
}

.contact-form > div {
    margin: 0 auto; /* Center the image */
    text-align: center; /* Center align text */
}

/* Contact body styling */
.contact-body {
    max-width: 1420px; /* Maximum width for the body */
    margin: 0 auto; /* Center the body horizontally */
    padding: 0 1rem; /* Horizontal padding */
}

.contact-info {
    margin: 1rem 0; /* Vertical margin */
    text-align: center; /* Center align text */
    padding: 2rem 0; /* Vertical padding */
}

.contact-info span {
    display: block; /* Display each span as a block element */
}

.contact-info div {
    margin: 0.8rem 0; /* Vertical margin for contact info items */
    padding: 1rem; /* Padding for contact info items */
}

.contact-info span .fas {
    font-size: 2rem; /* Icon font size */
    padding-bottom: 0.9rem; /* Space below the icon */
    color: #2b2beef7; /* Icon color */
}

.contact-info div span:nth-child(2) {
    font-weight: 500; /* Medium weight for labels */
    font-size: 1.1rem; /* Font size for labels */
}

.contact-info .text {
    padding-top: 0.4rem; /* Space above text */
}

/* Map styling */
.map {
    text-align: center;
    padding: 20px;
}

h1 {
    color: #333; /* Darker text color for the heading */
    margin-bottom: 20px; /* Spacing below the heading */
}

#map {
    height: 500px; /* Height of the map */
    width: 100%; /* Full width of the container */
    margin-top: 20px; /* Spacing above the map */
    border: 2px solid #ccc; /* Light border around the map */
    border-radius: 8px; /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
}

/* Footer styling */
.contact-footer {
    padding: 2rem 0; /* Vertical padding */
    background: #000; /* Background color */
}

.contact-footer h3 {
    font-size: 1.3rem; /* Font size for footer heading */
    color: #fff; /* Text color */
    margin-bottom: 1rem; /* Margin below heading */
    text-align: center; /* Center align text */
}

/* Social links styling */
.social-links {
    display: flex; /* Use flexbox for social links */
    justify-content: center; /* Center align social links */
}

.social-links a {
    text-decoration: none; /* Remove underline from links */
    width: 40px; /* Width of social link icons */
    height: 40px; /* Height of social link icons */
    color: #fff; /* Text color */
    border: 2px solid #fff; /* Border styling */
    border-radius: 50%; /* Make icons circular */
    display: flex; /* Use flexbox for alignment */
    justify-content: center; /* Center content */
    align-items: center; /* Center content */
    margin: 0.4rem; /* Margin between icons */
    transition: all 0.4s ease; /* Smooth transition for hover effect */
}

/* Hover effect for social links */
.social-links a:hover {
    color: #2b2beef7; /* Change text color on hover */
    border-color: #2b2beef7; /* Change border color on hover */
}

 
/* Responsive design */

  /* Media Query for smaller screens */
  @media (max-width: 768px) {
    .nav-menu {
      display: none; /* Hide menu on smaller screens, can add mobile menu later */
    }
  
    .logo img {
      height: 30px;
    }
  
    .language {
      font-size: 12px; /* Adjusted for smaller screens */
    }
  }
  

@media screen and (max-width: 767px) {
    /* Adjustments for mobile screens */
    .contact-bg h2 {
        font-size: 3rem; /* Reduce heading size */
    }

    .contact-bg h3 {
        font-size: 1.5rem; /* Reduce subheading size */
    }

    .contact-bg .text {
        font-size: 1.2rem; /* Reduce text size */
        width: 90%; /* Full width for text */
    }

    .contact-info {
        display: block; /* Stack contact info vertically */
        padding: 1rem; /* Reduce padding */
    }

    .contact-info div {
        margin: 1rem 0; /* Increase margin between items */
    }

    .contact-form {
        height: auto; /* Allow form to expand based on content */
    }

    .contact-form form div {
        grid-template-columns: 1fr; /* Single column on mobile */
    }

    .send-btn {
        width: 100%; /* Full width for button */
    }
}

@media screen and (min-width: 768px) {
    /* Adjustments for tablets */
    .contact-bg .text {
        width: 70%; /* Adjust width for larger screens */
    }

    .contact-info {
        display: grid; /* Use grid for contact info */
        grid-template-columns: repeat(2, 1fr); /* Two columns */
        gap: 1rem; /* Space between items */
    }
}

@media screen and (min-width: 992px) {
    /* Adjustments for larger screens */
    .contact-bg .text {
        width: 50%; /* Adjust width for larger screens */
    }

    .contact-form {
        display: grid; /* Use grid layout for the form */
        grid-template-columns: repeat(2, 1fr); /* Two columns */
        align-items: center; /* Center align items */
    }
}

@media screen and (min-width: 1200px) {
    /* Adjustments for extra-large screens */
    .contact-info {
        grid-template-columns: repeat(3, 1fr); /* Four columns for contact info */
    }
}

/* Additional responsive styles */
@media screen and (max-width: 400px) {
    /* Extra small screens */
    .contact-bg h2 {
        font-size: 2.5rem; /* Further reduce heading size */
    }

    .contact-bg h3 {
        font-size: 1.3rem; /* Further reduce subheading size */
    }

    .contact-info div {
        padding: 0.5rem; /* Reduce padding for smaller screens */
    }
}



.container {
    max-width: 1100px;
    width: 100%;
    margin: 100px;
    background: #fff;
    border-radius: 6px;
    padding: 20px 60px 30px 40px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  }
  .container .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .container .content .left-side {
    width: 25%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
    position: relative;
  }
  .content .left-side::before {
    content: "";
    position: absolute;
    height: 70%;
    width: 2px;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    background: #afafb6;
  }
  .content .left-side .details {
    margin: 14px;
    text-align: center;
  }
  .content .left-side .details i {
    font-size: 30px;
    color: #2b439d;
    margin-bottom: 10px;
  }
  .content .left-side .details .topic {
    font-size: 18px;
    font-weight: 500;
  }
  .content .left-side .details .text-one,
  .content .left-side .details .text-two {
    font-size: 14px;
    color: #afafb6;
  }
  
  .container .content .right-side {
    width: 75%;
    margin-left: 75px;
  }
  .content .right-side .topic-text {
    font-size: 23px;
    font-weight: 600;
    color: #2b439d;
  }
  .right-side .input-box {
    height: 55px;
    width: 100%;
    margin: 12px 0;
  }
  .right-side .input-box input,
  .right-side .input-box textarea {
    height: 100%;
    width: 100%;
    border: none;
    outline: none;
    font-size: 16px;
    background: #f0f1f8;
    border-radius: 6px;
    padding: 0 15px;
    resize: none;
  }
  .right-side .message-box {
    min-height: 110px;
  }
  .right-side .input-box textarea {
    padding-top: 6px;
  }
  .right-side .button {
    display: inline-block;
    margin-top: 12px;
  }
  .right-side p{
    color: #afafb6;
  }
  .right-side .button input[type="button"] {
    color: #fff;
    font-size: 18px;
    outline: none;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    background: #2b439d;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .button input[type="button"]:hover {
    background: #2b439d;
  }
  
  @media (max-width: 950px) {
    .container {
      width: 90%;
      padding: 30px 40px 40px 35px;
    }
    .container .content .right-side {
      width: 75%;
      margin-left: 55px;
    }
  }
  @media (max-width: 820px) {
    .container {
      margin: 40px 0;
      height: 100%;
    }
    .container .content {
      flex-direction: column-reverse;
    }
    .container .content .left-side {
      width: 100%;
      flex-direction: row;
      margin-top: 40px;
      justify-content: center;
      flex-wrap: wrap;
    }
    .container .content .left-side::before {
      display: none;
    }
    .container .content .right-side {
      width: 100%;
      margin-left: 0;
    }
  }
  
  /* /// */
  
/* Mobile Menu Icon Styles */
.menu-icon {
    display: none;
    cursor: pointer;
    font-size: 24px;
}

/* Enhanced Mobile Responsive Styles */
@media (max-width: 768px) {
    .nav-menu {
        display: none;
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        background: #fff;
        flex-direction: column;
        padding: 20px 0;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    }

    .nav-menu.active {
        display: flex;
    }

    .nav-menu li {
        margin: 10px 0;
        text-align: center;
    }

    .menu-icon {
        display: block;
    }

    .language {
        display: none;
    }

    .logo img {
        margin-left: 10px;
    }

    /* Contact Section Mobile Styles */
    .contact-bg {
        height: auto;
        padding: 60px 20px;
    }

    .contact-bg h2 {
        font-size: 2.5rem;
        letter-spacing: 2px;
    }

    .contact-bg h3 {
        font-size: 1.5rem;
    }

    .contact-bg .text {
        font-size: 1rem;
        padding: 0 15px;
    }

    /* Container Mobile Styles */
    .container {
        padding: 20px;
        margin: 20px;
    }

    .container .content {
        flex-direction: column;
    }

    .container .content .left-side {
        width: 100%;
        margin-bottom: 30px;
        padding-right: 0;
    }

    .container .content .right-side {
        width: 100%;
        margin-left: 0;
    }

    .right-side .input-box {
        margin-bottom: 15px;
    }

    .right-side .input-box input,
    .right-side .input-box textarea {
        padding: 12px;
        font-size: 14px;
    }

    .button input[type="button"] {
        padding: 8px 15px;
        font-size: 14px;
    }

    /* Map Mobile Styles */
    #map {
        height: 300px;
        margin: 20px 0;
    }
}

/* Small Mobile Devices */
@media (max-width: 480px) {
    .contact-bg h2 {
        font-size: 2rem;
    }

    .contact-bg h3 {
        font-size: 1.2rem;
    }

    .container {
        margin: 10px;
        padding: 15px;
    }

    .content .left-side .details {
        margin: 15px 0;
    }

    .content .left-side .details .topic {
        font-size: 16px;
    }

    .content .left-side .details .text-one,
    .content .left-side .details .text-two {
        font-size: 14px;
    }
}

/* Tablet Devices */
@media (min-width: 769px) and (max-width: 1024px) {
    .contact-bg h2 {
        font-size: 3.5rem;
    }

    .container {
        padding: 30px;
    }

    .container .content .left-side {
        width: 40%;
    }

    .container .content .right-side {
        width: 60%;
    }
}
  