/*** General Styles ***/
html {
    scroll-behavior: smooth;}
body {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;}
h1, h2, h3 {
    font-family: 'Poppins', serif;
    font-weight: 500;
    color: #000;
    line-height: 1.1;
    margin: 0 0 32px;}
h1 {
    font-size: 72px;}
h2 {
    font-size: 52px;letter-spacing: -2px;}
p, span {
    font-size:18px;
    line-height: 1.8;
    color: #000;}
b, strong {
    font-weight: 600;}
h1, h2, h3, img, li {
    -webkit-transition: width 1s ease-in-out, left 1.5s ease-in-out;
    -moz-transition: width 1s ease-in-out, left 1.5s ease-in-out;
    -o-transition: width 1s ease-in-out, left 1.5s ease-in-out;
    transition: width 1s ease-in-out, left 1.5s ease-in-out;}

/*** Fade-in-up animation ***/
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(30px); 
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
.fade-in-up {
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px);
    transition: all 0.8s ease-in-out;}
.fade-in-up.animate {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);}



/*** Homepage ***/
header {
    width: 100%;
    position: absolute;
    z-index: 1;
    display: flex;
    padding: 0;}
.logo {
    margin: 2% 0;}
.logo img {
    width: 120px;}
.hide {
    display: none;}

/*** Split hero ***/
.hero {
     display: block;
     height: 100vh;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     z-index: 0;
     overflow: hidden;
     background-color: #000;}
.this {
     position: relative;
     display: block;
     width: 100%;
     height: 50%;
     overflow: hidden;}
.this:hover .this-image img {
     transition-delay: 0.5s;
     transform: scale(1);}
.this-image {
     position: relative;
     width: 100%;
     height: 100%;
     overflow: hidden;}
.this-image img {
     position: relative;
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center center;
     opacity: .4;
     transform: scale(1.2);
     transition: all 1s cubic-bezier(0.8, 0, 0.2, 1);}
@supports not (object-fit: cover) {
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 100%;
     height: auto;}
.this-title {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    min-width: 800px;
    padding: 0 40px;}
.this-title h2 {
    color: #fff;
     padding: 0;
     margin: 0;
     text-align: center;}

@media (min-width: 1024px) {
    .hero {
         display: flex;}
    .this {
         display: flex;
         flex: 1;
         flex-direction: column;
         align-items: center;
         justify-content: center;
         cursor: pointer;
         width: 100%;
         height: 100%;
         transition: all 1.1s cubic-bezier(0.8, 0, 0.2, 1);}
    .this:hover {
         flex: 2;}
}

footer {
    margin: 2% 0;
    display: flex;
    flex-direction: column;
    align-items: center;}
.info {
    display: flex;
    justify-content: space-between;
    width: 100%;}
.info h2 {
    font-size: 52px;}
.info a {
    color: #000;
    text-decoration: none;
     position: relative;
     transition: color 0.3s ease-in-out;}
.info a::before {
     content: '';
     position: absolute;
     top: 100%;
     width: 100%;
     height: 3px;
     background-color: #000;
     transform: scaleX(0);
     transition: transform 0.3s ease-in-out;}
.info a:hover {
     color: #000;}
.info a:hover::before {
     transform: scaleX(1);}
.locations {
    display: flex;}
.locations p {
    margin-right: 40px;
    font-size: 12px;}
.icon img {
    width: 76px;}
.legal {
    width: 100%;
    display: flex;
    list-style: none;}
.legal ul {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;}
.legal p {
    font-size: 12px;
    padding-right: 20px;}
.legal a {
    color: #000;
    text-decoration: none;
     position: relative;
     transition: color 0.3s ease-in-out;}
.legal a::before {
     content: '';
     position: absolute;
     top: 100%;
     width: 100%;
     height: 2px;
     background-color: #000;
     transform: scaleX(0);
     transition: transform 0.3s ease-in-out;}
.legal a:hover {
     color: #000;}
.legal a:hover::before {
     transform: scaleX(1);}


/*** Design ***/
main {
    background: #f8f8f8;}
.container {
    padding: 0 2%;
    width: 96%;
    display: block;
    margin: 0 auto;}
.single-column-wrapper {
    max-width: 1200px;
    margin: 0 auto;}
.link-to-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 0;
    display: flex;
    gap: 20px;
    flex-direction: row;
    flex-wrap: wrap;
}
.link-to-section .tag {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    height: 44px;
    background-color: #000;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    padding: 0 20px;
    border-radius: 40px;
    text-decoration: none;}
.link-to-section .tag:hover {
    background-color: #262626;}
.about{
    padding: 160px 0 80px 0;} 
.service {
    padding: 80px 0;}
.about .container, 
.service .container {
    display: flex;
    flex-direction: row;}
.about .left, .about .right, 
.service .left, .service .right {
    flex: 0 0 50%;}
.about p,
.service p {
    color: #000;}
.numbers {
    display: flex;
    flex-direction: row;
    margin-top: 40px;
    gap:40px}
.numbers .number {
    font-size: 52px;
    line-height: 52px;
    font-weight: 500;
    margin: 0;}
.numbers .item {
    background-color: #fff;
    padding: 16px;
    border-radius: 12px;
    min-width: 190px;
}
.numbers .item p {
    margin: 0;}
.highlight {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 28px 0;}
.highlight h3 {
    font-size: 24px;
    line-height: 24px;
    font-weight: 600;
    margin: 0;}
.highlight p {
    font-size: 16px;
    line-height: 22px;
    padding: 0;
    margin: 0;}
.clients {
    padding: 80px 0 160px 0;}
.carousel-cell {
    height: 100px;
    width: auto;
    display: flex;
    align-items: center;
    padding: 40px 100px 40px 0;}
.carousel-cell img {
    max-width: 100%;
    max-height: 100px; /* Adjust as needed */
    object-fit: contain;
    padding: 10px; /* Add some padding between logos */
}

/*** Media Queries ***/
@media only screen and (max-width: 1024px) {
    .container {
        padding: 0 4%;
        width: 92%;
    }
    .link-to-section {
        padding: 40px 4% 0 4%;
        width: 92%;
    }
    .about .container, .service .container {
        flex-direction: column;}
}

@media only screen and (max-width: 860px) {
    main h1 {
        margin: 32px 0;
        font-size: 52px;}
    .logo {
        margin: 8% 0;}
    .parallax {
        align-items: flex-end !important;
    }
    .info h2 {
        font-size: 38px;
        padding-top: 14px;}
    .about {
        padding: 80px 0 80px 0;
        flex-direction: column;}
    .about p {
        padding: 0;}
    .numbers {
        flex-direction: column;
        gap:0px}
    .numbers .item {
        margin-right: 0;
        margin-bottom: 5%;}
    .highlight {
        font-size: 26px;
        margin: 0px;
        padding: 20px 0;}
    footer {
        margin: 4% 0;}
}
@media only screen and (max-width: 680px) {
    p, span {
        font-size:15px;
        line-height: 1.4;}
    h2 {
        font-size: 38px;}
    .locations {
        flex-direction: column;}
}
