@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --first-background: #F4F4F4;
    --second-background: #F6F6F6;
    --navy-blue: #1D4974;
    --light-green: #87BE38;
    --text-color: #1D1D1D;
    --text-color-2: #FFFFFF;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    scroll-behavior: smooth;
    font-family: 'Montserrat';
    list-style: none;
}

#menu {
    color: #1d1d1d;
    font-size: 3em;
    display: none;
}


body {
    min-height: 100vh;
}

nav {
    position: fixed;
    top: 0;
    width: 100%;
    padding: 1em 10%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #ffffff;
    box-shadow: 0 2px 15px #1d1d1d80;
    z-index: 1000;
}

.logo {
    flex-shrink: 0;
}

.logo img {
    width: 180px;
    max-width: 180px;
    height: auto;
    display: block;
}

.logo img:hover {
    transition: 0.2s ease-in-out;
    opacity: 0.8;
}

ul.links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3em;
    flex: 1;
}

.links a {
    position: relative;
    color: #1D4974;
    transition: color 0.2s ease, text-shadow 0.2s ease, transform 0.2s ease;
    font-size: 18px;
    font-family: 'Oswald';
    font-weight: 400;
    padding: 0.5em 0;
    display: flex;
    justify-content: center;
}

.links a:not(.contact-nav)::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 1.7px;
    background-color: #1d1d1d;
    opacity: 65%;
    transition: width 0.3s ease-in-out;
}

.links a:not(.contact-nav):hover::after {
    width: 120%;
    background-color: #1D1D1D;
    opacity: 65%;
    height: 1px;
}

.links a.active {
    color: #1d1d1da6;
}

.links a.active::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 140%;
    height: 1.7px;
    background-color: #1d1d1d;
    opacity: 45%;
}

.links a:hover {
    color: #1D1D1D;
    opacity: 65%;
    text-shadow: 0 0 4px #1D1D1D40;
    transform: scale(1.1);
}

.links a.contact-nav {
    background-color: #1D4974;
    color: #ffffff;
    font-weight: 450;
    padding: 0.5em 1.2em;
    transition: 0.2s ease-in-out;
    border: 1.5px solid transparent;
}

.links a.contact-nav:hover {
    background-color: #1D1D1D;
    opacity: 65%;
}

.links a.contact-nav.active {
    background-color: transparent !important;
    color: #1D1D1D !important;
    border: 2px solid #1D1D1D !important;
    font-weight: 450;
    opacity: 65%;
}

.links a.contact-nav.active::after {
    content: none;
}

.user-menu {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 180px;
    justify-content: flex-end;
}

.user-menu #username {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90px;
    text-align: center;
    display: inline-block;
    color: var(--light-green);
    margin-right: 20px;
    border-bottom: 1.5px solid var(--light-green);
    padding-bottom: 3px;
}

.user-icon-container {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}

.user-icon {
    color: #87be38;
    font-size: 45px;
    cursor: pointer;
    transition: color 0.2s ease-in-out;
}

.user-icon-container:hover .user-icon {
    color: #5f8c2f;
}

.dropdown-icon {
    font-size: 1.2rem;
    color: var(--light-green);
    cursor: pointer;
    transition: transform 0.2s ease, color 0.2s ease;
}

.user-icon-container:hover .dropdown-icon {
    transform: rotate(180deg);
    color: #5f8c2f;
}

.dropdown-menu {
    position: absolute;
    top: 103%;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0 4px 6px #1D1D1D80;
    list-style: none;
    width: 200px;
    display: none;
    z-index: 1000;
}

.dropdown-menu li {
    padding: 8px 15px;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.dropdown-menu li a {
    text-decoration: none;
    color: #333333;
    display: block;
    font-size: 18px;
    font-family: 'Oswald';
    padding: 10px;
    transition: background 0.2s ease-in-out;
}

.dropdown-menu li a:hover {
    background: #f4f4f4;
}

#menu {
    color: #1d1d1d;
    font-size: 3em;
    display: none;
}

section {
    min-height: 100vh;
    padding: 5% 15%;
}

::-webkit-scrollbar {
    width: 20px;
    background-color: var(--background);
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, #87BE38, #1D4974);
}

#banner-container {
    padding: 0;
    margin: 0;
    position: relative;
    overflow: hidden;                       
}

.slide-1 {
    background: url('assets/images/3D_2.jpg');
}

.slide-2 {
    background: url('assets/images/3D_5.jpg');
}

.slide-3 {
    background: url('assets/images/3D_7.jpg');
}

.slide {
    position: absolute;
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
    opacity: 0;                        
    transition: opacity 0.8s;
    z-index: 0;
}


.slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000B3;   
    z-index: 1;                        
}


.slide:first-child {
    opacity: 1;
    z-index: 1;
}


.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 2;                      
    pointer-events: auto;                  
    transition: background 0.3s;
    background-color: #1d1d1d;
    width: 100px;
    height: 95px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.arrow img {
    width: 40px;                          
    height: auto;
}


.l {
    left: 50px;                             
}

.r {
    right: 50px;
}

.arrow:hover {
    opacity: 0.8;                          
}

.banner-container {
    display: flex;
    justify-content: center;        
    align-items: center;           
    position: relative;            
    height: 100vh;                 
    overflow: hidden;
}

.banner-heading {
    z-index: 3;                    
    color: #ffffff;                    
    text-align: center;
    font-family: 'Oswald';
    font-size: 48px;                          
}

.banner-heading h1 {
    font-family: 'Oswald';
    font-weight: 500;
    font-size: 90px;
}

.banner-heading p {
    font-family: 'Oswald';
    font-weight: 400;
    font-size: 40px;
    margin-bottom: 20px;

}

.btn-box {
    display: flex;
    gap: 1em;
    justify-content: center;
    padding: 15px 35px;                  
    max-width: fit-content;     
    margin: 0 auto;     
}

.btn {
    font-family: 'Oswald';
    font-size: 23.5px;
    font-weight: 500;
    color: #ffffff;
    background-color: #87BE38;    
    padding: 12px 35px;           
    text-decoration: none;       
    display: inline-block;        
    transition: background 0.3s;
    box-shadow: 0 12px 32px #1d1d1d26;
}

.btn:hover {
    background-color: #1D1D1D;   
    cursor: pointer;
}

.indicators {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;                             
    position: absolute;
    bottom: 20px;                            
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;                              
}

.indicator {
    width: 13px;                             
    height: 13px;                            
    border-radius: 50%;
    background-color: #FFFFFF;          
    transition: background 0.3s, transform 0.3s;
    cursor: pointer;
}

.indicator:hover {
    transform: scale(1.1);                  
}

.indicator.active {
    background-color: #87BE38;               
    transform: scale(1.5);                  
}


/*      WHY CHOOSE NTSCI      */

#why-choose-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;   
    justify-content: center;
    background-color: var(--first-background);
    position: relative;
}

#why-choose-wrapper::after {
    content: '';                  
    position: absolute;
    bottom: 0;                    
    left: 0;
    width: 100%;
    height: 56px;                 
    background-color: var(--navy-blue);    
    z-index: 1;                    
}

.why-choose-container {
    display: flex;
    justify-content: flex-start; 
    flex-direction: column;
    gap: 50px;
    max-width: 100%;
    margin-bottom: 80px;
}

.why-choose-container h2 {
    text-align: center;
    color: var(--text-color);
    font-family: 'Oswald';
    font-size: 50px;
    font-weight: 500;
    line-height: 60px;
    position: relative;
    padding-bottom: 15px;
}

.why-choose-container h2::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
    width: 445px;
    height: 3px; 
    background: var(--text-color);
    opacity: 28%;
}

.why-choose-container p {
    text-align: center;
    font-size: 20px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    opacity: 75%;
    width: 830px;
    max-width: 830px; 
    margin: 0 auto;
}

.why-choose-container p span {
    font-weight: 600;
}

.step-facts-container {
    display: flex;
    justify-content: center;     
    align-items: center;        
    gap: 50px;             
    max-width: 1200px;         
    margin: 0 auto;            
    padding: 20px 0;             
}

.step-facts-container .step {
    display: flex;
    flex-direction: column;
    align-items: left;        
    text-align: left;          
    max-width: 300px;          
}

.step-facts-container .step img {
    width: 300px; /* or larger, e.g., 300px */
    max-width: 100%; /* keeps it responsive */
    height: auto;
    cursor: pointer;
}

.step-facts-container .step h3 {
    font-family: 'Oswald';
    font-size: 42px;
    font-weight: 500;
    color: var(--text-color);
    margin-top: 10px;            
}

#demo-reel {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: var(--navy-blue);
    position: relative;
}

#demo-reel-video {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    position: absolute; 
    top: 0;
    left: 0;
}

.controls {
    position: absolute;
    bottom: 20px;
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    z-index: 10;
}

.control-btn {
    background-color: #1D1D1D80;
    color: white;
    border: none;
    padding: 15px;
    font-size: 1.5em;
    cursor: pointer;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
}

.control-btn:hover {
    background-color: #87BE3880;
}

.volume-control-container {
    position: relative;
}

input[type="range"] {
    width: 150px;
    background: #1D1D1D80;
    border-radius: 5px;
    height: 10px;
    position: absolute;
    bottom: 17.5px;
    left: 140px;
    transform: translateX(-50%); 
    display: none;
}

/*  TESTIMONIAL */

#testimonials {
    background-color: var(--navy-blue);
    min-height: 380px;
    padding: 5% 10%;
    display: flex;
    flex-direction: column;
    position: relative;
}

#testimonials::after {
    content: '';                  
    position: absolute;
    bottom: 0;                    
    left: 0;
    width: 100%;
    height: 5px;  
    background-color: #B9B9B9;                  
    z-index: 1;                    
}

.testimonial-heading {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.testimonial-heading h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 45px;
    font-weight: 500;
    color: var(--text-color-2);
    margin: 0;
    position: relative;
    display: flex;
    align-items: center;
}

.testimonial-line {
    width: 3px;
    height: 65px; 
    background-color: var(--text-color-2);
    margin-left: 20px;
    margin-right: 20px;
    border-radius: 5px;
    justify-content: flex-start;
}

.testimonial-heading .btn-box {
    margin: 0;
}

.fa-star {
    padding-left: 12px;
}

.testimonial-carousel {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.testimonial-container {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.testimonial-wrapper {
    position: relative;
    margin: 0 60px; 
}

.testimonial-card-list {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 100%;
}

.testimonial-card-item {
    flex: 0 0 100%;
    min-width: 100%;
    padding: 20px;
    box-sizing: border-box;
    transition: all 0.3s ease;
    overflow: hidden;
}

.testimonial-content {
    background: white;
    padding: 40px;
    box-shadow: 0 5px 15px #1D1D1D60;
    overflow: hidden; 
    height: 100%;
}

.star-rating {
    color: var(--light-green);
    font-size: 40px;
    letter-spacing: 5px;
    margin-bottom: 20px;
}

.testimonial-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    line-height: 1.6;
    color: #555;
    margin-bottom: 30px;
    font-style: italic;
    word-wrap: break-word; 
    overflow-wrap: break-word;
}

.client-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.client-photo .photo-placeholder {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.client-details {
    flex: 1;
}

.client-name {
    font-weight: bold;
    color: #222;
    margin: 0 0 4px 0;
    font-size: 18px;
}

.client-title {
    color: #666;
    margin: 0;
    font-size: 14px;
}

.arrow {
    z-index: 5;
}
.carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 4;
    pointer-events: auto;
    transition: background 0.3s;
    background-color: #1d1d1d;
    width: 100px;
    height: 95px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 0;
}

.carousel-arrow img {
    width: 40px;
    height: auto;
}

.testimonial-prev {
    left: 50px;
}

.testimonial-next {
    right: 50px;
}

.carousel-arrow:hover {
    opacity: 0.8;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
}

.dot:hover {
    transform: scale(1.1);                  
}

.dot.active {
    background: var(--light-green);
    transform: scale(1.5);   
}

.carousel-dots {
    display: flex;
    justify-content: center;
    padding-bottom: 20px;
    gap: 10px;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--text-color-2);
    cursor: pointer;
    transition: background 0.3s ease;
}

.dot.active {
    background: var(--light-green);
}

/*  PORTFOLIO   */

#portfolio-container {
    background-color: var(--second-background);
    min-height: 380px;
    padding: 5% 10%;
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 35px;
}

#portfolio-container::after {
    content: '';                  
    position: absolute;
    bottom: 0;                    
    left: 0;
    width: 100%;
    height: 5px;                 
    background-color: #B9B9B9;    
    opacity: 28%;
    z-index: 1;                    
}
.portfolio-heading {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.portfolio-heading p{
    font-family: "Oswald";
    font-weight: 400;
    font-size: 33px;
    color: var(--text-color);
}

.portfolio-heading h2 {
    font-family: "Oswald";
    font-weight: 500;
    font-size: 40px;
    color: var(--text-color);
}

.portfolio-categories {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}

.category{
    font-family: "Oswald";
    font-weight: 400;
    font-size: 21px;
}

.category-list {
    display: flex;
    flex-direction: row;
    gap: 25px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.sample-projects {
    display: flex;
    flex-wrap: wrap;         
    gap: 30px;              
}

.project {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 20px;
    width: calc(33.33% - 20px);
}

.project img {
    width: 100%;            
    height: 300px;          
    object-fit: cover;      
}

.project img:hover {
    transform: scale(1.1);
    transition: 0.2s ease-in-out;
}

.project h6 {
    font-family: "Lato", sans-serif;
    font-weight: 500;
    font-size: 23px;
}

.portfolio-container .btn-box {
    margin-top: 20px;
}

/*  CALL OF ACTION  */

#call-of-action {
    background-color: var(--second-background);
    min-height: 380px;
    padding: 5% 10%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    gap: 35px;
}

.call-of-action-heading {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;   
    gap: 30px; 
    width: 100%;
}

.call-of-action-heading h2 {
    font-family: 'Oswald';
    font-weight: 500;
    font-size: 45px;
    color: var(--text-color);
}

.call-of-action-heading p {
    font-family: 'Lato';
    font-weight: 300;
    font-size: 25px;
    color: var(--text-color);
}

.call-of-action .btn-box {
    margin: 0 0;
    padding: 0 0;
    width: 100%;
}

.call-of-action .btn {
    padding: 15px 35px;
    font-size: 23.5px;
}

/*  FOOTER  */

footer {
    background: #1d1d1d;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    
}

.footer-container {
    margin: 0 auto;
    width: 100%;
}

.footer-top {
    display: flex;
    justify-content: center;
    padding: 70px 10%;
    gap: 20px;
}

.footer-main-content {
    display: flex;
    justify-content: center;
	align-items: center;
    width: 100%;
    max-width: 1500px;
    gap: 15px;
}

.separator {
    width: 1px;
    background-color: #f4f4f4;
    margin: 0 20px;
    align-self: stretch; 
    min-height: 100px; 
    height: 100%;
}

.about-section {
    display: flex;
    flex-direction: column;
    flex: 1;
    max-width: 400px;
}

.about-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.about-header h1 {
    font-size: 30px;
    font-weight: 500;
    font-family: "Oswald";
    color: #fff;
    margin: 0;
}

#footer-logo {
    width: 70px;
    height: auto;
}

.navigate-section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: center;
}

.navigate-section h1 {
    font-size: 30px;
    margin-bottom: 20px;
    font-family: "Oswald";
    font-weight: 500;
    color: #fff;
}

.navigate-columns {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    align-content: center;
    align-self: center;
}

.navigate-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0;
    margin: 0;
}

.navigate-col:not(.right-col) {
    margin-right: 60px;
}

.navigate-col.right-col {
    margin-left: 0;
    padding-left: 0;
    border-left: none;
}

.navigate-col li {
    width: 100%;
}

.navigate-col li a {
    color: #FFF;
    font-size: 16px;
    transition: color 0.3s;
	text-align: left;
	line-height: 1.8;
}

.navigate-col li a:hover {
    color: #87BE38;
}

.about-section p {
    font-size: 16px;
    line-height: 1.5;
    color: #FFF;
    max-width: 600px;
}

.read-more {
	color: #FFF;
    opacity: 50%;
    text-decoration: underline;
}

.footer-bottom {
    background-color: #1D4974;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 15%;
    font-size: 14px;
    color: white;
}

.footer-bottom a {
    color: #fff;
    text-decoration: underline;
    margin: 0 5px;
}

.copyright {
	overflow-wrap: break-word;
}

.phone {
    font-weight: 500;
    display: flex;
    gap: 10px;
}


/* ABOUT US PAGE - HEADLINE*/
#about-headline {
    background-color: var(--second-background);
    display: flex;
    align-items: center;
}

.about-headline::after {
    content: '';                  
    position: absolute;
    bottom: 0;                    
    left: 0;
    width: 100%;
    height: 60px;                 
    background-color: var(--navy-blue);    
    z-index: 1;                      
    margin-top: 20px;
}

.about-headline-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
}

.about-headline-container h1 {
    font-family: "Oswald";
    font-weight: 500;
    font-size: 65px;
    color: var(--text-color);
}

.about-headline-container span {
    font-family: "Oswald";
    font-weight: 500;
    font-size: 65px;
    color: var(--navy-blue);
}

.about-headline-container p {
    font-family: "Montserrat";
    font-weight: 400;
    font-size: 18px;
    max-width: 650px;
    line-height: 45px;
}

.about-history-mv {
    position: relative; 
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    background-color: var(--first-background); 
    min-height: 130vh;
    padding: 5% 15%;
    overflow: hidden; 
}

.about-history-mv::before {
    content: '';                  
    position: absolute;    
    top: 65px;            
    left: 0;
    width: 100%;
    height: 222px;                 
    background-color: var(--text-color-2);    
    z-index: 0; 
}

.about-history-mv-container {
    display: flex;
    flex-direction: column;
    gap: 180px;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding-top: 650px; 
}

.about-history {
    position: relative;
    height: 100%;
    width: 100%;
}

.history-card {
    position: absolute;
    bottom: -50px;
    left: 50px; 
    background: white;
    padding: 29px;
    box-shadow: 0 4px 12px #1d1d1d40;
    z-index: 3;
    width: 380px; 
    height: 425px; 
    display: flex;
    flex-direction: column;
    gap: 30px;
    overflow: hidden;
}

.history-card h5 {
    font-family: "Oswald";
    font-weight: 500;
    font-size: 27px;
    color: var(--text-color);
    position: relative; 
    display: inline-block; 
    padding-bottom: 15px; 
}

.history-card h5::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 20%; 
    height: 2px; 
    background-color: var(--light-green); 
}

.history-card p {
    font-family: "Montserrat";
    font-size: 18px;   
    line-height: 26px;
    color: var(--text-color);
}

.history-card .btn-box {
    justify-content: left;
    margin: 0 0;
    padding: 0 0;
}

.history-image {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 85%; 
    max-width: 1000px;
    height: 600px; 
    object-fit: cover;
    z-index: 2;
    margin: 0;
    padding: 0;
    border: none;
}

.about-mv {
    display: flex;
    gap: 70px;
}

.mission-card, .vision-card {
    text-align: center;
    font-family: "Montserrat";
    font-size: 18px;
    line-height: 26px;
    color: var(--text-color);
    background: var(--text-color-2);
    padding: 59px 60px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;     
    align-items: center;       
    gap: 45px;                   
    overflow: hidden;
    height: auto;
    width: 100%;
    box-shadow: 0 4px 12px #1d1d1d40;
}

.mission-card h5,
.vision-card h5 {
    font-family: "Oswald";
    font-weight: 500;
    font-size: 45px;
    color: var(--text-color);
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.mission-card h5::after,
.vision-card h5::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 2px;
    background-color: var(--light-green);
}

.mission-card p,
.vision-card p {
    font-family: "Montserrat";
    font-size: 18px;
    line-height: 30px;
    color: var(--text-color);
    text-align: center;
    max-width: 500px;
    width: 100%;
}

/*  COO  */
#coo {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-self: center;
    background-color: var(--text-color);
    min-height: 500px;
}

.coo-container {
    display: flex;
    flex-direction: row;   
    justify-content: center;
    align-items: center;
    gap: 145px;
    margin-top: 30px;
    margin-bottom: 30px;
}

.coo-description {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-self: center;
    gap: 30px;
}

.coo-container img {
    max-width: 454px;
    height: 400px;
    transition: opacity 0.3s ease; 
}

.coo-container img:hover {
    opacity: 0.75;
    cursor: pointer;
}

.coo-description h3 {
    font-family: "Oswald";
    font-size: 45px;
    font-weight: 600;
    color: var(--text-color-2);
}

.coo-description h5 {
    font-family: "Lato";
    font-size: 32px;
    font-weight: 400;
    color: var(--text-color-2);
    opacity: 74%;
}

.coo-description p {
    font-family: "Montserrat";
    font-size: 18px;
    font-weight: 400;
    color: var(--text-color-2);
    width: 575px;
    line-height:30px;
}


/*  CEO  */

#ceo {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-self: center;
    background-color: var(--second-background);
    min-height: 500px;
}

.ceo-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 145px;
    margin-top: 30px;
    margin-bottom: 30px;
}

.ceo-description {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-self: center;
    gap: 30px;
}

.ceo-container img {
    max-width: 454px;
    height: 400px;
    transition: opacity 0.3s ease; 
}

.ceo-container img:hover {
    opacity: 0.75;
    cursor: pointer;
}
.ceo-description h3 {
    font-family: "Oswald";
    font-size: 45px;
    font-weight: 600;
    color: var(--text-color);
}

.ceo-description h5 {
    font-family: "Lato";
    font-size: 32px;
    font-weight: 400;
    color: var(--text-color);
    opacity: 74%;
}

.ceo-description p {
    font-family: "Montserrat";
    font-size: 18px;
    font-weight: 400;
    color: var(--text-color);
    width: 575px;
    line-height:30px;
}

/*  ORGANIZATION */

#organization {
    background-color: var(--text-color-2);
    padding: 50px 0;
    position: relative;
    margin-top: 30px;
    min-height: 100%;
}

#organization::after {
    content: ''; 
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; 
    height: 5px;
    opacity: 55%;
    background-color: #B9B9B9;
}

.organization-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
    gap: 80px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.team-member {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 30px;
    align-items: start;
}

.team-member img {
    width: 150px;
    height: 134px;
    object-fit: cover;
}

.team-member .bx-user {
    font-size: 150px;
    object-fit: cover;
}

.member-details {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.name-role {
    color: var(--text-color);
}

.name-role h3 {
    font-family: "Oswald";
    font-size: 26.5px;
    font-weight: 500;
    margin: 0;
}

.name-role h5 {
    font-family: "Lato";
    font-size: 23px;
    font-weight: 600;
    margin: 5px 0 0 0;
}

.member-details p {
    font-family: "Montserrat";
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    margin: 0;
}


/*  SERVICES PAGE   */

#services {
    background-color: var(--second-background);
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
}

.services::after {
    content: '';                  
    position: absolute;
    bottom: 0;                    
    left: 0;
    width: 100%;
    height: 60px;                 
    background-color: var(--navy-blue);    
    z-index: 1;                      
}

.services-container {
    width: 100%;
    max-width: 1200px; 
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.services-container img {
    max-width: 500px;
    height: 500px;
}

.services-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    width: 100%;
}

.services-heading h2 {
    font-family: "Oswald";
    font-weight: 500;
    font-size: 65px;
    color: var(--text-color);
    max-width: 100%;
}

.services-heading span {
    font-family: "Oswald";
    font-weight: 500;
    font-size: 65px;
    color: var(--navy-blue);
}

.services-heading p {
    font-family: "Montserrat";
    font-weight: 400;
    font-size: 18px;
    max-width: 500px;
    line-height: 45px;
}

.services-list {
    background-color: var(--second-background);
}

.services-list-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 60px;
    padding: 20px;
}

.service-item {
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding: 20px;
    /*
    box-shadow: 0 4px 12px #1d1d1d40;
    background-color: var(--text-color-2);
    */
}

.service-item img {
    width: 100%;
    cursor: pointer;
    transition: opacity 0.3s ease; 
}

.service-item img:hover {
    opacity: 0.75;
}

.service-item h3 {
    font-family: "Oswald";
    font-weight: 500;
    font-size: 30px;
    color: var(--navy-blue);
    margin-top: 0;
}

.service-item p {
    color: var(--text-color);
    line-height: 1.5;
}

/* MODAL LIGHTBOX STYLES */
.modal {
    display: none; 
    position: fixed;
    z-index: 1000;
    padding-top: 80px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9);
  }
  
.modal-content {
    display: block;
    margin: auto;
    max-width: 80%;
    max-height: 80%;
    border-radius: 10px;
    box-shadow: 0 4px 12px #00000080;
    animation: zoomIn 0.3s ease-in-out;
}

@keyframes zoomIn {
    from {
        transform: scale(0.5);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

.modal .close {
    position: absolute;
    top: 30px;
    right: 40px;
    color: white;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.modal .close:hover {
    color: #CCCCCC;
}
  
.modal.show {
    display: block;  
}

/*  PORTFOLIO PAGE*/

#portfolio-page-heading {
    background-image: url("assets/images/profile_banner.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    min-height: 280px;
    padding: 5% 10%;;
}

.portfolio-page-heading::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #000000;
    opacity: 0.6;
    z-index: 0;
}

.portfolio-page-heading-content {
    position: relative;
    z-index: 1;
    text-align: left;
    padding: 80px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.portfolio-page-heading-content h1 {
    font-family: "Oswald";
    font-weight: 500;
    font-size: 50px;
    color: var(--text-color-2);
}

.portfolio-page-heading-content p {
    font-family: "Montserrat";
    font-weight: 400;
    font-size: 30px;
    color: var(--text-color-2);
}

.category-list {
    list-style: none;
    display: flex;
    gap: 10px;
    padding: 0;
    margin: 20px 0;
}

.category {
    cursor: pointer;
    padding: 5px 12px;
    border: 1px solid #CCCCCC;
    border-radius: 20px;
    transition: 0.3s;
}

.category.active {
    background-color: #333333;
    color: var(--text-color-2);
    border-color: #333333;
}


/*  CONTACT PAGE    */

#contact-heading {
    background-color: var(--navy-blue);
    position: relative;
    min-height: 80px;
    padding: 5% 10%;
    box-shadow: 0px 0px 10px #CCCCCC;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center; 
}

.contact-heading-content {
    position: relative;
    z-index: 1;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 65px;
}

.contact-heading-left {
    display: flex;
    flex-direction: column;
    gap: 10px;    
}

.contact-heading-left h1 {
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    font-size: 50px;
    color: var(--text-color-2);
    margin: 0;
}

.contact-heading-left p {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-size: 30px;
    color: var(--text-color-2);
    margin: 0;
}

.contact-heading-content img {
    width: 200px;
    object-fit: cover; 
}

#contact-form {
    padding: 5% 10%;
    background-color: #f5f5f5;
    min-height: 75vh !important;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

#contact-form form {
    display: flex;
    flex-direction: row;
    gap: 50px;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}

.form-left, .form-right {
    flex: 1 1 45%;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none; 
}

.form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    justify-content: space-between;
}

.name {
    padding-right: 40px !important;
}

.email {
    padding-right: 40px !important;
}

label {
    display: inline-block;
    margin-bottom: 8px;
    font-weight: 500;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    color: var(--text-color);   
}

.form-row div {
    width: 100%;
}
.form-left input, 
.form-left select, 
.form-left textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid #CCCCCC;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    appearance: none; 
    background-color: var(--text-color-2);
    color: var(--text-color); 
    cursor: pointer; 
    resize: none; 
}

.form-left input:focus, 
.form-left select:focus, 
.form-left textarea:focus {
    outline: 2px solid var(--light-green); 
}

.construction-type {
    background-image: url('assets/images/down.png');
    background-repeat: no-repeat;
    background-position: right 1.5rem center;
    background-size: 20px;
    padding-right: 50px;
    cursor: pointer;
}

.form-left select {
    width: 100%;
    padding: 15px;
    border: 1px solid #CCCCCC;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    background-color: var(--text-color-2);
    color: var(--text-color);
    appearance: none;
    background-image: url('assets/images/down.png');
    background-repeat: no-repeat;
    background-position: right 1.5rem center;
    background-size: 20px;
    padding-right: 50px;
    cursor: pointer;
}


.form-left select:invalid {
    color: rgba(0, 0, 0, 0.6);
}

.form-left select option[value=""] {
    color: var(--text-color);
    opacity: 0.6;
}

.full-width {
    width: 100%;
    margin-bottom: 20px;
}

.submit-container {
    display: flex;
    width: 100%;
    justify-content: center;
}

.submit-button {
    background-color: var(--light-green);
    color: white;
    padding: 15px 60px;
    border: none;
    font-family: 'Oswald';
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 2px;
    cursor: pointer;
    margin-top: 10px;
    box-shadow: 0 0 5px #CCCCCC;
}

.submit-button:hover {
    background-color: #1D1D1D;
}

.form-right .map-container {
    margin-bottom: 20px;
}

.company-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.company-info h2 {
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    font-size: 24px;
    margin-bottom: 10px;
    color: var(--text-color);
}

.company-info p {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    margin: 10px 0;
    color: var(--text-color);
    display: flex;
}

.company-info i {
    margin-right: 20px;
    color: var(--text-color);
    font-size: 25px;
}


/* LOGIN PAGE */

#login {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    max-width: 700px;
    max-height: auto;
    margin: 40px auto;
    padding: 20px;
    box-shadow: 0px 0px 10px #cccccc;
}

.login-container {
    display: flex;
    justify-content: space-between;
    background: #1e3a5f;
    color: white;
    padding-left: 250px;
    padding-right: 250px;  
    padding-top: 30px; 
    padding-bottom: 30px;
}

.login-header {
    position: relative;
    text-align: left;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #1D1D1D60;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal-box {
    background: white;
    padding: 70px 60px;
    text-align: center;
    box-shadow: 0 0 40px #1D1D1D80;
    animation: fadeIn 0.3s ease;
    max-width: 500px;
    width: 90%;
    transform: scale(1.05);
}

.modal-box i {
    color: var(--light-green);
    font-size: 60px;
    margin-bottom: 20px;
}

.modal-box h3 {
    font-size: 28px;
    font-family: "Oswald";
    font-weight: 500;
    margin-bottom: 10px;
}

.login-error {
    color: red;
    text-align: center;
    margin-top: 10px;
    font-weight: 500;
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.login-header h1 {
    padding-left: 50px;
    font-family: 'Oswald';
    font-size: 45px;
    font-weight: 500;
    margin: 0;
}

.login-header p {
    font-size: 20px;
    padding-left: 50px;
}

.login-header a {
    color: #7cd33b;
    text-decoration: underline;
}

.login-header a:hover {
    opacity: 65%;
}

.login-container img {
    width: 150px;
    height: auto;
}

.login-form {
    display: flex;
    flex-direction: column;
    padding-left: 80px;
    padding-right: 80px;
    padding-top: 40px;
    padding-bottom: 40px;
}

.login-form h2 {
    text-align: center;
    font-family: 'Oswald';
    font-weight: 400;
    font-size: 35px;
    color: var(--text-color);
    margin-bottom: 20px;
}

.login-input-group {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
}

.login-input-group input {
    font-size: 20px;
    margin-top: 20px;
    border: none;
    border-bottom: 2px solid #1d1d1d40;
    width: 100%;
    padding: 20px 15px 6px 15px;
    background: transparent;
    color: #000;
    box-sizing: border-box;
}

.login-input-group input::placeholder {
    color: transparent;  
}

.login-input-group label {
    position: absolute;
    top: 34px;
    left: 15px;
    font-size: 18px;
    color: #999;
    pointer-events: none;
    transition: 0.2s ease all;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    background: transparent;
    padding: 0 4px;
}

.login-input-group input:focus + label,
.login-input-group input:not(:placeholder-shown) + label {
    top: -6px;
    font-size: 13px;
    color: var(--light-green);
    background: transparent;
}

.login-input-group input:focus + label,
.login-input-group input:not(:placeholder-shown) + label {
    color: var(--light-green);
}

.has-error input:focus + label,
.has-error input:not(:placeholder-shown) + label {
    color: red;
}

.login-input-group input::placeholder {
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
    font-size: 18px;
    color: #1d1d1d90;
}

.forgot-password {
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: right;
}

.login-forgot-link {
    text-decoration: underline;
    font-weight: 500;
    color: var(--light-green);
}

.login-forgot-link:hover {
    color: #1D1D1D80;
}

.login-btn-container {
    display: flex;
    justify-content: center;
}

.login-btn {
    margin-top: 30px;
    padding: 12px 35px;    
    width: 75%;
    font-family: 'Oswald';
    font-weight: 500;
    font-size: 23.5px;
    background-color: var(--light-green);
    border: none;
    color: var(--text-color-2);
    cursor: pointer;
}

.login-btn:hover {
    background-color: #1D1D1D80;
}

.login-terms {
    text-align: center;
    font-size: 18.5px;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    color: var(--text-color);
    opacity: 85%;
    padding-top: 25px;
}

.login-terms a {
    font-weight: 700;
    color: var(--text-color);
}

.password-group {
    position: relative;
    display: flex;
    align-items: center;
}

.password-group input {
    padding-right: 40px; 
}

.toggle-password {
    position: absolute;
    right: 15px;
    top: 65%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 20px;
    color: #aaa;
    user-select: none;
}

.has-error input {
    border-bottom: 2px solid red;
}

.field-error {
    font-size: 14px;
    color: red;
    min-height: 18px;       
    margin-top: 6px;
    text-align: left;     
}


/* REGISTER PAGE */
#register {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    max-width: 700px;
    max-height: auto;
    margin: 40px auto;
    padding: 20px;
    box-shadow: 0px 0px 10px #cccccc;
}

.register-container {
    display: flex;
    justify-content: space-between;
    background: #1e3a5f;
    color: white;
    padding-left: 250px;
    padding-right: 250px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.register-header {
    position: relative;
    text-align: left;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #1D1D1D60;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal-box {
    background: white;
    padding: 70px 60px;
    text-align: center;
    box-shadow: 0 0 40px #1D1D1D80;
    animation: fadeIn 0.3s ease;
    max-width: 500px;
    width: 90%;
    transform: scale(1.05);
}

.modal-box i {
    color: var(--light-green);
    font-size: 60px;
    margin-bottom: 20px;
}

.modal-box h3 {
    font-size: 28px;
    font-family: "Oswald";
    font-weight: 500;
    margin-bottom: 10px;
}

.register-error {
    color: red;
    text-align: center;
    margin-top: 10px;
    font-weight: 500;
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.register-header h1 {
    padding-left: 50px;
    font-family: 'Oswald';
    font-size: 45px;
    font-weight: 500;
    margin: 0;
}

.register-header p {
    font-size: 20px;
    padding-left: 50px;
}

.register-header a {
    color: #7cd33b;
    text-decoration: underline;
}

.register-header a:hover {
    opacity: 65%;
}

.register-container img {
    width: 150px;
    height: auto;
}

.register-form {
    display: flex;
    flex-direction: column;
    padding-left: 80px;
    padding-right: 80px;
    padding-top: 40px;
    padding-bottom: 40px;
}

.register-form h2 {
    text-align: center;
    font-family: 'Oswald';
    font-weight: 400;
    font-size: 35px;
    color: var(--text-color);
}

.register-input-group {
    display: flex;
}

.register-input-group input {
    margin-top: 20px;
    font-size: 20px;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 2px solid #1d1d1d40;
    width: 100%;
    box-sizing: border-box;
    padding: 15px 15px;
}

.register-input-group input::placeholder {
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
    font-size: 18px;
    color: #1d1d1d90;
}

.register-btn-container {
    display: flex;
    justify-content: center;
}

.register-btn {
    margin-top: 30px;
    padding: 12px 35px;
    width: 75%;
    font-family: 'Oswald';
    font-weight: 500;
    font-size: 23.5px;
    background-color: var(--light-green);
    border: none;
    color: var(--text-color-2);
    cursor: pointer;
}

.register-btn:hover {
    background-color: #1D1D1D80;
}

.password-group {
    position: relative;
    display: flex;
    align-items: center;
}

.password-group input {
    padding-right: 40px;
}

.checkbox-group {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 0 ;
    max-width: 100%;
    gap: 0;
    margin-bottom: 20px;
}

.checkbox-group .checkbox {
    margin-top: 5px;
    width: 50px;
}

.checkbox-group label {
    width: 70%;
}

.checkbox-group a {
    color: var(--navy-blue);
    text-decoration: underline;
}

.toggle-register-password {
    position: absolute;
    right: 15px;
    top: 65%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 20px;
    color: #aaa;
    user-select: none;
}

.guess-option {
    text-align: center;
    margin-bottom: 15px;
    color: var(--navy-blue);
    text-decoration: underline;
}


/* REGISTER PAGE */
#register {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    max-width: 700px;
    max-height: auto;
    margin: 40px auto;
    padding: 20px;
    box-shadow: 0px 0px 10px #cccccc;
}

.register-container {
    display: flex;
    justify-content: space-between;
    background: #1e3a5f;
    color: white;
    padding-left: 250px;
    padding-right: 250px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.register-header {
    position: relative;
    text-align: left;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #1D1D1D60;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal-box {
    background: white;
    padding: 70px 60px;
    text-align: center;
    box-shadow: 0 0 40px #1D1D1D80;
    animation: fadeIn 0.3s ease;
    max-width: 500px;
    width: 90%;
    transform: scale(1.05);
}

.modal-box i {
    color: var(--light-green);
    font-size: 60px;
    margin-bottom: 20px;
}

.modal-box h3 {
    font-size: 28px;
    font-family: "Oswald";
    font-weight: 500;
    margin-bottom: 10px;
}

.register-error {
    color: red;
    text-align: center;
    margin-top: 10px;
    font-weight: 500;
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.register-header h1 {
    padding-left: 50px;
    font-family: 'Oswald';
    font-size: 45px;
    font-weight: 500;
    margin: 0;
}

.register-header p {
    font-size: 20px;
    padding-left: 50px;
}

.register-header a {
    color: #7cd33b;
    text-decoration: underline;
}

.register-header a:hover {
    opacity: 65%;
}

.register-container img {
    width: 150px;
    height: auto;
}

.register-form {
    display: flex;
    flex-direction: column;
    padding-left: 80px;
    padding-right: 80px;
    padding-top: 40px;
    padding-bottom: 40px;
}

.register-form h2 {
    text-align: center;
    font-family: 'Oswald';
    font-weight: 400;
    font-size: 35px;
    color: var(--text-color);
}

.register-input-group {
    display: flex;
}

.register-input-group input {
    margin-top: 20px;
    font-size: 20px;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 2px solid #1d1d1d40;
    width: 100%;
    box-sizing: border-box;
    padding: 15px 15px;
}

.register-input-group input::placeholder {
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
    font-size: 18px;
    color: #1d1d1d90;
}

.register-btn-container {
    display: flex;
    justify-content: center;
}

.register-btn {
    margin-top: 30px;
    padding: 12px 35px;
    width: 75%;
    font-family: 'Oswald';
    font-weight: 500;
    font-size: 23.5px;
    background-color: var(--light-green);
    border: none;
    color: var(--text-color-2);
    cursor: pointer;
}

.register-btn:hover {
    background-color: #1D1D1D80;
}

.password-group {
    position: relative;
    display: flex;
    align-items: center;
}

.password-group input {
    padding-right: 40px;
}

.checkbox-group {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 0 ;
    max-width: 100%;
    gap: 0;
}

.checkbox-group .checkbox {
    margin-top: 5px;
    width: 50px;
}

.checkbox-group label {
    width: 70%;
}

.checkbox-group a {
    color: var(--navy-blue);
    text-decoration: underline;
}

.toggle-register-password {
    position: absolute;
    right: 15px;
    top: 65%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 20px;
    color: #aaa;
    user-select: none;
}

.guess-option {
    text-align: center;
    margin-bottom: 15px;
    color: var(--navy-blue);
    text-decoration: underline;
}

/* FEEDBACK FORM */

.feedback-form-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    flex-direction: column;
    background: #ffffff;
    max-width: 700px;
    padding: 20px;
    box-shadow: 0px 0px 10px #cccccc;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.feedback-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 80px;
    padding-right: 80px;
    padding-top: 40px;
    padding-bottom: 40px;
    width: 660px;
}

.feedback-container {
    display: flex;
    justify-content: space-between;
    background: #1e3a5f;
    color: white;
    padding-left: 250px;
    padding-right: 250px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.feedback-header {
    text-align: left;
}

.feedback-header h1 {
    padding-left: 50px;
    font-family: 'Oswald';
    font-size: 45px;
    font-weight: 500;
    margin: 0;
}

.feedback-header p {
    font-size: 20px;
    padding-left: 50px;
}

.feedback-container img {
    width: 150px;
    height: auto;
}

.feedback-form h2 {
    text-align: center;
    font-family: 'Oswald';
    font-weight: 400;
    font-size: 35px;
    color: var(--text-color);
}

.feedback-input-group {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
}

.feedback-input-group input {
    margin-top: 20px;
    font-size: 20px;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 2px solid #1d1d1d40;
    width: 100%;
    box-sizing: border-box;
    padding: 15px 15px;
}

.feedback-input-group textarea {
    font-size: 14px;
    padding: 12px;
    border: 2px solid #cccccc;
    border-radius: 5px;
    width: 100%;
    margin-bottom: 15px;
    resize: none;             
    min-height: 150px;        
    box-sizing: border-box;   
}

.feedback-input-group input::placeholder,
.feedback-input-group textarea::placeholder {
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
    font-size: 16px;
    color: #1d1d1d90;
}

.feedback-btn-container {
    display: flex;
    justify-content: center;
}

.feedback-btn {
    padding: 12px 35px;
    background-color: var(--light-green);
    border: none;
    color: #fff;
    cursor: pointer;
    font-family: 'Oswald';
    font-weight: 500;
    font-size: 20px;
    margin-top: 20px;
}

.feedback-btn:hover {
    background-color: #1D1D1D80;
}

.feedback-error {
    color: red;
    text-align: center;
    margin-top: 10px;
    font-weight: 500;
}

.feedback-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #1D1D1D60;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.feedback-modal-box {
    background: white;
    padding: 70px 60px;
    text-align: center;
    box-shadow: 0 0 40px #1D1D1D80;
    animation: fadeIn 0.3s ease;
    max-width: 500px;
    width: 90%;
    transform: scale(1.05);
}

.feedback-modal-box i {
    color: var(--light-green);
    font-size: 60px;
    margin-bottom: 20px;
}

.feedback-modal-box h3 {
    font-size: 28px;
    font-family: "Oswald";
    font-weight: 500;
    margin-bottom: 10px;
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.feedback-first-row {
    display: flex;
    flex-direction: row;
    gap: 10%;
}

.custom-dropdown select {
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
    font-size: 16px;
    color: #1d1d1d90;
    padding: 12px;
    margin-bottom: 40px;
    border: 2px solid #cccccc;
    border-radius: 5px;
    width: 100%;
    background-color: #fff;
    appearance: none;
    cursor: pointer;
    text-align: center;
    border-top: none;
    border-left: none;
    border-right: none;
}

.custom-dropdown select:focus {
    border-color: var(--light-green);
    outline: none;
}

.custom-dropdown option {
    font-size: 24px;
    color: gold;
    text-align: center;
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
}

.custom-dropdown option[value=""] {
    color: #999;
    font-size: 16px;
    text-align: left;
}

.feedback-form-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    flex-direction: column;
    background: #ffffff;
    max-width: 700px;
    padding: 20px;
    box-shadow: 0px 0px 10px #cccccc;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.feedback-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 80px;
    padding-right: 80px;
    padding-top: 40px;
    padding-bottom: 40px;
    width: 660px;
}

.feedback-container {
    display: flex;
    justify-content: space-between;
    background: #1e3a5f;
    color: white;
    padding-left: 250px;
    padding-right: 250px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.feedback-header {
    text-align: left;
}

.feedback-header h1 {
    padding-left: 50px;
    font-family: 'Oswald';
    font-size: 45px;
    font-weight: 500;
    margin: 0;
}

.feedback-header p {
    font-size: 20px;
    padding-left: 50px;
}

.feedback-container img {
    width: 150px;
    height: auto;
}

.feedback-form h2 {
    text-align: center;
    font-family: 'Oswald';
    font-weight: 400;
    font-size: 35px;
    color: var(--text-color);
}

.feedback-input-group {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
}

.feedback-input-group input {
    margin-top: 20px;
    font-size: 20px;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 2px solid #1d1d1d40;
    width: 100%;
    box-sizing: border-box;
    padding: 15px 15px;
}

.feedback-input-group textarea {
    font-size: 14px;
    padding: 12px;
    border: 2px solid #cccccc;
    border-radius: 5px;
    width: 100%;
    margin-bottom: 15px;
}

.feedback-input-group input::placeholder,
.feedback-input-group textarea::placeholder {
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
    font-size: 16px;
    color: #1d1d1d90;
}

.feedback-btn-container {
    display: flex;
    justify-content: center;
}

.feedback-btn {
    padding: 12px 35px;
    background-color: var(--light-green);
    border: none;
    color: #fff;
    cursor: pointer;
    font-family: 'Oswald';
    font-weight: 500;
    font-size: 20px;
    margin-top: 20px;
}

.feedback-btn:hover {
    background-color: #1D1D1D80;
}

.feedback-error {
    color: red;
    text-align: center;
    margin-top: 10px;
    font-weight: 500;
}

.feedback-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #1D1D1D60;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.feedback-modal-box {
    background: white;
    padding: 70px 60px;
    text-align: center;
    box-shadow: 0 0 40px #1D1D1D80;
    animation: fadeIn 0.3s ease;
    max-width: 500px;
    width: 90%;
    transform: scale(1.05);
}

.feedback-modal-box i {
    color: var(--light-green);
    font-size: 60px;
    margin-bottom: 20px;
}

.feedback-modal-box h3 {
    font-size: 28px;
    font-family: "Oswald";
    font-weight: 500;
    margin-bottom: 10px;
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.feedback-first-row {
    display: flex;
    flex-direction: row;
    gap: 10%;
}

.custom-dropdown select {
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
    font-size: 16px;
    color: #1d1d1d90;
    padding: 12px;
    margin-bottom: 40px;
    border: 2px solid #cccccc;
    border-radius: 5px;
    width: 100%;
    background-color: #fff;
    appearance: none;
    cursor: pointer;
    text-align: center;
    border-top: none;
    border-left: none;
    border-right: none;
}

.custom-dropdown select:focus {
    border-color: var(--light-green);
    outline: none;
}

.custom-dropdown option {
    font-size: 24px;
    color: gold;
    text-align: center;
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
}

.custom-dropdown option[value=""] {
    color: #999;
    font-size: 16px;
    text-align: left;
}

.testimonial-headsup {
    text-align: center;
    font-size: 15.5px;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    color: var(--text-color);
    opacity: 65%;
    padding-top: 25px;
}


#privacyModal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background-color: #000000cc; /* Darker translucent overlay */
  padding: 20px;
  overflow: hidden; /* Prevent page scroll */
}

/* Modal container */
#privacyModal .modal-content {
  background-color: #fff;
  margin: auto;
  padding: 30px;
  border-radius: 16px;
  width: 60%;
  max-width: 800px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  position: relative;
  animation: fadeIn 0.3s ease-in-out;
  scrollbar-width: thin;
  scrollbar-color: #bbb transparent;
}

/* Rounded scrollbar for WebKit (Chrome, Edge, Safari) */
#privacyModal .modal-content::-webkit-scrollbar {
  width: 10px;
}
#privacyModal .modal-content::-webkit-scrollbar-thumb {
  background-color: #bbb;
  border-radius: 10px;
}
#privacyModal .modal-content::-webkit-scrollbar-track {
  background: transparent;
}

/* Close button */
#privacyModal .close {
  position: absolute;
  right: 20px;
  top: 20px;
  font-size: 28px;
  color: #333;
  cursor: pointer;
}

/* Header styles */
#privacyModal .modal-header {
  margin-bottom: 24px;
}
#privacyModal .modal-header h1 {
  margin: 0 0 10px;
  font-size: 26px;
  color: #111;
}
#privacyModal .modal-header p {
  margin: 0;
  font-size: 15px;
  color: #555;
}

/* Body section */
#privacyModal .modal-body h2 {
  margin: 30px 0 10px;
  font-size: 20px;
  color: #222;
}
#privacyModal .modal-body p {
  margin-bottom: 16px;
  font-size: 15px;
  color: #444;
  line-height: 1.7;
}
#privacyModal .modal-body ul {
  padding-left: 24px;
  margin-bottom: 20px;
  color: #444;
}
#privacyModal .modal-body ul li {
  margin-bottom: 10px;
  line-height: 1.6;
}

#scrollTopBtn, #scrollBottomBtn {
    position: fixed;
    right: 20px;
    padding: 10px 14px;
    font-size: 16px;
    border: none;
    border-radius: 50%;
    background-color: #333;
    color: white;
    cursor: pointer;
    z-index: 999;
    opacity: 0.8;
    transition: opacity 0.3s;
    mix-blend-mode: difference;
}

#scrollTopBtn:hover, #scrollBottomBtn:hover {
    opacity: 1;
}

#scrollTopBtn {
    bottom: 70px;
}

#scrollBottomBtn {
    bottom: 20px;
}

#scrollTopBtn, #scrollBottomBtn {
    display: none;
}

.read-more {
    color: white;
    mix-blend-mode: difference;
    cursor: pointer;
    font-weight: 500;
    margin-left: 5px;
    transition: color 0.5s ease-in-out, text-decoration 0.2s ease-in-out;
}


.read-more:hover {
    text-decoration: underline;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  #privacyModal .modal-content {
    width: 90%;
    padding: 20px;
  }

  #privacyModal .modal-header h1 {
    font-size: 22px;
  }

  #privacyModal .modal-body h2 {
    font-size: 18px;
  }

  #privacyModal .modal-body p,
  #privacyModal .modal-body ul {
    font-size: 14px;
  }
}

/* Fade-in animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 1200px) and (max-width: 1440px) {
    nav {
        padding: 1em 7%;
    }

    ul {
        gap: 2em;
    }

    .links a {
        font-size: 17px;
    }

    .banner-heading {
        width: 100%;
    }

    .banner-heading h1 {
        font-size: 75px;
        line-height: 1.2;
    }

    .banner-heading p {
        font-size: 30px;
        margin-bottom: 20px;
    }

    section {
        padding: 7em 12%;
    }

    .btn {
        font-size: 21px;
        padding: 12px 32px;
    }

    .arrow {
        width: 90px;
        height: 85px;
    }

    .arrow img {
        width: 38px;
    }

    .project img {
        max-width: 350px;
    }

    .why-choose-container h2 {
        font-size: 46px;
        line-height: 55px;
    }

    .why-choose-container p {
        font-size: 20px;
        max-width: 800px;
    }

    .step-facts-container {
        gap: 35px;
    }

    .step h3 {
        font-size: 36px;
    }

    .portfolio-heading h2 {
        font-size: 42px;
        line-height: 50px;
    }

    .portfolio-heading p {
        font-size: 30px;
    }

    .category {
        font-size: 19px;
    }

    .sample-projects {
        gap: 30px;
    }

    .call-of-action-heading h2 {
        font-size: 42px;
        line-height: 52px;
    }

    .call-of-action-heading p {
        font-size: 24px;
    }

    .footer-top {
        padding: 60px 12%;
    }

    .footer-main-content {
        gap: 25px;
    }

    .navigate-col li a {
        font-size: 15px;
    }

    .footer-bottom {
        padding: 25px 12%;
        font-size: 14.5px;
    }

    .history-card {
      width: 350px;
      height: 400px;
    }
    
    .login-container {
        padding-left: 150px;
        padding-right: 150px;
    }

    .login-form {
        padding-left: 60px;
        padding-right: 60px;
    }

    .login-btn {
        font-size: 22px;
        padding: 12px 30px;
    }

    .login-header h1 {
        font-size: 40px;
    }

    .login-header p {
        font-size: 18px;
    }
    
    .about-headline::after {
        height: 50px;
    }
    
    .about-headline-container h1,
    .about-headline-container span {
        font-size: 60px;
    }
    
    .services-heading h2,
    .services-heading span {
        font-size: 50px;
    }
    
    .services-heading p {
        font-size: 17.5;
        
    }
    
    .services-container img {
        max-width: 400px;
        height: 400px;
    }
    
    .services::after {
        height: 50px;
    }
}


@media (min-width: 969px) and (max-width: 1199px) {
    nav {
        padding: 1em 5%;
    }

    ul.links {
        gap: 2em;
    }

    .links a {
        font-size: 16.2px;
    }

    .banner-heading h1 {
        font-size: 60px;
    }
    
    .banner-heading p {
        font-size: 26px;
        margin-bottom: 20px;
    }

    .arrow {
        width: 80px;
        height: 75px;
    }
    
    .arrow img {
        width: 35px;                          
        height: auto;
    }

    .why-choose-container p {
        max-width: 100%;
    }

    .testimonial-heading {
        padding-top: 40px;
    }

    .testimonial-heading  h2 {
        margin-right: 20px;
        font-size: 35px;
        line-height: 45px;
    }

    .btn-box {
        width: 100%;
        padding: 0 0;
    }

    .about-history-mv {
        padding: 5% 10%;
    }
    
    .about-headline::after {
        height: 50px;
    }
    
    .about-headline-container h1,
    .about-headline-container span {
        font-size: 55px;
    }
  
    .about-headline-container p {
        font-size: 18px;
        line-height: 40px;
    }

    .history-card {
        width: 320px;
        height: auto;
    }

    .history-image {
        width: 80%;
        height: 550px;
    }
    
    .mission-card, .vision-card {
        height: auto;
    }

    .about-mv {
        gap: 40px;
    }

    #coo, #ceo {
        padding: 5% 10%;
    }
    
    .coo-container, .ceo-container {
        gap: 45px !important;
    }

    .coo-container img, .ceo-container img {
        width: 350px;
        height: 350px;
    }

    .coo-description, .ceo-description {
        gap: 20px;
    }
    .coo-container h3, .ceo-container h3 {
        font-size: 32px;
    }

    .coo-container h5, .ceo-container h5 {
        font-size: 23px;
    }

    .coo-description p,
    .ceo-description p {
        width: 100%;
        font-size: 18px;
    }

    #organization {
        padding: 5% 10%;
    }
       
    .organization-container {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .team-member {
        grid-template-rows: auto auto auto;
        gap: 0;
    }
    
    .team-member .bx-user {
        font-size: 120px;
    }

    .name-role h3 {
        font-size: 23px;
    }

    .name-role h5 {
        font-size: 18px;
    }

    .project {
        width: calc(50% - 20px); 
    }

    .login-container {
        padding-left: 100px;
        padding-right: 100px;
    }

    .login-form {
        padding-left: 50px;
        padding-right: 50px;
    }

    .login-btn {
        font-size: 21px;
        padding: 10px 25px;
    }

    .login-header h1 {
        font-size: 38px;
    }

    .login-header p {
        font-size: 17px;
    }
    
    .services::after {
        height: 50px;    
    }
    
    .services-container img {
        display: none;    
    }
    
    .services-heading h2,
    .services-heading span {
        font-size: 50px;
    }
    
    .services-heading p {
        max-width: 100%;
    }
    
    #contact-form form {
        flex-direction: column;
        justify-content: center;
        align-content: center;
        align-items: center;
        gap: 50px;
    }
    
    .form-right {
        width: 100%;
    }
    
}


@media (max-width: 968px) {
    section {
        padding: 8em 15%;        
    }

    nav {
        padding: 1em 15%;
    }

    ul.links {
        display: none;
    }

    .links.active {
        display: block;
    }

    .links {
        position: absolute;
        top: 100%;
        width: 100%;
        right: 0;
        padding: 1em 3em;
        color: white;
        display: flex;
        flex-direction: column;
        text-align: center;
        background: #000000E6;
        display: none;
    }

    .links a:hover {
        color: var(--light-green);
        opacity: 100%;
        transform: scale(1.1);  
    }

    .links a.contact-nav {
        background-color: transparent;
    }

    .links a.contact-nav:hover {
        background-color: transparent;
    }

    .links a.active::after {
        width: 10%;        
        background-color: var(--light-green);             
    }

    .links a.active {
        color: var(--light-green); 
    }

    .links a.contact-nav.active {
        color: var(--light-green) !important;
        border: none !important;
        opacity: 100% !important;
        text-decoration: underline; 
        text-underline-offset: 20px;   
        text-decoration-thickness: 1px;
    }

    .contact-nav.active::after {
        width: 10% !important;        
        background-color: var(--light-green) !important;               
    }

    .links a {
        margin: 2em 0;
        display: block;
        font-size: 1.5em;
        color: white;
    }
    
    .banner-heading h1 {
        font-size: 57px;
    }
    
    .banner-heading p {
        font-size: 25px;
        margin-bottom: 20px;
    }

    .arrow {
        width: 80px;
        height: 75px;
    }
    
    .arrow img {
        width: 35px;                          
        height: auto;
    }

    #menu {
        display: block; 
        cursor: pointer;
    }
    
    .why-choose-container {
        max-width: 100%;
        justify-content: center;
    }

    .why-choose-container h2 {
        font-size: 38px;
        line-height: 45px;

    }

    .why-choose-container h2::after {
        max-width: 70%;
    }

    .why-choose-container p {
        max-width: 100%;
        font-size: 17px;
    }

    .why-choose-container span {
        font-size: 18px;
    }

    .step-facts-container {
        flex-direction: column;
    }

    .step {
        max-width: 100% !important;
    }

    .step img {
        max-width: 100%;
    }
    .step h3 {
        font-size: 35px !important;
        text-align: center;
    }
    .testimonial-wrapper {
        margin: 0 0;
    }

    .carousel-arrow {
        display: none;
    }

    .testimonial-heading {
        padding-top: 40px;
    }

    .testimonial-heading  h2 {
        margin-right: 20px;
        font-size: 35px;
        line-height: 45px;
    }

    .btn-box {
        width: 100%;
        padding: 0 0;
    }

    .testimonial-wrapper {
        margin: 0 0;
    }

    .about-headline-container h1,
    .about-headline-container span {
        font-size: 55px;
    }
  
    .about-headline-container p {
        font-size: 18px;
        line-height: 40px;
    }

    .about-history-mv {
        padding: 5% 8%;
    }

    .history-card {
        width: 320px;
        height: auto;
    }

    .history-image {
        width: 80%;
        height: 550px;
    }
    
    .mission-card, .vision-card {
        height: auto;
    }

    .about-mv {
        gap: 40px;
    }
    
    #coo, #ceo {
        padding: 5% 10%;
    }
    
    .coo-container, .ceo-container {
        flex-direction: column;
        gap: 45px !important;
        text-align: center;
    }

    .ceo-container img {
        order: 1;
    }

    .ceo-container .ceo-description {
        order: 2;
    }
    
    .coo-container img, .ceo-container img {
        width: 350px;
        height: 350px;
    }

    .coo-description, .ceo-description {
        gap: 20px;
    }
    .coo-container h3, .ceo-container h3 {
        font-size: 28px;
    }

    .coo-container h5, .ceo-container h5 {
        font-size: 20px;
    }

    .coo-description p,
    .ceo-description p {
        width: 100%;
        font-size: 16px;
    }

    #organization {
        padding: 5% 8%;
    }

    .organization-container {
        grid-template-columns: repeat(1, 1fr);
    }

    .team-member {
        grid-template-rows: auto;
        gap: 15px;
    }

    .team-member .bx-user {
        font-size: 100px;
    }

    .name-role h3 {
        font-size: 20px;
    }

    .name-role h5 {
        font-size: 16px;
    }

    .footer-top {
        flex-direction: column;
        align-items: center;
        padding: 50px 10%;
        gap: 40px;
        text-align: center;
    }
    
    .footer-main-content {
        flex-direction: column;
        gap: 30px;
        align-items: center;
    }
    
    .about-section {
        max-width: 100%;
    }
    
    .about-header {
        gap: 5px;
        justify-content: center;
    }
    
    
    .navigate-section {
        justify-content: center;
    }

    .navigate-section h1 {
        font-size: 30px;
    }
    
    .navigate-columns {
        flex-direction: column;
        gap: 10px;
        align-items: center;
        text-align: center;
    }
    
    .navigate-col {
        gap: 10px;
    }

    .navigate-col:not(.right-col) {
        margin: 0 0;
        font-size: 12px;
    }
    
    .right-col {
        margin: 0 0;
        font-size: 12px;
    }

    .separator {
        min-height: 2px;
        min-width: 100%;
        margin: 0 0;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 10px;
        padding: 20px 10%;
        text-align: center;
    }

    .project {
        width: calc(50% - 20px); 
    }

    .login-container {
        padding-left: 50px;
        padding-right: 50px;
    }

    .login-form {
        padding-left: 30px;
        padding-right: 30px;
    }

    .login-btn {
        font-size: 20px;
        padding: 10px 20px;
    }

    .login-header h1 {
        font-size: 35px;
    }

    .login-header p {
        font-size: 16px;
    }
    
    .services-container {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    
    .services::after {
        height: 50px;    
    }
    
    .services-container img {
        display: none;    
    }
    
    .services-heading h2,
    .services-heading span {
        font-size: 50px;
    }
    
    .services-heading p {
        max-width: 100%;
    }
    
        
    #contact-form form {
        flex-direction: column;
        justify-content: center;
        align-content: center;
        align-items: center;
        gap: 50px;
    }
    
    .contact-heading-left h1 {
        font-size: 45px;
    }
    
    .contact-heading-left p {
        font-size: 25px;
    }
    
    .form-right {
        width: 100%;
    }
    
    .call-of-action .btn-box {
        display: flex; 
        justify-content: center;
        align-items: center;
        width: 100%;
        align-self: center;
    }
    
    .call-of-action-heading {
        text-align: center;
        justify-content: center;
        align-items: center;
    }
    
    .form-left {
        display: flex;
        flex-direction: column;
    }
    
    .submit-button {
        align-self: center;
        justify-content: center;
    }
    
    .category {
        font-size: 18px;
    }
}

@media (min-width: 601px) and (max-width: 768px) {
    nav {
        padding: 1em 8%;
        flex-wrap: wrap;
    }

    .banner-heading h1 {
        font-size: 57px;
    }
    
    .banner-heading p {
        font-size: 25px;
        margin-bottom: 20px;
    }

    .project img {
        max-width: 300px;
    }

    section {
        padding: 6em 10%;
    }

    .btn {
        font-size: 20px;
        padding: 10px 25px;
    }

    .arrow {
        display: none;
    }

    .why-choose-container {
        max-width: 100%;
        justify-content: center;
    }

    .why-choose-container h2 {
        font-size: 38px;
        line-height: 45px;

    }

    .why-choose-container h2::after {
        max-width: 70%;
    }

    .why-choose-container p {
        max-width: 100%;
        font-size: 17px;
    }

    .why-choose-container span {
        font-size: 18px;
    }

    .step-facts-container {
        flex-direction: column;
    }

    .step {
        max-width: 100% !important;
    }

    .step img {
        max-width: 100%;
    }
    .step h3 {
        font-size: 35px !important;
        text-align: center;
    }

    .testimonial-wrapper {
        margin: 0 0;
    }

    .carousel-arrow {
        display: none;
    }

    .testimonial-heading {
        padding-top: 40px;
    }

    .testimonial-heading  h2 {
        margin-right: 20px;
        font-size: 35px;
        line-height: 45px;
    }

    .btn-box {
        width: 100%;
        padding: 0 0;
    }

    .testimonial-wrapper {
        margin: 0 0;
    }

    .project img {
        max-width: 100%;
    }
    
    .portfolio-heading br {
        display: none;
    }

    .portfolio-heading {
        margin-top: 20px;
    }

    .portfolio-heading h2 {
        font-size: 38px;
        line-height: 45px;
    }

    .portfolio-heading p {
        font-size: 28px;
    }

    .category-list {
        gap: 1.5em;
    }

    .category {
        font-size: 16px;
    }

    .sample-projects {
        flex-direction: column;
    }

    .about-headline-container {
        align-items: center;
    }
    
    .about-history-mv::before {
        top: 40px;
        height: 180px;
    }
    
    .about-headline::after {
        height: 40px;
    }
    
    .about-headline-container h1,
    .about-headline-container span {
        text-align: center;
        justify-content: center;
    }
  
    .about-headline-container p {
        text-align: center;
        justify-content: center;
    }

    .about-history-mv {
        padding: 5% 8%;
    }

    .history-card {
        width: 320px;
        height: auto;
    }

    .history-image {
        width: 80%;
        height: 550px;
    }
    
    .mission-card, .vision-card {
        height: auto;
    }

    .about-mv {
        flex-direction: column;
    }
    
    .coo-container, .ceo-container {
        flex-direction: column;
        gap: 45px !important;
    }

    .ceo-container img {
        order: 1;
    }

    .ceo-container .ceo-description {
        order: 2;
    }
    .coo-container img, .ceo-container img {
        width: 350px;
        height: 350px;
    }

    .coo-description, .ceo-description {
        gap: 20px;
    }
    .coo-container h3, .ceo-container h3 {
        font-size: 28px;
    }

    .coo-container h5, .ceo-container h5 {
        font-size: 20px;
    }

    .coo-description p,
    .ceo-description p {
        width: 100%;
        font-size: 16px;
    }

    #organization {
        padding: 5% 8%;
    }

    .organization-container {
        grid-template-columns: repeat(1, 1fr);
    }

    .team-member {
        grid-template-rows: auto;
        gap: 15px;
    }

    .team-member .bx-user {
        font-size: 100px;
    }

    .name-role h3 {
        font-size: 20px;
    }

    .name-role h5 {
        font-size: 16px;
    }

    .call-of-action {
        justify-content: center;
    }

    .call-of-action-heading{
        align-self: center;
    }
    .call-of-action-heading h2 {
        font-size: 38px;
        line-height: 45px;
    }

    .call-of-action p {
        font-size: 18px;
    }
    
    .call-of-action .btn-box {
        display: flex; 
        justify-content: center;
        align-items: center;
        width: 100%;
        align-self: center;
    }
    
    .footer-top {
        flex-direction: column;
        align-items: center;
        padding: 50px 10%;
        gap: 40px;
        text-align: center;
    }
    
    .footer-main-content {
        flex-direction: column;
        gap: 30px;
        align-items: center;
    }
    
    .about-section {
        max-width: 100%;
    }
    
    .about-header {
        gap: 5px;
        justify-content: center;
    }

    .navigate-section {
        justify-content: center;
    }

    .navigate-section h1 {
        font-size: 26px;
    }
    
    .navigate-columns {
        flex-direction: column;
        gap: 10px;
        align-items: center;
        text-align: center;
    }
    
    .navigate-col:not(.right-col) {
        margin: 0 0;
        font-size: 12px;
    }
    
    .right-col {
        margin: 0 0;
        font-size: 12px;
    }

    .separator {
        min-height: 2px;
        min-width: 100%;
        margin: 0 0;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 10px;
        padding: 20px 10%;
        text-align: center;
    }

    .project {
        width: 100%;
    }

    .login-container {
        padding-left: 30px;
        padding-right: 30px;
    }

    .login-form {
        padding-left: 20px;
        padding-right: 20px;
    }

    .login-btn {
        font-size: 18px;
        padding: 10px 15px;
    }

    .login-header h1 {
        font-size: 32px;
    }

    .login-header p {
        font-size: 14px;
    }

    .login-header h1 {
        padding-left: 32px;
        font-size: 32px;
    }

    .login-header p {
        padding-left: 32px;
        word-wrap: break-word;
        width: 350px;
        font-size: 14px;
    }

    .login-container img {
        margin-right: 30px;
        width: 70px;
        height: 70px;
    }
    
    .services::after {
        height: 40px;    
    }
    
    .services-container img {
        display: none;    
    }
    
    .services-heading {
        justify-content: center;
        align-items: center;
    }
    
    .services-heading h2,
    .services-heading span {
        font-size: 55px;
        text-align: center;
        line-height: 70px;
    }
    
    .services-heading p {
        max-width: 100%;
        text-align: center;
    }
    
    #contact-heading {
        padding: 5% 8%;    
    }
    
    .contact-heading-content {
        margin-top: 100px;
        gap: 12px;
    }
    
    .contact-heading-content img {
        width: 175px;    
        height: auto;
    }
    
    .contact-heading-left h1 {
        font-size: 40px;
    }
    
    .contact-heading-left p {
        font-size: 20px;
    }
    
    .form-row {
        flex-wrap: wrap;
    }
    
    .form-left {
        display: flex;
        flex-direction: column;
    }
    
    .submit-button {
        align-self: center;
        justify-content: center;
    }
    
    .category {
        font-size: 18px;
        display: flex;
        align-items: center;
    }
}

@media (min-width: 480px) and (max-width: 600px) {
    nav {
        padding: 1em 5%;
        flex-direction: row;
        gap: 0.2em;
    }

    .banner-heading {
        width: 400px;
    }

    .banner-heading h1 {
        font-size: 60px;
        line-height: 1.5;
        word-break: break-word;
        overflow-wrap: break-word;
        
    }

    .banner-heading p {
        margin-top: 20px;
        font-size: 29px;
    }

    section {
        padding: 5em 7%;
    }

    .testimonial-heading .btn-box .btn {
        padding: 9px 20px;
        font-size: 14.5px;
    }

    .arrow {
        display: none;
    }

    .project img {
        max-width: 100%;
    }

    .why-choose-container {
        max-width: 100%;
        justify-content: center;
    }

    .why-choose-container h2 {
        font-size: 38px;
        line-height: 45px;

    }

    .why-choose-container h2::after {
        max-width: 70%;
    }

    .why-choose-container p {
        max-width: 100%;
        font-size: 17px;
    }

    .why-choose-container span {
        font-family: 18px;
    }

    .step-facts-container {
        flex-direction: column;
    }

    .step {
        max-width: 100% !important;
    }

    .step img {
        max-width: 100%;
    }

    .step h3 {
        font-size: 35px !important;
        text-align: center;
    }

    .carousel-arrow {
        display: none;
    }

    .testimonial-heading {
        padding-top: 40px;
    }

    .testimonial-heading  h2 {
        font-size: 38px;
        line-height: 45px;
    }

    .btn-box {
        width: 100%;
        padding: 0 0;
    }

    .testimonial-wrapper {
        margin: 0 0;
    }

    .portfolio-heading br {
        display: none;
    }

    .portfolio-heading {
        margin-top: 20px;
    }

    .portfolio-heading h2 {
        font-size: 38px;
        line-height: 45px;
    }

    .portfolio-heading p {
        font-size: 28px;
    }

    .category-list {
        gap: 1em;
        flex-wrap: wrap;
    }

    .category {
        font-size: 16px;
    }

    .sample-projects {
        flex-direction: column;
    }

    .about-headline-container {
        align-items: center;
    }
    .about-headline-container h1,
    .about-headline-container span {
        text-align: center;
        justify-content: center;
        font-size: 44px;
    }
  
    .about-headline-container p {
        text-align: center;
        justify-content: center;
        font-size: 17px;
    }

    .about-history-mv {
        min-height: auto;
        padding: 20px;
    }
    
    .about-history-mv::before {
        top: 30px;
        height: 150px;
    }
    
    .about-history-mv-container {
       padding-top: 50px;
       gap: 40px;
    }
    
    .about-history {
        display: flex;
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }
    
    .history-card h5::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 40%;
        height: 2px;
        background-color: var(--light-green);
    }

    .history-card {
        position: relative;
        width: 100%;
        height: auto;
        left: 0;
        bottom: 0;
        padding: 20px;
        margin-bottom: 20px;
        box-shadow: 0 2px 8px #1d1d1d40;
        order: 2;
        padding: 59px 60px;
        align-items: center;
    }
    
    .history-card h5 {
        font-size: 45px;
        text-align: center;
        padding-bottom: 10px;
    }
    
    .history-card p {
        width: 100%;
        font-size: 18px;
        text-align: center;
    }
    
    .history-image {
        position: relative;
        width: 100%;
        height: 300px;
        right: auto;
        bottom: auto;
        margin-top: 20px;
        order: 1;
    }
    
    .history-card .btn-box {
        justify-content: center;

    }
    
    .mission-card, .vision-card {
        height: auto;
    }

    .about-mv {
        flex-direction: column;
    }
    
    .coo-container, .ceo-container {
        flex-direction: column;
        gap: 45px !important;
    }

    .ceo-container img {
        order: 1;
    }

    .ceo-container .ceo-description {
        order: 2;
    }
    .coo-container img, .ceo-container img {
        width: 350px;
        height: 350px;
    }

    .coo-description, .ceo-description {
        gap: 20px;
    }
    .coo-container h3, .ceo-container h3 {
        font-size: 28px;
        text-align: center;
    }

    .coo-container h5, .ceo-container h5 {
        font-size: 20px;
        text-align: center;
    }

    .coo-description p,
    .ceo-description p {
        width: 100%;
        font-size: 16px;
        text-align: center;
    }

    #organization {
        padding: 5% 8%;
    }

    .organization-container {
        grid-template-columns: repeat(1, 1fr);
    }

    .team-member {
        grid-template-rows: auto;
        gap: 15px;
    }

    .team-member .bx-user {
        font-size: 100px;
    }

    .name-role h3 {
        font-size: 20px;
    }

    .name-role h5 {
        font-size: 16px;
    }

    .call-of-action {
        justify-content: center;
    }

    .call-of-action-heading{
        align-self: center;
    }
    
    .call-of-action-heading h2 {
        font-size: 38px;
        line-height: 45px;
    }

    .call-of-action-heading p {
        font-size: 18px;
    }
    
    .call-of-action-heading br {
        display: none;
    }
    
    .footer-top {
        flex-direction: column;
        align-items: center;
        padding: 50px 10%;
        gap: 40px;
        text-align: center;
    }
    
    .footer-main-content {
        flex-direction: column;
        gap: 30px;
        align-items: center;
    }
    
    .about-section {
        max-width: 100%;
    }
    
    .about-header {
        gap: 5px;
        justify-content: center;
    }

    .navigate-section {
        justify-content: center;
    }

    .navigate-section h1 {
        font-size: 30px;
    }
    
    .navigate-columns {
        flex-direction: column;
        gap: 10px;
        align-items: center;
        text-align: center;
    }
    
    .navigate-col {
        gap: 10px;
    }

    .navigate-col:not(.right-col) {
        margin: 0 0;
        font-size: 12px;
    }
    
    .right-col {
        margin: 0 0;
        font-size: 12px;
    }

    .separator {
        min-height: 2px;
        min-width: 100%;
        margin: 0 0;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 10px;
        padding: 20px 10%;
        text-align: center;
    }

    .project {
        width: 100%;
    }

    .login-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .login-form {
        padding-left: 15px;
        padding-right: 15px;
    }

    .login-btn {
        font-size: 16px;
        padding: 10px 12px;
    }

    .login-header h1 {
        padding-left: 30px;
        font-size: 30px;
    }

    .login-header p {
        padding-left: 30px;
        word-wrap: break-word;
        width: 290px;
        font-size: 13px;
    }

    .login-container img {
        margin-right: 30px;
        width: 75px;
        height: 75px;
    }
    
     .services-container img {
        display: none;    
    }
    
    .services-heading {
        justify-content: center;
        align-items: center;
    }
    
    .services-heading h2,
    .services-heading span {
        text-align: center;
    }
    
    .services-heading p {
        max-width: 100%;
        text-align: center;
        font-size: 17px;
    }
    
    .contact-heading-content {
        margin-top: 100px;
        gap: 12px;
    }
    
    .contact-heading-content img {
        width: 125px;    
        height: auto;
    }
    .contact-heading-left h1 {
        font-size: 35px;
    }
    
    .contact-heading-left p {
        font-size: 15px;
    }
    
    .form-row {
        flex-wrap: wrap;
    }
    
    .form-left {
        display: flex;
        flex-direction: column;
    }
    
    .submit-button {
        align-self: center;
        justify-content: center;
    }
}

@media (min-width: 360px) and (max-width: 479px) {
    nav {
        padding: 1em 4%;
        flex-direction: row;
        gap: 0.5em;
        justify-content: space-evenly;
        align-items: center;
        text-align: center;
    }

    .nav-left {
        width: 140px;
    }

    .logo img {
        max-width: 135px;
        height: auto;
    }

    .user-menu {
        min-width: 135px;
        gap: 12.5px;
    }

    .user-icon {
        font-size: 35px;
    }

    .dropdown-icon {
        font-size: 1rem;
    }

    #menu {
        font-size: 2em;
    }

    .banner-heading {
        width: 100%;
        text-align: center;
    }

    .banner-heading h1 {
        font-size: 65px;
        line-height: 1.3;
        word-break: break-word;
        overflow-wrap: break-word;
    }

    .banner-heading p {
        margin-top: 25px;
        padding: 10px 40px;
        font-size: 26px;
    }

   .user-menu #username {
        font-size: 15px;
        max-width: 70px;
        margin-right: 0;
    }

    section {
        padding: 3em 6%;
    }

    .arrow {
        display: none;
    }

    .project img {
        max-width: 100%;
    }

    .why-choose-container {
        max-width: 100%;
        justify-content: center;
        text-align: center;
    }

    .why-choose-container h2 {
        font-size: 30px;
        line-height: 38px;
    }

    .why-choose-container h2::after {
        max-width: 80%;
    }

    .why-choose-container p {
        font-size: 15px;
    }

    .why-choose-container span {
        font-size: 15px;
    }

    .step-facts-container {
        flex-direction: column;
    }

    .step {
        max-width: 100% !important;
        text-align: center;
    }

    .step img {
        max-width: 100%;
    }

    .step h3 {
        font-size: 28px !important;
    }
    
    .carousel-arrow {
        display: none;
    }

    .testimonial-heading {
        flex-direction: column;
        align-items: center;
        gap: 25px;
        padding-top: 30px;
    }

    .testimonial-heading h2 {
        padding-right: 50px;
        font-size: 30px;
        line-height: 38px;
        text-align: left;
    }

    .testimonial-line {
        margin-right: 0;
    }

    .btn-box {
        width: 100%;
        padding: 0;
    }

    .testimonial-wrapper {
        margin: 0;
    }

    .testimonial-content {
        padding: 25px;
    }

    .testimonial-text {
        font-size: 16px;
        line-height: 1.5;
    }

    .star-rating {
        font-size: 30px;
        letter-spacing: 3px;
    }

    .carousel-arrow {
        display: none;
    }

    .carousel-dots {
        padding-bottom: 10px;
    }

    .client-details {
        max-width: 120px;
        overflow-wrap: break-word;
        word-wrap: break-word;
        word-break: break-word;
        white-space: normal;
        font-size: 15px;
    }
    
    .client-name,
    .client-title {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        display: block;
        max-width: 100%;
        font-size: 13px;
    }
    .client-photo {
        width: 45px;
        height: auto;
    }

    .client-photo .photo-placeholder {
        width: 45px;
        height: 45px;
    }

    .portfolio-heading br {
        display: none;
    }

    .portfolio-heading {
        margin-top: 20px;
        text-align: center;
    }

    .portfolio-heading h2 {
        font-size: 30px;
        line-height: 38px;
    }

    .portfolio-heading p {
        font-size: 18px;
    }

    .portfolio-categories {
        justify-content: center;
    }
    
    .category-list {
        gap: 0.5em;
        flex-wrap: wrap;
        justify-content: center;
    }

    .category {
        font-size: 17px;
        padding: 3px 10px;
        align-items: center;
    }

    .sample-projects {
        flex-direction: column;
    }

    .about-headline-container {
        align-items: center;
        justify-content: center !important;
    }
    
    .about-headline-container h1,
    .about-headline-container span {
        text-align: center;
        justify-content: center;
        font-size: 30px;
    }
  
    .about-headline-container p {
        text-align: center;
        justify-content: center;
        font-size: 17px;
    }

    .about-history-mv {
        min-height: auto;
        padding: 20px;
    }
    
    .about-history-mv::before {
        top: 30px;
        height: 150px;
    }
    
    .about-history-mv-container {
       padding-top: 50px;
       gap: 40px;
    }
    
    .about-history {
        display: flex;
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }
    
    .history-card h5::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 40%;
        height: 2px;
        background-color: var(--light-green);
    }

    .history-card {
        position: relative;
        width: 100%;
        height: auto;
        left: 0;
        bottom: 0;
        padding: 20px;
        margin-bottom: 20px;
        box-shadow: 0 2px 8px #1d1d1d40;
        order: 2;
        padding: 49px 50px;
        align-items: center;
    }
    
    .history-card h5 {
        font-size: 30px;
        text-align: center;
        padding-bottom: 10px;
    }
    
    .history-card p {
        width: 100%;
        font-size: 15px;
        text-align: center;
    }
    
    .history-image {
        position: relative;
        width: 100%;
        height: 300px;
        right: auto;
        bottom: auto;
        margin-top: 20px;
        order: 1;
    }
    
    .history-card .btn-box {
        justify-content: center;

    }
    
    .mission-card, .vision-card {
        height: auto;
        padding: 49px 50px;
    }

    .mission-card h5, .vision-card h5 {
        font-size: 30px;
    }

    .mission-card p, .vision-card p {
        font-size: 15px;
    }

    .about-mv {
        flex-direction: column;
    }
    
    .coo-container, .ceo-container {
        flex-direction: column;
        gap: 45px !important;
    }

    .ceo-container img {
        order: 1;
    }

    .ceo-container .ceo-description {
        order: 2;
    }

    .coo-container img, .ceo-container img {
        width: 250px;
        height: auto;
    }

    .coo-description, .ceo-description {
        gap: 20px;
    }
    .coo-container h3, .ceo-container h3 {
        font-size: 28px;
        text-align: center;
    }

    .coo-container h5, .ceo-container h5 {
        font-size: 20px;
        text-align: center;
    }

    .coo-description p,
    .ceo-description p {
        width: 100%;
        font-size: 16px;
        text-align: center;
    }

    #organization {
        padding: 5% 8%;
    }

    .organization-container {
        grid-template-columns: repeat(1, 1fr);
    }

    .team-member {
        display: flex;
        flex-direction: column;
        align-items: center; 
        text-align: center;
    }

    .team-member .bx-user {
        font-size: 100px;
        display: flex;
        text-align: center;
    }

    .name-role h3 {
        font-size: 20px;
    }

    .name-role h5 {
        font-size: 16px;
    }

    .call-of-action {
        justify-content: center;
        text-align: center;
    }

    .call-of-action-heading {
        align-self: center;
    }

    .call-of-action-heading h2 {
        font-size: 30px;
        line-height: 38px;
    }

    .call-of-action p {
        font-size: 16px;
    }
    
    .call-of-action .btn-box {
        display: flex; 
        justify-content: center;
        align-items: center;
        width: 100%;
        align-self: center;
    }
    
    .call-of-action-heading br {
        display: none;
    }
    
    .footer-main-content {
        flex-direction: column;
    }
    

    .about-header {
        justify-content: center;
    }

    .separator {
        min-height: 2px;
        min-width: 100%;
        margin: 0 0;
    }
    
    .footer-top {
        flex-direction: column;
        align-items: center;
        padding: 40px 8%;
        gap: 30px;
        text-align: center;
    }

    .navigate-section {
        justify-content: center;
        align-items: center;
    }

    .navigate-section h1 {
        font-size: 24px;
    }

    .navigate-columns {
        flex-direction: column;
        gap: 10px;
        align-items: center;
        text-align: center;
    }
    
    .navigate-col {
        gap: 10px;
    }

    .navigate-col:not(.right-col),
    .right-col {
        margin: 0;
        font-size: 11px;
    }
 
    .footer-bottom {
        flex-direction: column;
        gap: 8px;
        padding: 15px 8%;
        text-align: center;
    }

    .project {
        width: 100%;
    }
    
    .login-container input[type="text"],
    .login-container input[type="email"],
    .login-container input[type="password"] {
        width: 100%;
        box-sizing: border-box; 
    }
    
    .login-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .login-form {
        padding-left: 10px;
        padding-right: 10px;
    }

    .login-btn {
        font-size: 17px;
        padding: 15px 15px;
        margin-top: 0;
    }

    .login-header h1 {
        padding-left: 25px;
        font-size: 28px;
    }

    .login-header p {
        padding-left: 25px;
        word-wrap: break-word;
        width: 190px;
        font-size: 12px;
    }

    .login-container img {
        margin-right: 25px;
        width: 70px;
        height: 70px;
    }
    
    .forgot-password {
        padding-top: 0;
    }
    
    .login-terms {
        padding-left: 30px;
        padding-right: 30px;
        font-size: 15.5px;
        
    }
    
    .services::after {
        height: 40px;   
    }
    
    .services-container img {
        display: none;    
    }
    
    .services-heading {
        justify-content: center;
        align-items: center;
    }
    
    .services-heading h2,
    .services-heading span {
        font-size: 35px;
        text-align: center;
    }
    
    .services-heading p {
        max-width: 100%;
        text-align: center;
        font-size: 17px;
    }
    
    .contact-heading-content {
        margin-top: 90px;
        gap: 15px;
    }
    
    .contact-heading-content img {
        width: 100px;    
        height: auto;
    }
    .contact-heading-left h1 {
        font-size: 25px;
    }
    
    .contact-heading-left p {
        font-size: 15px;
    }
    
    .form-row {
        flex-wrap: wrap;
    }
    
    .about-headline::after {
        height: 40px;
    }
    
    .company-info h2 {
        text-align: center;    
    }
    
    .company-info p {
        font-size: 14px;
    }
    
    .form-left {
        display: flex;
        flex-direction: column;
    }
    
    .submit-button {
        align-self: center;
        justify-content: center;
    }
}