/* FIRST SECTION */

@media (max-width: 1024px) {
	.page-template-page-home .orange-badge {
	  width: stretch !important;
    }
}

.home-sec1 {
    display: flex;
    flex-direction: column;
    justify-content: end;
    width: auto;
    height: 100vh;
    padding: 0 0 3%;
    position: relative;
    background-color: black;
}

.home-text {
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: 0 8rem;
    filter: drop-shadow(0 0 4px black);
    gap: 2rem;
    z-index: 5;
    h1 {
        font-weight: 500;
        span {
            color: var(--orange);
        }
    }
    h3 {
        font-weight: 200;
        span {
            font-style: italic;
        }
    }
}

.home-bottom {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 2rem 8rem;
    gap: 0.5rem;
    z-index: 5;
    p {
        color: white;
        word-wrap: break-word;
    }
    span {
        color: var(--orange);
    }
    hr {
        background-color: var(--orange);
        border-color: var(--orange);
    }
}

.home-bg {
    position: absolute;
    height: 100vh;
    width: 100%;
    mask-image: linear-gradient(to bottom,
    rgba(0,0,0,1) 35%,
    rgba(0,0,0,0)); 
    z-index: 1;
    video {
        object-fit: cover;
        height: 100vh;
        width: 100%;
    }
    img{
        object-fit: cover;
        height: 100vh;
        width: 100vw;
    }
}

/* SECOND SECTION */

/* .home-sec2 {
    background-image: url('../images/bg2.png');
    background-size: cover;
} */

.who-we-serve {
    display: flex;
    flex-direction: column;
    background-color: white;
    padding: 2rem;
    outline: 1px solid #80808040;
    gap: 1rem;
    h4 {
        padding: 0.5rem 2rem;
        background-color: var(--orange);
        font-weight: 500;
        max-width: fit-content;
    }
    hr {
        border: none;
        background-color: var(--orange);
        width: 100%;
        height: 4px;
    }
}

.toggle-sec {
    padding: 4rem;
}

.toggle-btns {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

.toggle-btns a {
    font-size: 40px;
    font-weight: 300;
    color: black;
    text-decoration: none;
    transition: transform 0.2s ease-in-out;
}

.toggle-btns a:hover {
    transform: scale(1.1);
}

.toggle-btns a.active {
    color: var(--orange);
    font-weight: 600;
    pointer-events: none;
}

.toggle-content {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 2rem;
    gap: 2rem;
}

.toggle-img {
    flex: 1;
    object-fit: contain; 
}

.toggle-img img {
    width: 100%;
    height: auto;
    align-self: center;
}

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

.service-list {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    gap: 2rem;
    flex: 1;
}

    .service-list li{
        font-size: 25px;
        font-weight: 300;
        margin: 1rem 0;
    }

    .service-list a{
        font-size: 25px;
        font-weight: 300;
        color: var(--orange);
        width: max-content;
    }
    .service-list a:hover{
        color: var(--blue);
    }

/* THIRD SECTION */
.home-sec3 {
    background-image: url('../images/texture.png');
    padding: 2rem 4rem;
    h4 {
        padding: 0.5rem 2rem;
        color: white;
        background-color: var(--orange);
        font-weight: 500;
        max-width: fit-content;
    }
}

.about-sec {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.about-wrapper {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.about-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1
}
.about-content h3 {
    color: white;
    font-weight: 200;
    /* margin-bottom: 8rem; */
}

.about-content a {
    font-size: 25px;
    font-weight: 200;
    color: white;
    width: max-content;
    transition: font-weight 0.2s ease;
}
.about-content a:hover {
    font-weight: bold;
}

.about-clients {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1
}

.about-clients h4 {
    color: white;
    background-color: transparent;
    padding: 0;
    margin-top: 2rem;
}

.expectations {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}

.expectations img {
    height: 80px;
    width: 80px;
}

.expectations h4{
    font-weight: 300;
    margin: 0;
}

/* old testimonial */
.testimonial-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.testimonial-carousel {
    width: 100%;
    display: flex;
    justify-content: center;
    position: relative;
}

.testimonial-track {
    display: flex;
    will-change: transform;
    transition: transform 1s linear;
    gap: 2rem;
}

.testimonial {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 0 0 500px;
    height: auto;
    padding: 2rem;
    background-color: white;
    text-align: center;
    transition: transform 0.8s ease, filter 0.8s ease;
    /* opacity: 0.7;
    filter: blur(2px);
    transform: scale(0.85); */
    p {
        font-style: italic;
        text-align: justify;
    }
    h5 {
        font-size: 30px;
        font-weight: 200;
        color: var(--blue);
        margin: 0;
    }
}

/* .testimonial.active {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
} */


#testimonial-section .elementor-testimonial-wrapper {
  position: relative;
  overflow: visible;
}

#testimonial-section .elementor-testimonial-content {
  position: relative;
  text-align: left;
  display: block;
}

/* Opening quote */
#testimonial-section .elementor-testimonial-content::before {
  content: "“";
  position: absolute;
  top: -18px;
  left: -35px;
  font-family: Georgia, serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  color: #5e7398;
}

/* Closing quote */
#testimonial-section .elementor-testimonial-content::after {
  content: "”";
  position: absolute;
  right: -35px;
  bottom: -18px;
  font-family: Georgia, serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  color: #5e7398;
}

/* Center name and position */
#testimonial-section .elementor-testimonial-meta,
#testimonial-section .elementor-testimonial-meta-inner,
#testimonial-section .elementor-testimonial-details {
  text-align: center;
  justify-content: center;
}

/* #testimonial-section.fatou-testimonial .elementor-testimonial-job {
  max-width: 230px;
  margin: 0 auto;
  text-align: center;
  white-space: normal;
} */

.fatou-testimonial .elementor-testimonial-job::after {
  content: "LaTerra Development, LLC";
  display: block;
  margin-top: 2px;
}


@media (max-width: 1300px) {
    .home-text{
        padding: 0 4rem;
    }
    .home-bottom {
        padding: 2rem 4rem;
    }
    .toggle-sec {
        padding: 4rem 2rem;
    }
    .toggle-content {
        flex-direction: column;
        align-items: center;
        padding: 0;
        gap: 0;
    }
    .toggle-img img {
        max-width: 690px;
    }
    .service-list {
        gap: 0;
    }
    .service-list a {
        align-self: center;
    }
}

@media (max-width: 960px) {
    .home-text{
        padding: 0 1rem;
    }
    .home-bottom {
        padding: 2rem 1rem;
    }
    .toggle-btns a {
        font-size: 20px;
        text-align: center;
    }
    .toggle-sec {
        padding: 0;
    }
    .service-list li {
        font-size: 20px;
    }
    .about-content a {
        font-size: 20px;
        font-weight: 300;
    }
    .service-list a {
        font-size: 20px;
    }
    .expectations img {
        height: 50px;
        width: 50px;
    }
    .testimonial {
        flex: 0 0 350px;
        h5{
            font-size: 20px;
        }
    }
}

@media (max-width: 710px) {
    .home-sec3 {
        padding: 2rem 2rem;
    }
    .about-content br {
        display: none;
    }
    .toggle-btns {
        justify-content: space-between;
    }
    .testimonial {
        flex: 0 0 250px;
        transition: none;
        transform: none;
        opacity: 1;
        filter: none;
        padding: 1rem 2rem;
    }
    .testimonial.active {
        transform: none;
        padding: 1rem 2rem;
    }
}

@media (max-width: 546px) {
    .home-bottom {
        flex-direction: column;
        gap: 0;
        p {
            margin: 0;
        }
        hr {
            width: 100%;
        }
    }

    .home-sec2 {
        padding: 2rem 1rem;
    }

    .home-sec3 {
        padding: 2rem 1rem;
        h4 {
            text-align: center;
        }
    }
    .expectations {
        h4 {
            text-align: left;
        }
    }
    .who-we-serve {
        padding: 1rem;
        h4 {
            align-self: center;
        }
    }

    .about-wrapper {
        flex-direction: column;
        align-items: center;
    }
    .about-content a {
        font-size: 18px;
        align-self: center;
    }

    .about-content h3 {
        text-align: center;
        font-weight: 300;
        margin: 1rem 0;
    }
    .about-content br {
        display: none;
    }
    .toggle-btns a {
        font-size: 16px;
    }
    .service-list li {
        font-size: 18px;
    }
}

/* @media (max-width: 768px) {
	#expect-grid .elementor-image-box-wrapper {
		display: flex !important;
		align-items: center;
		gap: 10px;
	}
	#expect-grid .elementor-image-box-wrapper img {
		width: 35px !important;
		height: 35px !important;
	}
    .testimonial-card {
        width: 105% !important;
        min-width: unset;
        padding: 25px;
    }
} */

@media (max-width: 767px) {
    #expect-grid .elementor-image-box-wrapper {
        display: flex !important;
    }
}

.home-sec1 {
  position: relative !important;
  min-height: 100svh !important;
  height: auto !important;
  overflow: hidden !important;
  background: #000 !important;
  isolation: isolate;
}

/* Elementor text/content wrapper */
.home-sec1 > .elementor-element-92a5840 {
  position: relative !important;
  z-index: 2 !important;
  min-height: 100svh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}

/* Video widget container */
.home-sec1 .home-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Elementor video wrapper */
.home-sec1 .home-bg .elementor-wrapper,
.home-sec1 .home-bg .e-hosted-video {
  width: 100% !important;
  height: 100% !important;
}

/* Actual video */
.home-sec1 .home-bg video,
.home-sec1 .home-bg .elementor-video {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Keep gradient/dark overlay behavior consistent */
.home-sec1 .home-bg {
  mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 55%,
    rgba(0,0,0,0) 100%
  ) !important;
  -webkit-mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 55%,
    rgba(0,0,0,0) 100%
  ) !important;
}

@media (max-width: 1024px) {
  .home-sec1,
  .home-sec1 > .elementor-element-92a5840 {
    min-height: 100svh !important;
  }

  .home-sec1 .home-bg video,
  .home-sec1 .home-bg .elementor-video {
    object-position: center center !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .home-sec1,
  .home-sec1 > .elementor-element-92a5840 {
    min-height: 100svh !important;
  }

  .home-sec1 .home-bg video,
  .home-sec1 .home-bg .elementor-video {
    object-position: center top !important;
  }
}