/*
Theme Name: Cavenas 2015
Theme URI: 
Author: Hector Cabrera
Author URI: http://cabrerahector.com/
Description: Tema para el sitio web de Cavenas
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: white, fixed-layout, responsive-layout
Text Domain: cavenas
*/

/*

Table of Contents
=================

1. Header
2. Home Slider
3. Shortcuts
4. Home Video
5. Page Details
6. Footer
7. Media Queries

Extras
======

1. Awesome Font Icons - http://fortawesome.github.io/Font-Awesome/icons/

*/
 

/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #444;	
}

html {
	font-family: 'Lato', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 14px;
}
body {
	background-color: #fff;
	color: #222;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browse Happy prompt
   ========================================================================== */

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

.left { float:left; }
.right { float:right; }
.center {
	display:block;
	margin:0 auto;
}

a {
	color:#ab1319;
	text-decoration:none;
}

a:hover { text-decoration:underline; }

.spinner {
	display: inline-block;
	margin: 5px 5px 0;
	width: 16px;
	height: 16px;
	opacity: .7;
	filter: alpha(opacity=70);
	background: url('images/wpspin_light-2x.gif') no-repeat;
	background-size: 16px 16px;
}

/*
 * 1. Header
 */
header#site-header {
	position:relative;
	margin:0;
	padding:15px 0 0 0;
	width:100%;
	height:33px;
}

	header#site-header h1 {
		position:absolute;
		left:30px;
		top:11px;
		z-index:999;
		margin:0;
		padding:0;
		width:259px;
		height:85px;
		background:url(images/logo3.png) left top no-repeat;
	}
	
		header#site-header h1 a {
			display:block;
			width:259px;
			height:85px;
			outline:none;
		}
		
			header#site-header h1 a span { display:none; }
		
	header#site-header nav.site-navigation {
		
	}
	
		header#site-header nav.site-navigation ul {			
			margin:0 0 0 0;
			padding:0 30px 0 0;
			text-align:right;
		}
		
			header#site-header nav.site-navigation ul li {
				display:inline;
				margin:0;
				padding:0 0 0 25px;
			}
			
				header#site-header nav.site-navigation ul li a {
					transition: all 0.5s ease;
					color:#000;
					font-weight:bold;
				}
				
				header#site-header nav.site-navigation ul li a:hover {
					color:#ab1319;
					text-decoration:none;
				}
			
				header#site-header nav.site-navigation ul li.current-menu-item a { color:#ab1319; }
				

/*
 * 2. Home Slider
 */
section#home-slider {
	margin:0 0 0 0;
	width:100%;
	height:400px;
}

/*
 * 3. Shortcuts
 */
section#shortcuts {
	overflow:hidden;
	float:none;
	clear:both;
	margin:0 auto 0 auto;
	width:70%;
}

	section#shortcuts .shortcut {
		display:inline;
		float:left;
		padding:3% 6% 3%;
		width:38%;
	}
	
		.shortcut-icon {
			margin:0 auto 5px auto;
			/*padding:30px 0 0 0;
			width: 130px;
			height: 100px;
			text-align:center;
			transition: all 0.5s ease;
			border-radius: 50%;
			background:#f5f5f5;*/
		}
		
			.shortcut-icon i.fa-cogs {
				font-size:70px;
			}
			
			.shortcut-icon .fa-file-text-o {
				font-size:65px;
			}
			
			/*
			.shortcut-icon:hover {			
				background:#ab1319;
			}
			
			.shortcut-icon:hover a {	
				color:#fff;
			}
			*/
			
			.shortcut-icon img {
				display:block;
				margin:0 auto;
				border:none;
			}
	
		section#shortcuts .shortcut h2 {
			margin:0 0 0 0;
			font-size:2.1em;
			text-align:center;
		}
		
			section#shortcuts .shortcut h2 a {
				color:#000;
				text-decoration:none;
			}
		
		section#shortcuts .shortcut p {
			font-size:1.1em;
			line-height:2.0em;
			text-align:justify;
		}

/*
 * 4. Home Video
 */
#home-video {
	overflow:hidden;
	padding:40px 0;
	width:100%;
	background:#f5f5f5;
}

	#home-video h2 {
		margin:0 0 45px 0;
		font-size:2.1em;
		text-align:center;
	}
	
		#home-video h2 span {
			color:#ab1319;
		}
	
	#home-video .videowrapper {
		margin:0 auto;
		width:560px;
	}

/*
 * 5. Page Details
 */

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

section#page-detail {
	width:100%;
}

	section#page-detail header {
		overflow:hidden;
		margin:0 0 45px 0;
		padding:170px 2% 0 2%;
		width:96%;
		height:230px;
		color:#fff;
		background-color:#f0f0f0;
		background-size: cover;
		background-position: 50% 0%;
		background-repeat: no-repeat;
	}
	
	/* Header seccion Nosotros */
	.page-id-2 main#content section#page-detail header {
		background-image:url(images/cover_nosotros_oficina.jpg);
	}
	
	/* Header seccion Productos */
	.page-template-productos main#content section#page-detail header {
		background-image:url(images/cover_productos_collage.jpg);
	}
	
	/* Header seccion Servicios */
	.page-id-36 main#content section#page-detail header {
		background-image:url(images/cover_servicios_sala_maquinas.jpg);
	}
	
	/* Header Andenes */
	.page-id-123 main#content section#page-detail header {
		background-image:url(images/cover_andenes_collage.jpg);
	}
	
	/* Header Ascensores */
	.page-id-71 main#content section#page-detail header {
		background-image:url(images/cover_ascensores_collage.jpg);
	}
	
	/* Header Escaleras Mecanicas */
	.page-id-128 main#content section#page-detail header {
		background-image:url(images/cover_productos_escaleras.jpg);
	}
	
	/* Header Contacto */
	.page-id-5 main#content section#page-detail header {
		background-image:url(images/call-center.jpg);
	}
	
		section#page-detail header h2 {
			margin:0;
			font-size:3.2em;
			line-height:normal;
			text-shadow: 0px 0px 7px rgba(150, 150, 150, 1);
		}
	
	section#page-detail #the-content {
		overflow:hidden;
		margin:0 auto 45px auto;
		width:90%;
		max-width:1024px;
	}
		
		section#page-detail #the-content h1, section#page-detail #the-content h2, section#page-detail #the-content h3, section#page-detail #the-content h4, section#page-detail #the-content h5, section#page-detail #the-content h6 {
			padding:0 0 10px 0;
			color:#000;
			background:url(images/dash.gif) left bottom no-repeat;
		}
	
		section#page-detail #the-content h1, section#page-detail #the-content h2, section#page-detail #the-content h3 {			
			font-size:1.7em;
		}
		
		section#page-detail #the-content h4 {
			font-size:1.5em;
		}
		
		section#page-detail #the-content h5 {
			font-size:1.3em;
		}
		
		section#page-detail #the-content h6 {
			font-size:1.2em;
		}
		
		section#page-detail #the-content p {
			line-height:1.9em;
		}
	
		/* Contacto */
		section#page-detail #the-content #form {
			display:inline;
			float:left;
			width:45%;
		}
		
			section#page-detail #the-content #form form {}
			
				p.error_message,
				p.ok_message {
					display:block;
					margin:0 0 15px 0;
					padding-left:1%;
					padding-right:1%;
					width:98%;
					line-height:2.5em;
					border-top-width:1px;
					border-right-width:1px;
					border-bottom-width:1px;
					border-left-width:3px;
					border-style:solid;
				}
				
				p.error_message {
					color:#ff0000;
					background:#ffeaea;
					border-color:#ff0000;
				}
				
				p.ok_message {
					color:#444;
					background:#e8ffe4;
					border-color:#24ff00;
				}
			
				section#page-detail #the-content #form form label {
					display:none;
					font-size:1.1em;
					line-height:1.8em;
				}
				
				section#page-detail #the-content #form form input.text {
					display:block;
					margin:0 0 15px 0;
					padding-left:1%;
					padding-right:1%;
					width:98%;
					line-height:2.5em;
					border-color:#a9a9a9;
					border-top-width:1px;
					border-right-width:1px;
					border-bottom-width:1px;
					border-left-width:3px;
					border-style:solid;
				}
				
				section#page-detail #the-content #form form textarea {
					margin:0 0 15px 0;
					padding-top:12px;
					padding-bottom:12px;
					padding-left:1%;
					padding-right:1%;
					width:98%;
					min-height:200px;
					resize:vertical;
					border-color:#a9a9a9;
					border-top-width:1px;
					border-right-width:1px;
					border-bottom-width:1px;
					border-left-width:3px;
					border-style:solid;
				}
				
				section#page-detail #the-content #form form .user_error {
					color:#ff0000;
					border-color:#ff0000!important;
				}
				
				/* honeypot */
				#th_rh_name { display:none; }
				
				p#callcenter {
					margin-top:30px;
					font-size:0.9em;
				}
				
		section#page-detail #the-content #sucursales {
			float:right;
			width:50%;
		}
		
			section#page-detail #the-content #sucursales .sucursal {
				margin:0 0 8px 0;
				padding:0 0 2px 0;
				border-bottom:#f0f0f0 1px solid;
			}
			
				section#page-detail #the-content #sucursales .sucursal p {
					margin:0 0 5px 0;
					padding-left:35px;
					font-size:0.9em;
				}
				
				section#page-detail #the-content #sucursales .sucursal p.loc {
					line-height:1.1em;
					background:url(images/location.gif) 4px 2px no-repeat;
				}
				
				section#page-detail #the-content #sucursales .sucursal p.tlf {
					background:url(images/tlf.gif) 0px 3px no-repeat;
				}
				
					section#page-detail #the-content #sucursales .sucursal span {
						display:block;
						font-size:1.1em;
						font-weight:bold;
						line-height:1.3em;
					}
					
					section#page-detail #the-content #sucursales .sucursal-principal span {
						color:#ab1319;
					}

		/* Productos */
		.page-template-productos main#content section#page-detail #the-content h3.sub-heading {
			font-size:2.3em;
			text-align:center;
			background-position:center bottom;
		}
		
		section#page-detail #productos {
			overflow:hidden;
			margin:0 0 45px 0;
			width:100%;
		}
		
			section#page-detail #productos .producto {
				overflow:hidden;
				padding:20px 5%;
				width:90%;
			}
			
			section#page-detail #productos .producto.odd {
				color:#fff;
				background:#222;
			}
			
			section#page-detail #productos .producto.even {
				background:#f7f9fa;
			}
			
				section#page-detail #productos .producto h3 {
					display:inline;
					float:left;
					margin:0;
					font-size:1.7em;
				}
				
					section#page-detail #productos .producto.odd h3 a {
						color:#fff;
					}
					
					section#page-detail #productos .producto.even h3 a {
						color:#000;
					}
				
				section#page-detail #productos .producto a.btn_ver_mas {
					display:inline;
					float:right;
					padding:8px;
					width:70px;
					color:#fff;
					text-align:center;
					background:#ab1319;
				}
					
				section#page-detail #productos .producto p {
					float:none;
					clear:both;
					margin:0 0 5px 0;
					width:80%;
				}

		#account-summary {
			overflow: hidden;
			margin: 0 0 2em;
		}

			#account-details {
				display: inline;
				float: left;
				margin: 0 0 2em;
			}

			#account-total-amount {
				display: inline;
				float: right;
				clear: right;
				margin: -0.5em 0 0 0;
				padding: 0.5em 2.5em;
				background: #f0f0f0;
			}

				#account-total-amount strong {
					display: block;
				}

				#account-total-amount span {
					font-size: 2em;
				}

		#account-payments {
			float: none;
			clear: both;
		}

			#ap-table-wrapper {}

				#ap-table-wrapper table {
					padding: 0;
					border: none;
				}

					#ap-table-wrapper table tr td {
						padding: 0.5em 1em;
					}

					#ap-table-wrapper table tr.odd td {
						background: #f0f0f0;
					}

					#ap-table-wrapper table tr.even td {
						background: #d9d9d9;
					}

					#ap-table-wrapper table tr td:last-of-type {
						text-align: center;
					}

/*
 * Lightbox
 */
.cav-lightbox {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 9999;
	padding: 1.5em;
	width: 300px;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	background: #fff;
	box-sizing: border-box;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
}

	.cav-lightbox h3 {
		margin: 0 0 1em;
		padding: 0 0 10px 0;
		color: #000;
		font-size: 1.7em;
		background: url(images/dash.gif) left bottom no-repeat;
	}

	.cav-lightbox form {
		overflow: hidden;
	}

		.cav-lightbox form label {
			display: block;
		}

		.cav-lightbox form input[type=text],
		.cav-lightbox form input[type=date] {
			display: block;
			margin: 0 0 15px 0;
			padding-left: 1%;
			padding-right: 1%;
			width: 100%;
			line-height: 2.5em;
			border-color: #a9a9a9;
			border-top-width: 1px;
			border-right-width: 1px;
			border-bottom-width: 1px;
			border-left-width: 3px;
			border-style: solid;
			box-sizing: border-box;
		}

		.cav-lightbox form select {
			display: block;
			margin: 0 0 15px 0;
			padding: 0.65em 0;
			width: 100%;
			line-height: 2.5em;
			border-color: #a9a9a9;
			border-top-width: 1px;
			border-right-width: 1px;
			border-bottom-width: 1px;
			border-left-width: 3px;
			border-style: solid;
			box-sizing: border-box;
		}

		.cav-lightbox form button {
			display: inline;
			margin: 0.5em 0 0;
		}

		.cav-lightbox form button[type=reset] {
			float: right;
		}

/*
 * 6. Footer
 */
footer#site-footer {
	overflow:hidden;
	float:none;
	clear:both;
	padding:15px 0;
	width:100%;
	color:#fff;
	background:#000;
}

	footer#site-footer p {
		font-size:0.9em;
		text-align:center;
	}

#btn_back_to_top {
	position:fixed;
	z-index:999;
	right:20px;
	bottom:22px;
	width:40px;
	height:25px;
	background:url(images/back-to-top.png) left top no-repeat;
}

	#btn_back_to_top span { display:none; }

/*
 * 7. Media Queries
 */
@media only screen and (max-width : 480px) {
	/* Header */
	header#site-header h1 {
		left:5px!important;
		top:13px!important;
		width:76px!important;
		height:26px!important;
		background:url(images/logo3_mobile.png) left top no-repeat!important;
	}
	
		header#site-header h1 a {
			width:76px!important;
			height:26px!important;
		}
		
		header#site-header nav.site-navigation ul {
			padding:0 5px 0 0;
		}
		
			header#site-header nav.site-navigation ul li {
				padding:0 0 0 4px;
				font-size:0.8em;
			}
	
	/* Shortcuts */
	section#shortcuts .shortcut {
		display:block;
		float:none;
		padding:6%;
		width:88%;
	}
	
	footer#site-footer {
		padding:15px 2%;
		width:96%;
	}
	
	#btn_back_to_top { display:none; }
}

@media only screen and (max-width : 640px) {
	/* Header */
	header#site-header h1 {
		left:20px;
		top:20px;
		width:150px;
		height:49px;
		background:url(images/logo3_tablets.png) left top no-repeat;
	}
	
		header#site-header h1 a {
			width:150px;
			height:49px;
		}
	
	/* Home Slider */
	section#home-slider {
		margin:0 0 10px 0;
		width:100%;
		max-height:400px;
		height:auto;
	}
	
	/* Youtube */
	.videowrapper {
		position: relative;
		float: none;
		clear: both;
		padding-bottom: 56.25%;
		padding-top: 25px;
		width: 100%;
		height: 0;
	}
	
		.videowrapper iframe {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}
	
	/* Shortcuts */
	section#shortcuts {
		width:90%;
	}
	
	/* Contacto */
	section#page-detail #the-content #form {
		float:none;
		clear:both;
		display:block;
		margin-bottom:45px;
		width:90%;
	}
	
	section#page-detail #the-content #sucursales {
		float:none;
		clear:both;
		display:block;
		width:90%;
	}
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}