html {font-size: 62.5%;} /* reset font-size to 10px  */
*, *:before, *:after {margin:0; padding: 0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}
*:focus {outline:0;}
img {border: 0; vertical-align: bottom; height: auto;}
table {border-collapse: collapse; border-spacing: 0;}
.trans, a {-webkit-transition: all ease 0.3s; -o-transition: all ease 0.3s; transition: all ease 0.3s;}
a {text-decoration: none;}
/* end reset */
body {font: 400 1.8rem/1.3 'Montserrat', sans-serif; color: #4F626F; padding-top: 68px;}
p {text-wrap: balance;}
/* comodines*/
:root {
  --blue: #203143; 
  --orange: #F2932D;
  --yellow: #FECA27;
  --lblue: #A1B7C6;
}
::selection {color: #efefef; background: var(--orange);}
.next:before { /* regula alto de anclas con menu fixed */
	display: block; content: "";
    margin-top: -53px; height: 53px;
    visibility: hidden;
}
.gencontainer {overflow: hidden;}
.maxw {width: 100%; max-width: 1366px; margin: auto;}
.w100 {width: 100%;}
.h100 {height: 100%;}
.plite {padding: 50px 0;} .pmedium {padding: 80px 0;}
.plarge {padding: 120px 0;} .ptop {padding: 120px 0 0;} .pltop {padding: 50px 0 0;}
.whiteColor {color: #fff;}
.blueColor {color: var(--blue);} /* azul */
.lblueColor {color: var(--lblue);} /* lightazu */
.orangeColor {color: var(--orange);} /* naranja */
.yellowColor {color: var(--yellow);} /* amarillo */
.parrafo {margin-bottom: 20px;}
.tcenter {text-align: center;}
.tright {text-align: right;}

.vh35 {height: 35vh;}
.vh45 {height: 45vh;}
.vh50 {height: 50vh;}
.vh60 {height: 60vh;}
.vh75 {height: 75vh;}

.greyBg {background: #FAFAFA;}
.greyBg02 {background: #FCFCFC;}
.greyBg03 {background: #f2f2f2;}
.orangebg {background: var(--orange);}
.bluebg {background: var(--blue);}
.lbluebg {background: var(--lblue);}
/* estilo general para botones */
.btn {
	border-radius: 44px;
	display: inline-block; font-weight: 500;
	font-size: 2.2rem; overflow: hidden;
	margin: 20px 0 0; color: #fff; padding: 12px 50px;
}

.btnOrange {background: var(--orange);}
.btnOrange:hover {background: var(--yellow); color: var(--blue);}
.btnGrey {background: var(--lblue);}
.btnGrey:hover {background: #4F626F;}
/* fin estilo general para botones */
.btntransparent {border: 1px solid #fff;}
.btntransparent:hover {background: rgba(255,255,255,.2);}
.indextop {
	background: transparent url("../images/background-top.jpg") no-repeat center center;
	background-size: cover;
	height: 75vh;
}
.indextop .titleblock {max-width: 600px;}
.titleblock img, .addressContainer img {margin-bottom: 35px;}
.title {
	font-size: 6rem; font-size: 6vmin; 
	font-weight: 700; line-height: 1.1;
}
.subtitle {font-size: 2.4rem; line-height: 1.6; text-wrap: balance;}

.texturabg {padding: 150px 0;}


.texturabg .rellax {top: 0;}

.radiusbox {border-radius: 10px; overflow: hidden; margin-bottom: 20px;}
.shadow {box-shadow: 2px 8px 15px rgba(180,184,183,0.27);}
.productHome {background: linear-gradient(#fff 24%, #F7F7F7 24%, #F7F7F7 100%);}
.productBox {
	width: 100%; border-radius: 49px; 
	overflow: hidden; margin: 20px; border-radius: 15px;
}
.productcontent:last-child {padding-bottom: 45px;}
.title2 h3 {font-weight: 500; margin-bottom: 3px;}
.esquemas h3 {margin-bottom: 10px;}
.esquemas ul {padding-left: 30px; margin-bottom: 20px;}
.esquemas ul li {margin: 5px 0;}
@media screen and (min-width: 768px) {
	.productcontent:first-child .productBox:first-child {
		max-width: 340px; height: 345px; background: var(--orange);
	}
	.productcontent:first-child .productBox:last-child {
		max-width: 520px; height: 400px; background: var(--lblue); 
		margin-right: 45px; border-radius: 70px; 
	}
	.productcontent:last-child .productBox:first-child {
		max-width: 418px; height: 460px; background: var(--yellow);
		align-self: flex-end; border-radius: 75px; 
	}
	.productcontent:last-child {padding-bottom: 45px;}
	.productcontent:last-child .productBox:last-child {
		max-width: 336px; height: 540px;
		background: #9BDDDD;
	}
}

.contactHome {
	background: url(../images/home_2.jpg) no-repeat center center; 
	background-size: cover;
}
.contactBlock {
	max-width: 540px; background: #fff; text-align: center;
	border-radius: 10px; padding: 35px 20px 20px;
	box-shadow: 6px 6px 8px rgba(0,0,0,0.1);
}
.contactBlock img {width: 197px;}
.formHome {width: 340px; margin: 40px auto 20px;}

/* nosotros */
.qsomos {max-width: 500px;}
.qsomos02 {max-width: 500px; padding-left: 45px !important;}
.qsomosimages {
	overflow: hidden; margin-bottom: 20px;
	/*height: 50vh;*/ border-radius: 10px;
}
.qsomos-logos img {max-width: 270px; margin-bottom: 35px;}

/* contacto */
.title2 {max-width: 768px;}
.title2 .title {font-weight: 500; font-size: 4.6vmin;}
.contact {width: 320px;}
.contact img {margin-bottom: 20px;}
.contact p {font-size: 2.2rem; font-weight: 500;}
.contact a {color: #4F626F;}
.wspBtn a {
	display: inline-block; width: 280px;
	color: #fff; font-size: 1.8rem;
	background: #189D0E; font-weight: 500;
	padding: 12px 20px; border-radius: 30px;
}
.wspBtn a img {vertical-align: middle;}
.wspBtn a:hover {background: #18A81C;}

.contactBlue {
	max-width: 1100px; margin: auto;
	padding: 65px 15%; background: var(--blue;);
	box-shadow: 6px 6px 8px rgba(0,0,0,0.1);
	background-color: #203143; border-radius: 15px;
}
.contactBlue img {margin-bottom: 35px;}
.contactBlue #contactForm textarea {height: calc(100% - 30px); color: #fff;}
.contactBlue #contactForm input {color: #fff;}
.contactBlue #contactForm input[type='submit'] {
	max-width: 280px; margin: 35px 0 0;
}
.addressItem {max-width: 480px;}

/* productos */
.productsTop {position: relative;}
#particles {background: var(--lblue); position: absolute; width: 100%; height: 100%;}

/* casas prefabricadas */
.casasbox {
	border-radius: 10px; max-width: 550px;
	margin: auto;
}
.casasbox h2 {
	padding: 30px 20px 20px;
	font-size: 2.8rem; font-weight: 800;
}
.modeldescription {padding: 35px 30px 45px;}
.modeldescription h3 {
	padding-bottom: 10px; font-size: 2.2rem;
	border-bottom: 1px solid rgba(255,255,255,.6);
}
.descriptlist {padding: 20px;}
.descriptlist ul {list-style-type: none;}
.descriptlist ul li {margin: 3px 0;}
.descriptlist ul li img {vertical-align: middle;}

.lightGallery {
	cursor: pointer;
	position: relative;
}

.lightGallery:after {
 	position: absolute;
 	display: flex;
 	justify-content: center;
 	align-items: center;
 	width: 100%; height: 100%; content: "\f302";
    font-style: normal; font-variant: normal;
    text-rendering: auto; -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free"; font-weight: 900; top: 0; left: 0;
    font-size: 0;
    color: rgba(255,255,255,.8);
	transition: all ease .2s;
	background: transparent;
}
.lightGallery:hover:after {
	background: rgba(0,0,0,.3);
	font-size: 6rem;
}

/* tapiales prefabricados */
.videoContent {
    height: 0; overflow: hidden;
    padding: 30px 0 56.25%; position: relative;
}
.videoContent iframe, .videoContent object, .videoContent embed {
    width: 100%; height: 100%;
    left: 0; top: 0; position: absolute;
}
.title2 span {color: var(--lblue); font-size: 2.4rem;}
.tablebox {color: #fff; text-align: center;}
.tablebox table {width: 100%; max-width: 780px; background: var(--orange);}
.tablebox th {background: var(--blue);}
.tablebox th {padding: 10px 5px;}
.tablebox td {padding: 5px; border-right: 1px solid var(--yellow);}
.tablebox td:last-child {border-right: none;}
.tablebox tbody tr:first-child {border-bottom: 1px solid var(--yellow);}
.tablebox tbody tr:first-child td {padding: 10px 5px;}
.blockTapiales h2 {
	color: #B8C7D8; padding-top: 25px;
	border-top: 3px solid #B8C7D8; line-height: 1.5;
}
.media iframe {border: 0;}
.gencontainer {position: relative;}
.bgtapiales02 {
	position: absolute; overflow: hidden;
	width: 35vw; height: 100%; top: 0; right: 8%;
}

/* baldosas podotáctiles */
.baldosasbox {max-width: 460px; margin: auto;}
.baldosasContent {max-width: 360px;}
.cm {padding: 46% 35px 0 0;}
.baldosaContainer :nth-child(2) .cm {padding: 46% 0 0 35px;}

.baldosaimg {position: relative; margin-bottom: 45px;}

.baldosaimg:before, .baldosaimg:after {
	content: ""; position: absolute;
	border: 1px solid #4F626F;
}
.baldosaimg:before {
	width: 100%; height: 11px;
	border-top: none; bottom: -30px;
}
.baldosaimg:after {
	width: 11px; height: 100%;
}
.baldosaContainer .item:nth-child(1) .baldosaimg:after {
	border-right: none; left: -30px;
}
.baldosaContainer .item:nth-child(2) .baldosaimg:after {
	right: -30px; border-left: none;
}
.accesibilidad h2 {color: #3CB1E5; font-weight: 500;}
.podotactilBg {
	background: linear-gradient(#fff 12%, #F8F8F8 12%, #F8F8F8 70%, #fff 70%);
}

.pdf-desktop {
   display: block;
 }

 .pdf-mobile {
   display: none;
 }

 /* Media query para pantallas menores a 768px (típico móvil) */
 @media (max-width: 768px) {
   .pdf-desktop {
     display: none;
   }

   .pdf-mobile {
     display: block;
     text-align: center;
     margin: 20px 0;
   }

/*   .pdf-mobile a {
     display: inline-block;
     padding: 12px 20px;
     background-color: #007bff;
     color: white;
     text-decoration: none;
     border-radius: 8px;
   }

   .pdf-mobile a:hover {
     background-color: #0056b3;
   }*/
 }

@media screen and (max-height: 900px) {}
@media screen and (max-width: 1366px) {}
@media screen and (max-width: 1200px) {}
@media screen and (max-width: 1124px) {}
@media screen and (max-width: 980px) {
	.plite, .pmedium {padding: 50px 0;}
	.plarge {padding: 60px 0;} 
	.ptop, .pltop {padding: 50px 0 0;}
}
@media screen and (max-width: 860px) {
	#message {width: 95%;}
	.btn {font-size: 2rem;}
}
@media screen and (max-width: 800px) {
	.descriptlist {padding: 20px 0;}
}
@media screen and (max-width: 768px) {
	body {padding-top: 47px;}
	.title {font-size: 9vmin;}
	.indextop {height: 50vh;}
	.next:before { height: 46px;}
	.vh50, .vh60, .vh75 {height: auto;}
	.productBox {margin: 20px 0;}
	.productcontent >div {padding: 0 10px;}
	.contactBlock {max-width: 95%; margin: auto;}
	.contactHome .titleblock {color: var(--blue); text-align: center;}
	.topBg {text-align: center;}
	.qsomos {margin: auto;}
	.contacoBlue {background: var(--blue);}
	.contactBlue {
		padding: 65px 5%;
		background: var(--blue;); box-shadow: none;
	}
	.blockDescription {text-align: center;}
	.formHome {width: 100%;}
	.columDescription  {background: #fff; padding: 30px 20px;}
	.bgtapiales02 {width: 100vw;right: 0;}

	.tablebox {position: relative;}
	.tablebox table {
		table-layout: fixed; width: 680px;
		transform-origin: 0 50%;
		-moz-transform: rotate(-90deg);  /* FF3.5+ */
		-o-transform: rotate(-90deg);  /* Opera 10.5 */
		-webkit-transform: rotate(-90deg);  /* Saf3.1+, Chrome */
		filter:  progid:DXImageTransform.Microsoft.BasicImage(rotation=3);  /* IE6,IE7 */
		-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; /* IE8 */
		position: absolute;
		left: 50%;
		top: 70%;
	}
	.tablebox th {padding: 10px 15px;}
	.tablebox tr:not(:first-child) td {writing-mode: tb-rl;}
	.tablebox td {width: 150px; word-wrap: break-word;}
  
}
@media screen and (max-width: 720px) {
	.texturabg .rellax {display: none;}
	.texturabg {
		background: url("../images/home_textura.png") no-repeat center top;
		background-size: cover;
	}
	.qsomos02 {padding-left: 0 !important;}
	.qsomos-logos img {max-width: 250px;}
}
@media screen and (max-width: 640px) {
	.plarge {padding: 40px 0;} 
	.pltop {padding: 25px 0 0;}
	.btn {padding: 12px 35px;}
	.subtitle {font-size: 1.8rem; line-height: 1.4;}
	.contact, .addressItem {width: 100%; max-width: 100%;}
	.title2 .title {font-size: 6vmin;}
}
@media screen and (max-width: 568px) {
	.nosotros-bg, .topBg {height: 260px;}
}
@media screen and (max-width: 480px) {
	.contactBlue #contactForm textarea {height: 150px;}
}
@media screen and (max-width: 425px) {
}