/* Base Typography */
:root {
    --primary-color: #0A9288;
    --links-color: #007A78;
    --text-color: #1A2B41;
    --body-text-color: #8397AE;
    --white-text-color: #fff;
    --light-grey: #F4F8FC;
    --bg-color: #fff;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

h1 {
    font-family: 'Merriweather', serif;
    font-style: italic;
    font-size: 44px;
    line-height: 1.55;
    letter-spacing: 0.3px;
    color: var(--white-text-color);
}
.inner-page-h1{
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 600;
    font-size: 48px;
    line-height: normal;
    letter-spacing: 0.3px;
    color: var(--text-color);
    font-style: normal;
}

body,
div,
h2,
h3,
h4,
p,
span,
a {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400; 
}

h2{
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 700;  
    font-size: 39px;
    line-height: normal;
    letter-spacing: 0.3px;
    color: var(--text-color);
}

h3{
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 700;  
    font-size: 30px;
    font-weight: bold;
    line-height: normal;
    letter-spacing: 0.3px;
    color: var(--text-color);
}

h4{
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 700;  
    font-size: 25px;
    font-weight: bold;
    line-height: normal;
    letter-spacing: 0.3px;
    color: var(--text-color);
}

body,
div,
p,
span,
a {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400; 
   font-size: 20px;
   line-height: normal;
   letter-spacing: 0.2px;
   font-weight: 300;
   color: var(--body-text-color);
}
.body-text-large{
    font-size: 22px;
    line-height: 1.36;
    letter-spacing: 0.2px;
    font-weight: 300;
}
a {
    text-decoration: none;
    color: var(--links-color);
    font-weight: 600;
}


body {
    margin: 0;
    line-height: 1.7;
    color: var(--text-color);
    background: var(--bg-color);
}
html, body {
    overflow-x: hidden;
    width: 100%;
}
/* animation */
.animate {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.6s ease-out;
  }
  
  .animate-active {
    opacity: 1;
    transform: translateY(0);
  }
/* Layout Container */
.site-main {

}

.site-container {
    width: min(1200px, 92%);
    margin: 0 auto;
}

/* Header */ 
.site-header {
    width: 100%;
    background: transparent;
    padding: 1rem 0;
    overflow-x: hidden;
}

.header-inner {
    width: min(1200px, 92%);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.site-logo{
    width: 185px;
} 
.main-nav {
    flex: 1;
    display: flex;
    justify-content: right;
    margin-right: 30px;
}

.contact-btn {
    padding: 0.2rem 1.9rem;
    background: var(--primary-color);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
}

.contact-btn:hover {
    opacity: 0.85;
}

/* Navigation */
.main-menu,
.main-menu ul {
    display: flex;
    gap: 30px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.main-menu a {
    text-decoration: none;
    color: var(--white-text-color);
    font-size: 14px;
    font-weight: 600;
}

.main-menu a:hover {
    color: var(--accent-color);
}
.scrolled .main-menu a {
    color: var(--text-color);
}
/* Sticky Header */
.site-header {
    position: fixed;
    top: 0;
    z-index: 999;
    transition: background 0.3s, box-shadow 0.3s;
  }
  .site-header.scrolled {
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  }
  
  .header-logo {
    height: 39px;
    transition: 0.3s;
  }
  .site-header.scrolled .header-logo {
    height: 32px;
  }
  
  /* Mobile */
  .mobile-menu-toggle {
    font-size: 1.8rem;
    background: none;
    border: none;
    cursor: pointer;
    display: none;
  }

  .mobile-menu-overlay {
    position: fixed;
    inset: 0;
    background: var(--primary-color);
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 2rem;
    z-index: 9999;
  }
  .mobile-menu-close {
    pointer-events: auto;
    font-size: 28px;
    background: none;
    border: none;
    color: #fff !important;
    cursor: pointer;
}
  .mobile-menu-overlay.active {
    display: flex;
  }
  
  .mobile-menu-header {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
}
.mobile-menu-header .mobile-logo {
    height: 32px;
    pointer-events: auto;
}
  .mobile-menu-items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0px;
    align-items: center;
    width: 100%;
}
.mobile-menu-items li{
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    padding: 2rem;
}
  .mobile-menu-items li a {
    display: block;
    padding: 1rem 0;
    font-size: 22px;
    text-decoration: none;
    color: #fff;
  }
  .site-header.scrolled .mobile-menu-toggle svg path{
    fill: var(--primary-color);
}


/* home page    */
.header-slider-section{
   margin-bottom: -11.1rem;
}
.slider-background{
    background-position: center;
    background-size: cover;
    min-height: 800px !important;
    display: flex;
    justify-content: center;
    align-items: center;  
}
.header-slider-container{
    color:#fff;
    /* padding: 10rem 2rem 10rem 20rem; */
    margin-top: 11.1rem;
    width: 60%;
}
.slider-subtitle{
    color: rgba(255,255,255,0.7);
}
/* WHAT IS SECTION */
.what-is-section {
    position: relative;
}
.what-is-section-background{
    background: var(--light-grey);
    clip-path: polygon(0% 24%, 100% 0%, 100% 76%, 0% 100%);
}
.what-is-image {
    position: absolute;
    top: 1rem;
    left: 20rem;
    max-height: 660px;
    max-width: 45%;
    z-index: 1;
}

.what-is-container {
    position: relative;
    display: flex;
    flex-direction: row;
    gap: 30px;
    align-items: center;
    justify-content: center;
    padding: 10rem 0 5rem;
}
.what-is-content{
    padding-left: 50%;
    padding-right: 5rem;
    padding-bottom: 5rem;
}
.what-is-content h2{
    position: relative;
    padding-top: 1rem;
}
.what-is-content h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 4px;
    background-color: var(--primary-color);
}
.what-is-description{
    color: var(--body-text-color);
}
.learn-more{
    margin-top: 2rem;
}

.benefit-container h2{
    text-align: center;
    position: relative;
    padding-top: 1rem;
}
.benefit-container h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 4px;
    background-color: var(--primary-color);
}
.benefit-description{
    color: var(--body-text-color);
    text-align: center;
    margin-bottom: 5rem;
}
.benefits-list{
    display: flex;
    flex-direction: row;
    gap: 30px;
    justify-content: center;
    margin-bottom: 2rem;
}
.benefit-element{
    flex: 1;
    text-align: center;
}
.benefit-element-short-description{
    color: var(--body-text-color);
    line-height: 30px;
}
.benefit-element-learn-more{
    margin-top: 2rem;
}
.benefit-dropdown-container{
    background-color: var(--light-grey);
    padding: 2rem 0;
    display: none;
    position: relative; 
}
.close-benefit-dropdown-container {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 17px;
    height: 17px;
    cursor: pointer;
}
.benefit-element-description {
    display: none;
}
.benefit-pointer {
    position: absolute;
    top: -15px;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 15px solid var(--light-grey);
    transition: left 0.3s ease;
}

.how-it-works-section{
    margin-top: 5rem;
    background-position: top;
    background-size: cover;
    clip-path: polygon(0% 0%, 100% 25%, 100% 100%, 0% 75%);
}
.how-it-works-content{
    width: 50%;
    padding: 10rem 0 20rem;
}
.how-it-works-content h2{
    position: relative;
    padding-top: 1rem;
    color: var(--white-text-color);
}
.how-it-works-content h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 4px;
    background-color: var(--primary-color);
}
.how-it-works-description{
    color: var(--white-text-color);
    opacity: 0.7;
}

.integration-container h2{
    text-align: center;
    position: relative;
    padding-top: 1rem;
}
.integration-container h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 4px;
    background-color: var(--primary-color);
}
.integration-description{
    color: var(--body-text-color);
    text-align: center;
    margin-bottom: 5rem;
}
.integration-list{
    display: flex;
    flex-direction: row;
    gap: 45px;
    justify-content: center;
    margin-bottom: 2rem;
}
.integration-element{
    flex: 1;

    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: flex-start;
}
.integration-index{
    font-size: 160px;
    font-weight: 400;
    color: rgba(0,122,120,0.15);
    margin-top: 0;
}
.integration-element-content h4{
    margin-bottom: 0.5rem;
}

.client-section{
    clip-path: polygon(0% 40%, 100% 0%, 100% 100%, 0% 100%);
    background-color: var(--light-grey);
}
.client-container{
    padding: 10rem 0px;
    text-align: center;
}
.client-content h2{
    text-align: center;
    position: relative;
    padding-top: 1rem;
}
.client-content h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 4px;
    background-color: var(--primary-color);
}
.client-description{
    color: var(--body-text-color);
    text-align: center;
    margin: 0px auto 5rem auto;
    width: 70%;
}
.clients-image-container{
    display: flex;
    gap: 30px;
    justify-content: center;
    align-items: center;
    margin-top: 5rem;
}
.client-logo{
    margin-right: 20px;
}
.client-logo img{
    max-height: 50px;
    max-width: 150px;
}
.ticker-move .slick-slide {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  .ticker-move img {
    height: 60px;
    width: auto;
    object-fit: contain;
    display: block;
  }
.contact-section-gray{
    background-color: var(--light-grey);
}
.contact-section-background{
    clip-path: polygon(0% 0%, 100% 25%, 100% 100%, 0% 100%);
    background-color: var(--primary-color);
}
.contact-container{
    padding: 10rem 0px;
}
.contact-content,
.contact-content h2,
.contact-description{ 
    text-align: center;
    color: var(--white-text-color);
}
.contact-description{
    opacity: 0.7;
    width: 70%;
    margin: 0px auto;
}
.contact-button-container{
    margin-top: 3rem;
}
.contact-button{
    border-radius: 3px;
    background-color: var(--white-text-color);
    color: var(--primary-color);
    font-size: 18px;
    font-weight: 700;
    line-height: 21px;
    box-shadow: 10px 10px 30px rgba(57,57,57,0.24);

    padding: 1rem 3rem;
}

.contact-button:hover,
.contact-button:active{
    box-shadow: none;
}

.contact-form-container {
    max-width: 500px;
    margin: 0 auto;
    font-family: 'Source Sans Pro', sans-serif;
    display: none;
}

.floating-label {
    position: relative;
    margin-bottom: 3rem;
}

.floating-label input,
.floating-label textarea {
    width: 100%;
    padding: 10px 0px;
    font-size: 22px;
    font-weight: 400;
    border: none;
    border-bottom: 1px  solid rgba(255,255,255,0.4);
    background: transparent;
    line-height: 26px;
    color: var(--white-text-color);
    resize: none;
}

.floating-label .floating-label-element {
    position: absolute;
    left: 0;
    top: 32px;
    font-size: 22px;
    color: rgba(255,255,255,0.6);
    pointer-events: none;
    transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease;
}



.floating-label input:focus .floating-label-element,
.floating-label input:not(:placeholder-shown) ~ .floating-label-element,
.floating-label textarea:focus ~ .floating-label-element,
.floating-label textarea:not(:placeholder-shown) ~ .floating-label-element {
    top: -8px;
    font-size: 14px;
    color: #fff;
}
.floating-label-element:focus{
    color: red;
}
input:focus, textarea:focus, button:focus {
    outline: none;
}

.contact-form-button{
    width: 100%;
    border: none;
    cursor: pointer;
}
.contact-prefer-email-button-container{
    margin-top: 2rem;
}
.prefer-email-link{
    color: var(--white-text-color);
    cursor: pointer;
    font-size: 19px;
    font-weight: 400;
    line-height: 22px;
}
.contact-qrcode-section{
    margin-top: 3rem;
}
.contact-qrcode-section-text{
    margin-top: 2rem;
    opacity: 0.7;
    font-size: 22px;
    line-height: 1.36;
    letter-spacing: 0.2px;
    font-weight: 300;
    text-align: center;
    color: var(--white-text-color);
}

.contact-qrcode-section .qrcode-image{
    max-width: 300px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0px auto;
    border-radius: 5px;
}
/* Details Page */
.banner-background{
    background-position: center;
    background-size: cover;
    min-height: 800px;
    display: flex;
    justify-content: center;
    align-items: center;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 77%);
}
.header-banner-container{
    width: 60%;
    text-align: center;
    margin: 0px auto;
    margin-top: -12rem;
}
.header-banner-container h1{
    color: var(--white-text-color);
    position: relative;
    padding-top: 1rem;
}
.header-banner-container h1::before{
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 4px;
    background-color: var(--primary-color);
}
.details-page-section-background{
    min-height: 400px;
    background: var(--white-text-color);
}

.details-item{
    display: flex;
    gap: 30px;
    margin-bottom: 2rem;
}
.details-image,
.details-text{
    flex: 1;
}
.details-image img {
    min-width: 440px;
    width: auto;
    object-fit: cover;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
.image-right .details-image img{
    float: right;
}
.image-left .details-image img{
    float: left;
}

.details-bottom-button{
    text-align: center;
    padding: 5rem;
}
.details-button-link{
    border-radius: 3px;
    background-color: var(--primary-color);
    color: var(--white-text-color);
    font-size: 18px;
    font-weight: 700;
    line-height: 21px;
    box-shadow: 10px 10px 30px rgba(57, 57, 57, 0.24);
    padding: 1rem 3rem;
}

/* single page */
.page-title-section{
    padding: 20px 0px;
}
.page-title-section h1{
    position: relative;
    text-align: center;
    padding-top: 20px;
}
.page-title-section h1::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 4px;
    background-color: var(--primary-color);
}
.post-page-title-section{
    padding: 20px 0px;
}
.post-page-title-section h1{
    position: relative;
    text-align: center;
    padding-top: 20px;
}
.post-page-title-section h1::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 4px;
    background-color: var(--primary-color);
}
/* Footer */ 
.site-footer {
    position: relative;
    background-color: var(--primary-color);
    color: #fff;
    padding: 1rem 0;
}
.site-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.09);
}
.footer-inner {
    width: min(1200px, 92%);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.footer-left p,
.footer-right a {
    color: #fff;
    text-decoration: none;
    font-size: 0.95rem;
    font-size: 17px;
    line-height: 20px;
    opacity: 0.6;
    font-weight: 400;
}

.footer-right a:hover {
    text-decoration: underline;
}

.footer-right span {
    margin: 0 0.5rem;
}


  
  /* Responsive */
  @media (max-width: 768px) {

    h1{
        font-size: 32px;
    }
    .site-header{
        padding: 1rem;
    }
    /* Header */
    .main-nav,
    .contact-btn {
      display: none;
    }
    .mobile-menu-toggle {
      display: block;
    }
  
    /* Footer */
    .footer-inner {
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
    }
    .footer-left,
    .footer-right {
        width: 100%;
        justify-content: center;
    }
    .footer-right {
        margin-top: 0.25rem;
    }
  
    /* Benefits List */
    .benefit-container{
        width: 80%;
    }
    .benefits-list {
        flex-direction: column;
        gap: 2rem;
    }
    .benefit-element {
        text-align: center;
        width: 100%;
    }
  
    /* Integration List */
    .integration-container{
       width: 80%;
    }
    .integration-list {
        flex-direction: column;
        gap: 2rem;
        align-items: center;
    }
    .integration-element {
        flex-direction: column;
        align-items: center;
        text-align: center;
      gap: 1rem;
    }
    .integration-index {
        font-size: 120px;
        margin: 0;
    }
  
    /* What-is Section */
    .what-is-section-background{
        clip-path: polygon(0% 11%, 100% 0%, 100% 89%, 0% 100%);
    }
    .what-is-container {
        flex-direction: column;
        padding: 5rem 2rem;
        align-items: center;
        justify-content: flex-start;
    }
    .what-is-image {
        top: 0rem; 
        left: 50%;
        transform: translateX(-50%);
        max-width: 100%;
        max-height: 500px;
    }
    .what-is-content {
        padding-left: 2rem;
        padding-right: 2rem;
        padding-top: 450px;
        padding-bottom: 2rem;
    }
    /* How-it-works Section */
    .how-it-works-section{
        clip-path: polygon(0% 0%, 100% 16%, 100% 100%, 0% 84%);
    }
    .how-it-works-content {
        width: 100%;
        padding: 5rem 2rem 10rem;
    }
  
    /* Contact Section */
    .contact-section-background {
        clip-path: polygon(0% 0%, 100% 20%, 100% 100%, 0% 100%);
    }
    .contact-container {
        padding: 5rem 2rem;
    }
    .contact-button-container {
        margin-top: 2rem;
        display: flex;
        justify-content: center;
    }
  
    /* Slider Section */
    .header-slider-container {
        width: 90%;
        padding: 2rem;
        margin-top: 3rem;
    }

    .header-banner-container {
        width: 90%;
        margin-top: -6rem;
    }

    .details-item {
        flex-direction: column;
        gap: 1.5rem;
    }

    .client-section {
        clip-path: polygon(0% 25%, 100% 0%, 100% 100%, 0% 100%);
    }
    .image-left .details-image img,
    .image-right .details-image img{
        float: none;             
        display: block;         
        max-width: 100%;       
        height: auto;            
        margin: 0 auto;          
        min-width: 0;  
    }
    .details-bottom-button {
        padding: 3rem 1rem;
    }
  
  }

