@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@300;400;600;700&family=Roboto:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    overflow-x: hidden;
}

body {
    font-family: 'Nunito', sans-serif;
    line-height: 1.6;
    padding-top: 132px;
    position: relative;
}

/* Header styles */
.main-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: #2A0944;
    padding: 1rem 2rem;
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo-image {
    height: 100px;
    width: auto;
    margin-left: -200px;

}

.nav-links {
    display: flex;
    list-style: none;
    gap: 2rem;
}

.nav-links a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
    position: relative;
    font-size: 1.25rem;
}

.nav-links a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    background: #fff;
    left: 0;
    bottom: -5px;
    transition: width 0.3s ease;
}

.nav-links a:hover::after {
    width: 100%;
}

.dropdown {
    position: relative;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #2A0944;
    min-width: 160px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
    z-index: 1;
    border-radius: 4px;
    margin-top: 0.5rem;
    transition: all 0.3s ease;  
    padding: 0.5rem 0;        
}

.dropdown:hover .dropdown-content,
.dropdown-content:hover {      
    display: block;
}

.dropdown-content li {
    display: block;
}

.dropdown-content a {
    color: #fff;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    white-space: nowrap;      
}

.dropdown-content a:hover {
    background-color: #3a0d5f;
}


.dropdown > a {
    padding-bottom: 1rem;     
}

/* Hero section */
.hero {
    height: 60vh;
    width: 100%;
    background-image: url('../images/global-technology2.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-top: -132px;
}

/* homepage welcome styles */
.homepage-welcome {
    width: 100%;
    padding: 4rem 0;
    position: relative;
}

.welcome-content {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 25%; 
    gap: 2rem;
    align-items: center;
}

.welcome-text {
    padding: 0;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    left: 20%;
}

.welcome-image {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 17.5%;  
}

.welcome-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* homepage services section */
.homepage-services {
    width: 100%;
    height: 500px;
    background-color: #2A0944;  /* Deep purple */
    padding: 4rem 0;
    color: #fff;
}

.homepage-services h2 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 3rem;
    font-weight: 600;
}

.services-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    padding: 0 2rem;
}

.service-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.service-image {
    width: 100%;
    height: 250px;
    overflow: hidden;
    border-radius: 8px;
}

.service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-item span {
    font-size: 1.5rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.service-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    transition: transform 0.3s ease;
}

.service-link:hover {
    transform: translateY(-5px);
}


/* homepage products Section Styles */
.homepage-products-section {
    width: 100%;
    padding: 4rem 0;
    background: #fff;
    position: relative;
}

.products-content {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 3rem;
}

.products-left-image {
    position: absolute;
    left: 0;
    margin-left: 0;
    width: 400px;
}

.products-left-image img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.products-text {
    flex: 0 0 40%;
    padding: 0 2rem;
    margin-left: 200px;
}

.products-text h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: #333;
}

.products-text p {
    line-height: 1.8;
    color: #666;
}

.products-right-image {
    flex: 0 0 200px;
}

.products-right-image img {
    width: 450px;
    height: 400px;
    object-fit: cover;
}

/* homepage contact area */
.contact-signup-section {
    width: 100%;
    padding: 4rem 0;
    background-image: url('../images/technology-global-pattern.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
}

.contact-signup-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
}

.signup-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding: 0 2rem;
    position: relative;
    z-index: 1;
}

.signup-content h1 {
    color: #fff;
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}

.signup-content p {
    color: #fff;
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

.signup-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.form-row {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

.form-row input {
    padding: 0.8rem 1.2rem;
    border: none;
    border-radius: 4px;
    width: 100%;
    max-width: 300px;
    font-size: 1rem;
}

.signup-form button {
    background-color: #2A0944;
    color: #fff;
    border: none;
    padding: 1rem 2rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s ease;
    margin: 0 auto;
    width: fit-content;
}

.signup-form button:hover {
    background-color: #3a0d5f;
}

/*======== marine page styles === */
/*=============================== */

.marine-hero {
    height: 600px;
    width: 100%;
    background-image: url('../images/container-tow.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    margin-top: -132px;
    display: flex;
    align-items: center;
}

.marine-hero-content {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;  
}

.marine-hero-text {
    background-color: rgba(42, 9, 68, 0.8);
    padding: 2rem 3rem;
    max-width: 400px;
    margin: 0;  
    position: absolute;  
    left: 0;  
    transform: translateY(-50%);  
    top: 50%;
}

.marine-hero-text h1 {
    color: #fff;
    font-size: 3.5rem;
    margin: 0;
    font-weight: 300; 
}

/* welcome section marine page */
.marine-page-welcome {
    width: 100%;
    padding: 4rem 0;
    position: relative;
    height: 450px;
}

.marine-welcome-content {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 25%; 
    gap: 2rem;
    align-items: center;
}

.marine-welcome-text {
    padding: 0;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    left: 20%;
    font-size: x-large;
}

.marine-welcome-image {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 17.5%;  
}

.marine-welcome-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Mooring solutions section */
.mooring-solutions {
    width: 100%;
    height: 500px;
    background-color: #2A0944;
    padding: 4rem 0;
    color: #fff;
}

.mooring-solutions-content {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 4rem;
    padding: 0 2rem;
}

.mooring-solutions-text {
    flex: 0 0 50%;
}

.mooring-solutions-text h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    font-weight: 300;
}

.mooring-solutions-text p {
    line-height: 1.8;
    font-size: 1.1rem;
}

.mooring-solutions-image {
    flex: 0 0 40%;
}

.mooring-solutions-image img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

/*--- Towage and salvage area */
.towage-salvage-section {
    width: 100%;
    padding: 4rem 0;
    background-color: #fff;
}

.towage-salvage-content {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 4rem;
    padding: 0 2rem;
}

.towage-left-image1 {
    flex: 0 0 20%;  
    margin-left: -300px; 
}

.towage-left-image1 img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.towage-left-image2 {
    flex: 0 0 20%;  
}

.towage-left-image2 img {
    width: 400px;
    height: 400px;
    object-fit: cover;
}

.towage-salvage-text {
    flex: 0 0 50%;
}

.towage-salvage-text h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: #333;
    font-weight: 300;
}

.towage-salvage-text p {
    line-height: 1.8;
    color: #666;
    font-size: 1.1rem;
}

/* why choose area marine */
.marine-choose-section {
    background-image: url('../images/container-tow.jpg');
    background-size: cover;
    background-position: center;
    height: 400px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 2rem;
    margin-bottom: 0;
}

.marine-choose-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(42, 9, 68, 0.85);  
}

.marine-choose-section h2,
.marine-choose-section p {
    color: #fff;
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 800px;
}

.marine-choose-section h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    font-weight: 300;
}

.marine-choose-section p {
    line-height: 1.8;
    font-size: 1.1rem;
}

/*============= MARINE MOORING PAGE STYLES ====*/
/*=============================================*/
.mooring-hero {
    height: 600px;
    width: 100%;
    background-image: url('../images/cruiseliner-moored.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    margin-top: -132px;
    display: flex;
    align-items: center;
}

.mooring-hero-content {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;  
}

.mooring-hero-text {
    background-color: rgba(42, 9, 68, 0.8);
    padding: 2rem 3rem;
    max-width: 400px;
    margin: 0;  
    position: absolute;  
    left: 0;  
    transform: translateY(-50%);  
    top: 50%;
}

.mooring-hero-text h1 {
    color: #fff;
    font-size: 3.5rem;
    margin: 0;
    font-weight: 300; 
}

/* Applications area */
.mooring-applications {
    background-color: #2A0944;
    padding: 2rem 0;  
    color: #fff;
    min-height: 500px;  
}

.applications-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
    text-align: center;
}

.applications-content h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;  
    font-weight: 300;
}

.applications-content > p {
    max-width: 800px;
    margin: 0 auto 2rem;  
    line-height: 1.6;  
    font-size: 1.1rem;
}

.applications-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem; 
    margin-top: 2rem;  
}

.application-item {
    padding: 1.5rem; 
    transition: transform 0.3s ease;
}

.application-item:hover {
    transform: translateY(-5px);
}

.application-item i {
    margin-bottom: 1.5rem;
    color: #fff;
}

.application-item h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    font-weight: 300;
}

.application-item p {
    font-size: 1rem;
    line-height: 1.6;
}

/* Integration area */
.integration-section {
    background-color: #fff;
    padding: 4rem 0;
}

.integration-content {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    gap: 4rem;
    padding: 0 2rem;
}

.integration-text {
    flex: 0 0 45%;
}

.integration-item {
    margin-bottom: 3rem;
}

.integration-item:last-child {
    margin-bottom: 0;
}

.integration-item h2 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: #333;
    font-weight: 300;
}

.integration-item p {
    line-height: 1.8;
    color: #666;
    font-size: 1rem;
    max-width: 600px;
}

.integration-image {
    flex: 0 0 35%;
}

.integration-image img {
    width: 100%;
    height: 650px;  
    object-fit: cover;
    object-position: top;  
}

/*================ TOWING PAGE STYLES ==*/
/*======================================*/
.towing-hero {
    height: 600px;
    width: 100%;
    background-image: url('../images/container-tow6.jpg');
    background-size: 100% 130%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #f5f5f5;
    position: relative;
    margin-top: 0;
    padding-top: 132px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.towing-hero-content {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;  
}

.towing-hero-text {
    background-color: rgba(42, 9, 68, 0.8);
    padding: 2rem 3rem;
    max-width: 400px;
    margin: 0;  
    position: absolute;  
    left: 0;  
    transform: translateY(-50%);  
    top: 50%;
}

.towing-hero-text h1 {
    color: #fff;
    font-size: 3.5rem;
    margin: 0;
    font-weight: 300; 
}

.towing-welcome {
    background-color: #fff;
    padding: 4rem 0;
}

.towing-welcome-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding: 0 2rem;
}

.towing-welcome-content h1 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: #333;
    font-weight: 300;
}

.towing-welcome-content p {
    line-height: 1.8;
    color: #666;
    font-size: 1.1rem;
}

/* Towing applications area */
.towing-applications {
    background-color: #2A0944;
    padding: 3rem 0;
    color: #fff;
    height: 500px;
}

.towing-apps-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
    text-align: center;
}

.towing-apps-content h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    font-weight: 300;
}

.towing-apps-content > p {
    max-width: 800px;
    margin: 0 auto 2rem;
    line-height: 1.6;
    font-size: 1.1rem;
}

.towing-apps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
}

.towing-app-item {
    padding: 1.5rem;
    transition: transform 0.3s ease;
}

.towing-app-item:hover {
    transform: translateY(-5px);
}

.towing-app-item i {
    margin-bottom: 1.5rem;
    color: #fff;
}

.towing-app-item h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    font-weight: 300;
}

.towing-app-item p {
    font-size: 1rem;
    line-height: 1.6;
}

/* about towing operations */
.towing-features {
    background-color: #fff;
    padding: 4rem 0 0 0;
}

.features-content {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 4rem;
    padding: 0 2rem;
}

.features-text {
    flex: 0 0 45%;
}

.features-text h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: #333;
    font-weight: 300;
}

.features-text p {
    line-height: 1.8;
    color: #666;
    font-size: 1.1rem;
}

.features-image {
    flex: 0 0 45%;
}

.features-image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

.download-button-container {
    text-align: center;
    padding: 2rem 0;
}

.download-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: #2A0944;
    color: #fff;
    padding: 1rem 2rem;
    border-radius: 4px;
    text-decoration: none;
    font-size: 1.1rem;
    transition: background-color 0.3s ease;
}

.download-button:hover {
    background-color: #3a0d5f;
}

.download-button i {
    font-size: 1.2rem;
}

/*=========== SURELINE PAGE STYLES */
/*==================================*/
.sureline-hero {
    height: 500px;
    width: 100%;
    background-image: url('../images/container-tow.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    margin-top: 0;
    display: flex;
    align-items: center;
}

.sureline-hero-content {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;  
}

.sureline-title {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.sureline-logo {
    height: 100px; 
    width: auto;
    object-fit: contain;
}

.sureline-hero-text {
    background-color: rgba(42, 9, 68, 0.8);
    padding: 2rem 3rem;
    max-width: 400px;
    margin: 0;  
    position: absolute;  
    left: 0;  
    transform: translateY(-50%);  
    top: 50%;
}

.sureline-hero-text h1 {
    color: #fff;
    font-size: 3.5rem;
    margin: 0;
    font-weight: 300; 
}

/* sureline welcome area */
.sureline-welcome {
    background-color: #fff;
    padding: 4rem 0;
    position: relative;
}

.welcome-content {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
}

.welcome-text {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 2rem;
}

.welcome-text h1 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: #333;
    font-weight: 300;
}

.welcome-text p {
    line-height: 1.8;
    color: #666;
    font-size: 1.1rem;
}

.welcome-image {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 40%;  
    margin-right: -400px;  
}

.welcome-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* sureline intro section */
.sureline-tech-section {
    background-color: #2A0944;
    padding: 4rem 0;
    color: #fff;
}

.tech-content {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 4rem;
    padding: 0 2rem;
    position: relative;
}

.tech-text {
    flex: 0 0 45%;
}

.tech-text h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    font-weight: 300;
}

.tech-text p {
    line-height: 1.8;
    font-size: 1.1rem;
}

.tech-image {
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    width: 25%;
}

.tech-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* sureline features section */
.features-benefits {
    background-color: #fff;
    padding: 4rem 0;
    position: relative;
    overflow: hidden;
    height: 600px;
}

.features-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
}

.features-layout {
    display: flex;
    gap: 4rem;
    margin-bottom: 3rem;
}

.sureline-download-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-top: 3rem;
}

.sureline-download-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: #2A0944;
    color: #fff;
    padding: 1rem 2rem;
    border-radius: 4px;
    text-decoration: none;
    font-size: 1.1rem;
    transition: background-color 0.3s ease;
    width: fit-content;
}

.sureline-download-button:hover {
    background-color: #3a0d5f;
}

.features-main-image {
    flex: 0 0 35%;  
    max-width: 400px;  
}

.features-main-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/*============ FENDER FORCE PAGE STYLES ==*/
/*========================================*/
/* Fender Force hero section */
.fender-force-hero {
    height: 600px;
    width: 100%;
    background-image: url('../images/tug-boat-fender.jpg');
    background-size: 100% 160%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #f5f5f5;
    position: relative;
    margin-top: 0;
    padding-top: 132px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.fender-hero-content {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;  
}

.fender-hero-text {
    background-color: rgba(42, 9, 68, 0.8);
    padding: 2rem 3rem;
    max-width: 400px;
    margin: 0;  
    position: absolute;  
    left: 0;  
    transform: translateY(-50%);  
    top: 50%;
}

.fender-hero-text h1 {
    color: #fff;
    font-size: 3.5rem;
    margin: 0;
    font-weight: 300; 
}

/* fender force welcome section */
.fender-page-welcome {
    width: 100%;
    padding: 4rem 0;
    position: relative;
    height: 450px;
}

.fender-welcome-content {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 25%; 
    gap: 2rem;
    align-items: center;
}

.fender-welcome-text {
    padding: 0;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    left: 20%;
    font-size: large;
}

.fender-welcome-image {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 17.5%;  
}

.fender-welcome-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* content area */
.fender-feature-section {
    height: 650px;
    background-color: #2A0944;
    display: flex;
    align-items: center;
}

.fender-feature-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    padding: 0 2rem;
}

.fender-feature-text {
    flex: 1;
    color: white;
    padding-right: 2rem;
}

.fender-feature-text h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}

.fender-feature-text p {
    font-size: 1.1rem;
    line-height: 1.6;
}

.fender-feature-image {
    flex: 1;
    display: flex;
    align-items: center;
}

.fender-feature-image img {
    width: 100%;
    height: auto;
}

/* feature section 2 */
.fender-feature-section2 {
    height: 650px;
    background-color: #f5f5f5;  
    display: flex;
    align-items: center;
}

.fender-feature-container2 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row-reverse;  
}

.fender-feature-text2 {
    flex: 1;
    padding-left: 2rem;  
}

.fender-feature-text2 h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: #2A0944;  
}

.fender-feature-text2 p {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #333;
}

.fender-feature-image2 {
    flex: 1;
    display: flex;
    align-items: center;
}

.fender-feature-image2 img {
    width: 100%;
    height: auto;
}

/*=========== RAIL PAGE STYLES ==*/
/*===============================*/
.rail-hero {
    height: 400px;
    width: 100%;
    background-image: url('../images/sea-train.jpg');
    background-size: 100% 170%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #f5f5f5;
    position: relative;
    margin-top: 0;
    padding-top: 132px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.rail-hero-content {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;  
}

.rail-hero-text {
    background-color: rgba(42, 9, 68, 0.8);
    padding: 2rem 3rem;
    max-width: 400px;
    margin: 0;  
    position: absolute;  
    left: 0;  
    transform: translateY(-50%);  
    top: 50%;
}

.rail-hero-text h1 {
    color: #fff;
    font-size: 3.5rem;
    margin: 0;
    font-weight: 300; 
}

/* rail content area */
/* Rail Feature Section - Fixed sizing and position */
.rail-feature-section {
    height: auto;  /* Changed from fixed height to auto */
    background-color: #2A0944;
    display: flex;
    align-items: center;
    padding: 3rem 0;  /* Added padding for proper spacing */
}

.rail-feature-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    padding: 0 2rem;
    align-items: center;  
    gap: 2rem;  
}

.rail-feature-text {
    flex: 1;
    color: white;
    padding-right: 0;  
}

.rail-feature-text h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: white;
}

.rail-feature-text p {
    font-size: 1.1rem;
    line-height: 1.6;
    color: white;
    margin-bottom: 1rem;
}

.rail-feature-image {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rail-feature-image img {
    max-width: 100%;
    max-height: 450px;  
    width: auto;  
    height: auto;
    border-radius: 8px;
    object-fit: contain;  
}

/* Alternate Rail Feature Section - White background with text on right */
.rail-feature-section-alt {
    height: auto;
    background-color: white;
    display: flex;
    align-items: center;
    padding: 4rem 0;
}

.rail-feature-container-alt {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    padding: 0 2rem;
    align-items: center;
    gap: 2rem;
}

.rail-feature-text-alt {
    flex: 1;
    color: #333;
}

.rail-feature-text-alt h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: #2A0944;  /* Purple heading for brand consistency */
}

.rail-feature-text-alt p {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #333;
    margin-bottom: 1rem;
}

.rail-feature-image-alt {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rail-feature-image-alt img {
    max-width: 100%;
    max-height: 350px;
    width: auto;
    height: auto;
    border-radius: 8px;
    object-fit: contain;
}



/*========== CONTACT PAGE STYLES ==*/
/*=================================*/
/* Contact hero section */
.contact-hero {
    height: 600px;
    width: 100%;
    background-image: url('../images/handheld-technology.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    margin-top: -132px;
    display: flex;
    align-items: center;
}

.contact-hero-content {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;
}

.contact-hero-text {
    background-color: rgba(42, 9, 68, 0.8);
    padding: 1.6rem 2.4rem;  
    max-width: 320px;       
    margin: 0;
    position: absolute;
    left: 0;
    transform: translateY(-50%);
    top: 50%;
}

.contact-hero-text h1 {
    color: #fff;
    font-size: 2.8rem;  
    margin: 0;
    font-weight: 300;
}

/* contact form area */
.contact-form-section {
    background-color: #fff;
    padding: 4rem 0;
}

.contact-form-container {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    padding: 0 2rem;
    align-items: start;
}

.contact-info h2,
.contact-inputs h2 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: #333;
    font-weight: 300;
}

.contact-info address {
    font-style: normal;
    line-height: 1.8;
    color: #666;
    font-size: 1.1rem;
}

.input-group {
    margin-bottom: 1.5rem;
}

.input-group input,
.input-group textarea {
    width: 100%;
    padding: 0.8rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
    font-family: inherit;
}

.input-group textarea {
    resize: vertical;
    min-height: 200px;
}

.submit-button {
    background-color: #2A0944;
    color: #fff;
    padding: 1rem 2rem;
    border: none;
    border-radius: 4px;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.submit-button:hover {
    background-color: #3a0d5f;
}

.flash-messages {
    padding: 1rem;
    margin: 1rem 0;
    border-radius: 4px;
}

.flash-success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.flash-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}


.contact-message {
    padding-top: 4.5rem;  /* Added to match height of "Get in Touch" header */
}

/* map image */
.map-image {
    width: 100%;
    height: auto;
    display: block;
}

.map-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* ABOUT US PAGE STYLES =====*/
/*===========================*/
.about-hero {
    height: 600px;
    width: 100%;
    background-image: url('../images/handheld-technology.jpg');
    background-size: 100% 130%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #f5f5f5;
    position: relative;
    margin-top: 0;
    padding-top: 132px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.about-hero-content {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;  
}

.about-hero-text {
    background-color: rgba(42, 9, 68, 0.8);
    padding: 2rem 3rem;
    max-width: 400px;
    margin: 0;  
    position: absolute;  
    left: 0;  
    transform: translateY(-50%);  
    top: 50%;
}

.about-hero-text h1 {
    color: #fff;
    font-size: 3.5rem;
    margin: 0;
    font-weight: 300; 
}

/* about content section 1 */
.about-content-section {
    padding: 5rem 0;
    background-color: #fff;
}

.about-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 4rem;
    padding: 0 2rem;
}

.about-text-area {
    flex: 1;
}

.about-text-area h2 {
    font-size: 2.5rem;
    margin-bottom: 2rem;
    color: #333;
    font-weight: 400;
}

.about-text-area p {
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
    line-height: 1.8;
    color: #555;
}

.about-image-area {
    flex: 1;
}

.about-image-area img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* second about section */
.about-content-section-alt {
    padding: 5rem 0;
    background-color: #f9f9f9; 
}

.about-container-alt {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row; 
    gap: 4rem;
    padding: 0 2rem;
}

/* Image first, then text */
.about-container-alt .about-image-area {
    order: 1; 
    flex: 1;
}

.about-container-alt .about-text-area {
    order: 2; 
    flex: 1;
}

/* our story section */
.story-content-section {
    padding: 5rem 0;
    background-color: #fff;
}

.story-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 4rem;
    padding: 0 2rem;
}

.story-text-area {
    flex: 1;
}

.story-text-area h2 {
    font-size: 2.5rem;
    margin-bottom: 2rem;
    color: #333;
    font-weight: 400;
}

.story-text-area p {
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
    line-height: 1.8;
    color: #555;
}

.story-image-area {
    flex: 1;
}

.story-image-area img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/*================== events page styles ========*/
/*==============================================*/
.events-hero {
    height: 600px;
    width: 100%;
    background-image: url('../images/event-speaker.jpg');
    background-size: 100% 130%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #f5f5f5;
    position: relative;
    margin-top: 0;
    padding-top: 132px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.events-hero-content {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;  
}

.events-hero-text {
    background-color: rgba(42, 9, 68, 0.8);
    padding: 2rem 3rem;
    max-width: 400px;
    margin: 0;  
    position: absolute;  
    left: 0;  
    transform: translateY(-50%);  
    top: 50%;
}

.events-hero-text h1 {
    color: #fff;
    font-size: 3.5rem;
    margin: 0;
    font-weight: 300; 
}

/* Events Introduction Section */
.events-intro-section {
    padding: 5rem 0;
    background-color: #fff;
}

.events-intro-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 4rem;
    padding: 0 2rem;
}

.events-intro-text {
    flex: 1;
}

.events-intro-text h2 {
    font-size: 2.5rem;
    margin-bottom: 2rem;
    color: #333;
    font-weight: 400;
}

.events-intro-text p {
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
    line-height: 1.8;
    color: #555;
}

.events-intro-image {
    flex: 1;
}

.events-intro-image img {
    width: 700px;
    height: 400px;
    border-radius: 4px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* upcoming events section */
/* Events Listing Section */
.events-listing-section {
    padding: 6rem 0;
    background-image: url('../images/technology-global-pattern.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
}

.events-listing-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(42, 9, 68, 0.8);
    z-index: 1;
}

.events-listing-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 3rem;
    padding: 0 2rem;
    position: relative;
    z-index: 2;
}

.events-column {
    flex: 1;
}

.events-column h2 {
    font-size: 2.2rem;
    color: #fff;
    margin-bottom: 2rem;
    text-align: center;
    font-weight: 400;
}

.event-card {
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.event-card h3 {
    font-size: 1.5rem;
    color: #2A0944;
    margin-bottom: 0.5rem;
}

.event-date, .event-location {
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.event-toggle {
    background-color: #2A0944;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    margin-top: 1rem;
    cursor: pointer;
    font-size: 0.9rem;
}

.event-dropdown {
    display: none;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #eee;
}

.event-register, .event-archive {
    display: inline-block;
    background-color: #2A0944;
    color: white;
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    margin-top: 1rem;
    font-size: 0.9rem;
}

.event-register:hover, .event-archive:hover, .event-toggle:hover {
    background-color: #3a0d5f;
}







/*================= footer styles============ */
/*=========================================== */
.main-footer {
    background: #fff;
    padding: 1.5rem 0;
    border-top: 2px solid #000;
    margin-top: 0;
}

.footer-content {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    padding: 0 2rem;
}

.footer-logo-section {
    display: flex;
    align-items: center;
    margin-left: -50px;
}

.footer-logo {
    max-width: 250px;
    height: auto;
}

.footer-links {
    text-align: center;
}

.footer-links h3 {
    color: #333;
    margin-bottom: 0.75rem;
}

.footer-links ul {
    list-style: none;
    padding: 0;
}

.footer-links li {
    margin-bottom: 0.4rem;
}

.footer-links a {
    color: #666;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #333;
}

.footer-contact {
    text-align: right;
}

.footer-contact h3 {
    color: #333;
    margin-bottom: 0.75rem;
}

.footer-contact p {
    color: #666;
    margin-bottom: 0.25rem;
}

