html {
	background: #fff;
	height: 100%;
}

body {
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	height: 100%;
	min-height: 100%;
	overflow-y: scroll;
}

a, span, ::before, ::after, li, input, img, .close, header {
	-webkit-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.container {
	min-height: 100%;
	margin: 0 auto;
}

.wrapper {
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	position: relative;
}

header {
	padding: 30px 0;
	height: 100%;
	box-shadow: inset #272727 0 -12px 0;
}

.logo {
	display: inline-block;
	margin: 12px 0 0;
}

.logo img {
	max-width: 100%;
}

.social {
    position: absolute;
    top: -10px;
    right: 0;
}

.social li {
	margin: 0 0 5px;
}

.datos {
	position: absolute;
	top: 0;
	font-size: 14px;
	line-height: 1.4em;
	color: #333;
	margin-top: -12px;
	right: 30px;
	text-align: right;
}

.datos ul {
	padding: 0;
	list-style: none;
}

.datos li{
	list-style: none;
	text-decoration: none;
}

.datos a, .contactBullets a {
	color: #333;
	text-decoration: none;
}

.datos a:hover, .contactBullets a:hover {
	text-decoration: underline;
}

.tel,.contactBullets .tel {
	color: #272727;
	font-weight: 700;
}

nav { 
	background: #fff;
	float: right;
	display: block;
	margin: 70px -5px 0 0;
}

nav .current a {
	border-color: #272727;
}

nav li {
	float: left;
	margin: 0;
	padding: 0;
}

nav a {
	color: #272727;
	text-decoration: none;
	display: block;
	padding: 3px 20px;
	margin: 0px 5px;
	font-size: 15px;
	letter-spacing: 0.05em;
	font-weight: 400;
	border-style: solid;	
	border-width: 1px;
	border-color: #fff;
}

nav a:hover {
	border-color: #272727;
}

.slideshow {
	height: 400px;
}

.mainBanner {
	background: #171312;
}

.mainBanner img {
	max-width: 100%;
}

.barra {
	background: #ddd;
}

.tarjetas {
	width: 100%;
	padding: 0 200px 0 10px;
	box-sizing: border-box;
}

.tarjetas img {
	float: left;
}

.tarjetas img:first-child {
	width: 25%;
}

.tarjetas img:last-child {
	width: 75%;
}

.garantia {
	position: absolute;
	right: 0;
	top: -90px;
}

.col33, .col50, .col66, .col100 {
	text-align: left;
	float: left;
}

.col33 {width: 33.33%;}
.col50 {width: 50%;}
.col66 {width: 66.67%;}
.col100{width: 100%;}

.modulo {
	position: relative;
	margin: 10px;
	text-align: left;
}

.content {
	padding: 40px 0 175px;
/*
	background: -webkit-linear-gradient(#ccc, #fff 40px);
	background: -o-linear-gradient(#ccc, #fff 40px);
	background: linear-gradient(#ccc, #fff 40px);
*/
}

.content p {
	font-size: 14px;
	line-height: 1.5em;
	color: #333;
	padding: 0;
	margin: 0 0 1.5em;
}

.content p strong {
	color: #272727;
}

.content h1 {
	font-size: 16px;
	background: #272727;
	color: #fff;
	letter-spacing: 0.05em;
	font-weight: 400;
	text-transform: uppercase;
	margin: 0 0 15px;
	display: inline-block;
	padding: 6px 10px 4px;
}

h1.fullWidth {
	display: block;
}

.content h1 a {
	font-size: 16px;
	background: #454444;
	color: #fff;
	letter-spacing: 0.05em;
	font-weight: 400;
	text-transform: uppercase;
	margin: -6px -10px;
	padding: 5px 10px;
	float: right;
	box-shadow: inset #454444 0 0 0 1px;
}

.content h1 a:hover {
	color: #454444;
	background: #fff;
}

.serviceList {
	padding: 0;
	margin: 0 -10px;
	list-style: none;
}

.serviceList li {
	width: 16.66%;
	float: left;
}

.serviceList a {
	display: block;
	margin: 10px;
	color: #454444;
	border: 1px solid;
	text-align: center;
	padding: 10px;
}

.serviceList span {
	display: block;
	line-height: 1em;
	height: 2em;
	margin: 0 10px;
}

.serviceList img {
	max-width: 100%;
	margin: 0 0 10px;
}

.serviceList a:hover {
	box-shadow: inset #272727 0 0 0 2px;
	border-color: #272727;
}

.serviceList a:hover img {
	-webkit-transform: scale(.75);
	-ms-transform: scale(.75);
	-o-transform: scale(.75);
	transform: scale(.75);
}

.serviceList a:hover span {
	-webkit-transform: translateY(-8px);
	-ms-transform: translateY(-8px);
	-o-transform: translateY(-8px);
	transform: translateY(-8px);
}

.bullets {
	padding: 0 0 0 15px;
	font-size: 14px;
	line-height: 1.5em;
}

.bullets li {
	color: #272727;
	list-style: disc;
	margin: 0 0 1.5em;
}

.content_img img {
	width: 100%;
	border: 1px solid #272727;	
}

.map {
	height: 454px;
	width: 100%;
}

.contacto {
	background: #272727;
	padding: 20px;
}

.contacto h2 {
	margin: 0 0 20px;
	color: #fff;
	font-size: 16px;
	border-bottom: 1px solid;
	padding: 0 0 5px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.contacto input, .contacto label, .contacto textarea {
	display: block;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: none;
	resize: none;
	color: #fff;
	font-size: 14px;
}

.contacto label {
	position: relative;
	margin: 10px 0 0;
	padding: 0 0 5px;
}

.contacto input, .contacto textarea {
	background: #454444;
	font-size: 14px;
	color: #fff;
	padding: 5px 7px;
	height: 30px;
}

.contacto textarea {
	margin-bottom: 20px !important;
	height: 100px;
}

.contacto input.formError, .contacto textarea.formError {
	background: #CD0E2D;
}

span.formError {
	font-style: italic;
	color: #fff;
	font-size: 12px;
	position: absolute;
	right: 20px;
	padding: 0 0 0 22px;
	background: url(../img/alert.png) no-repeat;
	height: 20px;
	line-height: 20px;
	margin: -25px 0 0;
}

.contacto input[type=submit] {
	border: solid 1px #fff;
	display: block;		
	text-decoration: none;
	position: relative;
	background: #fff;
	font-size: 14px;
	font-weight: 700;
	color: #272727;
	text-transform: uppercase;
}

.contacto input[type=submit]:hover {
	background: #82260E;
	border-color: #82260E;
	color: #fff;
}

.contactBullets {
	font-size: 14px;
	margin: 20px 0 0;
}

.contactBullets li {
	margin: 0;
	list-style: none;
	color: #333;
}

footer {
	margin: -135px 0 0;
	padding: 25px 0 52px 0;
	background: url(../img/bg_footer.jpg);
	box-shadow: rgba(0,0,0,.15) 0 6px 0 inset;
}

.footer_nav {
	list-style: none;
	display: block;
	float: left;
}

.footer_nav li {
	display: inline-block;
	padding: 0;
}

.footer_nav a {
	color: #fff;
	text-decoration: none;
	display: inline-block;
	padding: 0 2px 0 0;
	font-size: 15px;
	font-weight: 400;
	text-transform: uppercase;
}

.footer_nav .current a {
	font-weight: 700;
	color: #381C0F;
}

.footer_nav a:hover {
	color: #381C0F;
}

.footer_nav span {
	color: #fff;
	padding: 0px 15px;
}

.mark {
	display: block;
	text-align: right;
	float: right;
	overflow: hidden;
	font-size: 12px;
	color: #fff;
	margin-top: 4px;
}

.mark a {
	text-decoration: none;
	color: #fff;
	font-weight: 700;
}

.mark a:hover {
	color: #381C0F
}

.legal {
	font-size: 12px;
	margin-top: 10px;
	display: block;
	float: left;
	clear: both;
	color: #381C0F
}

.serviceOpen {
	display: none;
	text-align: left;
	z-index: 11;
	position: relative;
	margin: 0 10px 5px;
	border: 1px solid #272727;
}

.serviceOpen .garantia {
	position: absolute;
	right: 10px;
	top: 120px;
	margin: -68px 0 0;
	width: 150px;
}

.serviceOpen img:first-child {
	width: 100%;
}

.serviceOpen h2 {
	background: #272727;
	text-transform: uppercase;
	margin: 0;
	color: #fff;
	padding: 7px 20px 6px;
	font-weight: 400;
	font-size: 18px;
}

.serviceOpen ul {
	color: #272727;
	padding: 20px 20px 20px 36px;
}

.serviceOpen li {
	list-style: disc;
	font-size: 14px;
	line-height: 1.5em;
	padding: 0;
}

.serviceOpen span {
	color: #333;
}

.close {
	position: absolute;
	top: 10px;
	right: 10px;
	text-align: center;
	line-height: 23px;
	background: #fff;
	color: #272727;
	cursor: pointer;
	border: 1px solid #272727;
	padding: 5px;
	box-shadow: inset #272727 30px 0 0;
}

.close span {
	margin: -5px 5px -5px -5px;
	color: #fff;
	padding: 5px 10px;
}

.close:hover {
	background: #272727;
	color: #fff;
	box-shadow: inset #fff 30px 0 0;
}

.close:hover span {
	color: #272727;
}

.topBar {
	background: #272727;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	display: none;
	z-index: 20;
	-webkit-box-shadow: rgba(0,0,0,.3) 0 2px 4px;
	box-shadow: rgba(0,0,0,.3) 0 2px 4px;
}

.topBar a {
	float: left;
	padding: 5px 20px;
}

.burger {
	float: right;
	width: 80px;
	height: 50px;
	cursor: pointer;
	background: #454444 url('../img/burger.png') center center no-repeat;
}

.overlay {
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(0,0,0,.6);
	width: 100%;
	height: 100%;
	z-index: 20;
	cursor: pointer;
	display: none;
}

.gracias, .error {
	position: fixed;
	height: 135px;
	width: 440px;
	background: #fff;
	top: 50%;
	left: 50%;
	z-index: 24;
	margin: -75px 0 0 -220px;
	text-align: left;
	display: none;
}

.gracias h2, .error h2 {
	text-transform: uppercase;
	background: #272727;
	color: #fff;
	font-size: 21px;
	padding: 20px;
	margin: 0;
}

.gracias p, .error p {
	margin: 0;
	padding: 20px;
}

.gracias > a:first-child, .error > a:first-child {
	position: absolute;
	top: 13px;
	right: 13px;
	background: #fff;
	color: #272727;
	border: 1px solid #fff;
	text-align: center;
	width: 28px;
	height: 28px;
	line-height: 28px;
}

.error a {
	color: #272727;
}

.error p {
	padding: 10px 20px;
}

.gracias > a:first-child:hover, .error > a:first-child:hover {
	background: #272727;
	color: #fff;
}

@media(max-width: 1100px) {
	.wrapper {
		margin: 0 10px;
	}
}

@media(max-width: 1024px) {
	nav a {
		padding: 3px 7px;
		margin: 0 3px;
		font-size: 14px;
		letter-spacing: 0;
	}
	.serviceList li {
		width: 25%;
	}
	.col33, .col66 {
		width: 50%;
	}
	.col66 .col50 {
		width: 100%;
	}
	.col66 .col50 + .col50 .modulo {
		margin-top: -10px;
	}
}

@media(max-width: 800px) {
	.serviceList li {
		width: 33.33%;
	}
	header {
		position: fixed;
		width: 250px;
		max-width: 80%;
		top: 0;
		right: -290px;
		height: 100%;
		background: #fff;
		z-index: 30;
		box-shadow: rgba(0,0,0,.4) 0 0 40px;
		padding: 0;
	}
	.showHeader {
		-webkit-transform: translateX(-290px);
		-ms-transform: translateX(-290px);
		-o-transform: translateX(-290px);
		transform: translateX(-290px);
	}
	header .modulo {
		margin: 20px;
	}
	nav {
		display: block;
		margin: 20px 0;
		float: none;
	}
	nav li {
		display: block;
		float: none;
	}
	nav a {
		padding: 5px 0;
		margin: 5px 0;
	}
	nav .current a, nav a:hover {
		padding: 5px 10px;
	}
	.topBar {
		display: block;
	}
	.container {
		padding: 50px 0 88px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.datos {
		position: static;
		text-align: left;
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		padding: 15px 0;
		margin: 5px 0;
	}
	.social {
		position: static;
		margin: 15px 0;
	}
	.social li {
		float: left;
		margin: 0 10px 0 0;
	}
	.footer_nav {
		display: none;
	}
	.content {
		padding: 10px 0 0;
	}
	footer {
		padding: 20px 0 65px 0;
		text-align: center;
		margin: 0px 0;
	}
	footer .modulo {
		margin: 0;
	}
	.legal {
		margin: 0 0 10px;
	}
	.mark, .legal {
		text-align: center;
		display: block;
		float: none;
		font-size: 14px;
	}
	.wrapper > .garantia {
		position: static !important;
		top: auto !important;
		margin: -65px auto -10px;
		width: 150px !important;
	}
	.tarjetas {
		padding: 0 10px;
	}
}

@media(max-width: 640px) {
	.serviceList li {
		width: 50%;
	}
	.col33, .col66, .col50 {
		width: 100%;
	}
	.wrapper {
		margin: 0;
	}
	.garantia {
		margin: -46px 0 0;
		width: 150px;
	}
	.serviceList a {
		margin: 5px;
	}
	.serviceList {
		margin: 0 -5px;
	}
	.contactBullets {
		margin: 0;
	}
	.map {
		height: 300px;
		pointer-events: none;
	}
	.burger {
		width: 60px;
	}
	.topBar a {
		padding: 5px 10px;
	}
	.content {
		padding: 5px 0;
	}
	.close {
		top: 0;
		right: 0;
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		text-align: left;
		border-width: 0 0 1px;
	}
	.serviceOpen img:first-child {
		padding: 30px 0 0;
	}
	.serviceOpen .garantia {
		margin: -90px 0 0 0;
		width: 100px;
	}
	.content h1 {
		display: block;
	}
	.tarjetas img {
		width: auto !important;
		max-width: 100%;
	}
}


a.wp-call {
	text-decoration: none;
}

.wp-call {
	position: fixed;
	bottom: 5px;
	right: 0;
	border-radius: 9px 0 0 9px;
	background: #fff;
	box-shadow: 0 7px 15px rgba(0, 0, 0, .1);
	overflow: hidden;
	display: flex;
	align-items: center;
}

.wp-call:hover {
	-moz-transform: scale(1) translateX(1px) translateY(-2px);
	-webkit-transform: scale(1) translateX(1px) translateY(-2px);
	-o-transform: scale(1) translateX(1px) translateY(-2px);
	-ms-transform: scale(1) translateX(1px) translateY(-2px);
	transform: scale(1) translateX(1px) translateY(-2px);
	-webkit-transition: all 0.2s ease-in;
	;
	-moz-transition: all 0.2s ease-in;
	;
	-ms-transition: all 0.2s ease-in;
	;
	-o-transition: all 0.2s ease-in;
	;
	box-shadow: 0 7px 8px -5px #55555596;
	transition: all 0.2s ease-in;
}

.wp-call img {
	float: left;
	width: 30px;
	padding: 9px 11px;
	background: #1ebea5;
}

.wp-call span {
	color: #888;
	font-size: 15px;
	padding: 5px 30px 0 15px;
	text-align: left;
	line-height: 1em;
}

.wp-call span strong {
	font-size: 21px;
	font-weight: bold;
}

@media (max-width:991px) {
	.wp-call span {
		min-width: 90px;
	}
}