:root {
  /* Definir colores para el tema claro */
  --background-color: #F2F2F2;
  --text-color: #333;
}

@media (prefers-color-scheme: dark) {
  body {
    background-color: #F2F2F2;
    color: #333;
  }
}

@media (prefers-color-scheme: light) {
	body {
		background-color: #F2F2F2;
		color: #333;
	}
}

/* Reset */

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

  html {
    scroll-behavior: smooth;
    color-scheme: light;
  }
  
  /* Tipografía y fondo */
  body {
    font-family: system-ui, sans-serif;
    background-color: #F2F2F2 !important;
    color: #333 !important;
    padding: 0;
    margin:0;
  }
  body {
    --sb-track-color: #e8dcc8;
    --sb-thumb-color: #e8ad4a;
    --sb-size: 8px;
  }
  
  body::-webkit-scrollbar {
    width: var(--sb-size);
  }
  
  body::-webkit-scrollbar-track {
    background: var(--sb-track-color);
    border-radius: 3px;
  }
  
  body::-webkit-scrollbar-thumb {
    background: var(--sb-thumb-color);
    border-radius: 3px;
  }
  
  @supports not selector(::-webkit-scrollbar) {
    body {
        scrollbar-color: var(--sb-thumb-color)
        var(--sb-track-color);
    }
  }
  /* Container centrado */
  .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
  }
  
  /* Grilla */
  .row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 0;
  }
  
  /* Sistema de 12 columnas */
  .w-100 { width: 100%; }
  .w-75  { width: 75%; }
  .w-66  { width: 66.666%; }
  .w-50  { width: 50%; }
  .w-33  { width: 33.333%; }
  .w-25  { width: 25%; }
  .w-20  { width: 20%; }
  .w-16  { width: 16.666%; }
  .w-10  { width: 10%; }
  
  /* Responsive: apilar columnas en pantallas chicas */
  @media (max-width: 768px) {
    .w-100, .w-75, .w-66, .w-50, .w-33, .w-25, .w-20, .w-16, .w-10 {
      width: 100% !important;
    }
  }

.flex {
    display: flex;
}

.align-center {
    align-items: center;
    align-content: center;
}

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

.flex-end {
    justify-content:flex-end
}

.space-between {justify-content: space-between;}

a:hover {
  opacity: 0.85;
  cursor: pointer;
}

/* Font */ 

@font-face {
    font-family: Circular-Black;
    src: url(../fonts/Circular-Std-Black.ttf);
}

@font-face {
    font-family: Circular-Bold;
    src: url(../fonts/CircularStd-Bold.otf);
}

@font-face {
    font-family: Circular-Medium;
    src: url(../fonts/CircularStd-Medium.otf);
}

@font-face {
    font-family: Circular-Book;
    src: url(../fonts/CircularStd-Book.otf);
}

@font-face {
    font-family: Flegrei;
    src: url(../fonts/Flegrei.ttf);
}

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

h1 {
    font-family: "Flegrei";
    color: #333333;
    font-size: 2.5rem;
}

  /* NAV */
    #main-nav {
      height: 70px;
      z-index: 100;
      transition: box-shadow 0.5s ease; /* transición suave */
      padding: 0;
      width: 100% !important;
      margin: 0 auto;
      display: flex  ;
      align-items: center;
      margin-top: 10px;
      justify-content: center;
    }

    .nav-desk {
      width: 75%;
      height: 70px;
    }

    .nav-desk video {
      height: 100%;
      background-color: #F2F2F2;
    }

    .nav-desk img {
      width: 250px;
      margin-top: 12px;
    }

    .nav-desk .col.w-33 {
      height: 70px;
      overflow: hidden;
    }

    /* Clase que activa la sombra */
    #main-nav.scrolled {
      -webkit-box-shadow: 4px 26px 42px 2px rgba(0, 0, 0, 0.43);
      -moz-box-shadow: 4px 26px 42px 2px rgba(0,0,0,0.43);
      box-shadow: -1px 2px 42px 2px rgba(0, 0, 0, 0.13);
    }
  nav {
    background-color: #F2F2F2;
    /*position: fixed;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;*/
  }

  .menu {
    margin-right: 2rem;
  }

  ul {
    list-style: none;
  }

  li, option {
    font-family: "Circular-Black";
    text-decoration: none;
    padding: 0 24px;
    color: #333333;
  }

  select {
    font-family: "Circular-Black";
    padding: 12px 6px;
    border-radius: 10px;
    color: #333333;
    border: none;
    cursor: pointer;
    transition: color 0.3s ease;
  }  
  select:focus-visible {
	outline:none;
  } 

  a {
    text-decoration: none;
    color: #333333;
    transition: color 0.3s ease;
  }

  a:hover, select:hover {
    color: #5F8950;
  }

  
/* Estilos base para mobile */
.nav-mobile {
    display: none;
    background-color: #F2F2F2;
  }

.nav-mobile .logo {
  width: 60%;
  margin: 0 auto;
  padding-top: 5px;
}
  

.hero {
    height: calc(100vh - 70px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/*Title */

.title {
    width: 100%;
    margin: 1rem 0;
    max-width: 650px;
}

/* QUOTE */

.quotes {
    background-color: #5F8950;
    margin-top: -10px;
    padding-top: 3rem;
}

.quote {
  align-items: center;
  justify-content: space-around;
}

.quote h1 {
  color: white;
  font-family: "Circular-Black";
  margin-bottom: 1rem;
  font-size: 1.75rem;
  font-weight: normal;
}

.quote h2 {
  color: white;
  font-family: "Circular-Bold";
}

/* Slider */

#slider_desktop{
	margin-bottom: 30px;
}

#slider_mobile{
	margin-bottom: 30px;
}

.swiper {
    margin: 1rem 0;
    margin-top: 2rem;
}

.swiper-mobile {
    display: none!important;
}

.swiper-scrollbar {
    display: none;
}

.swiper-slide {
    transition: opacity 0.3s ease;
}

.swiper-slide img {
    width: 80% !important;
    margin: 0 auto;
    display: flex;
}

span.swiper-pagination-bullet, span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 12px;
    height: 12px;
}

span.swiper-pagination-bullet {
    background-color: #d8ae67;
}

span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #E8AD4A;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after, .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
    color: #E8AD4A;
}

#ourWork, #aboutUs, #contact {
  scroll-margin-top: 80px; /* deja espacio al hacer scroll a esa sección */
}

#works_filter{
	text-align:center;
	margin-top:20px;
}

#works_filter ul {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: 80%;
    /* text-align: center; */
}


#works_filter li{
	margin: 0px 0.2vw 0px 0.5vw;
	padding: 1rem 0.5rem;
	width: 6rem;
}

#works_filter .on{
	background-color:#4a6b3f;
}
#works_filter .off{
	background-color:#7ba66c;
}

#works_filter p{
	font-size:1rem;
	cursor: pointer;
}
/* Cards Proyects */

.projects {
  margin-bottom: 4rem;
}

.cardProject {
  padding: 1rem;
}

.cardProject .imgProject {
  width: 100%;
}

.cardProject .badges {
  margin-bottom: 1rem;
  gap: 3px;
  display: flex;
  flex-wrap: wrap;
}

.cardProject h2 {
    text-transform: uppercase;
    font-family: "Circular-Black";
    color: #5F8950;
}

.cardProject .cardHeader {
  margin: 1rem 0;
}

.cardProject h3 {
  font-family: "Circular-Bold";
  color: #4D4D4D;
}

.cardProject h5 {
    font-family: "Circular-Bold";
    color: #999;
    margin-top:2px;
}

.cardProject p {
  font-family: "Circular-Book";
  color: #4D4D4D;
  max-width: 90%;
  line-height: 1.4;
}

.appstore {
  width: 110px;
  height: 35px;
}

.playstore {
  width: 120px;
  height: 35px;
}

.buttonYellow {
  background-color: #E8AD4A;
  border-radius: 7px;
  height: 35px;
  width: 50px;
  font-family: "Circular-Book";
  display: flex;
  align-items: center;
  justify-content: center;
}

.buttonYellow p {
  color: white;
  text-align: center;
}

.video img {
  width: 20px;
}

/* Team */

.helloTitle {
  max-width: 300px;
  margin: 2rem auto;
  display: flex;
}

.wobble-hor-top {
  animation: wobble-hor-top 1s ease-in-out;
}


.descriptionTeam {
  margin-bottom: 4rem;
}

.descriptionTeam p {
  width: 85%;
  margin: 1rem auto;
  font-family: "Circular-Book";
  color: #606060;
  line-height: 1.3;
}

.team {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    width: 90%;
    margin: 3rem auto 2rem auto;
}

.teamMember {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-content: center;
}

.teamMember img {
  margin-bottom: 1rem;
  transition: transform 0.3s ease;
  will-change: transform;
  width: 150px;
}

.teamMember img:hover {
  animation: wobble 0.6s ease;
}

.teamMember h3 {
  font-family: "Circular-Black";
  color: #333333;
  margin-bottom: 0.5rem;
  text-align: center;
}

.teamMember h4 {
  font-family: "Circular-Bold";
  color: #333333;
  text-align: center;
}

/* Work With*/ 

#workWith {
  margin-top: 6rem;
}

#workWith h3 {
  font-family: "Circular-Bold";
  text-align: center;
  margin-bottom: 3rem;
}

.clients {
  display: flex ;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  align-content: center;
  gap: 32px;
}

.clients img {
  width: 150px;
}

/* Award*/

.awards {
  padding: 6rem 0;
}

.award-box {
  position: relative;
  text-align: center;
  color: white;
  padding: 0 1rem;
  align-items: center;
  justify-content: center;
  max-width: 300px;
  margin: 0 auto;
}

.award-box h3, .award-box h4, .award-box h5 {
  transition: all 0.5s ease;
}

.award-box:hover h3, .award-box:hover h4, .award-box:hover h5 {
  /* Glow effect */
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.6), 0 0 20px rgba(255, 255, 255, 0.5); /* Para los textos */
  opacity: 1;
}

/* Opcional, para ocultar el glow antes de hacer hover */
.award-box h3, .award-box h4, .award-box h5 {
  opacity: 0.8;
}

/* Animación de fade-in y fade-out */
.award-box:hover h3, .award-box:hover h4, .award-box:hover h5 {
  animation: fadeInGlow 0.5s forwards, fadeOutGlow 0.5s 1.5s forwards;
}

.award-box img {
  transition: all 0.5s ease;
}

.award-box:hover img {
  filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.6)); /* Resplandor sin afectar los bordes */
}


@keyframes fadeInGlow {
  0% {
    opacity: 0.8;
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fadeOutGlow {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0.8;
    transform: scale(0.95);
  }
}

.award-box h3 {
  color: #354D2D;
  font-family: "Circular-Black";
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.award-box h4 {
  color: #BDCCD4;
  font-family: "Circular-Bold";
  margin-bottom: 0.5rem;
}

.award-box h5 {
  color: #354D2D;
  font-family: "Circular-Bold";
}

.award-box img {
  max-width: 60px;
}

.award-box .awardText {
  min-width: 160px;
}

/* Poner laurel izquierdo 
.award-box::before,
.award-box::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 150px;
  height: 150px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(-50%);
}

/* Laurel izquierdo 
.award-box::before {
  left: -30px; 
  background-image: url('../img/assets_award_a.png');
}

.award-box::after {
  right: -30px; 
  background-image: url('../img/assets_award_b.png');
}

/*Footer */

footer {
  background-color: #5F8950;
}

.footer {    
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
  align-items: center;
  align-content: center;
  height: 210px;
  justify-content: space-evenly;
}

footer h3 {
  color: white;
  font-family: "Circular-Black";
  cursor: pointer;
}

footer .mail {
  padding-left: 48px;
}

footer .socialMedia {
  text-align: right;
  padding-right: 24px;
}

footer .socialMedia a {
  padding-right: 12px;
}

footer .socialMedia img {
  width: 30px;
}

.mail {
  position: relative;
}

#notification {
  font-size: 16px;
  font-family: "Circular-Book";
  transition: opacity 0.3s ease;
  display: none;
  padding: 10px;
  background-color: rgb(232, 173, 74);
  color: white;
  position: absolute;
  top: -50px;
  left: 20px;
  width: 150px;
  text-align: center;
  border-radius: 5px;
  opacity: 0;
}

/* Solo visible en mobile */
  @media (max-width: 768px) and (orientation: portrait) {
    #notification {
      font-size: 16px;
      font-family: "Circular-Book";
      transition: opacity 0.3s ease;
      display: none;
      padding: 10px;
      background-color: rgb(232, 173, 74);
      color: white;
      position: absolute;
      top: -50px;
      left: 0px;
      width: 100%;
      text-align: center;
      border-radius: 5px;
      opacity: 0;
    }
    #ourWork .cardProject:first-child {
      padding-top: 0;
    }

    #loader h1 {
      font-size: 1.5rem;
    }
    
    #main-nav {
      display: none;
    }
    .descriptionTeam {
      margin-bottom: 2rem;
    }

    .quotePhrase {
      width: 70%!important;
    }

    .quote img {
      width: 50% !important;
      margin: 0 auto;
      display: flex;
      margin-bottom: 1rem;
    }

    .phrase {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .nav-mobile .logo {
      width: 40%;
      padding-top: 16px;
    }

    .nav-desk {
      display: none;
    }
  
    .nav-mobile {
      display: block;
      z-index: 1000;
      /*position: fixed;*/
    }
  
    .mobile-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px;
      position: relative;
      z-index: 1100;
    }

    .language{
	    position:absolute;
	    right: 5px;
	    top: 68px;
    }
  
    #hamburger {
      font-size: 24px;
      background: none;
      border: none;
      cursor: pointer;
    }
  
    .mobile-menu {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      box-shadow: 0 4px 10px rgba(0,0,0,0.1);
      list-style: none;
      padding: 0;
      margin: 0;
      z-index: 1050;
    }
  
    .mobile-menu li {
      border-top: 1px solid #eee;
    }
  
    .mobile-menu li a {
      display: block;
      padding: 15px;
      text-decoration: none;
      color: #333;
    }
  
    .hidden {
      display: none;
    }

    .swiper-mobile {
        display: block!important;
    }

    .swiper-desk {
        display: none!important;
    }

    .swiper-button-prev:after,.swiper-rtl .swiper-button-next:after,.swiper-rtl .swiper-button-prev:after {
        display: none;
    }
    .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
        display: none;
    }
    .swiper-slide img {
        width: 100% !important;
    }
    #works_filter ul{
	width: 90%;
    }
    h1 {
        font-size: 1.8rem;
    }

    .quote {
      flex-direction: column;
    }

    .quote-reverse {
      flex-direction: column-reverse;
    }

    .quote-reverse h1, .quote-reverse h2 {
      text-align: left!important;
    }

    footer {
      flex-direction: column;
    }
    
    footer .mail, footer .socialMedia {
      text-align: center;
      padding: 0;
    }

  }

  @media (max-width: 450px) {

    .nav-mobile .logo {
      width: 60%;
    }

    .quotePhrase {
      width: 85%!important;
    }

    #works_filter li{
	margin: 0px 0.2vw 0px 0.5vw;
	padding: 1rem 0.5rem;
	width: 4rem;
    }

    #works_filter p{
	font-size:0.7rem;
    }

  }

   @media (max-height: 500px) and (orientation: landscape) {
	.phrase{
		margin-bottom: 100px;
	}
   }

  /* Zooms */

  .zoom-level-2 h1 {
    font-size: 1.4rem;
  }

  .zoom-level-2 h2 {
    font-size: 1.2rem;
  }

  .zoom-level-2 h3 {
    font-size: 1rem;
  }

  .zoom-level-2 h4 {
    font-size: 0.9rem;
  }
  
  .zoom-level-2 p {
    font-size: 0.8rem;
  }

  .zoom-level-2 a, .zoom-level-2 select  {
    font-size: 0.8rem;
  }
  


  
  .zoom-level-3 h1 {
    font-size: 1.4rem;
  }

  .zoom-level-3 h2 {
    font-size: 1.2rem;
  }

  .zoom-level-3 h3 {
    font-size: 1rem;
  }

  .zoom-level-3 h4 {
    font-size: 0.9rem;
  }
  
  .zoom-level-3 p {
    font-size: 0.8rem;
  }

  .zoom-level-3 a, .zoom-level-3 select  {
    font-size: 0.8rem;
  }
  
#popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;  
  background-color: rgba(255,255,255,0.8);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.5s ease;
  
}

  /* Fondo de carga */
#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(#e8ad4a 4px, transparent 4px), radial-gradient(#e8ad4a 4px, transparent 4px);
  background-size: 28px 28px;
  background-position: 0 0, 14px 14px;
  background-color: #e38f39;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.5s ease;
  display: none;
}

#loader h1 {
  font-family: "Flegrei";
  color: white;
  text-transform: uppercase;
  font-size: 14vw;
  text-shadow: 0px 1px 8px #565656;
  letter-spacing: 8px;
}

/* Spinner simple */
.spinner {
  position: relative;
  width: 15.7px;
  height: 15.7px;
}

.spinner div {
  animation: spinner-4t3wzl 1.875s infinite backwards;
  background-color: #474bff;
  border-radius: 50%;
  height: 100%;
  position: absolute;
  width: 100%;
}

.spinner div:nth-child(1) {
  animation-delay: 0.15s;
  background-color: rgba(71,75,255,0.9);
}

.spinner div:nth-child(2) {
  animation-delay: 0.3s;
  background-color: rgba(71,75,255,0.8);
}

.spinner div:nth-child(3) {
  animation-delay: 0.45s;
  background-color: rgba(71,75,255,0.7);
}

.spinner div:nth-child(4) {
  animation-delay: 0.6s;
  background-color: rgba(71,75,255,0.6);
}

.spinner div:nth-child(5) {
  animation-delay: 0.75s;
  background-color: rgba(71,75,255,0.5);
}

.contactTitle {
  font-family: "Circular-Bold";
  color: white;
  text-align: center;
  margin-bottom: 3rem;
}

label {
  font-family: "Circular-Book";
  color: white;
}

input[type="text"],input[type="email"], textarea {
  background-color: #E8AD4A;
  color: #333333;
  border: none;
  border-radius: 10px;
  padding: 0.5rem;
  width: 95%;
  margin: 0.5rem 0;
  font-family: "Circular-Bold";
  font-size: 1rem;
  height: 50px;
  border: none;
}

textarea {
  width: 100%;
  height: inherit!important;
}

form #email {
  width: 100%;
}

form .buttonYellow {
  font-family: "Circular-Bold";
  color: #333333;
  cursor: pointer;
  font-size: 1rem;
  padding: 1.5rem;
  width: 150px;
  margin: 0 auto;
}

form .buttonYellow:hover {
  opacity: 0.8;
}

#contact {
  display: flex;
  justify-content: space-between;
}

@keyframes spinner-4t3wzl {
  0% {
     transform: rotate(0deg) translateY(-200%);
  }

  60%, 100% {
     transform: rotate(360deg) translateY(-200%);
  }
}

#anim-title span {
  display: inline-block;
  animation: jump 0.6s ease-in-out infinite alternate;
  opacity: 1;
  transform: translateY(10px);
  animation-delay: calc(var(--i) * 0.1s);
}

@keyframes jump {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-10px);
  }
}

@keyframes wobble-hor-top {
			
  0% {
    transform:translateX(0%);
    transform-origin:50% 50%;
  }
  15% {
    transform:translateX(-30px) rotate(6deg);
  }
  30% {
    transform:translateX(15px) rotate(-6deg);
  }
  45% {
    transform:translateX(-15px) rotate(3.6deg);
  }
  60% {
    transform:translateX(9px) rotate(-2.4deg);
  }
  75% {
    transform:translateX(-6px) rotate(1.2deg);
  }
  100% {
    transform:translateX(0%);
    transform-origin:50% 50%;
  }
}

@keyframes wobble {
  0% { transform: rotate(0deg); }
  15% { transform: rotate(-5deg); }
  30% { transform: rotate(5deg); }
  45% { transform: rotate(-3deg); }
  60% { transform: rotate(3deg); }
  75% { transform: rotate(-2deg); }
  100% { transform: rotate(0deg); }
}
