/***
1. GENERAL
2. HEADER
3. MENU
4. FOOTER
5. BLOG
6. HOME
7. PAGES
8. WOOCOMMERCE
9. EXTRAS
***/


/** 1. GENERAL START **/


html, body{
	overflow-x:hidden;
	scroll-behavior: smooth;
}

body{
  font-size: 1rem;
  line-height:1.75;
  color: #404040;
  letter-spacing:1px;
  font-family: 'Roboto', sans-serif;
  }

.post, .page{
  margin:0;}

p, ul, ol{
  font-family: 'Roboto', sans-serif;
  margin-left:0;}

h1, h2, h3, h4, h5, h6{
  font-family: 'Poppins', sans-serif;
  color: #DC291E;
  font-weight: 400;
  line-height:1.3;
  margin-bottom:.8rem;
  letter-spacing:3px;
  }

b, strong {
    font-weight: bold;
}

button, input, optgroup, select, textarea{
   font-family: 'Roboto', sans-serif;}

.postcontent a, .postcontent a:link{
   font-family: 'Roboto', sans-serif;
   text-decoration: none;
   color: #DC291E; }

a {
  color:#DC291E;
  outline: 0;
  text-decoration:none;}

a:active,
a:hover,
a:focus {
  color:#303030;
  text-decoration:none;
  outline: 0;}

:focus{
  outline:none
}

.texto-semi-destacado{
  font-size:1.1rem;
  letter-spacing: 1px;
}


.texto-destacado{
  font-size:1.2rem !important;
  letter-spacing: .12rem;
}

.divider-gris {
  height: 1px;
  width:100%;
  display:block;
  margin: 9px 0;
  overflow: hidden;
  background-color: #ccc;
}

.divider-blanco {
  height: 1px;
  width:100%;
  display:block;
  margin: 9px 0;
  overflow: hidden;
  background-color: #fff;
}

.page-content, .entry-content, .entry-summary{
  margin:0 !important;}

button, input[type="button"], input[type="reset"], input[type="submit"]{
  letter-spacing:1px;
  border-radius:0;
  background:#303030;
  border:1px solid #303030;
  color:#fff;
  padding:1rem;
  font-size:1rem;
}

button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover{
  background:transparent;
  border:1px solid #DC291E;
  color:#DC291E;
}

.wpcf7-form input[type="submit"]{
	color: #fff;
    background: #DC291E;
    border-radius: 0  !important;
    border: 1px solid #DC291E;
	letter-spacing: 2px;
    border-radius: 0;
    padding: 1.1rem 1.8rem;
    font-size: .9rem;
    text-transform: uppercase;
    font-weight: 400;
    font-family: 'Poppins', sans-serif;
}

.wpcf7-form input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:focus,
.wpcf7-form input[type="submit"]:active{
	background: transparent;
	color:#DC291E;
	border:1px solid #DC291E !important;
}

.btn{
  letter-spacing: 2px;
  border-radius: 0;
  padding: 1rem 2.5rem;
  font-size: 1rem;
  font-weight: 400;
  font-family:'Poppins', sans-serif;
}

.btn:hover, .btn:focus, .btn:active{
  outline:none;
  box-shadow:none;
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
    color: #909090;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 3px;
    background: #fff;
    padding: 1rem;
    transition:all 300ms;
}

input[type="text"]:hover, input[type="email"]:hover, textarea:hover,
input[type="text"]:focus, input[type="email"]:focus, textarea:focus,
input[type="text"]:active, input[type="email"]:active, textarea:active{
	border: 1px solid #DC291E !important;
	background:#fff !important; 
	transition:all 300ms;
}
  
  
  
.btn-primary, .btn-primary:visited{
  color: #fff;
  background: #DC291E;
  text-transform: uppercase;
  border:1px solid #DC291E;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active{
  background: transparent;
  border:1px solid #DC291E;
  color:#DC291E;
}

.btn-secondary, .btn-secondary:visited{
  background:transparent;
  color:#DC291E;
  border:1px solid #DC291E;
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active{
  background:#DC291E !important;
  color:#fff !important;
  border:1px solid #DC291E !important;
}

.btn-blanco, .btn-blanco:visited{
  border:1px solid #fff !important;
  background: #fff;
  color: #DC291E;
  text-transform: uppercase;
}

.btn-blanco:hover, .btn-blanco:focus, .btn-blanco:active{
	background:#DC291E;
	color:#fff;
	border:1px solid #fff !important;
}

.btn-secondary-blanco{
  border:1px solid #fff !important;
  background: transparent;
  color: #fff;
}

.btn-secondary-blanco:hover, .btn-secondary-blanco:focus{
	border:1px solid #fff !important;
	background:#fff !important;
	color:#404040 !important;
}




label, input, textarea{
  width:100%;
  border-radius: 0 !important;
}

input:focus, textarea:focus{
  border-color:#000;
}

input[type=checkbox], input[type=radio], input[type=submit]{
  width:auto;
}

::placeholder{
  color:#ccc;
}

.img-full{
  min-width:100%;
  height:auto;}

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

.dos-columnas{
  -webkit-columns: 2; /* Chrome, Safari, Opera */
  -moz-columns:2; /* Firefox */
  columns:2;
  -webkit-column-gap: 60px;
  -moz-column-gap: 60px;
  column-gap: 60px;
  
}

.fondo-rojo{
	background: #DC291E;
}

.fondo-gris{
	background: #e5e5e5;
}

.texto-blanco{
	color:#fff;
}

.overflow-hidden{
	overflow:hidden;
}

.min-vh-100{
	min-height:100vh;
}

.adorno-titulo-right:after{
	content:'';
	position:relative;
	width: 400px;
	height: 2px;
	background: #DC291E;
	display: block;
	margin: 9px 0 9px auto;
}

.adorno-titulo-right-blanco:after{
	content:'';
	width:150px;
	height:4px;
	background:#fff;
	display:inline-block;
	margin:0 15px;
}


.adorno-titulo-left:after{
	content:'';
	position:relative;
	width: 400px;
	height: 2px;
	background: #DC291E;
	display:block;
	margin: 9px 0;
}

.adorno-titulo-left-blanco:after{
	content:'';
	position:relative;
	width: 400px;
	height: 2px;
	background: #fff;
	display:block;
	margin: 9px 0;
}

.adorno-titulo-center:after{
	content:'';
	width:100%;
	height:46px;
	background: url('images/adorno-titulo.svg') center center no-repeat;
	display:block;
	margin: -33px auto 0;
	z-index: -1;
}


.list-group-item{
	background:transparent;
}

/** 1. GENERAL END **/

/** 2. HEADER START **/

.site-header{
	position:relative;
	background:#fff;
	display: block;
	z-index: 2;
	overflow: inherit;
}

.home .site-header{
	position:absolute;
}

.cabecera{
  width:100%;
  font-family: 'Poppins', sans-serif;
  font-size: 1.2rem;
  letter-spacing:.1rem;
  z-index: 99999;
  transition:all 750ms;
}

.site-header-sticky,
.home .site-header-sticky{
	position:fixed;
	top: 0;
	background:rgba(255,255,255,.8);
	transition:all 750ms;
}

.cabecera a{
	color:#353535;
	font-size:1rem;
}

.logotipo{
	transition:all 750ms;
}

.site-header-sticky .logotipo{
	max-width:230px;
	margin-top:0;
	transition:all 750ms;
}

.top-header{
	font-family: 'Poppins',sans-serif;
}

.top-header p span{
	background:#DC291E;
	display:inline-block;
	padding-left: 30px;
	padding-right: 10px;
	clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.top-header a{
	color:#fff;
	font-size: .9rem;
}

.fondo-verde{
	background:#DC291E;
}

.buscador{
	width: 220px;
}

.buscador .aws-container .aws-search-field{
	border:1px solid #303030;
	background:transparent;
	border-radius:10px !important;
	height:36px;
}

.buscador .aws-container .aws-search-form .aws-form-btn{
	background:transparent;
	border:none;
	position:absolute;
	right:0;
	top:6px;
}

/** 2. HEADER END **/

/** 3. MENU START **/


.main-navigation ul{
  display: block;
  text-align: right;
}

.main-navigation ul li{
  padding: 4px 12px;
  font-size: 1rem;
  display: inline-block;
  float: none;
  border:1px solid transparent;
  transition:all 500ms;
}


.main-navigation ul li.current-menu-item{
  border:1px solid #DC291E;
}

.main-navigation ul li a{
  color: #404040;
  font-family:'Poppins', sans-serif;
  font-weight: 400;
  letter-spacing:2px;
  text-transform:uppercase;
  padding:4px 0;
}

.main-navigation ul ul{
    background:#fff;}

.main-navigation ul ul li{
    text-align:left;}

.main-navigation ul ul li a{
    font-size:.8rem;
    color:#303030}

.main-navigation ul ul li a:hover, .main-navigation ul ul li.current-menu-item a{
    color:#303030;}

.main-navigation ul li.menu-item-has-children a:after {
    content: '\f107';
    font-family: 'FontAwesome';
    margin-left: 5px;
    position: relative;
    top: 1px;
}

.main-navigation ul ul li a:after {
    content: none !important;
}


/** 3. MENU END **/

/** 4. FOOTER START **/

.site-footer{
  background: #2b2b2b;
  color: #fff;
  padding:15px 0;
  font-size: .7rem;
  box-shadow: 0px 2px 2px rgb(0 0 0 / 40%);
  position:relative;
  z-index:1;
}

.site-footer a{
  color:#fff;
}


.site-footer h3{
  color:#fff;
  font-size:1rem;
  text-transform:uppercase;
  font-weight:normal;
}


.direccion-footer{
	padding-left:15px;
}

.direccion-footer:before{
	content:'\f041';
	font-family:'FontAwesome';
	position:absolute;
	left:15px;
}


.sub-footer{
	background: #242424;
	color:#fff;
	padding: 20px 0;
	font-size:.7rem;
	position:relative;
	z-index:0;
}

.sub-footer a{
	color:#fff;
}

.logo-footer{
	max-width:225px;
}


/** 4. FOOTER END **/


/** 5. BLOG START **/

.entry-meta, .entry-meta a{
  font-size: .7rem;
  text-transform:uppercase;
}

.entry-footer, .entry-footer a{
  font-size:.8rem;
  text-transform:uppercase;
  color: #909090;
}

.entry-meta, .entry-footer{
  margin:1rem 0;
}

.blog article, .archive article {
  height:100%;
}

.widget-title{
  text-transform:uppercase;
  font-size: 1rem;
}

.widget{
  border-bottom:1px solid #ccc;
}

.widget:last-child{
  border:none;
}

.widget_search{
  border:none;
  background:#ececec;
  padding:25px;
  position: relative;
}

.widget_search form{
    position: relative;
    display: flex;
    width: 100%;
}

.widget_search label{
    position: relative;
    display: flex;
    width: 100%;
    margin: 0;
    }

.widget_search .search-field{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 1%;
  padding: .9rem .75rem;
  border-radius:0;
  font-size: 1rem;
  line-height: 1.25;
  border:none;
}

.widget_search .search-field:focus{
  outline:none;
}

.widget_search .search-submit{
    position: relative;
    flex: 1;
    background: #DC291E;
    color:#fff;
    border-radius: 0;
    cursor: pointer;
    line-height: 1.25;
    text-align: center;
    user-select: none;
    border: none;
    padding: .5rem 1rem;
    font-size: 1rem;
}

.post-navigation, .posts-navigation{
  border-top:1px solid #ccc;
  padding: 15px;
  margin: 1.5em 0 !important;
  font-size:1.1rem;
  width:100%;
}

.post-navigation .nav-previous a:before, .posts-navigation .nav-previous a:before{
  content: '\f060';
  font-family: FontAwesome;
  font-size:.8rem;
  padding: 0px 10px;
}

.post-navigation .nav-next a:after, .posts-navigation .nav-next a:after{
  content: '\f061';
  font-family: FontAwesome;
  font-size:.8rem;
  padding: 0px 10px;
}

article.post{
	position:relative;
	overflow:hidden;
}


/** 5. BLOG END **/

/** 6. HOME START **/


.fondo-blanco{
	background:#fff;
}


h2.titulo-home{
	font-size: 2rem;
}

.principal-home{
	position:relative;
	height:100vh;
	background:url('images/fondo-principal-home.svg') center bottom no-repeat;
	background-size:100% auto;
}

.principal-home-imagen{
	max-height: 70vh;
}

.principal-home h1 {
    background: #fff;
    color: #DC291E;
    font-size: 1.8rem;
    padding: 10px 20px 10px 20px;
    position: absolute;
    right: 0;
    top: 45vh;
    max-width: 90%;
    font-weight: 400;
}

.arrow-scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}

.arrow-scroll i{
	background: #fff;
	padding: 10px 18px;
	font-size:3rem;
	color:#DC291E;
}


#home-section-2 h3 a{
	color:#fff;
	font-weight:400;
	font-size:1.5rem;
}

#home-section-2 h3 a:hover{
	color:#404040;
}

.home-product-img{
	display:block;
	position:relative;
}

.home-product-img:after{
	content:'';
	background:transparent;
	transition:all 750ms;
}


.home-product-img:hover:after{
	content:'';
	background:rgba(220,41,30,.5);
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	transition:all 750ms;
}

.home-product-img span:hover:after{
	content:'\f0fe';
	background:rgba(220,41,30,.5);
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	font-family:'FontAwesome';
	color:#fff;
	font-size:4rem;
	transition:all 750ms;
}

h2.titulo-home{
	font-size:1.8rem;
}

.curva-roja-sup{
	position:relative;
	background:url('images/fondo-texto-home.png') center top no-repeat;
	background-size:100% auto;
	bottom: 2px;
}


.owl-carousel .owl-item img {
  max-height: 130px;
  width: auto;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span{
	background:#DC291E;
	opacity:1;
}

.owl-theme .owl-dots .owl-dot span{
	background:#DC291E;
	opacity:.5;
}

.pt-cv-colsys .pt-cv-content-item{
	padding-bottom:40px;
}

.pt-cv-colsys .pt-cv-content-item:last-child{
	padding-bottom:0;
}

h4.pt-cv-title a{
	color:#fff !important;
	text-transform:uppercase;
	font-size:1.4rem;
	font-weight:normal;
}

h4.pt-cv-title:before{
	content:'\f105';
	font-family:'FontAwesome';
	font-size:1.4rem;
	color:#fff;
	margin-right:5px;
}

.pt-cv-content{
	color:#fff;
}

.pt-cv-readmore{
	display: none !important;
}


/** 6. HOME END **/

/** 7. PAGES START **/



input[type="text"].form-contacto, input[type="email"].form-contacto{
	background:transparent;
	border:none;
	border-bottom:1px solid #fff !important;
	color:#fff;
	padding:4px 8px;
}

input[type="text"].form-contacto:focus, input[type="email"].form-contacto:focus{
	border-bottom:1px solid #303030 !important;
}

textarea.form-contacto{
	background:transparent;
	border:1px solid #fff !important;
	color:#fff;
	padding:4px 8px;
}

textarea.form-contacto:focus{
	border:1px solid #303030 !important;
}

input[type=submit].form-contacto{
	border-radius: .3rem;
	padding: .7rem 2.2rem;
	text-transform:uppercase;
	font-weight:700;
	letter-spacing:2px;
	border:1px solid #303030 !important;
}

input[type=submit].form-contacto:hover, input[type=submit].form-contacto:active{
	border:1px solid #303030 !important;
}


.cabecera-pagina{
	height: 300px;
	overflow:hidden;
	position:relative;
}

.cabecera-pagina:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 300px;
    background: rgba(0,0,0,.2)
} 

.cabecera-pagina h1 {
	position:absolute;
    bottom: 0;
    color: #fff;
    width: 100%;
    text-shadow: 0 2px 4px rgb(0 0 0 / 50%);
    z-index:1;
    font-size:2rem;
}

.cabecera-pagina h1 span {
    border-bottom: 5px solid #303030;
    letter-spacing: 7px;
}

.borde-gris {
    border: 1px solid #dedede;
}

.iframe-mapa{
	width: 100%;
	min-height: 550px;
	height:100%;
	border:0;
}


.productos-page h3{
	font-size:1.5rem;
}

.document-icon-row .document-icon{
	width:100% !important;
	margin-bottom:25px;
}


.document-gallery .document-icon img{
	width:auto;
	height:auto;
	margin-bottom:10px;
}

.document-gallery .document-icon a{
	font-size:1rem;
	line-height:140%;
	text-transform:uppercase;
}

/** 7. PAGES END **/


/** 9. EXTRAS START **/


/* Collapse */

.collapseomatic{
  background: #fff;
  border:1px solid #fff;
  color:#DC291E;
  text-transform:uppercase;
  text-align: center;
  letter-spacing: 1px;
  padding: 6px 25px;
  display:table;
  margin:0 auto;
}

.collapseomatic:hover{
  background:transparent;
  color:#fff;
  border:1px solid #fff;
  text-decoration:none;
}

.collapseomatic_content{
  margin:0;
  padding-top:20px;
}

.lista-desplegable .collapseomatic{
	background:none;
	border:none;
	padding: 10px 30px 10px 10px;
	color:#303030;
	width:100%;
	text-align: justify;
	position:relative;
	margin: 0;
	letter-spacing: 0;
	font-size: 1rem;
	font-family: 'Poppins', sans-serif;
	border-top:1px solid #ccc;
}

.lista-desplegable .collapseomatic:after{
    content:'\f107';
    font-family:'FontAwesome';
    font-size:1.4rem;
    color:#303030;
    display:inline-block;
    position:absolute;
    right: 10px;
    top: 5px;
    z-index:0;
}

.lista-desplegable .collapseomatic_content{
  margin:0 10px;
  padding-top: 5px;
}


/** Menu responsive **/


ul#responsive-menu{
    padding-top: 90px;
}

span.responsive-menu-label{
	font-weight: 400;
}

#responsive-menu-container{background:rgb(220 41 30 / 90%) !important;}

#responsive-menu-wrapper{background:transparent !important}

#responsive-menu-container #responsive-menu > li.responsive-menu-item:first-child > a,
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu > li.responsive-menu-item:first-child > a {
    border-top: none !important;
}

#responsive-menu-container #responsive-menu li.responsive-menu-item a {

    border-bottom: none !important;
    color: #fff !important;
    background-color: transparent !important;
    letter-spacing: 2px;
    text-transform: uppercase;
}

#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a{
    line-height: 220% !important;
    min-height: 40px !important;
    height: inherit !important;
}

#responsive-menu-container #responsive-menu li.responsive-menu-item a:hover{
    background-color:rgba(255, 255, 255, .8) !important;
    color:#DC291E !important;}


#responsive-menu-container #responsive-menu li.responsive-menu-item a .responsive-menu-subarrow {
    right: 0% !important;
    height: 95% !important;
    width: 35px !important;
    color: #DC291E !important;
    border-left: none !important;
    background-color: rgba(255, 255, 255, .8) !important;
    font-size: 30px !important;
}

/** 9. EXTRAS END **/