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

html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html, body {
  height: 100%;
  margin:0;
  padding:0;
}

body {
  font-family: 'Poppins', sans-serif;
  color: #333;
  font-size:1rem;
  font-weight:400;
  margin: 0;
  padding:0;
  position:relative;
  height:100%;
}

body:not(.device-touch):not(.device-sm):not(.device-xs) .overlay {
    -webkit-transition: opacity .2s ease-in-out;
    -o-transition: opacity .2s ease-in-out;
    transition: opacity .2s ease-in-out;
}

:root {
  --animate-delay: 0.5s;
  --fs-menu: clamp(1rem, 10vw, 7rem);
}

.mt-22 {margin-top:100px;}
.pd4 {padding: clamp(0.25em, 5vw, 4em);}

sup:hover {cursor:pointer; text-decoration:underline;}
img {max-width: 100%;}

.container {display:flex; height: 100%; max-width: 100%; padding: 0; margin:0;}

.renglon {width:100%; height:80px; min-height:80px; position:fixed; left:0; top:0; padding:0; display:flex; justify-content:center; align-items:center; z-index:100; }

.caja {width:100% !important; height:auto; display:flex; justify-content:center; position:absolute; top:100vh;}

.btn_menu { width:120px;  float:left; z-index:100;}
.btn_menu img {width:auto; height:50px; float:left; }

.btn_close {position: absolute; display:block; top:1.5rem; left:clamp (6rem, 10vw, 8rem); width:42px; height:42px; z-index:9999999;}
.btn_close img {max-width:42px; height:auto; float:right;}

.btn_mas_info {background-color:#CCC; font-weight:600; color:white; max-width: max-content; height:auto; padding:10px;}

.gris {background-color:#CCC; padding: clamp(1rem, 5vw, 4rem);}
.blanco {background-color:#FFF;}
.blanc {background-color:#FFF;}

.slider {position:absolute; left:0; top:0; width:400%; height:100%; float:left; display:flex; flex-direction:row; animation: slideToLeft 20s ease infinite;}

.swiper-slide {width:100%; height:100%; position: relative; top:0; }
.ancho {width:50%; height:auto;}

.swiper-slide p {font-family: 'Poppins', sans-serif; font-size: 0.850rem; color: #333;}
.swiper-slide h1 {font-family: 'Poppins', sans-serif; font-size:clamp(1.125rem, 1.5vw, 3rem); font-weight:400; color: #333; line-height:1.4; margin-top:1rem;}
.swiper-slide h2 {font-family: 'Poppins', sans-serif; font-size: 1rem; font-weight:600; color: #333; line-height:1.4; margin-top:1rem;}
.swiper-slide h3 {font-family: 'Manrope', sans-serif; font-weight:300; font-size: 0.850rem; color: #808184; line-height:1.2; }


.menu-text {font-size:var(--fs-menu); line-height: 1.5;}
.menu {height:min-content;}
.menu a {color:#333 !important;}
.menu a:hover, .menu a.active {color:#999 !important;}

.contacto {width:auto; height:min-content;}
.contacto a {font-family: 'Poppins', sans-serif; line-height:normal; font-weight:300;}
.contacto a:hover {text-decoration:underline;}

.proyectos {display:flex; flex-direction:column; width:auto; justify-content:flex-start; padding:8rem 0 2rem 0;   z-index:10;}
.proyectos a {width:auto; height:auto; text-align:left; float:left; padding-bottom:3rem; padding-left: clamp(0.135rem, 7vw, 8rem); font-family: 'Poppins', sans-serif; font-size: clamp(2rem, 7vw, 7.5rem); color: #333; opacity:0.9;}
.proyectos a span {width:100%; float:left; font-family: 'Poppins', sans-serif; font-size: clamp(1rem, 5.5vw, 3rem); color: #333; opacity:0.7; line-height:14px;}
.proyectos a:hover, .proyectos a:hover span {color:#111; opacity:1.0}

.proyecto {width:100%; text-align:center; float:left; z-index:100; position:absolute; top:80px;}
.proyecto h3 {font-family: 'Poppins', sans-serif; font-size:clamp(1rem, 1.5vw, 1.5rem); color: #333; line-height:1.6; margin:0;}
.proyecto p {font-family: 'Manrope', sans-serif;  font-size: 14px; color: #808184; margin:0; line-height:1;}

.adicional {width:100%; height:auto;  display:flex; flex-direction: row; justify-content:space-evenly; position:absolute; text-align:center; z-index:10; bottom:30px; left:0;}
.adicional a {font-size:13px; float:left; color:#333;}
.adicional a:hover {color:#999;}

.info {width:auto; max-width:100%; height:auto; max-height:70vh; overflow-y:auto;  padding:0 1.5rem; font-family: 'Manrope', sans-serif; font-size:0.850rem; color: #808184 !important; text-align:left;}

.hilera {width:100%; float:left; }

.pleca {padding:3rem 6rem; text-align:justify; color:#FFF; float:left; }
.pleca h3 {font-family: 'Poppins', sans-serif; font-size: 24px !important; margin-bottom:1.5rem;}
.pleca p {font-family: 'Manrope', sans-serif;  font-size: 18px !important; font-weight:300 !important;}



section {width:100%; float:left;}

.row {
    display: flex;
    justify-content: center;
	align-items:flex-end;
	min-height:400px;
	flex-direction:row;
	
}

.col {
    /* these are now flex items */
    width: 50%;
	display:flex;
	flex-direction:column;
	justify-content: flex-end;
	margin:0;
}

.gris h3 {font-family: 'Poppins', sans-serif; font-size: clamp(1.0rem, 5.5vw, 1.5rem); margin-bottom:1.5rem;}
.gris p {font-family: 'Manrope', sans-serif;  font-size: clamp(0.5rem, 4.125vw, 1.125rem);}

.foto1 {background: url("../images/taller/taller_01.jpg") repeat top center fixed; }

.foto img {width:100%; height:100% !important; object-fit: cover;}

.blanco p {font-family: 'Poppins', sans-serif; font-size: clamp(0.5rem, 5vw, 1.5rem); margin: 1em auto; width: min(800px, 100%); padding: clamp(2rem, 5vw, 3rem); color: #333; font-weight:300; font-style:italic; text-align:center; }

.slim_modal {
  position: absolute;
  width: 100%;
  height: auto;
  min-height:100%;
  max-height: max-content;
  top: 0;
  left: 0;
  padding-left: clamp(1rem, 6vw, 8rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: left;
  -ms-flex-align: left;
  -webkit-align-items: left;
  -moz-align-items: left;
  align-items: left;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  -webkit-justify-content: left;
  -moz-justify-content: left;
  justify-content: left;
  z-index: 9999;
  display: none;
  font-size: 1em;
  -webkit-transition: background 0.5s ease 0.06s;
  -moz-transition: background 0.5s ease 0.06s;
  -ms-transition: background 0.5s ease 0.06s;
  -o-transition: background 0.5s ease 0.06s;
  transition: background 0.5s ease 0.06s;
}


@media only screen and (max-height: 500px) and (orientation: landscape) {
   .proyecto {display:none;}
}

@media (min-width: 640px) {
	
}

@media (min-width: 800px){
  .info {width:auto; max-width:70%; height:auto;}
}

@media (min-width: 1000px){
  .info {width:auto; max-width:50%; height:auto;}
}

@media (min-width: 1200px) {
   
}

@media (min-width: 1400px) {
   
}

@media (min-width: 1580px) {
   .info {width:auto; max-width:40%; height:auto;}
}

@media (min-width: 1800px) {
   
}