/*
Theme Name:		Viva Theme
Description:	Viva Theme
Theme URI:		/themes/viva-theme
Version: 		1.0
Author:			Granota
Author URI:         https://www.granota.net/
Tags:           	blog, one-column, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, translation-ready, wide-blocks, block-styles

License:            GPLv2 or later
License URI:        http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:        viva-theme

Requires PHP:   8.2
Tested up to:   5.4
*/


:root{
  --primary-color: #144D3A;
  --secondary-color: #D3BC78;
  --color-black: #101010;
  --font-family: 'Merriweather', sans-serif !important;
}
/**/
.wp-caption{}
.wp-caption-text{}
.gallery-caption{}
.bypostauthor{}
.alignright{text-align: right;}
.alignleft{text-align: left;}
.aligncenter{text-align: center;}

@font-face {
  font-family: 'Merriweather';
  src: url('/wp-content/themes/viva-theme/fonts/Merriweather-Light.woff2') format('woff2'),
	   url('/wp-content/themes/viva-theme/fonts/Merriweather-Light.woff') format('woff');
  font-weight: 300; /* Light */
  font-style: normal;
}
@font-face {
  font-family: 'Merriweather';
  src: url('/wp-content/themes/viva-theme/fonts/Merriweather-Regular.woff2') format('woff2'),
	   url('/wp-content/themes/viva-theme/fonts/Merriweather-Regular.woff') format('woff');
  font-weight: 400; /* Regular */
  font-style: normal;
}
@font-face {
  font-family: 'Merriweather';
  src: url('/wp-content/themes/viva-theme/fonts/Merriweather-Medium.woff2') format('woff2'),
	   url('/wp-content/themes/viva-theme/fonts/Merriweather-Medium.woff') format('woff');
  font-weight: 500; /* Medium */
  font-style: normal;
}
@font-face {
  font-family: 'Merriweather';
  src: url('/wp-content/themes/viva-theme/fonts/Merriweather-Bold.woff2') format('woff2'),
	   url('/wp-content/themes/viva-theme/fonts/Merriweather-Bold.woff') format('woff');
  font-weight: 700; /* Bold */
  font-style: normal;
}
body{
	font-family: var(--font-family) !important;
	font-weight: 400; /* Regular como base */
	margin: 0px;
	padding: 0px;
}
header{padding-top: 20px;}
.container, .row{font-family: var(--font-family);}
.page .entry-title{display: none !important;}
.site-branding .site-logo{
  padding-bottom: 20px;
}
.site-branding .site-logo img{
  height: 70px;
  width: auto;
}
ul.gn-menuPrincipal{
  display: flex;
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}
ul.gn-menuPrincipal li{
  padding-left: 10px;
  padding-right: 10px;
}
ul.gn-menuPrincipal li a{
  text-decoration: none;
  color: #2F383F;
  font-weight: lighter;
  margin: 0px;
  padding: 0px;
}
.gn-hablemos{
  background-color: var(--primary-color);
  color: white;
  text-decoration: none;
  padding: 5px 10px;
  font-weight: lighter;
  margin-left: 10px;
}
.gn-redes{
  margin-left: 5px;
  margin-right: 5px;
  color: var(--primary-color);
}
.gn-footer{
  background-color: white;
  color: var(--color-black);
  padding-top: 50px;
  font-weight: lighter;
}
.gn-footer .gn-redes{color: white;}
.gn-footer .site-branding img{
  height: 80px;
  width: auto;
  margin-bottom: 20px;
}
.gn-footer p{line-height: 28px;}
.gn-footer h4{font-family: Merriweather;}
.gn-footer .gn-copy{
  background-color: var(--primary-color);
  font-size: 13px;
  color: white;
  padding: 20px 0px !important;
}
.gn-footer .gn-copy .gn-enlacesLegales{
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
}
.gn-footer .gn-copy .gn-enlacesLegales li{
  margin-left: 10px;
  margin-right: 10px;
}
.gn-footer ul.gn-nuestrasAreas,
.gn-footer ul.gn-enlacesLegales,
.gn-footer ul.gn-enlacesInteres{
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}
.gn-footer ul.gn-enlacesLegales li a{position: relative;}
.gn-footer ul.gn-enlacesLegales li a:before{
  content: '-';
  font-weight: bold;
  position: absolute;
  left: -13px;
}
.gn-footer ul.gn-enlacesLegales li:first-child a:before{content: none;}
.gn-footer ul.gn-nuestrasAreas li a,
.gn-footer ul.gn-enlacesInteres li a{
  color: var(--color-black);
  text-decoration: none;
}
.gn-footer ul.gn-enlacesLegales li a{
  color: white;
  text-decoration: none;
}
.gn-footer .gn-redes{font-size: 20px;}
.gn-footer ul.gn-nuestrasAreas li{padding: 3px 0;}
.gn-footer ul.gn-nuestrasAreas li.bold-enlace{font-weight: bold;}
.gn-menuColapsPh .gn-redesph{
  color: var(--primary-color);
  margin-left: 5px;
  margin-right: 5px;
}
.gn-menuColapsPh button{
  background-color: var(--primary-color);
  border-radius: 0px;
  color: white;
  height: 40px;
  width: 100px;
  padding: 10px;
  cursor: pointer;
}
.gn-menuPhOpen{
  background-color: var(--primary-color);
  margin-top: 10px;
}
.gn-menuPhOpen .gn-menuPrincipal{
  flex-direction: column;
  padding: 10px 10px;
}
.gn-menuPhOpen .gn-menuPrincipal li{
  margin-top: 5px;
  margin-bottom: 5px;
}
.gn-menuPhOpen .gn-menuPrincipal li a{
  font-size: 18px;
  color: white;
  font-family: 'Merriweather';
}
.gn-menuPhOpen .sub-menu{
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}
.gn-menuPhOpen .sub-menu li a{
  background-color: white;
  color: var(--primary-color);
  display: flex;
  padding: 5px 10px;
}
.gn-menuPhOpen .menu-item-has-children i{
  color: white;
  margin-left: 10px;
}
.nav-item.dropdown .dropdown-menu {
  width: 100vw;
  left: 0;
  right: 0;
  top: 100%;
  border-radius: 0;
  padding: 0; 
  background-color: var(--primary-color); 
  border: none;
}
.dropdown-toggle::after{
  content: '\f078' !important;
  font-family: 'Font Awesome 6 Free' !important; 
  border: none !important;
  vertical-align: 0px !important;
}
.nav-item.dropdown .dropdown-menu .dropdown-item {
  max-width: 1320px;
  margin: 0 auto;
  padding: 1rem 1rem;
  background-color: transparent;
  color: white;
}
.nav-item.dropdown .dropdown-menu .dropdown-item:hover {
  background-color: white;
  color: var(--primary-color);
}
.gn-dropdownmenu.show{
  display: flex !important;
  justify-content:center;  
  flex-wrap: wrap;
  margin-top: 30px !important;
}
.gn-breadcrumbs{
  background-color:var(--secondary-color);
  padding-top: 50px;
  padding-bottom: 50px;
  margin-bottom: 60px;
}
.gn-breadcrumbs h2{
  font-family: 'Merriweather';
  font-size: 32px;
  font-weight: 700;
  line-height: 32px;
  color: var(--primary-color);
  padding-bottom: 0px;
  margin-bottom: 0px;
}
.gn-breadcrumbs .gn-anchor{
  background-color: var(--primary-color);
  color: white;
  padding: 15px 20px;
}
.search-form input{
  border: 1px solid var(--primary-color);
  padding: 5px 5px 5px 10px;
}
.widget_search button, .search-form .search-submit{
  background-color: var(--primary-color);
  border: none;
  color: white;
}
.gn-sidebar h2{
  font-family: 'Merriweather';
  margin-top: 20px;
  color: var(--primary-color);
}
.wp-block-categories-list{
  list-style-type: none;
  margin: 0px;
  padding:0px;
}
.wp-block-categories-list li{
  background-color: var(--secondary-color);
  margin-bottom: 10px;
}
.wp-block-categories-list li a{
  color: var(--primary-color);
  text-decoration: none;
  display: flex;
  padding: 10px 15px;
}
.wp-block-latest-posts__list li:before{
  font-family: "Font Awesome 6 Free";
  content: "\f1ea"; /* Newspaper icon */
  color: var(--primary-color);
  padding: 10px;
  position: relative;
}
.wp-block-latest-posts__list li{
  margin-bottom: 0px;
  padding: 10px 15px;
  border-bottom: 1px solid var(--primary-color);
}
.wp-block-latest-posts__list li a{
  text-decoration: none;
  color: var(--primary-color);
}
.gn-articuloLista{margin-bottom: 30px;}
.gn-articuloLista .gn-articuloImg{
  height: 300px;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content:center;
}
.gn-articuloLista .gn-articuloImg img{
  height: 100%;
  width: auto;
}
.gn-infoAdic{
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  margin-top: 10px;
}
.gn-articleInterInfo .gn-postCategories,
.gn-infoAdic .gn-postCategories{
  background-color: var(--secondary-color);
  padding: 5px 10px;
  margin-right: 10px;
}
.gn-articleInterInfo .gn-postCategories a,
.gn-infoAdic .gn-postCategories a{
  color: var(--primary-color);
  text-decoration: none;
}
.gn-infoAdic .gn-date{
  background-color: var(--primary-color);
  color: white;
  padding: 5px 10px;
}
.gn-contentAct{
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.gn-contentAct p{font-weight: 100;}
.gn-articleInterContent h1, .gn-articleInterContent h2{
  font-family: 'Merriweather';
  color: black;
}
.gn-articleInterContent h1, .gn-articleInterContent h2, .gn-contentAct h1 , .gn-contentAct h2{
  font-size: 28px;
  line-height: 32px;
  max-height: 230px;
}
.gn-articleInterContent p{font-weight: 100;}
.gn-contentAct h1 a, .gn-contentAct h2 a{
  font-family: 'Merriweather';
  color: black;
  text-decoration: none;
}
.gn-contentAct p{font-size: 16px;}
.gn-articuloLista .gn-readMore{
  text-align: center;
  width: 100%;
  display: flex;
  justify-content: center;
  color: var(--primary-color);
  text-decoration: none;
  margin-top: 5px;
  padding: 10px 15px;
  border-bottom: 1px solid var(--primary-color);
}
.gn-articuloLista .gn-readMore:hover{
  background-color: var(--secondary-color);
  border-bottom: 1px solid var(--secondary-color);
}
.gn-pagination li.active span{
  border-radius: 0px !important;
  margin-right: 5px;
  background-color: var(--primary-color);
  border: 1px solid var(--primary-color);
  padding: 7px 18px;
}
.gn-pagination li a, .gn-pagination li span{
  border-radius: 0px !important;
  margin-right: 5px;
  background-color: white;
  border: 1px solid var(--primary-color);
  padding: 7px 15px;
  color: var(--primary-color);
}
.gn-pagination li a:hover, .gn-pagination li span:hover{
  background-color: var(--secondary-color);
  border: 1px solid var(--secondary-color);
  color: var(--primary-color);
}
.gn-meta{
  display: flex;
  font-weight: 100;
  margin-bottom: 5px;
  align-items: center;
  align-content: center;
}
.gn-meta .gn-date{
  color: var(--primary-color);
  font-weight: bold;
  margin-right: 10px;
}
.gn-searchBlog{margin-top: 20px;}
.gn-searchBlog .alert{border-radius: 0px;}
.gn-articleInterImg{
  height: 500px;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.gn-articleInterImg img{
  height: auto;
  width: 100%;
}
.gn-articleInterInfo{
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
  margin-bottom: 10px;
}
.gn-404{
  height: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.gn-404 a{
  background-color: var(--primary-color);
  padding: 10px 20px;
  color: white;
  text-decoration: none;
}
.gn-inputform {
  background-color: white;
  border: 1px solid #DEE2E6;
  height: 55px;
  width: 100%;
  border-radius: 0px !important;
  padding-left: 20px;
}
.gn-textareaform {
  background-color: white;
  border: 1px solid #DEE2E6;
  width: 100%;
  border-radius: 0px !important;
  padding-left: 20px;
  padding-top: 15px;
}
.gn-btnenviar {
  background-color: #BFA98A;
  width: 100%;
  border-radius: 0px;
  padding: 10px 20px;
  color: white;
  border: none;
}
a.gn-legalForm {
  color: #BFA98A !important;
  text-decoration: underline !important;
}
.page-header--page,
.page-header--hero{
  height: 300px;
  background-position-y: -400px;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
}
.page-header--hero{background-position-y: -480px;}
.page-header--page .overlay,
.page-header--hero .overlay{
  background-color: rgba(0, 0, 0, 0.597);
  color: white;
  width: 636px;
  padding: 20px 20px;
  padding-bottom: 40px;
  position: absolute;
  bottom: 0px;
}
.page-header--page .overlay h1,
.page-header--hero .overlay h1{
  font-size: 34px;
  font-weight: bold;
  color: #D3BC78;
}
.page-header--page svg,
.page-header--hero svg{
  width: 100%;
  fill: white;
  position: absolute;
  bottom: 0px;
  height: 50px;
}
.breadcrumbs a{
  color: #D3BC78;
  text-decoration: none;
}
.gn-legalCopy{
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
}
.gn-anchor{
  position: fixed;
  bottom: 130px;
  right: 20px;
  z-index: 999;
  background-color: var(--primary-color);
  color: white;
  height: 40px;
  width: 40px;
  display: none;
  justify-content: center;
  align-items: center;
  align-content: center;
  text-decoration: none;
}
.reveal {
  position: relative;
  transform: translateY(80px);
  opacity: 0;
  transition: transform 1.2s ease, opacity 1.2s ease;
  will-change: transform, opacity;
}
.reveal.active {
  transform: translateY(0);
  opacity: 1;
}

@media (max-width: 575.98px){
  header{padding-top: 0px;}
  .site-branding .site-logo img,
  .gn-footer .gn-logo{height: 50px !important;}
  .gn-breadcrumbs{padding: 25px 10px;}
  .gn-breadcrumbs h2{font-size: 20px;}
  .gn-breadcrumbs .gn-anchor{padding: 6px 10px;}
}

@media (max-width: 767px){
  .page-header--page,
  .page-header--hero{
    height: 180px;
    background-position-y: 0px;
  }
  .page-header--hero{background-position-y: 0px;}
  .page-header--page .overlay,
  .page-header--hero .overlay{
    width: 93%;
    padding: 10px 10px;
    padding-bottom: 15px;
  }
  .page-header--page .overlay h1, .page-header--hero .overlay h1{font-size: 18px;}
  .page-header--page svg, .page-header--hero svg{ height: 20px;}
  .breadcrumbs{
    margin-top: 10px;
    font-size: 14px !important;
  }
  .gn-legalCopy{
    font-size: 11px;
    margin-top: 20px;
    margin-bottom: 10px;
  }
}

@media (min-width: 768px) and (max-width: 991px){
  .page-header--page,
  .page-header--hero{
    height: 320px;
    background-position-y: 0px;
  }
}