/*--------------------------------------------------------
Responsive elements
--------------------------------------------------------*/

@media only screen and (min-width: 768px) and (max-width: 959px) {
                h1 { font-size: 68px;}
                .one-text { font-size: 16px;}
                #slidecaption { font-size: 68px }
                .slidedescription { font-size: 12px }
                .slider-text { bottom: 60px; } 
                .bg1, .bg3 { background-size: 150%;}
                .bg2 { background-size: 1280px;}
                #contact { background-size: 1437px; }
                .item { height: 167px; }
                .ib-text { padding-right: 26%; }
} 

@media only screen and (width: 1024px) {
                #contact { background-size: 1210px; }
                .card { margin: 60px 0 0 0; }
} 
 
@media only screen and (max-width: 767px) {
                h1 { font-size: 54px; line-height: 1; }
                .one-text { font-size: 14px; }
                .project-title { font-size: 14px; }
                .project-description { font-size: 11px; }
                #slidecaption { font-size: 36px}
                .lines { font-size: 24px; }
                #contact { height: auto;}
                .contact-social-icons li a { width: 40px; height: 40px; font-size: 20px; }
                .contact-social-icons li { margin: 0 5px 0 5px; }
                .links { display: none; }
                .dropmenu { display: block; margin-top: 5px; }
                .logo { width: 180px; height: auto; }
                .slidedescription { display: none; }
                .line { width: 80px; margin-bottom: 20px; }
                .social-icons { position: absolute; top: 4px; right:10px; margin-top: 0; }
                .social-icons li a { width: 18px; height: 18px; line-height: 1.8; font-size: 10px; }
                nav { height: 30px; }
                #homepage { margin-bottom: -30px; }
                .slider-text  { bottom: 50px; min-height: 80px; }
                #about, #culture, #services, #portfolio { padding-top: 32px; padding-bottom: 40px; }
                #prevslide, #nextslide{ position:absolute; height:15px; width:15px; top:50px; margin-top:-21px; opacity:0.6; }
                #culture h4 { padding-top: 27px; }
                .bg1, .bg2, .bg3 { background-attachment: scroll; background-size: cover; }
                .column .img-wrp { margin: 40px 0px 14px; }	
                #prevslide{ right:55px; font-size: 16px; }
				#nextslide{ right:30px; font-size: 16px; }
				#contact { background-size: cover; }
				.item { height: 330px; }
				.selectnav { display: block; margin-top: 5px;}
				.option-set { margin-left: 0; }
				.culture-full { padding: 40px 0px 40px 0px; margin: 40px 0px 14px 0px; }
				.info-block a.button { position: inherit; margin-top: 20px; }
				.ib-text { padding-right: 0; }
				.post-title { font-size: 36px; }
				p.lead { font-size: 14px; }
				.image-caption { display: none; }
				.blog-sidebar { display: none; }
				.post-info span { float: left; text-align: left; margin-top: 5px; }
	
}
	
@media only screen and (max-width: 479px) {
                .lines, .adress{ font-size: 18px; }
                .slider-text  { bottom: 50px; min-height: 100px; }
                #prevslide, #nextslide{ position:absolute; height:15px; width:15px; top:100px; opacity:0.6; }
                #prevslide{ left:0; }
				#nextslide{ left:25px; }
				.logo { top: 20px; }
				.item { height: 254px; }
}

@media only screen and (min-width: 1400px) {

  nav .container,
  #homepage .container,
  #homepage .sixteen.columns {
    width: 96%;
  }

  nav .three.columns { float: right; }
  .slider-text { width: 100%; }
  .line { width: 180px; }

  #parallax1, #parallax2, #parallax3,
  #parallax1 .vertical-text, #parallax2 .vertical-text,
  #parallax3 .vertical-text, #parallax1 .pattern,
  #parallax2 .pattern, #parallax3 .pattern {
    height: 600px;
  }

  #prevslide, #nextslide {
    position: absolute;
    height: 30px;
    width: 30px;
    top: 210px;
    margin-top: -21px;
    opacity: 0.6;
  }

  .bg1, .bg2, .bg3 { background-size: 100%; }
}
                
@media only screen and (max-width: 768px) {

  .one-text,
  .description,
  .lead {
    font-size: 15px;
    line-height: 1.6;
  }

  h1 {
    font-size: 28px;
  }

  h3 {
    font-size: 20px;
  }
}
@media only screen and (max-width: 768px) {

  #portfolio_items .four.columns {
    width: 100% !important;
    margin-left: 0 !important;
  }

}
/* ===============================
   iOS FIX — Parallax 1
   =============================== */

@supports (-webkit-touch-callout: none) {

  #parallax1,
  .parallax-1,
  .parallax {
    background-attachment: scroll !important;
    height: auto !important;
    min-height: auto !important;
  }

  #parallax1 .parallax-text,
  .parallax-1 .parallax-text {
    position: relative;
    padding: 60px 20px;
    text-align: center;
  }
}

/* Ajuste tipográfico móvil */
@media (max-width: 1024px) {
  #parallax1 {
    min-height: auto;
  }

  #parallax1 .parallax-content {
    padding: 100px 20px;
  }

  #parallax1 .prlx-quote {
    font-size: 28px;
    margin: 0;
  }
}
/* FIX email largo en móvil */
@media (max-width: 768px) {

  #contact a,
  #contact p,
  #contact .lines a {
    word-break: break-all;
    overflow-wrap: anywhere;
    white-space: normal;
    font-size: 15px;
    line-height: 1.4;
  }

}
/* FIX iPad vertical – portfolio */
@media (min-width: 768px) and (max-width: 1024px) {

  #portfolio_items .four.columns {
    width: 48% !important;
    margin-right: 2%;
    margin-bottom: 20px;
  }

  #portfolio_items .four.columns:nth-child(2n) {
    margin-right: 0;
  }

}
/* iOS fix Supersized full screen */
@supports (-webkit-touch-callout: none) {
  #supersized,
  #supersized li,
  #supersized img {
    width: 100vw !important;
    height: 100vh !important;
    object-fit: cover;
  }
}
/* iPad Isotope fix */
@media (min-width: 768px) and (max-width: 1024px) {
  #portfolio_items {
    width: 100%;
  }

  .item {
    height: auto !important;
    margin-bottom: 20px;
  }

  .four.columns.item {
    width: 48% !important;
  }
}
@media (max-width: 1024px) {
  .isotope {
    height: auto !important;
  }
}
/* iPhone contact email fix */
@media (max-width: 480px) {
  .lines {
    font-size: 22px;
    line-height: 1.3;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (max-width: 480px) {
  .lines {
    font-size: 21px;
    line-height: 1.25;
    text-transform: none; /* 👈 clave */
    word-break: break-all;
    white-space: normal;
    padding: 0 12px;
  }
}
@media (max-width: 768px) {
  #parallax1,
  #parallax2,
  #parallax3 {
    min-height: auto;
  }

  .parallax-content {
    padding: 80px 6vw;
  }

  .prlx-quote {
    font-size: 32px;
    line-height: 1.1;
  }
}
/* =====================================================
   RESPONSIVE CLEAN – FINAL OVERRIDES
   ===================================================== */

/* ---------------------------
   ≤ 1024px (Tablet / Desktop small)
---------------------------- */
@media (max-width: 1024px) {

  /* Parallax */
  #parallax1,
  #parallax2,
  #parallax3 {
    min-height: auto;
  }

  .parallax-content {
    padding: 100px 6vw;
  }

  .prlx-quote {
    font-size: 32px;
    line-height: 1.1;
  }

  /* Backgrounds */
  .bg1, .bg2, .bg3 {
    background-attachment: scroll !important;
    background-size: cover;
  }

  /* Contact */
  #contact {
    background-size: cover;
  }

}

/* ---------------------------
   ≤ 768px (Tablet vertical / Mobile)
---------------------------- */
@media (max-width: 768px) {

  h1 { font-size: 32px; }
  h3 { font-size: 20px; }

  .one-text,
  .description,
  .lead {
    font-size: 15px;
    line-height: 1.6;
  }

  /* Parallax text */
  .parallax-content {
    padding: 80px 6vw;
  }

  .prlx-quote {
    font-size: 28px;
  }

  /* Contact email fix */
  #contact a,
  #contact p,
  .lines a {
    word-break: break-word;
    overflow-wrap: anywhere;
    white-space: normal;
  }

}

/* ---------------------------
   ≤ 480px (iPhone)
---------------------------- */
@media (max-width: 480px) {

  .lines {
    font-size: 21px;
    line-height: 1.3;
    text-transform: none;
    padding: 0 12px;
    word-break: break-word;
    white-space: normal;
  }

  .parallax-content {
    padding: 60px 5vw;
  }

  .prlx-quote {
    font-size: 24px;
  }

}
/* Tablets */
@media (max-width: 1024px) {
  .prlx-quote {
    font-size: 1.5rem;
  }
}

/* Móviles */
@media (max-width: 768px) {
  .parallax-section {
    height: 70vh; /* se reduce la altura en móviles */
  }
  .prlx-quote {
    font-size: 1.2rem;
  }
  .prlx-author {
    font-size: 0.9rem;
  }
}
@media (max-width: 1024px) {
  .prlx-quote { font-size: 1.5rem; }
}

@media (max-width: 768px) {
  .parallax-section { height: 70vh; }
  .prlx-quote { font-size: 1.2rem; }
  .prlx-author { font-size: 0.9rem; }
}
/* Responsive */
@media (max-width: 1024px) {
  .prlx-quote { font-size: 1.5rem; }
}

@media (max-width: 768px) {
  .parallax-section { height: 70vh; }
  .prlx-quote { font-size: 1.2rem; }
  .prlx-author { font-size: 0.9rem; }
}
/* Ajuste fino solo para parallax2 en desktop */
@media (min-width: 1025px) {
  #parallax3 .parallax-bg {
    background-position: center 20%; /* ajusta verticalmente */
  }
}
/* Ajuste fino para tablet y desktop (iPad en adelante) */
@media (min-width: 768px) {
  /* Parallax 2 */
  #parallax2 .parallax-bg {
    background-position: center 75%; /* mueve la imagen hacia arriba */
    transform-origin: center 45%;    /* zoom enfocado en el sujeto */
  }

  /* Parallax 3 */
  #parallax3 .parallax-bg {
    background-position: center 4%; /* mueve la imagen un poco hacia abajo */
    transform-origin: center 45%;    /* zoom enfocado */
  }
}
/* ================================
   RESPONSIVE
================================ */

/* Tablet / iPad */
@media (min-width: 768px) and (max-width: 1024px) {
  .prlx-quote { font-size: 1.5rem; }

  /* Reencuadre parallax2 y 3 */
  #parallax2 .parallax-bg {
    background-position: center 35%;
    transform-origin: center 35%;
  }
  #parallax3 .parallax-bg {
    background-position: center 45%;
    transform-origin: center 45%;
  }

  .parallax-section { min-height: 90vh; }
}

/* Móviles / iPhone */
@media (max-width: 767px) {
  .prlx-quote { font-size: 1.2rem; }
  .prlx-author { font-size: 0.9rem; }

  .parallax-section { min-height: 70vh; }

  /* Ajuste seguro de fondo para iOS */
  .parallax-bg {
    width: 110%;
    height: 110%;
    transform: translate(-50%, -50%) scale(1);
    transform-origin: center center;
  }
}
/* iOS / Mobile: sin transformaciones complejas */
@media (max-width: 1024px) {
  .parallax-bg {
    height: 110%;
    transform: translate(-50%, -50%) !important;
  }
}
/* ================================
   iOS / MOBILE – PARALLAX OFF
================================ */

@media (max-width: 1024px) {

  .parallax-section {
    height: auto;
    min-height: 60vh;
  }

  .parallax-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100%;
    width: 100%;
    transform: translate(-50%, -50%) !important;
  }
}
/* ================================
   MOBILE / iPAD – PARALLAX OFF
================================ */

@media (max-width: 1024px) {

  .parallax-section {
    height: auto;
    min-height: 60vh;
  }

  .parallax-bg {
    height: 100%;
    transform: translate(-50%, -50%) !important;
  }
}
@media (max-width: 768px) {
  #contact .lines {
    border: none;
    padding: 0;
  }
}
@media (max-width: 1024px) {
  .parallax-bg {
    transform: translate(-50%, -50%) !important;
  }
}
@media (max-width: 420px) {
  .copyright {
    font-size: 0.65rem;
  }
}
@media (max-width: 768px) {
  .parallax-bg {
    width: 110%;
    height: 110%;
  }
}
@media (max-width: 768px) {

  .parallax-content {
    padding: 2.5rem 1.25rem;
  }

  .prlx-quote {
    font-size: 1rem;
    line-height: 1.45;
    max-width: 100%;
  }

  .prlx-author {
    font-size: 0.7rem;
    margin-top: 0.5rem;
  }
}
/* Ajuste tipográfico mínimo Parallax 1 */
@media (max-width: 767px) {
  #parallax1 .prlx-quote {
    font-size: 90%;
  }
}
@media (max-width: 767px) {
  #parallax1 .prlx-quote {
    font-size: 0.95em;
  }
}
/* =====================================
   PARALLAX 1 – AJUSTE DESKTOP GRANDE
===================================== */
@media (min-width: 1280px) {

  #parallax1 .parallax-content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
  }

  #parallax1 .prlx-quote {
    font-size: 2.4rem;
    line-height: 1.35;
  }

  #parallax1 .prlx-author {
    margin-top: 18px;
    font-size: 1rem;
  }
}
/* =====================================
   PARALLAX 1 – CENTRADO VERTICAL DESKTOP
===================================== */
@media (min-width: 1280px) {

  #parallax1 {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #parallax1 .parallax-content {
    position: relative;
    top: 0;
    transform: none;
  }

}
@media (min-width: 768px) {
  .copyright p br {
    display: none;
  }
}